Fablab ado > arduino : 2 RGB, 2 boutons, 1 buzzer

par Antoine

Bonjour,
toujours dans l’optique de créer un pong 1d (ruban led), nous allons travailler avec 2 led RGB, 2 boutons poussoir et un buzzer.

Objectif :
les 2 leds éclairent en vert

lorsque nous appuyons sur le bouton 1 :
les leds éclairent en rouge et un bip aigu retentit

lorsque nous appuyons sur le bouton 2 :
les leds éclairent en bleu et un bip grave retentit

Bonne chance !

voici le code :

//led RGB 1
int ledbleue1=1;
int ledverte1=2;
int ledrouge1=3;

//led RGB 2
int ledbleue2=9;
int ledverte2=10;
int ledrouge2=11;

//buuzzer branché en pin6
int PIN_BUZZER=6;

//entrée bouton poussoir 1
int bouton1=A1;

//entrée bouton poussoir 2
int bouton2=A2;


void setColor1(int red, int green, int blue)
 {
  analogWrite(ledrouge1, red);
  analogWrite(ledverte1, green);
  analogWrite(ledbleue1, blue);  
 }

void setColor2(int red, int green, int blue)
 {
  analogWrite(ledrouge2, red);
  analogWrite(ledverte2, green);
  analogWrite(ledbleue2, blue);  
 }

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

pinMode(ledbleue1, OUTPUT);
pinMode(ledverte1, OUTPUT);
pinMode(ledrouge1, OUTPUT);

pinMode(ledbleue2, OUTPUT);
pinMode(ledverte2, OUTPUT);
pinMode(ledrouge2, OUTPUT);

pinMode(PIN_BUZZER, OUTPUT);

}

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

boolean etatBouton1=digitalRead(bouton1);
boolean etatBouton2=digitalRead(bouton2);

  if (etatBouton1==LOW)//test si bouton levé
 {
 setColor1(0, 255, 0);  // green
 setColor2(0, 255, 0);  // green
 delay(500);
 }
   
 if (etatBouton1==HIGH)//test si bouton actionné    
 {
 setColor1(255, 0, 0);  // rouge
 setColor2(255, 0, 0);  // rouge
 tone(PIN_BUZZER, 2500, 300); //son aigu
 delay(500);
 }
 
 if (etatBouton2==HIGH)//test si bouton actionné  
 {
 setColor1(0, 0, 255);  // bleu
 setColor2(0, 0, 255);  // bleu
 tone(PIN_BUZZER, 1600, 300); //son grave
 delay(500);
 }
 delay(50);
   
}