Modifications

Sauter à la navigation Sauter à la recherche
1 854 octets ajoutés ,  15 septembre 2015 à 20:29
Ligne 140 : Ligne 140 :     
== Faire encore mieux ==
 
== Faire encore mieux ==
=== zzz 1 ===
+
=== Inverser la réponse ===
zzzz
+
Vous voudriez peut-être une réponse inversée. Pas de problème nous pouvons facilement inverser cette réponse en changeant:
 +
<nowiki>analogWrite(ledPin, lightLevel);</nowiki>
 +
 
 +
vers
 +
 
 +
<nowiki>analogWrite(ledPin, 255 - lightLevel);</nowiki>
 +
 
 +
Chargez le programme et notez la modification de la réponse.
 +
 
 +
=== La veilleuse ===
 +
Plutôt que de contrôler la luminosité d'une LED en réponse à la lumière, essayons plutôt de l'allumer ou l'éteindre en fonction d'un seuil.
 +
 
 +
Changer le code de {{fname|loop()}} avec....
 +
 
 +
<nowiki>void loop(){
 +
  int threshold = 300; // valeur du seuil
 +
  if(analogRead(lightPin) > threshold)
 +
  {
 +
      digitalWrite(ledPin, HIGH);
 +
  }
 +
  else{
 +
      digitalWrite(ledPin, LOW);
 +
  }
 +
}</nowiki>
 +
 
 +
=== Un servo contrôlé par la lumière ===
 +
Utilisons notre toute nouvelle compétence sur les senseurs de lumière pour contrôler un servo (et en même temps en apprendre un peu plus sur la programmation Arduino).
 +
 
 +
Connectez un servo moteur sur la pin 9 (comme au CIRC-04).
 +
 
 +
Ouvrez ensuite l'exemple « Knob » (le même que nous avons utilisé dans CIRC-08)
 +
 
 +
'''Fichier > Exemples > Servo > Knob'''
 +
 
 +
Chargez le code sur la carte et regardez comment il fonctionne sans aucune modification supplémentaire.
 +
 
 +
=== Utiliser toute la portée angulaire du servo moteur ===
 +
Vous noterez que le servo n'utilise qu'une partie limité de sa rotation angulaire.
 +
 
 +
C'est parce qu'avec le pont diviseur de tension que nous utilisons, la tension sur la pin 0 ne varie pas de 0 à 5 volts mais entre deux valeurs plus petites (valeurs qui dépendent de votre montage).
 +
 
 +
Pour corriger cela, modifiez et testez vos propres valeurs avec la ligne
 +
 
 +
<nowiki>val = map(val, 0, 1023, 0, 179);</nowiki>
 +
 
 +
Pour des astuces sur ce qu'il faut faire, visitez [http://arduino.cc/en/Reference/Map arduino.cc/en/Reference/Map] (''anglais'')
    
== Plus, plus et encore plus ==
 
== Plus, plus et encore plus ==
29 836

modifications

Menu de navigation