Arduino Nano - Capteur à ultrasons - LCD
Ce tutoriel vous explique comment utiliser un Arduino Nano pour mesurer la distance à l'aide d'un capteur ultrasonique et l'afficher sur un écran LCD I2C.
Préparation du matériel
1 | × | Arduino Nano | |
1 | × | USB A to Mini-B USB cable | |
1 | × | LCD I2C | |
1 | × | Ultrasonic Sensor | |
1 | × | Jumper Wires | |
1 | × | (Optional) 9V Power Adapter for Arduino Nano | |
1 | × | (Recommended) Screw Terminal Adapter for Arduino Nano |
Or you can buy the following sensor kits:
1 | × | DIYables Sensor Kit (30 sensors/displays) | |
1 | × | DIYables Sensor Kit (18 sensors/displays) |
Divulgation : Certains des liens fournis dans cette section sont des liens affiliés Amazon. Nous pouvons recevoir une commission pour tout achat effectué via ces liens, sans coût supplémentaire pour vous. Nous vous remercions de votre soutien.
À propos du capteur ultrasonique et de l'écran LCD
Si vous n'êtes pas familiarisé avec le capteur ultrasonique et l'écran LCD (y compris le brochage, leur fonctionnement et comment les programmer), les tutoriels suivants peuvent vous aider :
Diagramme de câblage
This image is created using Fritzing. Click to enlarge image
Code Arduino Nano
/*
* Ce code Arduino Nano a été développé par newbiely.fr
* Ce code Arduino Nano est mis à disposition du public sans aucune restriction.
* Pour des instructions complètes et des schémas de câblage, veuillez visiter:
* https://newbiely.fr/tutorials/arduino-nano/arduino-nano-ultrasonic-sensor-lcd
*/
#include <LiquidCrystal_I2C.h>
#define TRIG_PIN 4 // The Arduino Nano pin connected to TRIG pin of ultrasonic sensor
#define ECHO_PIN 3 // The Arduino Nano pin connected to ECHO pin of ultrasonic sensor
LiquidCrystal_I2C lcd(0x27, 16, 2); // I2C address 0x27 (from DIYables LCD), 16 column and 2 rows
float duration_us, distance_cm;
void setup() {
lcd.init(); // Initialize the LCD I2C display
lcd.backlight(); // open the backlight
pinMode(TRIG_PIN, OUTPUT); // config trigger pin to output mode
pinMode(ECHO_PIN, INPUT); // config echo pin to input mode
}
void loop() {
// Produce a 10-microsecond pulse to the TRIG pin.
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);
// Measure the pulse duration from the ECHO pin
duration_us = pulseIn(ECHO_PIN, HIGH);
// calculate the distance
distance_cm = 0.017 * duration_us;
lcd.clear();
lcd.setCursor(0, 0); // start to print at the first row
lcd.print("Distance: ");
lcd.print(distance_cm);
delay(500);
}
※ NOTE THAT:
L'adresse I2C de l'écran LCD peut varier en fonction du fabricant. Dans notre code, nous avons utilisé 0x27 qui a été spécifié par le fabricant DIYables.
Étapes rapides
- Connectez votre Arduino Nano à votre ordinateur à l'aide d'un câble USB.
- Lancez l'IDE Arduino et sélectionnez la carte et le port appropriés.
- Cliquez sur l'icône Libraries dans la barre gauche de l'IDE Arduino.
- Recherchez "LiquidCrystal I2C", et localisez la bibliothèque LiquidCrystal_I2C créée par Frank de Brabander.
- Ensuite, cliquez sur le bouton Install pour installer la bibliothèque.
- Copiez le code et ouvrez-le avec l'IDE Arduino.
- Ensuite, appuyez sur le bouton Upload de l'IDE Arduino pour compiler et téléverser le code vers l'Arduino Nano.
- Attachez le capteur à l'eau chaude et froide, ou tenez-le dans votre main.
- Ensuite, observez le résultat affiché sur l'écran LCD.
Explication du code
Découvrez l'explication ligne par ligne contenue dans les commentaires du code source !
※ NOTE THAT:
- Si l'écran LCD n'affiche rien, veuillez consulter la section Dépannage sur LCD I2C pour obtenir de l'aide.
- Le code fourni ci-dessus est uniquement à des fins éducatives. Le capteur ultrasonique est très sensible au bruit, donc si vous souhaitez l'utiliser dans une application réelle, vous devriez filtrer le bruit. Pour plus d'informations sur la manière de procéder, veuillez consulter la section comment filtrer le bruit pour un capteur ultrasonique.