« Exercices de lecture de capteurs » : différence entre les versions
Aller à la navigation
Aller à la recherche
m (→Lecture d'une valeur numérique : Notes) |
m (→Lecture d'une valeur analogique : Notes) |
||
Ligne 46 : | Ligne 46 : | ||
== Lecture d'une valeur analogique == |
== Lecture d'une valeur analogique == |
||
⚫ | |||
*Illustrer le problème de valeurs flottantes |
|||
=== Branchement === |
|||
[[Fichier:lecture_analogique.png|200px|thumb|right|Branchements pour une lecture analogique]] |
[[Fichier:lecture_analogique.png|200px|thumb|right|Branchements pour une lecture analogique]] |
||
Ligne 54 : | Ligne 59 : | ||
<br clear=all> |
<br clear=all> |
||
⚫ | |||
=== Code source === |
=== Code source === |
Version du 18 août 2015 à 10:10
Résumé
- Lecture d'une valeur numérique : le bouton.
- Lecture d'une valeur analogique : la photo-résistance.
Lecture d'une valeur numérique
Notes
- Évoquer le pull up / pull down pour éviter valeurs flottantes (+ résistance interne de 100 MΩ)
Branchement
- La broche 5V de l'Arduino à un côté du bouton poussoir
- La broche GND de l'Arduino à une patte d'une résistance de 10 kΩ
- L'autre patte de la résistance à l'autre côté du bouton poussoir
- La même patte de la résistance à la broche 9 de l'Arduino
Code source
// La fonction setup est exécutée une unique fois quand on appuie sur le bouton RESET ou alimente la carte void setup() { // Initialise la broche 9 comme entrée pinMode(9, INPUT); // Initialise la console série Serial.begin(9600); } // La fonction loop est exécutée indéfiniment void loop(){ // Lit l'état du bouton byte etat = digitalRead(9); // Affiche l'état du bouton dans la console série if (etat == HIGH) { Serial.println("Bouton pressé"); } else { Serial.println("Bouton relaché"); } delay(100); }
Lecture d'une valeur analogique
Notes
- Illustrer le problème de valeurs flottantes
Branchement
- La broche GND de l'Arduino à une patte d'une résistance de 10 kΩ
- La patte de la résistance à une patte de la photo résistance
- L'autre patte de la photo résistance à la broche 5V de l'Arduino
- La broche A0 de l'Arduino à la jonction de la photo résistance et de la résistance de 10 kΩ
Code source
// La fonction setup est exécutée une unique fois quand on appuie sur le bouton RESET ou alimente la carte void setup() { // Initialise la console série Serial.begin(9600); } // La fonction loop est exécutée indéfiniment void loop(){ // Lit l'état de l'entrée analogique 0 int valeur = digitalRead(A0); // Affiche la valeur brute et la valeur convertie en volt dans la console série Serial.print("Valeur brute : "); Serial.print(valeur); float tension = 5.0 / 1024.0 * (float)valeur; Serial.print(" ; tension : "); Serial.print(tension); Serial.println("V"); delay(100); }