Tre led con interruttore

 

 

I led sono collegati in modo classico, con:

  • Anodo (+) al pin di Arduino (red 11, green 10 e blu 9)
  • Catodo (-) a GND tramite resistenza (red 177ohm, green e blu 100 ohm)

Collegamenti:

  • LED:

    • LED Rosso: Anodo a PIN 11
    • LED Verde: Anodo a PIN 10
    • LED Blu: Anodo a PIN 9
    • Catodi di tutti i LED → GND (tramite le relative resistenze)
  • Interruttore:

    • Pin sinistro → Pin 13 di Arduino (INPUT_PULLUP)
    • Pin destro → Pin 12 di Arduino (INPUT_PULLUP)
    • Pin centrale → GND

3led-int.ino

const int pin_sinistra = 13;
const int pin_destra = 12;

const int led_rosso = 11;
const int led_verde = 10;
const int led_blu = 9;

void setup() {
    pinMode(pin_sinistra, INPUT_PULLUP);
    pinMode(pin_destra, INPUT_PULLUP);

    pinMode(led_rosso, OUTPUT);
    pinMode(led_verde, OUTPUT);
    pinMode(led_blu, OUTPUT);
}

void loop() {
    bool sinistra = digitalRead(pin_sinistra) == LOW;
    bool destra = digitalRead(pin_destra) == LOW;

    // Spegniamo tutti i LED
    digitalWrite(led_rosso, LOW);
    digitalWrite(led_verde, LOW);
    digitalWrite(led_blu, LOW);

    if (sinistra) {
        digitalWrite(led_rosso, HIGH);  // Accendi LED rosso
    } else if (destra) {
        digitalWrite(led_blu, HIGH);    // Accendi LED blu
    } else {
        digitalWrite(led_verde, HIGH);  // Accendi LED verde
    }
}

 

Spiegazione:

  1. I pin dell'interruttore sono INPUT_PULLUP
    • Quando il contatto è aperto, il pin legge HIGH.
    • Quando il contatto è chiuso, il pin legge LOW.
  2. I LED si accendono con HIGH
    • Se il pin sinistro dell'interruttore è premuto, si accende il LED rosso.
    • Se il pin destro è premuto, si accende il LED blu.
    • Se la leva è al centro (entrambi i pin HIGH), si accende il LED verde.