| Les Cartes Arduino -> Entrée-Sortie Analogique |
Qu'est qu'une Entrée ou Sortie Analogique ?
Ces broches sont généralement numérotées de A0 à A12 sur les cartes Arduinos.
Elles permettent contrairement aux E/S Digitales d'osciller le courant entre 0 et 5V, tant en entrée qu'en sortie:
Exemple basique d'utilisation configuré en Sortie:
- Allumer une ampoule progressivement.
Exemple basique d'utilisation configuré en Entrée:
- Les claviers à boutons poussoirs.
- Les capteurs de distance SHARP.
- Créer un oscilloscope
Comment interpréter informatiquement ?
Voici un code complet lorsque la pin A0 est utilisée comme
Entrée:
void setup(){
pinMode(A0,INPUT);
}
void loop(){
int Info=analogRead(A0); //Valeur lue entre 0 et 1023
}
Voici un code complet lorsque la pin A0 est utilisée comme
Sortie:
void setup(){
pinMode(A0,OUTPUT);
}
void loop(){
analogWrite(A0,175); //Valeur envoyée entre 0 et 255
}
Exemples de codes informatiques:
- Le voltmètre:
Nous allons concevoir un voltmètre suivant ce schéma:
Pour simplifier, et étant donnée que cela est développé dans la partie électronique, nous supposons que nous allons mesurer une tension maximum de 5V à la sonde:
Le pont diviseur de tension et le régulateur 7805 n'est donc plus utile. La sonde est directement reliée au broches A0 et 0V.
Le code ci-dessous lit la valeur sur la pin A0, la convertie en tension puis l'envoie au PC pour la lecture.
float Info=0.00; // Afin d'obtenir 2 chiffres après la virgule;
void setup(){
pinMode(A0,INPUT);
Serial.begin (9600);
}
void loop(){
Info=analogRead(A0); //Valeur lue entre 0 et 1023
Info=Info*5/1023; // Converti en Volt
Serial.print("V = ");
Serial.print(Info);
Serial.println("V");
delay(100);
}
- Une LED qui s'allume progressivement...
Reliez la cathode d'une DEL à la pin A0 et l'anode à 0V.
int val=0;
void setup(){
pinMode(A0,OUTPUT);
}
void loop(){
val++; // Incrémente 1 à chaque passage
analogWrite(A0,val); // Valeur lue entre 0 et 1023
delay(10); // Laisse un délai pour ralentir la progression
if (val>254){val=0;} // Si val est supérieur à 254, val retourne à 0.
}