Led RGB 3 colori senza interruttore

 

Pin del LED RGB Collegamento
Anodo (comune) +5V di Arduino
Pin Rosso Pin 11 di Arduino (tramite resistenza)
Pin Verde Pin 10 di Arduino (tramite resistenza)
Pin Blu Pin 9 di Arduino (tramite resistenza)

 

Pin dell'interruttore Collegamento
Centrale GND di Arduino
Sinistro Pin13 di Arduino
Destro Pin 12 di Arduino

 

 

✍️ Codice Arduino

// Definizione dei pin per il LED RGB
const int pinRosso = 11;
const int pinVerde = 10;
const int pinBlu = 9;

// Definizione dei pin dell'interruttore
const int pinSinistra = 13;
const int pinDestra = 12;

void setup() {
  // Impostazione dei pin LED come output
  pinMode(pinRosso, OUTPUT);
  pinMode(pinVerde, OUTPUT);
  pinMode(pinBlu, OUTPUT);
  
  // Impostazione dei pin dell'interruttore come input pull-up
  pinMode(pinSinistra, INPUT_PULLUP);
  pinMode(pinDestra, INPUT_PULLUP);
}

void loop() {
  // Lettura dello stato dell'interruttore
  bool sinistraPremuto = digitalRead(pinSinistra) == LOW;
  bool destraPremuto = digitalRead(pinDestra) == LOW;

  // Controllo dei colori in base alla posizione dell'interruttore
  if (sinistraPremuto) {
    setColor(LOW, HIGH, HIGH); // Rosso
  } 
  else if (destraPremuto) {
    setColor(HIGH, HIGH, LOW); // Blu
  } 
  else {
    setColor(HIGH, LOW, HIGH); // Verde (interruttore al centro)
  }
}

// Funzione per impostare il colore del LED
void setColor(bool rosso, bool verde, bool blu) {
  digitalWrite(pinRosso, rosso);
  digitalWrite(pinVerde, verde);
  digitalWrite(pinBlu, blu);
}

 

✅ Conclusione

  • Quando il PIN 13 va LOW, il codice accenderà il rosso.
  • Quando il PIN 12 va LOW, il codice accenderà il blu.
  • Quando entrambi sono HIGH, il codice accenderà il verde.

Un colore è spento se ha il centrale a 5V e il suo piedino è pure a 5V. Non succede nulla infatti tra questi due piedini non c'è differenza di potenziale e quindi non c'è corrente il colore non si accende. Nel momento che chiudiamo il contatto Arduino invierà un segnale LOW cioè porterà a 0V il piedino si creerà una differenza di potenziale tra il centrale (anodo positivo 5V) e il piedino 0V ci sarà passaggio di corrente il led si accenderà.