Skip to Content
Proje ListesiBaşlangıç4. Potansiyometre

4. Potansiyometre İzleme

Potansiyometrenin analog konumunu okuyun, yüzdeye dönüştürün ve PxServ panelinde izleyin.

Seviye: Başlangıç · Süre: 20 dakika

Kazanımlar

  • ESP32 analogRead() ile 12 bit ADC değeri okumak
  • map() ve constrain() ile yüzde hesaplamak
  • Ham ve işlenmiş veriyi ayrı PxServ anahtarlarında tutmak

Gerekenler ve bağlantılar

  • ESP32 DevKit V1
  • 10 kΩ lineer potansiyometre
Potansiyometre ucuBağlantı
Dış uç3V3
Orta uçGPIO 34
Diğer dış uçGND

Potansiyometreyi 5 V’a bağlamayın; ESP32 ADC girişine 3,3 V üzerinde gerilim uygulamayın.

Tam kod

#include <PxServ.h> const char* WIFI_SSID = "wifi_ssid"; const char* WIFI_PASSWORD = "wifi_sifre"; const char* PXSERV_API_KEY = "pxserv_api_anahtariniz"; const int POT_PIN = 34; PxServ client(PXSERV_API_KEY); void setup() { Serial.begin(115200); analogReadResolution(12); PxServ::connectWifi(WIFI_SSID, WIFI_PASSWORD); } void loop() { int rawValue = analogRead(POT_PIN); int percent = constrain(map(rawValue, 0, 4095, 0, 100), 0, 100); client.setData("potansiyometre/ham", String(rawValue)); client.setData("potansiyometre/yuzde", String(percent)); Serial.print("Ham: "); Serial.print(rawValue); Serial.print(" | Yuzde: %"); Serial.println(percent); delay(5000); }

Test ve yorumlama

Potansiyometreyi iki uç arasında yavaşça çevirin. Ham değer yaklaşık 0–4095, yüzde ise 0–100 aralığında değişmelidir. Gerçek ESP32 ADC ölçümleri ideal doğrusal olmayabilir; bu proje kullanıcı arayüzü konumu gibi yaklaşık ölçümler içindir.

Sorun giderme

  • Değer ters yönde değişiyorsa iki dış ucu yer değiştirin.
  • Değer sabitse orta ucun GPIO 34’e gittiğini doğrulayın.
  • Değer dalgalanıyorsa kabloları kısaltın ve birkaç okumanın ortalamasını almayı deneyin.
Son güncelleme