Ligne 1 : |
Ligne 1 : |
| {{ARDX-NAV}} | | {{ARDX-NAV}} |
| | | |
− | {{traduction}}
| + | == Ce que nous faisons == |
| + | '''.: Mesure de tension analogique :.''' |
| | | |
− | == Ce que faisons nous ==
| + | {{bloc-etroit|text=En plus de ses broches digitales, Arduino dispose aussi de 6 broches qui peuvent être utilisées comme entrées analogiques. Ces entrées acceptent une tension (de 0 à 5 volts) et la converti en un nombre entier allant de 0 (0 volts) à 1024 (5 volts) avec une résolution de 10 bits. Un dispositif très utile qui exploite ces entrées est le potentiomètre (aussi appelé résistance variable). |
− | {{bloc-etroit|text=xxx | + | |
− | }} | + | Lorsque les broches extérieures du potentiomètre sont alimentées avec 5 volts, la broche du milieu permet de lire une valeur entre 0 et 5 volts, valeur dépendant de l'angle avec lequel le potentiomètre est tourné (ex : 2.5 volts à mi-course). Nous pouvons alors utiliser la valeur retournée comme une variable de notre programme.}} |
| | | |
| == Le montage == | | == Le montage == |
Ligne 55 : |
Ligne 56 : |
| | | |
| {{ARDX-composant-end}} | | {{ARDX-composant-end}} |
| + | Tous ces éléments sont disponibles dans [http://shop.mchobby.be/product.php?id_product=11 le Kit Ardx proposé sur shop.mchobby.be]. |
| | | |
| === Schéma === | | === Schéma === |
Ligne 107 : |
Ligne 109 : |
| | | |
| == Faire encore mieux == | | == Faire encore mieux == |
− | === zzz 1 === | + | === Seuil d'allumage (threshold) === |
− | zzzz
| + | 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. |
| | | |
| == Plus, plus et encore plus == | | == Plus, plus et encore plus == |