const int trigPin = 2; // Chân Trig của cảm biến siêu âm kết nối với chân 2 trên Arduino
const int echoPin = 3; // Chân Echo của cảm biến siêu âm kết nối với chân 3 trên Arduino
const int ledPins[] = {4, 5, 6, 7, 8, 9, 10, 11, 12, 13}; // Các chân của đèn LED kết nối từ chân 4 đến chân 13 trên Arduino
void setup() {
pinMode(trigPin, OUTPUT); // Chân Trig được cấu hình là chế độ OUTPUT
pinMode(echoPin, INPUT); // Chân Echo được cấu hình là chế độ INPUT
for (int i = 0; i < sizeof(ledPins) / sizeof(ledPins[0]); ++i) {
pinMode(ledPins[i], OUTPUT); // Cấu hình các chân đèn LED là chế độ OUTPUT
}
Serial.begin(9600); // Khởi động cổng Serial để gửi dữ liệu từ Arduino đến máy tính
}
void loop() {
// Gửi xung Trig trong 10 ms để kích hoạt cảm biến siêu âm
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// Đọc thời gian mà Echo mất để trở lại
long duration = pulseIn(echoPin, HIGH);
// Chuyển đổi thời gian sang khoảng cách (đơn vị cm)
int distance = duration * 0.034 / 2;
// Hiển thị trạng thái đèn LED
for (int i = 0; i < sizeof(ledPins) / sizeof(ledPins[0]); ++i) {
if (i < distance) {
digitalWrite(ledPins[i], HIGH); // Bật đèn LED
} else {
digitalWrite(ledPins[i], LOW); // Tắt đèn LED
}
}
// Gửi dữ liệu khoảng cách qua cổng Serial
Serial.print("Khoảng cách: ");
Serial.print(distance);
Serial.println(" cm");
delay(500); // Chờ 0.5 giây trước khi đọc lại khoảng cách
}