SOMMAIRE ►
Examinons l’utilisation des commandes digitalRead() et analogRead() dans le langage Arduino, qui sont utilisées pour interroger les capteurs numériques et analogiques respectivement. Ces fonctions sont utilisées dans l’exemple de la connexion d’un capteur de mouvement numérique à l’entrée numérique du microcontrôleur et d’un capteur d’eau à l’entrée analogique. D’autres capteurs peuvent être utilisés à la place de ces capteurs.
Pour cette activité, nous aurons besoin:
- Arduino Uno / Arduino Nano / Arduino Mega
- LED et résistance
- breadboard
- fils de connexion
Matériel supplémentaire sur ce sujet:
Pour connecter des capteurs numériques à l’aide de la commande digitalRead(), vous pouvez utiliser n’importe quelle entrée, y compris les broches analogiques A0-A5, marquées comme Analog In. Pour connecter des capteurs analogiques à l’Arduino (par exemple, un capteur de niveau d’eau ou un capteur de température LM35) avec la commande analogRead(), seules des entrées analogiques utilisant le CAN du microcontrôleur doivent être utilisées.
Description de la fonction digitalRead() Arduino

La fonction digitalRead lit une valeur HIGH ou LOW à partir de l’entrée. Si aucun capteur n’est connecté à l’entrée, la commande digitalRead peut renvoyer des valeurs HIGH ou LOW de manière aléatoire. Les entrées analogiques du microcontrôleur peuvent également être utilisées comme entrées/sorties numériques. Dans cet exemple, le capteur de mouvement est connecté à la broche 2, mais n’importe quelle broche Arduino peut être utilisée.
Syntaxe function digitalRead() Arduino, exemple
digitalRead(pin);
- pin – numéro de l’entrée à partir de laquelle la lecture est effectuée
Comme le capteur de mouvement HC-SR501 est numérique, lorsqu’un mouvement est détecté, sa sortie sera un 1 logique (signal de 5 volts), et lorsqu’aucun mouvement n’est détecté, sa sortie sera un 0 logique (signal de 0 volt). Dans le programme suivant, en fonction du signal émis par le capteur de mouvement, la valeur de la variable prendra la valeur 1 (HIGH) ou 0 (LOW). En fonction de cela, la LED sur la broche 12 sera allumée ou éteinte.
Programme Arduino pour utilise digitalRead() fonction
#define PIR 2 #define LED 13 byte value; void setup() { pinMode(PIR, INPUT); pinMode(LED, OUTPUT); Serial.begin(9600); } void loop() { value = digitalRead(PIR); Serial.print("PIR sensor - "); Serial.println(value); if (value == HIGH) { digitalWrite(LED, HIGH); } else { digitalWrite(LED, LOW); } delay(1000); }
Description de la fonction analogRead() Arduino

La fonction analogRead lit une valeur à partir de l’entrée analogique du microcontrôleur. La plupart des cartes Arduino ont 6 entrées analogiques (16 entrées analogiques sur la carte Arduino Mega 2560) avec un ADC de 10 bits. La tension appliquée par le capteur à l’entrée analogique du microcontrôleur avec ADC (généralement de 0 à 5 Volts) sera convertie en une valeur de 0 à 1023, soit 1024 pas avec une résolution de 0,0049 Volts.
Syntaxe function analogRead() Arduino, exemple
analogRead(pin);
- pin – numéro de l’entrée à partir de laquelle la lecture est effectuée
Si aucun capteur n’est connecté à l’entrée analogique, les valeurs renvoyées par analogRead() seront des valeurs aléatoires. Dans l’exemple suivant, un capteur d’eau analogique sera connecté à la broche A1 (voir le schéma de câblage du capteur ci-dessus), dont le signal variera de 0 à 5 volts. Le microcontrôleur Arduino convertira la tension en volts dans la plage de valeurs de 0 à 1023 à l’aide de l’ADC intégré et les stockera dans la valeur value.
Programme Arduino pour utilise analogRead() fonction
#define LED 13 #define WTR A1 int value; void setup() { pinMode(LED, OUTPUT); pinMode(WTR, INPUT); Serial.begin(9600); } void loop() { value = analogRead(WTR); Serial.print("Water sensor - "); Serial.println(value); if (value > 100) { digitalWrite(LED, HIGH); } if (value < 100) { digitalWrite(LED, LOW); } delay(1000); }
Conclusion. Nous avons examiné la syntaxe des fonctions analogRead() et digitalRead() dans le langage Arduino IDE, et nous avons également donné un exemple de programme utilisant ces commandes. Nous vous recommandons de lire d’autres articles – Broches numériques et analogiques d’Arduino et Comment connecter une photorésistance à Arduino.








Laisser un commentaire