Modifications

Sauter à la navigation Sauter à la recherche
4 639 octets supprimés ,  20 février 2016 à 17:14
Contenu remplacé par « {{MicroPython-Hack-Prepare-NAV}} {{MicroPython-Hack-LDR-core}} {{MicroPython-Hack-MCH-TRAILER}} »
Ligne 1 : Ligne 1 :  
{{MicroPython-Hack-Prepare-NAV}}
 
{{MicroPython-Hack-Prepare-NAV}}
   −
{{traduction}}
+
{{MicroPython-Hack-LDR-core}}
 
  −
== Ce que nous faisons ==
  −
'''.: Lumière :.'''
  −
 
  −
'''.: Les photorésistances :.'''
  −
 
  −
{{bloc-etroit|text=Acquérir une valeur en provenance d'un potentiomètre peut être utile pour une expérience contrôlée par un humain.
  −
Mais que pouvons nous utiliser pour une expérience contrôlée par l'environnement lui-même? Nous gardons exactement
  −
les mêmes principes mais à la place du potentiomètre (résistance basée sur une torsion), nous utilisons une
  −
photorésistance (résistance basée sur la lumière). PyBoard ne peut pas directement percevoir la résistance (il perçoit la
  −
tension) donc nous utilisons un pont diviseur de tension pour créer une tension qui varie avec la résistance de la photo-résistance (résistance qui change avec l'intensité lumineuse).
  −
 
  −
La tension exacte sur la broche du senseur peut être calculée mais pour notre usage (juste percevoir la lumière relative), nous pouvons tester les valeurs et retenir celles qui nous conviennent.
  −
 
  −
Le senseur retourne une petite valeur lorsqu'il est bien éclairé et une grande valeur lorsqu'il est placé dans l'obscurité.
  −
}}
  −
 
  −
== Le montage ==
  −
=== Le matériel nécessaire ===
  −
{{ARDX-composant-begin}}
  −
 
  −
{{ARDX-composant
  −
  |label=Photo-résistance
  −
  |label2=x1
  −
  |img=ARDX-PhotoResistance.png
  −
  |pl=34
  −
}}
  −
 
  −
{{ARDX-composant
  −
  |label=Fils
  −
  |label2=
  −
  |img=ARDX-fils.png
  −
  |pl=34
  −
}}
  −
 
  −
{{ARDX-composant
  −
  |label=Résistance de 100 Ohms (brun-noir-rbrun)
  −
  |label2=x1
  −
  |img=ARDX-R100.png
  −
  |pl=43
  −
}}
  −
 
  −
{{ARDX-composant
  −
  |label=Résistance de 10K Ohms (brun-noir-orange)
  −
  |label2=x1
  −
  |img=ARDX-R10K.png
  −
  |pl=43
  −
}}
  −
 
  −
{{ARDX-composant
  −
  |label=LED (ou DEL)
  −
  |label2=x1
  −
  |img=ARDX-LED-verte.png
  −
  |pl=66
  −
}}
  −
 
  −
{{ARDX-composant-end}}
  −
Tous ces éléments sont disponibles sur [http://shop.mchobby.be shop.mchobby.be].
  −
 
  −
=== Schéma ===
  −
[[Fichier:MicroPython-Hack-LDR-schema.jpg|250px]]
  −
 
  −
=== Montage ===
  −
[[Fichier:MicroPython-Hack-LDR-montage.jpg|800px]]
  −
 
  −
== Le code ==
  −
{{traduction}}
  −
 
  −
== Cela ne fonctionne pas? ==
  −
Voici 3 choses à essayer.
  −
=== La LED reste éteinte ===
  −
C'est une erreur que nous continuons à faire de temps à autre, si seulement ils savaient faire des LEDs qui fonctionne dans les deux sens!
  −
 
  −
Sortez la et retournez la.
  −
 
  −
=== Ne réagit pas au changement de lumière ===
  −
Il est facile de mal placer la photorésistance parce que l'écartement des broches n'est pas standard.
  −
 
  −
Vérifiez si elle est bien à la bonne place.
  −
 
  −
=== Ne fonctionne toujours pas? ===
  −
Vous êtes peut-être dans une pièce trop lumineuse ou trop sombre.
  −
 
  −
Essayez d'allumer et éteindre la lumière pour voir si cela aide.
  −
 
  −
Si vous avez une lampe de poche, tentez votre chance avec elle.
  −
 
  −
== Faire encore mieux ==
  −
{{traduction}}
  −
 
  −
=== Inverser la réponse ===
  −
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 ==
  −
xxx
  −
== Internet ==
  −
=== .:téléchargement:. ===
  −
xxxx
  −
 
      
{{MicroPython-Hack-MCH-TRAILER}}
 
{{MicroPython-Hack-MCH-TRAILER}}
29 895

modifications

Menu de navigation