Modifications

Sauter à la navigation Sauter à la recherche
2 582 octets ajoutés ,  19 mars 2012 à 21:00
Ligne 51 : Ligne 51 :     
Cette fonction passe d'une couleur à l'autre en fondue enchaîné en suivant la séquence Rouge --> Vert --> Bleu --> Rouge --> Vert --> ...
 
Cette fonction passe d'une couleur à l'autre en fondue enchaîné en suivant la séquence Rouge --> Vert --> Bleu --> Rouge --> Vert --> ...
 +
  <nowiki>int ledRougePin = 9; // PWM
 +
int ledVertPin = 10; // PWM
 +
int ledBleuPin = 11; // PWM
 +
 +
void setup(){
 +
  pinMode( ledRougePin, OUTPUT );
 +
  pinMode( ledVertPin, OUTPUT );
 +
  pinMode( ledBleuPin, OUTPUT );
 +
 
 +
  //La LED RGB utilise une anode commune (le + en commun.
 +
  //Il faut donc manipuler la tension sur les broches négatives
 +
  //de la LED.
 +
  //
 +
  //Pour résumer:
 +
  //  On allume une LED en mettant la broche/pin à 0 volts
 +
  //  On eteind une LED en mettant la broche/pin à 5 volts
 +
 
 +
  // Tout éteindre
 +
  digitalWrite( ledRougePin, HIGH );
 +
  digitalWrite( ledVertPin, HIGH );
 +
  digitalWrite( ledBleuPin, HIGH );
 +
}
 +
 +
/*
 +
  Active une couleur à la fois.
 +
  Vous pouvez modifier le code pour allumer plusieurs couleurs
 +
    en meme temps.
 +
*/
 +
void couleursSimple(){
 +
  // allumer Vert
 +
  digitalWrite( ledRougePin, HIGH );
 +
  digitalWrite( ledVertPin, LOW );
 +
  digitalWrite( ledBleuPin, HIGH );
 +
  // Attendre 1 sec
 +
  delay( 1000 );
 +
  // allumer Rouge
 +
  digitalWrite( ledRougePin, LOW );
 +
  digitalWrite( ledVertPin, HIGH );
 +
  digitalWrite( ledBleuPin, HIGH );
 +
  // Attendre 1 sec
 +
  delay( 1000 );
 +
  // allumer Bleu
 +
  digitalWrite( ledRougePin, HIGH );
 +
  digitalWrite( ledVertPin, HIGH );
 +
  digitalWrite( ledBleuPin, LOW );
 +
  // Attendre 1 sec
 +
  delay( 1000 );
 +
}
 +
 +
/*
 +
  Cette fonction passe d'une couleur à l'autre en fondue
 +
  enchainé dans l'ordre suivant:
 +
    Rouge -> Vert --> Bleu --> Rouge --> Vert --> ...
 +
*/
 +
void couleursFondue(){
 +
  // allumer Rouge
 +
  digitalWrite( ledRougePin, LOW );
 +
  digitalWrite( ledVertPin, HIGH );
 +
  digitalWrite( ledBleuPin, HIGH );
 +
  // Ajouter progressivement du vert
 +
  // Retirer progressivement du rouge
 +
  //  attention: 255 = pas de couleur, 0 = max de couleur
 +
  for( int iVert = 255; iVert>0; iVert-- ) {
 +
    int iRouge = 255 - iVert;
 +
    analogWrite( ledRougePin, iRouge );
 +
    analogWrite( ledVertPin, iVert );
 +
    delay( 20 );
 +
  }
 +
  // Ajouter progressivement du bleu
 +
  // Retirer progressivement du vert
 +
  //  attention: 255 = pas de couleur, 0 = max de couleur
 +
  for( int iBleu = 255; iBleu>0; iBleu-- ) {
 +
    int iVert = 255 - iBleu;
 +
    analogWrite( ledVertPin, iVert );
 +
    analogWrite( ledBleuPin, iBleu );
 +
    delay( 20 );
 +
  }
 +
  // Ajouter progressivement du rouge
 +
  // Retirer progressivement du bleu
 +
  //  attention: 255 = pas de couleur, 0 = max de couleur
 +
  for( int iRouge = 255; iRouge>0; iRouge-- ) {
 +
    int iBleu = 255 - iRouge;
 +
    analogWrite( ledBleuPin, iBleu );
 +
    analogWrite( ledRougePin, iRouge );
 +
    delay( 20 );
 +
  }
 +
}
 +
 +
void loop(){
 +
  couleursSimple();
 +
  //couleursFondue();
 +
}
 +
</nowiki>
30 894

modifications

Menu de navigation