Öğren

ESP32 projects for beginners, in the order to try them

Başlangıç

Ya da tüm dersleri gör.

  • 503parça tezgahta
  • 44kart şu an çalışıyor
  • 1.00xgerçek zamanlı, her kartta
ESP32 DevKit: bir düğme bir LED'i karartırlive0.000 s 0.00x
Düzenleyicide açmak için tıkla
ESP32 düğme örneği: GPIO 32'deki bir potansiyometre GPIO 4'teki bir LED'in parlaklığını ayarlar, ham okuma yazdırılır.

ESP32 iyi bir ilk karttır: bir Arduino klonuyla yaklaşık aynı fiyattadır, WiFi'si vardır ve aynı Arduino kodunu çalıştırır. Bu sayfa yeni başlayanlar için projeleri en çok öğreten sırayla listeler ve her biri Mokxi'de zaten kurulu ve çalışır durumdadır; böylece tek bir parça almadan önce tarayıcında deneyebilirsin.

Yukarıdaki devre üç numaralı projedir: klasik bir ESP32 DevKit üzerinde bir LED'i karartan bir potansiyometre. Çalıştır'a bas ve düğmeyi çevir: seri monitör ham okumayı ve PWM görev oranını yazdırır. Ortada 2048 değil 1892 okur ve düğme tamamen yukarı çıkmadan biraz önce 4095'e ulaşır. Bunun nedeni, bir yeni başlayanın ESP32'nin ADC'si hakkında öğrenebileceği en yararlı şeydir ve aşağıda açıklanmıştır.

Başlamadan önce: üç ESP32 farkı

3.3 V'ta çalışır. Bir GPIO pini 3.3 V çıkarır ve asla 5 V görmemelidir. Uno için yapılmış sensörler genellikle 3.3 V'ta çalışır, ama kontrol et ve gelen her 5 V sinyalin önüne bir bölücü ya da seviye kaydırıcı koy.

ADC'si 0 ile 1023 değil, on iki bit, 0 ile 4095 okur. Varsayılan zayıflatmada okuma düz bir çizgi değildir: yaklaşık 3.1 V'ta doyar, bu yüzden 3.3 V'a bağlı bir düğme 4095'e erken ulaşır ve ortada yaklaşık 1890 okur. Yukarıdaki devrenin yazdırdığı tam olarak budur.

Pin numaraları GPIO numaralarıdır ve bazı pinler özeldir. Klasik ESP32'de GPIO 34 ile 39 yalnızca girişlerdir ve bazı pinler çipin nasıl açılacağını belirler. Mokxi'deki her kart sayfası pinlerini listeler.

1 ile 4 arası projeler: pinler, PWM ve ADC

1. Bir LED yak söndür. Her kartta ilk kod: pinMode, digitalWrite ve delay. ESP32-C3'te LED GPIO 8'dedir.

2. Bir buton ve bir LED. Bir pinden toprağa INPUT_PULLUP ile bir buton; basılı olduğu sürece LED'i yakar. Dirençsiz pull-up dirençleri öğretir.

3. LED'i karartan bir düğme. Yukarıdaki devre: GPIO 32'de analogRead ve GPIO 4'te analogWrite. 12 bitlik ADC'yi ve PWM'i öğretir.

4. Bir servo taraması. 50 Hz'lik bir PWM kanalında bir SG90, uçtan uca taranır. Darbe genişliği açıdır ve ESP32'nin LEDC donanımı çekirdek başka işler yaparken darbeleri sürdürür.

5 ile 7 arası projeler: sensörler ve ekranlar

5. Bir NeoPixel gökkuşağı. Bir ESP32-C3'ün tek bir veri pininde on altı WS2812B LED; üzerlerinde bir ton çarkı dolaşır. Gerçek bir kartta Adafruit NeoPixel kütüphanesi zamanlamayı senin için yapar.

6. Bir sıcaklık ve nem monitörü. Tek bir pinde bir DHT22, birkaç saniyede bir okunur ve seri monitöre yazdırılır. Bilgisayar olmadan göstermek için I2C üzerinde bir SSD1306 OLED ekle.

7. Bir oda sensörü. Tek bir ESP32-C3 üzerinde bir DHT22, bir BH1750 ışık sensörü ve bir PIR hareket sensörü; birçok Home Assistant kullanıcısının başladığı yapı. Her okuma, göndereceği MQTT mesajı olarak yazdırılır.

