1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98
| // Ce code est à utiliser avec le module d'échographie HC-SR04,
// il mesure la distance et l'affiche sur l'écran LCD i2c en cm
// fait référence au canal surtrtech pour le câblage
#include <LiquidCrystal_I2C.h> // bibliothèque LCD i2c
#define I2C_ADDR 0x27
#define BACKLIGHT_PIN 3
#define En_pin 2
#define Rw_pin 1
#define Rs_pin 0
#define D4_pin 4
#define D5_pin 5
#define D6_pin 6
#define D7_pin 7
LiquidCrystal_I2C lcd (I2C_ADDR, En_pin, Rw_pin, Rs_pin, D4_pin, D5_pin, D6_pin, D7_pin); // à partir de cela et ci-dessus sont des choses LCD i2c
const int trigPin = 9; // les broches du module et où elles sont câblées
const int echoPin = 10;
longue durée; // variables nécessaires pour mesurer
distance de flottementCm;
void setup() {
lcd.begin (16,2);
lcd.setBacklightPin (BACKLIGHT_PIN, POSITIVE);
lcd.setBacklight (HIGH);
pinMode (trigPin, OUTPUT);
pinMode (echoPin, INPUT);
}
boucle vide () {
lcd.clear (); // j'ajoute cette fonction, alors résolvez le problème de "cmcm"
digitalWrite (trigPin, LOW); // réglage de la goupille de déclenchement sur bas
delayMicroseconds (2); // delay est habituellement en millisecondes mais ici nous sommes sur µs
digitalWrite (trigPin, HIGH); // émission des ultrasons
délaiMicrosecondes (10); // durée d'émission
digitalWrite (trigPin, LOW); // éteindre l'émetteur
duration = pulseIn (échoPin, HIGH); // mesure la durée pulseIn fonction mesure le temps entre le passage de l'echopin et le passage au bas
distanceCm = durée * 0,034 / 2;
lcd.setCursor (0,0);
lcd.print ("Distance:");
lcd.setCursor (0,1);
lcd.print (distanceCm);
lcd.print ("cm");
délai (1000);
} |
Partager