Search Code

ESP32 Eğitimi 19/55 - Kızılötesi Sensör ile Engel Algılama | SunFounder'ın ESP32 IoT Öğrenme Kiti

ESP32 Eğitimi 19/55 - Kızılötesi Sensör ile Engel Algılama | SunFounder'ın ESP32 IoT Öğrenme Kiti

Bu eğitimde, engelleri tespit etmek için ESP32 modülüyle bir kızılötesi engel algılama sensörünün nasıl kullanılacağını öğreneceğiz. Bu proje, sensörün bir engel algılandığında bir buzzer'ı nasıl tetikleyebileceğini gösterecektir. Kurulum ayrıca algılama durumunu seri monitörde görüntüleyerek sensörün işlevselliğini gözlemlemenin açık ve etkileşimli bir yolunu sağlayacaktır.

Wi-Fi ve Bluetooth özelliklerine sahip ESP32 mikrodenetleyicisini içeren SunFounder ESP32 IoT Öğrenme Kiti ile çalışacağız. Kızılötesi sensör, yakındaki engellerden yansıyacak kızılötesi ışık göndererek çalışır. Işık geri yansıdığında, sensör kodumuzda okuyacağımız bir çıkış sinyali tetikleyecektir. Ayrıca, bir engel algılandığında etkinleşen ve sesli bir uyarı sağlayan bir buzzer da ekleyeceğiz.

Donanım Açıklaması

Bu projenin ana bileşenleri ESP32 modülü, kızılötesi engel algılama sensörü ve bir buzzer'dır. ESP32 modülü, sensör girişlerini işleyen ve çıkışları kontrol eden merkezi işlem birimi olarak görev yapar. Lityum pil ile güç sağlanabilir, bu da onu çeşitli uygulamalar için taşınabilir ve esnek kılar.

Kızılötesi engel algılama sensörü bir verici ve bir alıcıdan oluşur. Verici kızılötesi ışık yayar, alıcı ise yakındaki nesnelerden yansıyan ışığı algılar. Bir engel mevcut olduğunda, sensörün çıkış pini düşük olur ve ESP32'ye buzzer'ı açmak gibi bir işlem yapması için sinyal verir.

Veri Sayfası Ayrıntıları

ÜreticiSunFounder
Parça numarasıKızılötesi Engel Algılama Sensörü
Çalışma Voltajı3,3 V - 5 V
Çıkış TipiDijital (Engel algılandığında düşük)
Algılama Menzili20 cm'ye kadar
Tepki Süresi10 ms'den az
PaketModül

  • Güç kaynağı: Çalışma için 3,3 V ila 5 V.
  • Bir engel algılandığında çıkış sinyali düşük olur.
  • Potansiyometre ile ayarlanabilir hassasiyet.
  • Tipik algılama menzili 20 cm'ye kadardır.
  • 10 ms'nin altında hızlı tepki süresi.

Bağlantı Talimatları

ESP32-19-obstacle_voide-wiring

Kızılötesi engel algılama sensörünü ESP32'ye bağlamak için sensörün VCC pinini ESP32 üzerindeki 5V pinine bağlayarak başlayın. Ardından, sensörün GND pinini ESP32 üzerindeki GND pinlerinden birine bağlayın. Son olarak, sensörün OUT pinini ESP32 üzerindeki GPIO pin 14'e bağlayın.

Buzzer için negatif terminali GND'ye ve pozitif terminali GPIO pin 27'ye bağlayın. Tüm bağlantıların güvenli olduğundan ve sensörün doğru şekilde güç aldığından emin olun. Sensör ve buzzer yalnızca basit güç ve sinyal bağlantıları gerektirdiğinden bağlantı basit olmalıdır.

Kod Örnekleri ve Açıklama

Kodda öncelikle engel algılama sensörüne bağlı pini tanımlıyoruz. Bu, 14'e ayarlanan avoidPin tanımlayıcısı kullanılarak yapılır. Ayrıca sensörün çıkış durumunu tutmak için bir avoidState değişkeni bildiriyoruz.

const int avoidPin = 14;  // engel modülü pininin numarası

int avoidState = 0;

Kurulum fonksiyonunda seri iletişimi başlatıyor ve avoidPin'i giriş olarak ayarlıyoruz. Bu, ESP32'nin sensörün çıkış durumunu okumasını sağlar.

void setup() {
  Serial.begin(115200);  
  pinMode(avoidPin, INPUT);
}

Döngü fonksiyonu içinde, digitalRead(avoidPin) kullanarak sensörün çıkışını sürekli okuyor ve sonucu avoidState içinde saklıyoruz. Bu değer daha sonra seri monitöre yazdırılır ve bir engelin algılanıp algılanmadığını (çıkış 0 olacaktır) veya algılanmadığını (çıkış 1 olacaktır) görmemizi sağlar.

void loop() {
  avoidState = digitalRead(avoidPin);
  Serial.println(avoidState);
}

Tam kod için lütfen makalenin altındaki yükleme bölümüne bakın.

Gösterim / Beklentiler

Kurulum tamamlandığında ve kod yüklendiğinde, bir engelin algılanıp algılanmadığına bağlı olarak seri monitörde 0 veya 1 görüntülendiğini görmelisiniz. Algılama menzili içinde bir engel olduğunda çıkış 0 okur ve buzzer çalar. Engel kaldırılırsa çıkış 1 okur ve buzzer durur. Bu işlevsellik videoda gösterilmiştir (videoda 12:30'da).

Yaygın sorunlar, sensörün düzgün çalışmamasına yol açabilecek yanlış bağlantı veya verilerin doğru görüntülenmesini engelleyen seri monitördeki uyumsuz baud hızları olabilir. Sorunlarla karşılaşırsanız bu yönleri kontrol ettiğinizden emin olun.

Video Zaman Damgaları

  • 00:00 Başlangıç
  • 1:57 Proje tanıtımı
  • 4:33 Engel Algılama Bağlantısı
  • 5:55 Engel Algılama için Arduino Kodu
  • 7:36 Arduino IDE'de ESP32 Kartı ve COM portu Seçimi
  • 9:18 Proje gösterimi
  • 10:42 Hassasiyet artırma menzilini ayarlama
  • 12:39 Engel algılandığında işlem yapma
  • 14:24 Engel algılandığında buzzer kullanma

Görseller

ESP32-19-obstacle_voide-schematic
ESP32-19-obstacle_voide-schematic
ESP32-19-obstacle_voide-wiring
ESP32-19-obstacle_voide-wiring
818-ESP32 Tutorial 19/55- Arduino code for obstacle avoidance module
Dil: C++
// set pin
const int avoidPin = 14;  // the number of the avoid avoid module pin

// variable for storing the avoid status 
int avoidState = 0;

void setup() {
  Serial.begin(115200);  
  // initialize the avoid pin as an input
  pinMode(avoidPin, INPUT);
}

void loop() {
  // read the state of the avoid value
  avoidState = digitalRead(avoidPin);
  Serial.println(avoidState);
}

Kaynaklar ve referanslar

Dosyalar📁

Dosya mevcut değil.