Modifications

Sauter à la navigation Sauter à la recherche
1 836 octets ajoutés ,  14 septembre 2015 à 06:55
Ligne 135 : Ligne 135 :     
== Faire encore mieux ==
 
== Faire encore mieux ==
=== zzz 1 ===
+
=== Un bouton "allumer" et un autre "éteindre" ===
zzzz
+
L'exemple initial est peut-être un peu décevant (Ai-je vraiment besoin d'un Arduino pour faire cela ?), alors rendons le un peu plus compliqué.
 +
 
 +
Soit utiliser un bouton pour allumer la LED et un autre pour l'éteindre.
 +
 
 +
Changez le code comme suit :
 +
 +
<nowiki>int ledPin = 13; // La broche/pin pour la LED
 +
int inputPin1 = 3; // bouton 1
 +
int inputPin2 = 2; // bouton 2
 +
 
 +
void setup(){
 +
  pinMode(ledPin, OUTPUT);  // LED = sortie
 +
  pinMode(inputPin1, INPUT); // Bouton 1 = entrée
 +
  pinMode(inputPin2, INPUT); // Bouton 2 = entrée
 +
}
 +
 
 +
void loop(){
 +
  if (digitalRead(inputPin1) == LOW) {
 +
      digitalWrite(ledPin, LOW); // Eteindre LED
 +
  }
 +
  else {
 +
      digitalWrite(ledPin, HIGH); // Allumer LED
 +
  }
 +
}</nowiki>
 +
 
 +
Chargez le programme sur la carte et allumez/éteignez la LED avec les boutons.
 +
 
 +
=== Contrôler la luminosité ==
 +
Maintenant, utilisons les boutons pour contrôler un signal analogique. Pour y arriver, vous devez connecter la LED
 +
de la broche 13 à la broche 9 (PWM) mais aussi changer
 +
le code comme suit :
 +
 
 +
  <nowiki>int ledPin = 13;</nowiki>
 +
 
 +
vers...
 +
 
 +
  <nowiki>int ledPin = 9;</nowiki>
 +
 
 +
Et ensuite modifier la fonction {{fname|loop()}} pour y lire.
 +
 
 +
<nowiki>int value = 0;
 +
 
 +
void loop(){
 +
  if (digitalRead(inputPin1) == LOW){
 +
      value--;
 +
  }
 +
  else
 +
      if (digitalRead(inputPin2) == LOW){
 +
        value++;
 +
      }
 +
 
 +
  value = constrain(value, 0, 255);
 +
  analogWrite(ledPin, value);
 +
  delay(10);
 +
}</nowiki>
 +
 
 +
=== Changer le vitesse d'extinction ===
 +
Il y a seulement une ligne de code à changer si vous voulez que la LED s'éteigne plus ou moins rapidement :
 +
 
 +
  <nowiki>delay(10);</nowiki>
 +
 
 +
vers...
 +
 
 +
  <nowiki>delay(nouvelle_valeur);</nowiki>
 +
 
 +
Utiliser un nombre plus petit pour éteindre plus
 +
rapidement ou un nombre plus grand pour une extinction
 +
plus lente.
    
== Plus, plus et encore plus ==
 
== Plus, plus et encore plus ==
29 910

modifications

Menu de navigation