Search Code

ESP32 Eğitimi 20/55 - Çizgi Takip Modülü | SunFounder'ın ESP32 IoT Öğrenme Kiti

ESP32 Eğitimi 20/55 - Çizgi Takip Modülü | SunFounder'ın ESP32 IoT Öğrenme Kiti

Bu eğitimde, ESP32 modülünü çizgi takip modülüyle birlikte kullanarak beyaz bir yüzey üzerindeki siyah çizgileri nasıl tespit edeceğimizi öğreneceğiz. Bu yetenek, belirlenmiş bir yolu takip etmesi gereken robot arabalar gibi uygulamalar için gereklidir. Ayrıca, çizgi takip modülü siyah çizgiyi algıladığında devreye giren bir buzzer entegre edeceğiz ve böylece projemizin geri bildirim mekanizmasını geliştireceğiz. Daha fazla açıklama için lütfen videoya başvurun (videoda 0:00'da).

line_track

Donanım Açıklaması

Bu projenin ana bileşenleri ESP32 modülü, bir çizgi takip modülü ve bir buzzer içerir. ESP32 modülü, yerleşik Wi-Fi ve Bluetooth özelliklerine sahip, çok çeşitli IoT uygulamalarına olanak tanıyan güçlü bir mikrodenetleyicidir. Çizgi takip modülü, yansıyan kızılötesi ışığın yoğunluğuna bağlı olarak yüzey rengindeki farklılıkları tespit etmek için bir kızılötesi verici ve fotodirenç kullanır.

Çizgi takip modülü, altındaki yüzeyden yansıyan kızılötesi ışık yayarak çalışır. Siyah gibi daha koyu bir yüzey daha fazla ışık emer ve bu da daha düşük bir yansıma yoğunluğuyla sonuçlanırken, beyaz gibi daha açık bir yüzey daha fazla ışık yansıtarak daha yüksek bir yoğunluk üretir. Bu fark, yüzeyin durumunu (siyah veya beyaz) belirlemek ve buna karşılık gelen bir sinyal çıkarmak için bir işlemsel yükselteç tarafından işlenir.

Veri Sayfası Ayrıntıları

Üretici SunFounder
Parça numarası TCRT5000
Mantık/IO voltajı 3,3 V ila 5 V
Çıkış akımı (kanal başına) 20 mA
Tepe akımı (kanal başına) 50 mA
Tepki süresi < 10 ms
Algılama aralığı 1 cm ila 5 cm
Paket Başlık pinleri olan modül
Notlar / varyantlar Çizgi izleyen robotlarda yaygın olarak kullanılır

 

  • Doğru güç kaynağını (3,3 V veya 5 V) sağlayın.
  • Doğru okumalar için sensörü temiz tutun.
  • Kart üzerindeki potansiyometreyi kullanarak hassasiyeti ayarlayın.
  • Bağlantıları kontrol ederek boşta kalan girişleri önleyin.
  • Kararlı okumalar için gerekirse pull-up dirençleri kullanın.
  • Ortamdaki kızılötesi kaynaklardan kaynaklanan paraziti en aza indirin.

Bağlantı Talimatları

ESP32-20_line-tracking-wiring

Çizgi takip modülünü ESP32'ye bağlamak için, modülün toprak pinini ESP32 üzerindeki bir toprak pinine bağlayarak başlayın. Ardından, çizgi takip modülünün V+ pinini ESP32 üzerindeki 3,3 V veya 5 V gibi uygun bir güç kaynağına bağlayın. Sinyal pini (S olarak etiketlenmiş) ESP32 üzerindeki GPIO 14'e bağlanmalıdır. Devam etmeden önce bu bağlantıların güvenli olduğundan emin olun.

Bir buzzer kullanıyorsanız, negatif terminalini toprağa ve pozitif terminalini ESP32 üzerindeki GPIO 27'ye bağlayın. Bu kurulum, çizgi takip modülü siyah bir çizgi algıladığında buzzer'ın devreye girmesini sağlar. Tüm bağlantıların kodda belirtilen pinlerle eşleştiğinden emin olmak için tüm bağlantıları tekrar kontrol ettiğinizden emin olun.

ESP32-20_line-tracking-schemtaic

Kod Örnekleri ve Açıklaması

Aşağıda, çizgi takip modülünü kuran kodun önemli bir bölümü yer almaktadır. linePin değişkeni, çizgi takip modülüne bağlı pini temsil etmek için tanımlanmıştır.

const int linePin = 14;  // Çizgi takip modülü pininin numarası

Bu satır, çizgi durumunu okumak için kullanılacak olan linePin değişkenini pin 14 olarak başlatır. lineState değişkeni sensörden gelen sonucu tutacaktır.

setup() fonksiyonunda, linePin için pin modunu giriş olarak yapılandırırız.

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

Bu, ESP32'nin çizgi takip modülünün durumunu okuyabilmesini sağlar. Seri iletişim, çıktıyı izlemek için 115200 baud hızında başlatılır.

Son olarak, loop() fonksiyonunda, çizgi takip modülünün durumunu sürekli okur ve algılanan rengi yazdırırız.

void loop() {
  lineState = digitalRead(linePin);
  if (lineState == HIGH) {
    Serial.println("Siyah");
    delay(100);
  } else {
    Serial.println("Beyaz");
    delay(100);
  }
}

Bu döngü, lineState değerinin HIGH (siyahı gösterir) veya LOW (beyazı gösterir) olup olmadığını kontrol eder ve sonucu seri monitöre yazdırır. Tam kod, referansınız için makalenin altında yüklenir.

Gösterim / Beklentiler

Bağlantı tamamlandığında ve kod yüklendiğinde, çizgi takip modülü siyah bir yüzeyin üzerindeyken ESP32'nin "Siyah" ve beyaz bir yüzeyin üzerindeyken "Beyaz" yazdırdığını gözlemlemelisiniz. Ayrıca, modül siyah çizgiyi algıladığında buzzer ses çıkararak işitsel bir uyarı sağlayacaktır. Potansiyometre ayarlarına dikkat edin, çünkü aşırı hassas ayarlar düzensiz davranışlara yol açabilir (videoda 10:00'da).

Video Zaman Damgaları

  • 00:00 Başlangıç
  • 2:22 Çizgi takip modülüne giriş
  • 5:10 Dokümantasyon sayfası
  • 9:20 Bağlantı şeması açıklaması
  • 10:49 Arduino kodu açıklaması
  • 13:36 Arduino IDE'de ESP32 kartı ve COM portu seçimi
  • 15:18 Gösterim
  • 18:15 Proje: Buzzer ile çizgi takibi
  • 19:52 Çizgi takibi ve buzzer için Arduino kodu
  • 20:52 Gösterim

Görseller

ESP32-20_line-tracking-schemtaic
ESP32-20_line-tracking-schemtaic
ESP32-20_line-tracking-wiring
ESP32-20_line-tracking-wiring
line_track
line_track
819-ESP32 Tutorial 20/55- Arduino code line tracking
Dil: C++
// Set pin number
const int linePin = 14;  // The number of the line track module pin

// Variable for storing the line status 
int lineState = 0;

void setup() {
  Serial.begin(115200);  
  // Initialize the line track module pin as an input
  pinMode(linePin, INPUT);
}

void loop() {
  // Read the state of the line track module
  lineState = digitalRead(linePin);

  if (lineState == HIGH) {
    Serial.println("Black");
    delay(100);
  }
  else {
    Serial.println("White");
    delay(100);
  }
}

Kaynaklar ve referanslar

Dosyalar📁

Dosya mevcut değil.