Ecco un esempio di codice per Arduino per controllare un LED RGB:
int redPin = 9;
int greenPin = 10;
int bluePin = 11;
void setup() {
pinMode(redPin, OUTPUT);
pinMode(greenPin, OUTPUT);
pinMode(bluePin, OUTPUT);
}
void loop() {
setColor(255, 0, 0); // red
delay(1000);
setColor(0, 255, 0); // green
delay(1000);
setColor(0, 0, 255); // blue
delay(1000);
}
void setColor(int redValue, int greenValue, int blueValue) {
analogWrite(redPin, redValue);
analogWrite(greenPin, greenValue);
analogWrite(bluePin, blueValue);
}
In questo esempio, abbiamo collegato il pin 9 al LED rosso, il pin 10 al LED verde e il pin 11 al LED blu. La funzione ‘setup()
‘ viene chiamata una sola volta all’avvio del programma e imposta i tre pin come uscite. La funzione ‘loop()
‘ viene eseguita continuamente in un ciclo.
La funzione ‘setColor()
‘ prende tre parametri: il valore rosso, il valore verde e il valore blu per il LED RGB. Questi valori possono variare da 0 (spento) a 255 (massima luminosità). La funzione ‘analogWrite()
‘ viene utilizzata per controllare la luminosità dei LED PWM.
Nel loop principale, chiamiamo la funzione ‘setColor()
‘ tre volte, una volta per il rosso, il verde e il blu, rispettivamente. Il ritardo di 1000 millisecondi (1 secondo) tra le chiamate alla funzione ‘setColor()
‘ fa sì che i LED si accendano per un secondo ciascuno, prima di passare al colore successivo.