« Exercices de lecture de capteurs » : différence entre les versions
Aller à la navigation
Aller à la recherche
Contenu supprimé Contenu ajouté
Initialisation de la page |
m Administrateur a déplacé la page Exercices de lecture valeurs externes vers Exercices de lecture de capteurs |
||
| (7 versions intermédiaires par 2 utilisateurs non affichées) | |||
| Ligne 1 : | Ligne 1 : | ||
== Résumé == |
|||
*Lecture numérique : le bouton. |
|||
*Lecture |
*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 === |
|||
[[Fichier:lecture_bouton.png|200px|thumb|right|Branchements pour une lecture de bouton]] |
|||
*La broche 5V de l'Arduino à un côté du bouton poussoir |
|||
*L'autre côté du bouton poussoir à |
|||
**Une patte d'une résistance de 10 kΩ |
|||
**Une patte d'une résistance de 330 Ω |
|||
*L'autre patte de la résistance de 10 kΩ à la broche GND de l'Arduino |
|||
*L'autre patte de la résistance de 330 Ω à la broche 9 de l'Arduino |
|||
<br clear=all> |
|||
=== Code source === |
|||
<pre> |
|||
// 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); |
|||
} |
|||
</pre> |
|||
== Lecture d'une valeur analogique == |
|||
=== Notes === |
|||
*Illustrer le problème de valeurs flottantes |
|||
*Notion de pont diviseur de tension |
|||
<pre> |
|||
Vin --- |
|||
| |
|||
R1 |
|||
| |
|||
|---- Vout |
|||
| |
|||
R2 |
|||
| |
|||
GND --- |
|||
Vout = Vin x R2 / (R1+R2) |
|||
</pre> |
|||
=== Branchement === |
|||
[[Fichier:lecture_analogique.png|200px|thumb|right|Branchements pour une lecture analogique]] |
|||
*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Ω |
|||
<br clear=all> |
|||
=== Code source === |
|||
<pre> |
|||
// 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 = analogRead(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); |
|||
} |
|||
</pre> |
|||
Dernière version du 20 septembre 2015 à 07:52
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
- L'autre côté du bouton poussoir à
- Une patte d'une résistance de 10 kΩ
- Une patte d'une résistance de 330 Ω
- L'autre patte de la résistance de 10 kΩ à la broche GND de l'Arduino
- L'autre patte de la résistance de 330 Ω à 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
- Notion de pont diviseur de tension
Vin ---
|
R1
|
|---- Vout
|
R2
|
GND ---
Vout = Vin x R2 / (R1+R2)
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 = analogRead(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);
}