Kod Ara

ESP32 Eğitimi 22/55 - LED Arduino ile Işığı Hissetmek | SunFounder'ın ESP32 IoT Öğrenme Kiti

ESP32 Eğitimi 22/55 - LED Arduino ile Işığı Hissetmek | SunFounder'ın ESP32 IoT Öğrenme Kiti

Bu eğitimde, ışık yoğunluğunu ölçmek için ESP32 mikrodenetleyicisi ile bir LDR (Işığa Bağımlı Direnç) kullanmayı keşfedeceğiz. LDR'nin direncini okuyarak, ışık seviyesi belirli bir eşiği aştığında bir buzzer'ı etkinleştirmek gibi eylemleri tetikleyebiliriz. Bu proje, ışık seviyeleri ile ESP32'nin analog okuma yetenekleri arasındaki etkileşimi gösterecek ve ortam ışığına dayalı duyarlı uygulamalar oluşturmamızı sağlayacaktır. (videoda 5:30'da)

Donanım Açıklaması

Bu projede kullanacağımız ana bileşenler ESP32 mikrodenetleyicisi, bir LDR ve bir 10 kΩ dirençtir. LDR, yüzeyine çarpan ışığın yoğunluğuna bağlı olarak direncini değiştirir: daha fazla ışık daha düşük dirençle sonuçlanırken, daha az ışık daha yüksek dirençle sonuçlanır. Bu özellik, LDR'yi dirençle bir voltaj bölücü konfigürasyonunda bağlayarak değişen ışık seviyelerini ölçmemizi sağlar.

ESP32 mikrodenetleyicisi, yerleşik Wi-Fi ve Bluetooth özelliklerine sahiptir ve bu da onu IoT projeleri için ideal kılar. Değişen voltaj seviyelerini okuyabilen birkaç analog pime sahiptir; bu pinleri LDR üzerindeki voltajı izlemek için kullanacağız. Bu voltaj, ESP32'nin işleyebileceği ve bir buzzer'ı etkinleştirmek gibi eylemleri tetiklemek için kullanabileceği bir analog değere dönüştürülecektir.

Veri Sayfası Ayrıntıları

ÜreticiEspressif Systems
Parça numarasıESP32
Mantık/IO voltajı3.3 V
Besleme voltajı3.0 - 3.6 V
Çıkış akımı (GPIO başına)40 mA maks.
PWM frekansı kılavuzu1 kHz - 40 kHz
Giriş mantık eşikleriYüksek: 2.0 V min, Düşük: 0.8 V maks.
Voltaj düşümü / RDS(on) / doyum0.3 V maks.
Termal sınırlar-40 °C ila 125 °C
PaketQFN48
Notlar / varyantlarBirden fazla Wi-Fi ve Bluetooth protokolünü destekler

  • Voltaj bölme için LDR ile seri olarak 10 kΩ direnç kullanın.
  • Hasarı önlemek için ESP32'nin 3.3 V ile beslendiğinden emin olun.
  • Işık yoğunluğunu ölçmek için LDR ve direnci doğru şekilde bağlayın.
  • Gerekirse güç kaynağını stabilize etmek için bir kapasitör kullanın.
  • Analog okuma değerlerinin beklenen aralıklarda olduğunu kontrol edin.

Bağlantı Talimatları

ESP32-22_light_sensor-wiring

LDR ve direnci ESP32'ye bağlamak için, LDR'nin bir ucunu ESP32 üzerindeki 3.3 V güç pinine bağlayarak başlayın. LDR'nin diğer ucu, 10 kΩ direncin bir ucuna bağlanmalıdır. Direncin diğer ucunu toprağa bağlayın.

Ardından, LDR ile direnç arasındaki bağlantı noktasından ESP32 üzerindeki 35 pinine bir atlama teli bağlayın. Bu kurulum bir voltaj bölücü oluşturur ve ESP32'nin LDR'ye çarpan ışık yoğunluğuna bağlı olarak değişen voltajı okumasını sağlar. Tüm bağlantıların güvenli olduğundan ve LDR'nin ışık değişimlerini doğru algılayabileceği bir konumda olduğundan emin olun.

Kod Örnekleri ve Açıklama

Kodda, LDR'den gelen okumaları izlemek için seri iletişimi başlatarak başlıyoruz. Buradaki anahtar tanımlayıcı, 35 pininden okumayı saklayan analogValue'dur.

void setup() {
  Serial.begin(115200);
}

void loop() {
  int analogValue = analogRead(35);
  Serial.printf("ADC analog değeri = %d\n",analogValue);
  delay(100);
}

Bu kod parçacığı, seri monitörü 115200 baud hızında başlatır ve 35 pininden analog değeri sürekli okur. Değer seri monitöre yazdırılır ve ışık seviyelerine göre nasıl değiştiğini gözlemlememizi sağlar.

Işık yoğunluğu değiştiğinde, LDR'nin direnci değişir ve böylece ESP32 tarafından okunan voltaj da ışık koşullarını yansıtarak değişecektir (videoda 12:45'te).

Gösterim / Beklentiler

Programı çalıştırıp seri monitörü gözlemlediğinizde, ADC analog değeri'nin ortam ışığı koşullarına bağlı olarak dalgalandığını görmelisiniz. LDR'yi kapattığınızda, değer artmalı ve daha yüksek direnci göstermelidir; parlak ışığa maruz bıraktığınızda ise değer önemli ölçüde düşmelidir. Bu davranış, önceden tanımlanmış eşiklere dayalı olarak bir buzzer'ı veya başka herhangi bir eylemi tetiklemek için kullanılabilir.

Okumalar beklenildiği gibi değişmiyorsa, bağlantı sorunlarını kontrol edin, LDR'nin boşta olmadığından emin olun ve ESP32'nin doğru şekilde beslendiğini doğrulayın. Bu, yaygın tuzakları önlemeye ve sorunsuz çalışmayı sağlamaya yardımcı olacaktır (videoda 15:30'da).

Video Zaman Damgaları

  • 00:00 Başlangıç
  • 1:48 LDR'ye Giriş
  • 8:33 Bağlantı açıklaması
  • 11:07 Arduino kodu açıklaması
  • 13:07 Arduino IDE'de ESP32 kartı ve COM portu seçimi
  • 14:49 Değer okuma gösterimi
  • 17:24 Gündüz ve Gece değerini anlama
  • 18:47 DAC değeri ve Voltaj okuma

Görseller

ESP32-22_light_sensor
ESP32-22_light_sensor
ESP32-22_light_sensor-wiring
ESP32-22_light_sensor-wiring
821-ESP32 Tutorial 22/55- Arduino code for Light dependant resistor
Dil: C++

void setup() {
  // initialize serial communication at 115200 bits per second:
  Serial.begin(115200);

}

void loop() {
  // read the analog value
  int analogValue = analogRead(35);
  
  // print out the values you read:
  Serial.printf("ADC analog value = %d\n",analogValue);
  
  delay(100);  // delay in between reads for clear read from serial
}

Kaynaklar ve referanslar

Dosyalar📁

Dosya mevcut değil.