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:
- I pin dell'interruttore sono INPUT_PULLUP
- Quando il contatto è aperto, il pin legge HIGH.
- Quando il contatto è chiuso, il pin legge LOW.
- 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.
|