Sơ đồ đấu nối:

Code kết nối Cảm biến siêu âm HC-SR04 với ESP32
#include <Wire.h>
#define echoPin 9 // CHANGE PIN NUMBER HERE IF YOU WANT TO USE A DIFFERENT PIN
#define trigPin 8 // CHANGE PIN NUMBER HERE IF YOU WANT TO USE A DIFFERENT PIN
int led_r=7;
int led_g=6;
int led_y=5;
long duration, distance;
void setup(){
Serial.begin (9600);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(led_r,OUTPUT);
pinMode(led_g,OUTPUT);
pinMode(led_y,OUTPUT);
}
void loop(){
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = duration / 58.2;
String disp = String(distance);
Serial.print(“Distance: “);
Serial.print(disp);
Serial.println(” cm”);
delay(1000);
if (distance>=0 && distance<=5){
digitalWrite(led_r,HIGH);
digitalWrite(led_g,LOW);
digitalWrite(led_y,LOW);
}
else if (distance>=6 && distance<=10){
digitalWrite(led_r,LOW);
digitalWrite(led_g,HIGH);
digitalWrite(led_y,LOW);
}
else if (distance>=11){
digitalWrite(led_r,LOW);
digitalWrite(led_g,LOW);
digitalWrite(led_y,HIGH);
}
}
