ESP32 Eğitimi 27/55 - Ultrasonik Sensör ile Mesafe Ölçme | SunFounder'ın ESP32 IoT Öğrenme Kiti
Bu eğitimde, ESP32 ile ultrasonik mesafe sensörünü kullanarak mesafeleri nasıl ölçeceğimizi ve sonuçları bir ekranda nasıl görüntüleyeceğimizi öğreneceğiz. Ayrıca, belirli bir aralıkta bir nesne algılandığında bir buzzer'ı nasıl etkinleştireceğimizi de keşfedeceğiz. Bu proje, Wi-Fi ve Bluetooth özelliklerini entegre eden ve çeşitli IoT uygulamaları için uygun olan ESP32 mikrodenetleyicisinin çok yönlülüğünü vurgular.
Bu kılavuz boyunca, donanım bileşenlerinin açıklamalarını, bağlantı talimatlarını ve projeyi başarıyla uygulamanıza yardımcı olacak kod parçacıklarını bulacaksınız. Ek netlik için lütfen videoya bakın (videoda 00:00'da).
Donanım Açıklaması
Bu projenin ana bileşenleri ESP32 mikrodenetleyicisi, ultrasonik sensör (HC-SR04) ve bir buzzer'dır. Ultrasonik sensör iki ana bölümden oluşur: ultrasonik dalgalar yayan bir verici ve yansıyan dalgaları dinleyen bir alıcı. Dalgaların geri dönmesi için geçen süreyi ölçerek bir nesneye olan mesafeyi hesaplayabiliriz.
ESP32, ultrasonik sensörden gelen verileri işleyen ve ölçülen mesafeye göre buzzer'ı kontrol eden merkezi denetleyici görevi görür. Algılanan mesafe belirli bir eşiğin altında olduğunda buzzer ses çıkaracak ve bu da bir nesnenin çok yakın olduğunu gösterir.
Veri Sayfası Ayrıntıları
| Üretici | HC-SR04 |
|---|---|
| Parça numarası | HC-SR04 |
| Mantık/G/Ç voltajı | 5 V |
| Besleme voltajı | 5 V |
| Çıkış akımı (kanal başına) | 16 mA |
| Tepe akımı (kanal başına) | … |
| PWM frekansı yönergesi | … |
| Giriş mantık eşikleri | … |
| Gerilim düşümü / RDS(on) / doyum | … |
| Termal sınırlar | … |
| Paket | … |
| Notlar / varyantlar | Ölçüm aralığı: 2 cm ila 400 cm |
- Sensör için uygun 5 V güç kaynağı sağlayın.
- Paraziti önlemek için ultrasonik dalgaların önünü açık tutun.
- Sinyal gecikmesini ve gürültüyü en aza indirmek için kısa kablolar kullanın.
- Yanlış iletişimi önlemek için doğru pin bağlantılarını sağlayın.
- Doğruluğu kontrol etmek için sensörü çeşitli ortamlarda test edin.
Bağlantı Talimatları

Ultrasonik sensörü ESP32'ye bağlamak için sensörün VCC pinini ESP32 üzerindeki 5V pinine bağlayın. Ardından, sensörün GND pinini ESP32 üzerindeki toprak (GND) pinlerinden birine bağlayın. Sensördeki tetik pini (Trig), ESP32 üzerindeki GPIO 26'ya, yankı pini (Echo) ise GPIO 25'e bağlanmalıdır. Bu kurulum, ESP32'nin sensöre bir sinyal göndermesine ve mesafeyi hesaplamak için yankı sinyalini almasına olanak tanır.
Buzzer için, pozitif (uzun) bacağı ESP32 üzerindeki GPIO 12'ye ve negatif (kısa) bacağı GND'ye bağlayın. Çalışma sırasında gevşek bağlantıları önlemek için tüm bağlantıların güvenli olduğundan emin olun. Bir breadboard kullanıyorsanız, yanlış bağlantıyı önlemek için buzzer bağlantılarını doğru şekilde hizalayın. Bağlantıyı doğrulamak için videoya başvurduğunuzdan emin olun (videoda 05:12'de).
Kod Örnekleri ve Açıklama
Kod, ultrasonik sensör için pinleri başlatır ve seri iletişimi kurar. Ana işlev olan readSensorData(), bir tetik sinyali göndermekten ve yankı pininden gelen yanıt süresini ölçmekten sorumludur.
const int echoPin = 25;
const int trigPin = 26;
void setup() {
Serial.begin(115200);
pinMode(echoPin, INPUT);
pinMode(trigPin, OUTPUT);
Serial.println("Ultrasonik sensör:");
}
Kod, ultrasonik sensöre bağlı pinler için echoPin ve trigPin sabitlerini tanımlar. setup() işlevinde, seri iletişimi başlatır ve pin modlarını buna göre ayarlarız.
float readSensorData() {
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
unsigned long microsecond = pulseIn(echoPin, HIGH);
float distance = microsecond / 29.00 / 2;
return distance;
}
Bu alıntı, tetik pinine 10 mikrosaniyelik bir darbe gönderen readSensorData() işlevini gösterir. Ardından, yankı pininin sinyali geri alması için geçen süreyi ölçer, mesafeyi hesaplar ve bu değeri döndürür.
Son olarak, döngü işlevi sürekli olarak mesafeyi okur ve seri monitöre yazdırır. Mesafe 20 cm'nin altındaysa, buzzer etkinleştirilir.
Gösterim / Beklentiler
Programı çalıştırdığınızda, ESP32 ölçülen mesafeyi santimetre cinsinden seri monitörde görüntüleyecektir. Sensörün önüne 20 cm içinde bir nesne girerse, buzzer ses çıkaracaktır. Bu davranış, sensörün önüne çeşitli mesafelerde nesneler yerleştirilerek test edilebilir. Ters polariteye dikkat edin ve çalışma sırasında herhangi bir sorunu önlemek için bağlantıların belirtildiği gibi yapıldığından emin olun (videoda 08:00'da).
Video Zaman Damgaları
- 00:00 Başlangıç
- 1:46 Ultrasonik Sensöre Giriş
- 6:02 Bağlantı şeması açıklandı
- 7:37 ESP32 Arduino kodu açıklandı
- 11:33 Arduino IDE'de ESP32 kartı ve COM portu seçimi
- 13:15 Mesafe ölçümünün gösterimi
- 16:43 Mesafeye göre eylem: buzzer
// Define pins for the ultrasonic sensor
const int echoPin = 25;
const int trigPin = 26;
// Function prototype for reading sensor data
float readSensorData();
void setup() {
// Begin serial communication at 115200 baud rate
Serial.begin(115200);
// Set echoPin as input and trigPin as output
pinMode(echoPin, INPUT);
pinMode(trigPin, OUTPUT);
// Print sensor information to the serial monitor
Serial.println("Ultrasonic sensor:");
}
void loop() {
// Read distance from the ultrasonic sensor
float distance = readSensorData();
// Print the measured distance to the serial monitor
Serial.print(distance);
Serial.println(" cm");
// Delay between readings
delay(200);
}
// Function to read data from the ultrasonic sensor
float readSensorData() {
// Trigger a low signal before sending a high signal
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
// Send a 10-microsecond high signal to the trigPin
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
// Return to low signal
digitalWrite(trigPin, LOW);
// Measure the duration of the high signal on the echoPin
unsigned long microsecond = pulseIn(echoPin, HIGH);
// Calculate the distance using the speed of sound (29.00µs per centimeter)
float distance = microsecond / 29.00 / 2;
// Return the calculated distance
return distance;
}
Common Course Links
Common Course Files
İhtiyacın olabileceğini düşünüyor
-
eBay
-
BanggoodPurchase HC-SR04 Ultrasonic Sensor from Banggoodbanggood.com
Kaynaklar ve referanslar
-
BelgelendirmeESP32 Tutorial 27/55- SunFounder doc page for Ultrasonic distance sensordocs.sunfounder.com
-
DışHC-SR04 Ultrasonic Library from the Arduino official websiteplayground.arduino.cc
Dosyalar📁
Dosya mevcut değil.