Kod Ara

ESP32 Eğitimi 23/55 - Potansiyometrenin Voltajını ESP32 Kullanarak Okuma | SunFounder'ın ESP32 IoT Kiti

ESP32 Eğitimi 23/55 - Potansiyometrenin Voltajını ESP32 Kullanarak Okuma | SunFounder'ın ESP32 IoT Kiti

Bu eğitimde, SunFounder'dan ESP32 modülünü kullanarak bir potansiyometreden DC voltajını nasıl ölçeceğimizi öğreneceğiz. Proje ayrıca potansiyometrenin konumuna göre bir LED'in nasıl söndürülüp yakılacağını da gösterecektir. Potansiyometreyi saat yönünün tersine çevirdikçe voltaj okuması azalır ve LED buna göre söner. Bu alıştırma, ESP32'deki analogdan dijitale dönüştürücünün (ADC) kullanımı hakkında pratik bir anlayış sağlayacaktır.

potansiyometre
Potansiyometre veya değişken direnç
Potansiyometre veya değişken direnç

ESP32, yerleşik Wi-Fi ve Bluetooth özelliklerine sahip güçlü bir mikrodenetleyicidir ve bu da onu IoT projeleri için ideal kılar. Bu eğitimde, bir potansiyometreden voltaj seviyelerini okumak için analog giriş özelliklerini kullanacağız ve ayrıca bu okumalara dayanarak bir LED'in parlaklığını kontrol edeceğiz. Sonuç, potansiyometreyi ayarladıkça yoğunluğu değişen duyarlı bir LED olacaktır.

Donanım Açıklaması

Bu proje için aşağıdaki bileşenlere ihtiyacımız olacak:

  • ESP32 Modülü: Potansiyometrenin voltajını okuyacak ve LED'i kontrol edecek ana mikrodenetleyici.
  • Potansiyometre: Voltajı ayarlamak için kullanılan değişken bir direnç. Üç pini vardır: ikisi sabit dirençler için, biri değişken olan içindir.
  • LED: Parlaklığı potansiyometrenin konumuna göre kontrol edilecek bir ışık yayan diyot.
  • Direnç: LED'den geçen akımı sınırlamak için 220 ohm'luk bir direnç.

Potansiyometre, pinleri arasındaki direnci değiştirerek çalışır ve ESP32'nin ADC'si aracılığıyla okuyabileceği bir voltaj üretmesini sağlar. LED parlaklığı, analog okumaya dayalı olarak kendisine verilen gücü ayarlamak için Darbe Genişliği Modülasyonu (PWM) kullanılarak kontrol edilir.

Veri Sayfası Ayrıntıları

Bağlantı Talimatları

ESP32-23-fading-LED_pot-wiring

Bileşenleri bağlamak için potansiyometreyi bağlayarak başlayın. Dış pinlerinden birini ESP32 üzerindeki 3.3V güç kaynağına bağlayın. Diğer dış pini toprağa (GND) bağlayın. Potansiyometrenin orta pini, analog voltajı okumak için kullanılan ESP32 üzerindeki 35 numaralı pine bağlanacaktır.

Ardından, LED için uzun pini (anot) 220 ohm'luk bir direnç üzerinden ESP32 üzerindeki 26 numaralı pine bağlayın. LED'in kısa pinini (katot) toprağa bağlayın. Tüm bağlantıların güvenli olduğundan emin olun ve hasarı önlemek için LED'in yönünü tekrar kontrol edin.

Potentiometer or variable resistor

Kod Örnekleri ve Açıklaması

Aşağıdaki kod parçacığı, ESP32'yi potansiyometreyi okumak ve LED'i kontrol etmek için nasıl ayarlayacağınızı gösterir:

const int potPin = 35; // Potansiyometre bağlı
const int ledPin = 26; // LED bağlı

// PWM ayarları
const int freq = 5000; // PWM frekansı
const int resolution = 12; // PWM çözünürlüğü (bit)

Bu alıntıda, potansiyometre ve LED için pinleri tanımlıyoruz. PWM frekansı ve çözünürlüğü de ayarlanır ve bu, LED'in parlaklık seviyelerini belirleyecektir.

Ardından, kurulumu başlatacağız:

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

  // PWM'yi yapılandır
  ledcAttach(ledPin, freq, resolution);
}

Kurulum fonksiyonunda, seri iletişimi başlatıyoruz ve LED için PWM ayarlarını yapılandırıyoruz. Bu kurulum, program başladığında bir kez çalışır.

Son olarak, döngü fonksiyonu sürekli olarak potansiyometre değerini okur ve LED parlaklığını ayarlar:

void loop() {
  int potValue = analogRead(potPin); // potansiyometrenin değerini oku
  uint32_t voltage_mV = analogReadMilliVolts(potPin); // Voltajı milivolt cinsinden oku

  ledcWrite(ledPin, potValue);
  // Seri çıktı kısaltma için atlandı
}

Döngüde, potansiyometreden analog değeri okuyoruz ve LED parlaklığını kontrol etmek için çeviriyoruz. Seri çıktı, potansiyometre değerini ve voltajı göstererek okumaların doğrulanmasına yardımcı olur.

Gösterim / Beklentiler

Devre doğru şekilde kurulduğunda ve kod yüklendiğinde, potansiyometreyi çevirmek seri monitörde görüntülenen voltaj okumasında buna karşılık gelen bir değişiklikle sonuçlanmalıdır. LED, potansiyometre ayarlandıkça yumuşak bir şekilde sönüp yanmalıdır. LED beklenildiği gibi tepki vermezse, bağlantıları kontrol edin ve potansiyometrenin düzgün çalıştığından emin olun (videoda 11:30'da).

Video Zaman Damgaları

  • 00:00 Başlangıç
  • 2:02 Pot Nedir
  • 4:15 Potun direncinin ölçülmesi
  • 6:59 Dokümantasyon sayfası
  • 8:56 Bağlantı açıklaması
  • 12:28 Arduino kodu açıklaması
  • 15:58 Arduino IDE'de ESP32 kartı ve COM portunun seçilmesi
  • 17:40 ESP32 ile pot değerinin okunmasının gösterimi

Görseller

Potentiometer or variable resistor
Potentiometer or variable resistor
ESP32-23-fading-LED_pot-schematic
ESP32-23-fading-LED_pot-schematic
ESP32-23-fading-LED_pot-wiring
ESP32-23-fading-LED_pot-wiring
potentiometer
potentiometer
822-ESP32 Tutorial 23/55- Arduino code for fading LED
Dil: C++
const int potPin = 35; // Potentiometer connected to
const int ledPin = 26; // LED connected to

// PWM settings
const int freq = 5000; // PWM frequency
const int resolution = 12; // PWM resolution (bits)

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

  // Configure PWM
  ledcAttach(ledPin, freq, resolution);
}

void loop() {

  int potValue = analogRead(potPin); // read the value of the potentiometer
  uint32_t voltage_mV = analogReadMilliVolts(potPin); // Read the voltage in millivolts

  ledcWrite(ledPin, potValue);

  Serial.print("Potentiometer Value: ");
  Serial.print(potValue);
  Serial.print(", Voltage: ");
  Serial.print(voltage_mV / 1000.0); // Convert millivolts to volts
  Serial.println(" V");

  delay(100);
}

Kaynaklar ve referanslar

Dosyalar📁

Dosya mevcut değil.