Modifications

Sauter à la navigation Sauter à la recherche
3 722 octets supprimés ,  20 février 2016 à 17:08
Contenu remplacé par « {{MicroPython-Hack-Prepare-NAV}} {{MicroPython-Hack-Analogique-core}} {{MicroPython-Hack-MCH-TRAILER}} »
Ligne 1 : Ligne 1 :  +
{{MicroPython-Hack-Prepare-NAV}}
   −
== Ce que nous faisons ==
+
{{MicroPython-Hack-Analogique-core}}
'''.: Mesure de tension analogique :.'''
     −
{{bloc-etroit|text=En plus de ses broches digitales, PyBoard dispose aussi de 16 broches qui peuvent être utilisées comme entrées analogiques. Ces entrées acceptent une tension (de 0 à 3.3 volts) et la converti en un nombre entier allant de 0 (0 volts) à 4095 (3.3 volts) avec une résolution de 12 bits. Un dispositif très utile qui exploite ces entrées est le potentiomètre (aussi appelé résistance variable).
+
{{MicroPython-Hack-MCH-TRAILER}}
 
  −
Lorsque les broches extérieures du potentiomètre sont alimentées avec 3.3volts, la broche du milieu permet de lire une valeur entre 0 et 3.3 volts, valeur dépendant de l'angle avec lequel le potentiomètre est tourné (ex : 1.65 volts à mi-course). Nous pouvons alors utiliser la valeur retournée comme une variable de notre programme.
  −
 
  −
Vous pouvez facilement identifier les broches analogiques sur le diagramme car elles sont marquées comme '''ADC'''.
  −
 
  −
}}
  −
 
  −
 
  −
== Le montage ==
  −
=== Le matériel nécessaire ===
  −
 
  −
=== Schéma ===
  −
 
  −
=== Montage ===
  −
 
  −
== Le code ==
  −
 
  −
== Cela ne fonctionne pas? ==
  −
Il y a 3 choses à essayer.
  −
 
  −
{{traduction}}
  −
=== Fonctionne sporadiquement ===
  −
Cela est souvent dû à une connexion imparfaite des broches du potentiomètre.
  −
 
  −
Cela peut généralement être résolu en tapotant un peu sur le potentiomètre.
  −
 
  −
=== Cela ne fonctionne pas! ===
  −
Assurez-vous de ne pas avoir accidentellement connecté le fil du potentiomètre sur la pin 2 {{underline|digitale}} au lieu de la pin 2 {{underline|analogique}} (la série de pins/broches près des broches d'alimentation)
  −
 
  −
=== Toujours en panne? ===
  −
Essayez de démonter et remonter le circuit, parfois cela fonctionne mieux.
  −
 
  −
== Faire encore mieux ==
  −
=== Seuil d'allumage (threshold) ===
  −
Vous voulez parfois activer une sortie lorsqu'une valeur a atteint un certain seuil. Pour faire cela avec un potentiomètre, changez le code de {{fname|loop()}} comme suit :
  −
 
  −
<nowiki>void loop() {
  −
  int threshold = 512; // seuil = 512
  −
  if(analogRead(sensorPin) > threshold){
  −
      digitalWrite(ledPin, HIGH);
  −
  }
  −
  else{
  −
      digitalWrite(ledPin, LOW);
  −
  }
  −
}</nowiki>
  −
 
  −
Cela allumera la LED lorsque la valeur sera supérieure à 512 (mi-course), vous pouvez adapter la sensibilité en modifiant la valeur du seuil (la variable {{fname|threshold}} ).
  −
 
  −
=== Faire un Dimmer (fading) ===
  −
Contrôlons maintenant la luminosité de la LED directement à partir du potentiomètre.
  −
 
  −
Pour y arriver, nous devons d'abord changer la broche sur laquelle la LED est connectée.
  −
 
  −
Déplacez le fil de la pin 13 à la pin 9 et changez la ligne de code:
  −
 
  −
<nowiki>int ledPin = 13;</nowiki>
  −
 
  −
vers
  −
 
  −
<nowiki>int ledPin = 9;</nowiki>
  −
 
  −
Modifiez ensuite le code de {{fname|loop()}} comme suit :
  −
 
  −
<nowiki>void loop() {
  −
  int value = analogRead(potPin) / 4;
  −
  analogWrite(ledPin, value);
  −
}</nowiki>
  −
 
  −
Chargez le code et regardez la luminosité de la LED varier en fonction de la position du potentiomètre. (Note: la raison pour laquelle nous avons divisé la valeur par 4 est que la fonction analogRead() retourne une valeur entre 0 et 1024 (10 bits), et que analogWrite() accepte une valeur entre 0 et 255 (8 bits).
  −
 
  −
=== Contrôler un servo ===
  −
C'est vraiment un bel exemple qui regroupe ensemble une série de montages ensembles.
  −
 
  −
Raccordez le Servo moteur comme nous l'avons fait au CIRC-04, ouvrez le programme d'exemple nommé Knob (Fichier > Exemples > Servo > Knob ), changez ensuite une ligne de code.
  −
 
  −
<nowiki>int potpin = 0;</nowiki>
  −
 
  −
vers
  −
 
  −
<nowiki>int potpin = 2;</nowiki>
  −
 
  −
Chargez sur votre Arduino et regardez l'axe du Servo tourner lorsque vous tournez le potentiomètre.
  −
 
  −
== Internet ==
  −
Voici quelques ressources utiles.
  −
* [http://forum.micropython.org/viewtopic.php?t=399#p2321 Améliorer la stabilité de la lecture analogique] (''Anglais, MicroPython Forum'')
 
29 837

modifications

Menu de navigation