8 ile 10 arası projeler: WiFi

8. WiFi'ye bağlan. WiFi.begin(), bağlantıyı bekle, IP adresini yazdır. Mokxi'de ağ tarayıcının içinde simüle edilir ve giriş yapıp gerçek interneti açmadıkça hiçbir şey bilgisayarından çıkmaz. Şifreyi bilerek değiştir ve bağlantı, gerçek bir kartta olduğu gibi beş saniye sonra başarısız olur.

9. Bir lambayı açıp kapatan web sayfası. ESP32 üzerindeki bir WebServer iki butonlu bir sayfa sunar; Web panelinde birine bas ve LED takip eder. ESP32'yi çoğu insana anlamlı kılan proje budur.

10. HTTP ile veri çek. HTTPClient bir sunucudan JSON ister ve kod sayıları ayrıştırır. Mokxi'de yanıtlarını düzenleyebileceğin sahte bir sunucuyla konuşur; giriş yapıp gerçek interneti açmadıkça gerçek bir web sitesine istek düz bir mesajla reddedilir.

Hangi ESP32 kartı alınmalı

İlk kart için bir ESP32 DevKit V1 (klasik ESP32) ya da bir ESP32-C3 SuperMini. DevKit'in en çok pini ve en çok öğreticisi var. SuperMini küçük ve ucuzdur ve yerel USB'si vardır. ESP32-S3 kameralar, ekranlar ve daha fazla bellek için tercih edilir. Üçü ve birkaç tane daha Mokxi'de çalışır, böylece seçmeden önce projeni her birinde deneyebilirsin.

Zaten bir Arduino Uno'n varsa ilk iki projeye orada başla; pin numaraları dışında hiçbir değişiklik gerekmez. Uno, ESP32 ve Pico'yu karşılaştıran sayfa daha derine iner.

Yeni başlayanların yaygın hataları

5 V'u bir GPIO'ya bağlamak. ESP32 3.3 V'luk bir çiptir ve bir pindeki 5 V ona zarar verebilir.

analogRead'in 0'dan 3.3 V'a düz bir çizgi olmasını beklemek. Varsayılan zayıflatmada bir düğmenin ortasında yaklaşık 1890, yaklaşık 3.1 V'tan itibaren 4095 okur, yukarıdaki devrenin gösterdiği gibi; volt için analogReadMilliVolts() kullan.

WiFi açıkken ADC2 pinlerini kullanmak. Klasik ESP32'de WiFi çalışırken ADC2 pinleri okunamaz. Bir WiFi projesinde analog her şey için GPIO 32 ile 39 gibi ADC1 pinlerini kullan.

Açılışı etkileyen bir pin seçmek. Kart devren takılıyken başlamıyorsa parçayı kart sayfasında listelenen strapping pinlerinden çıkar.

Sorular

İyi bir ilk ESP32 projesi nedir?

Bir LED'i yakıp söndür, sonra bir buton, sonra bir LED'i karartan bir düğme. Bu üçü dijital çıkışı, pull-up ile girişi, 12 bitlik ADC'yi ve PWM'i öğretir. Ondan sonra bir lambayı açıp kapatan web sayfası WiFi'nin ne işe yaradığını gösterir.

ESP32 projelerini kart olmadan deneyebilir miyim?

Evet. Bu sayfadaki her proje Mokxi'de tarayıcında çalışır; Arduino kodu derlenir ve simüle edilmiş bir ESP32 üzerinde çalışır. Açmak ve çalıştırmak için hesap gerekmez.

ESP32 projeleri Arduino IDE kullanır mı?

Çoğu yeni başlayan öğreticisi, ESP32 kart paketi kurulu olarak kullanır. Bu sayfadaki kod Arduino koddur ve Arduino IDE'den değişmeden yüklenir.

ESP32 analogRead'im neden 3.3 V'tan önce 4095'e ulaşıyor?

Varsayılan 11 dB zayıflatmada gerçek bir ESP32'nin ham okuması yaklaşık 3.1 V'ta doyar ve oraya giderken bükülür; bu yüzden 3.3 V'luk bir düğmenin ortası 2048 yerine yaklaşık 1890 okur. Milivolt cinsinden okuma için analogReadMilliVolts() kullan.

Bunu gerçekten kur

Düzenleyiciyi aç, bir değeri değiştir ve sayının onunla birlikte oynadığını izle. Kurulacak bir şey yok ve hesap gerekmez.