Fablab ado > arduino : Led RGB, buzzer et bouton

par Antoine

Bonjour,
dans la perspective de travailler sur le ruban LED, nous allons utiliser aujourd’hui la led RGB.

Objectif du jour :
faire clignoter la led RGB (séquence rouge puis vert puis bleu) et lorsque nous appuyons sur le bouton poussoir, la séquence lumineuse s’arrete et un bip retentit. En relachant le bouton poussoir, la séquence lumineuse reprend.

Bon courage !!

matériel :
1 carte arduino uno,
1 led RGB
4 résistances 220 ohm
1 bouton poussoir
1 buzzer
des câbles

photos du montage (suite des séances précédentes)

JPEG - 30.5 ko
montage RGB vue2
JPEG - 30.3 ko
montage RGB vue1

quelques infos :

JPEG - 7.3 ko
led_rgb_cathode_commune

Cette LED est à cathode commune chacune des autres pins pilote un canal de couleur Rouge, Vert et Bleu

JPEG - 4.9 ko
explication_led_rgb


- La patte la plus longue se connecte au GND (-)
(le courant passe de l’anode à la cathode)
merci la MDL pour votre message sympa ;-)

et voici le code :

int ledbleue=9;
int ledverte=10;
int ledrouge=11;

int PIN_BUZZER = 6;

int bouton=A1;

//declaration de setColor
void setColor(int red, int green, int blue)
 {
  analogWrite(ledrouge, red);
  analogWrite(ledverte, green);
  analogWrite(ledbleue, blue);  
 }


void setup()
{
 // put your setup code here, to run once:
pinMode(bouton,INPUT);

pinMode(ledbleue, OUTPUT);
pinMode(ledverte, OUTPUT);
pinMode(ledrouge, OUTPUT);

pinMode(PIN_BUZZER, OUTPUT);

}

void loop()
{
 // put your main code here, to run repeatedly:

boolean etatBouton=digitalRead(bouton);

  if (etatBouton==LOW)//test si bouton levé
   
 {
 setColor(255, 0, 0);  // red
 delay(500);
 setColor(0, 255, 0);  // green
 delay(500);
 setColor(0, 0, 255);  // blue
 delay(500);
 }
   
 if (etatBouton==HIGH)//test si bouton actionné
     
 {
   setColor(0,0,0);
   tone(PIN_BUZZER, 2637, 300);
   delay(400);
   delay(500);
 }

   delay(100);
   
}