Arduino Robotica ed Elettronica

Arduino e un led RGB

Ecco un nuovo video dei miei primi passi con arduino, in questa puntata potrete vedere cosa ci si può inventare con un led rgb, cioè il componente in grado di emettere luce rossa, verde e blu dallo stesso diodo.

In questo modo è possibile fondere i tre colori e creare un nuovo colore, lo stesso meccanismo dei nostri televisori.

Qui trovate il video, mentre più sotto posto gli sketch dei due programmi utilizzati.

___________________________________________________________________________________________
/*Scegli colore led rgb
* Usando un potenziometro regola l’intensità del rosso, del verde, e del blu per creare un colore.
* Dopo avere scelto l’intensità premere l’interruttore per passare al colore successivo.
* Componenti usati:
* – Potenziometro: Gnd, pin 0 analog, 5V;
* – Interruttore: Gnd, pin 3 digital ( per sicurezza da questo parte anche una resistenza da 10k a 5V);
* – Led RGB: red -> pin 9, Catodo comune -> gnd bb, green -> pin 10, blue -> pin 11.
*  (prima di ogni collegamento con il pin c’è una resistenza da 330 ohm)
*/

int red = 9;
int green = 10;
int blue = 11;
int button = 3;
int potenz = 0;
int valp = 0;
int out = 1;
void setup() {
pinMode(red, OUTPUT);
pinMode(green, OUTPUT);
pinMode(blue, OUTPUT);
pinMode(button, INPUT);
}

void loop() {
delay(1000);
while(digitalRead(button) == HIGH) {
valp = analogRead(potenz);
valp = map(valp, 0, 1024, 0, 255);
analogWrite(red, valp);
delay(10);
}
delay(1000);
while(digitalRead(button) == HIGH) {
valp = analogRead(potenz);
valp = map(valp, 0, 1024, 0, 255);
analogWrite(green, valp);
delay(10);
}
delay(1000);
while(digitalRead(button) == HIGH) {
valp = analogRead(potenz);
valp = map(valp, 0, 1024, 0, 255);
analogWrite(blue, valp);
delay(10);
}
}

______________________________________________________________________________________
/* Effetto strobo
*  (vedi scegli colore)
*/
int RedLed = 9;
int GreenLed = 10;
int BlueLed = 11;
int tmp = 0;
int potenz = 0;
void setup()  {
}
void loop()  {
tmp = analogRead(potenz);
tmp = map(tmp, 0, 1024, 0, 255);
analogWrite(RedLed, 255);
delay(tmp);
analogWrite(RedLed, 0);
analogWrite(GreenLed, 255);
delay(tmp);
analogWrite(GreenLed, 0);
analogWrite(BlueLed, 255);
delay(tmp);
analogWrite(BlueLed, 0);
}

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

Tag Cloud

%d blogger cliccano Mi Piace per questo: