İçeriğe atla

Önerilen Başlıklar

  • CE 326 / CE 306 Çıkmış Sorular

    Çıkmış Sorular
    1
    0 Oy
    1 İleti
    16 Bakış
    Kimse yanıtlamadı
  • arduino lab kodu

    Çıkmış Sorular
    2
    1 Oy
    2 İleti
    17 Bakış
    KadirAyK
    Ardunio lab ikinci soru ``` int aPin = 22; int bPin = 23; int cPin = 24; int dPin = 25; int ePin = 26; int fPin = 27; int gPin = 28; int GND[] = {33, 34, 35, 36}; const int buttons[] = {38, 39, 40, 41}; // SW0, SW1, SW2, SW3 const int leds[] = {43, 44, 45, 46}; // LEDs for Floor 1 to Floor 4 int oldFloor = 1; bool buttonPressed[4] = {false, false, false, false}; // Button states unsigned long lastMoveTime = 0; // For tracking random movement time unsigned long randomDelay = 3000; // 3 seconds delay for random movement void setup() { Serial.begin(115200); int pins[] = {aPin, bPin, cPin, dPin, ePin, fPin, gPin}; for (int i = 0; i < 7; i++) { pinMode(pins[i], OUTPUT); } for (int i = 0; i < 4; i++) { pinMode(GND[i], OUTPUT); pinMode(leds[i], OUTPUT); pinMode(buttons[i], INPUT_PULLUP); // Buttons with pull-up resistors digitalWrite(GND[i], LOW); } } void clearDisplay() { int pins[] = {aPin, bPin, cPin, dPin, ePin, fPin, gPin}; for (int i = 0; i < 7; i++) { digitalWrite(pins[i], LOW); } for (int i = 0; i < 4; i++) { digitalWrite(GND[i], LOW); } } void clearAllLEDs() { for (int i = 0; i < 4; i++) { digitalWrite(leds[i], LOW); // Turn off all LEDs } } void displayFloor(int floor) { clearDisplay(); clearAllLEDs(); // Turn off all LEDs before lighting the current one digitalWrite(GND[0], HIGH); // Activate the first segment switch (floor) { case 1: digitalWrite(bPin, HIGH); digitalWrite(cPin, HIGH); digitalWrite(leds[0], HIGH); // Light up LED for Floor 1 break; case 2: digitalWrite(aPin, HIGH); digitalWrite(bPin, HIGH); digitalWrite(gPin, HIGH); digitalWrite(ePin, HIGH); digitalWrite(dPin, HIGH); digitalWrite(leds[1], HIGH); // Light up LED for Floor 2 break; case 3: digitalWrite(aPin, HIGH); digitalWrite(bPin, HIGH); digitalWrite(gPin, HIGH); digitalWrite(cPin, HIGH); digitalWrite(dPin, HIGH); digitalWrite(leds[2], HIGH); // Light up LED for Floor 3 break; case 4: digitalWrite(fPin, HIGH); digitalWrite(gPin, HIGH); digitalWrite(bPin, HIGH); digitalWrite(cPin, HIGH); digitalWrite(leds[3], HIGH); // Light up LED for Floor 4 break; } oldFloor = floor; } void moveToFloor(int targetFloor) { int step = (targetFloor > oldFloor) ? 1 : -1; // Move up or down while (oldFloor != targetFloor) { oldFloor += step; // Move step by step displayFloor(oldFloor); // Display the current floor delay(1000); // Simulate travel time between floors } delay(1000); // Wait for 1 second when reaching the target floor before moving randomly again } void randomMove() { int targetFloor = random(1, 5); // Generate random number between 1 and 4 moveToFloor(targetFloor); // Move to the randomly selected floor } void loop() { unsigned long currentMillis = millis(); // Check if it's time for random movement if (currentMillis - lastMoveTime >= randomDelay) { randomMove(); // Move randomly lastMoveTime = currentMillis; // Update the last move time } // Button Press Handling: Move to the requested floor for (int i = 0; i < 4; i++) { if (digitalRead(buttons[i]) == LOW && !buttonPressed[i]) { // Button is pressed moveToFloor(i + 1); // Move to the selected floor buttonPressed[i] = true; // Mark the button as pressed delay(500); // Debouncing for 500 ms } else if (digitalRead(buttons[i]) == HIGH) { buttonPressed[i] = false; // Button is released } } }
  • CE 223 #1 QUIZ

    Çıkmış Sorular ce 223 ce 223
    2
    0 Oy
    2 İleti
    15 Bakış
    M
    Q2: Diğer section OOP method
  • CE 223 #2 QUIZ

    Çıkmış Sorular ce 223 ce 223
    1
    1
    2 Oy
    1 İleti
    26 Bakış
    Kimse yanıtlamadı
  • CE 316 Quiz#2

    Çıkmış Sorular ce316 ce 316
    2
    1 Oy
    2 İleti
    31 Bakış
    KadirAyK
    output sordu