ESP32, Wi-Fi ve Bluetooth bağlantı özelliklerini tek kart üzerinde sunan, IoT projelerinde sık kullanılan güçlü bir mikrodenetleyici platformudur. Arduino projelerinden akıllı ev sistemlerine, kablosuz sensör ağlarından kamera tabanlı uygulamalara kadar birçok projede tercih edilir.
ESP32 kartları; Arduino IDE ile programlanabilir, dijital ve analog giriş/çıkış pinleri sayesinde sensörler, röle modülleri, ekranlar, motor sürücüler ve haberleşme modülleriyle birlikte kullanılabilir. Bu yazıda ESP32’nin ne olduğunu, Arduino Uno ve ESP8266’dan farklarını, pin yapısını, kullanım alanlarını ve Robomer’de bulabileceğiniz ESP32 kart çeşitlerini inceleyeceğiz.
ESP32 Nedir?
ESP32, Espressif Systems tarafından geliştirilen, düşük maliyetli ve yüksek performanslı bir mikrodenetleyici ailesidir. En önemli avantajı, dahili Wi-Fi ve Bluetooth desteği sunmasıdır. Bu sayede harici Wi-Fi modülü kullanmadan internete bağlanabilen, kablosuz veri gönderebilen ve mobil cihazlarla haberleşebilen projeler geliştirilebilir.
Arduino Uno gibi klasik kartlarda Wi-Fi veya Bluetooth bağlantısı için ekstra modüller gerekirken, ESP32 bu kablosuz haberleşme özelliklerini doğrudan üzerinde barındırır. Bu nedenle özellikle IoT, akıllı ev, uzaktan kontrol, sensör izleme, veri kaydı ve kablosuz otomasyon projelerinde çok sık kullanılır.
ESP32 Ne İşe Yarar?
ESP32, fiziksel dünyadan sensörlerle veri toplayıp bu verileri kablosuz olarak işlemek, göstermek veya kontrol etmek için kullanılır. Örneğin bir DHT11 sensöründen sıcaklık ve nem verisi okuyup bu verileri web sayfasında gösterebilir, röle modülü ile uzaktan cihaz açıp kapatabilir veya bir ESP32-CAM kart ile görüntü aktarımı yapabilirsiniz.
- Wi-Fi üzerinden web server oluşturma
- Mobil cihazdan röle, LED veya servo kontrolü
- Sensör verilerini internet üzerinden takip etme
- MQTT ile IoT haberleşmesi
- Bluetooth üzerinden kablosuz veri gönderme
- Akıllı ev ve otomasyon projeleri
- ESP32-CAM ile kamera ve görüntü aktarımı projeleri
- OLED/LCD ekranlı kablosuz kontrol panelleri
ESP32’nin Temel Özellikleri
| Özellik | Açıklama |
|---|---|
| Kablosuz Bağlantı | Wi-Fi ve Bluetooth desteği sunar. |
| Programlama | Arduino IDE, PlatformIO, MicroPython ve ESP-IDF ile programlanabilir. |
| Çalışma Gerilimi | ESP32 çipi 3.3V lojik seviyesiyle çalışır. Geliştirme kartları genellikle USB veya 5V giriş üzerinden beslenebilir. |
| Giriş / Çıkış Pinleri | Dijital giriş/çıkış, PWM, ADC, I2C, SPI ve UART gibi farklı pin özellikleri sunar. |
| IoT Uyumluluğu | Web server, MQTT, HTTP, Bluetooth haberleşmesi ve sensör izleme projeleri için uygundur. |
ESP32, Arduino Uno ve ESP8266 Arasındaki Farklar
ESP32, Arduino Uno’ya göre kablosuz haberleşme ve işlem gücü açısından daha gelişmiş bir karttır. ESP8266 ise Wi-Fi destekli daha ekonomik bir alternatiftir; ancak ESP32 genellikle daha fazla pin, daha güçlü işlemci, Bluetooth desteği ve daha esnek çevre birimleri sunar.
| Kart | Kablosuz Bağlantı | Kullanım Alanı |
|---|---|---|
| Arduino Uno | Dahili Wi-Fi/Bluetooth yoktur. | Temel elektronik, sensör ve başlangıç projeleri |
| ESP8266 | Wi-Fi vardır, Bluetooth yoktur. | Ekonomik Wi-Fi ve IoT projeleri |
| ESP32 | Wi-Fi ve Bluetooth vardır. | Gelişmiş IoT, otomasyon, kablosuz kontrol ve sensör sistemleri |
ESP32 Pin Yapısı Hakkında Bilinmesi Gerekenler
ESP32 geliştirme kartlarında pin isimleri kullanılan modele göre değişebilir. Bazı kartlarda pinler GPIO numaralarıyla, bazı kartlarda ise D benzeri etiketlerle gösterilebilir. Arduino IDE içinde kod yazarken genellikle GPIO numarası kullanılır.
| Pin / Özellik | Açıklama |
|---|---|
| GPIO | Dijital giriş/çıkış işlemleri için kullanılır. |
| ADC | Analog sensörlerden değer okumak için kullanılır. |
| PWM | LED parlaklığı, motor hızı ve servo kontrolü gibi işlemlerde kullanılabilir. |
| I2C | LCD, OLED, sensör ve modüllerle iki kablolu haberleşme sağlar. |
| SPI | RFID, ekran, SD kart ve hızlı veri aktarımı isteyen modüllerde kullanılır. |
| UART | Seri haberleşme için kullanılır. |
Arduino IDE’ye ESP32 Kartları Nasıl Eklenir?
ESP32 kartlarını Arduino IDE ile programlayabilmek için kart yöneticisine ESP32 kart paketinin eklenmesi gerekir. Genel kurulum adımları şu şekildedir:
- Arduino IDE’yi açın.
- Dosya > Tercihler menüsüne girin.
- Ek Kart Yöneticisi URL’leri alanına ESP32 kart paket adresini ekleyin.
- Araçlar > Kart > Kart Yöneticisi bölümünü açın.
- Arama kısmına ESP32 yazın.
- Espressif Systems tarafından yayınlanan ESP32 paketini yükleyin.
- Kartınızı USB ile bağlayın ve doğru kart/port seçimini yapın.
ESP32 Blink Kod Örneği
Aşağıdaki örnek kod, ESP32 üzerinde temel dijital çıkış kontrolünü test etmek için kullanılabilir. Kart üzerindeki dahili LED pini modele göre değişebileceği için LED bağlı olan GPIO pinini kartınıza göre düzenlemeniz gerekebilir.
/*
Proje: ESP32 Blink Testi
Platform: ESP32
Hazırlayan: Robomer
Web: https://robomer.com
*/
const int ledPin = 2;
void setup() {
pinMode(ledPin, OUTPUT);
}
void loop() {
digitalWrite(ledPin, HIGH);
delay(500);
digitalWrite(ledPin, LOW);
delay(500);
}
ESP32 Wi-Fi Web Server Kod Örneği
ESP32’nin en önemli avantajlarından biri Wi-Fi üzerinden basit bir web server oluşturabilmesidir. Aşağıdaki örnek kod, ESP32’yi Wi-Fi ağına bağlar ve tarayıcı üzerinden basit bir sayfa gösterir.
#include <WiFi.h>
const char* ssid = "WIFI_ADI_BURAYA";
const char* password = "WIFI_SIFRESI_BURAYA";
WiFiServer server(80);
void setup() {
Serial.begin(115200);
WiFi.begin(ssid, password);
Serial.println("Wi-Fi baglantisi kuruluyor...");
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("Wi-Fi baglandi.");
Serial.print("IP Adresi: ");
Serial.println(WiFi.localIP());
server.begin();
}
void loop() {
WiFiClient client = server.available();
if (client) {
String request = client.readStringUntil('\r');
client.flush();
client.println("HTTP/1.1 200 OK");
client.println("Content-type:text/html");
client.println();
client.println("<!DOCTYPE html>");
client.println("<html><head><meta charset='UTF-8'></head><body>");
client.println("<h1>Robomer ESP32 Web Server</h1>");
client.println("<p>ESP32 Wi-Fi uzerinden calisiyor.</p>");
client.println("</body></html>");
client.println();
client.stop();
}
}
Robomer’de Bulabileceğiniz ESP Çeşitleri
Robomer’de ESP ailesine ait farklı geliştirme kartları ve modüller bulunabilir. ESP32 ve ESP8266 tabanlı kartlar; Wi-Fi bağlantılı IoT projeleri, kablosuz sensör sistemleri, web server uygulamaları, Bluetooth kontrollü projeler ve kamera tabanlı uygulamalar için tercih edilir.
Projenizin ihtiyacına göre genel amaçlı ESP32 geliştirme kartı, ESP32-CAM kamera modülü, ESP8266 NodeMCU kartı veya batarya destekli ESP32 modelleri arasından seçim yapabilirsiniz.
ESP32 WROOM32 18650 Li-Ion Pil Geliştirme Kartı
Üzerinde 18650 Li-Ion pil yuvası bulunan ESP32 geliştirme kartıdır. Taşınabilir IoT projeleri, kablosuz sensör sistemleri ve bataryalı otomasyon uygulamaları için uygundur.
Ürünü İncele
ESP32 DevKit V1 Geliştirme Kartı
Wi-Fi ve Bluetooth destekli genel amaçlı ESP32 geliştirme kartıdır. Sensör okuma, web server, MQTT, röle kontrolü ve akıllı ev projelerinde kullanılabilir.
Ürünü İncele
ESP32-CAM Kamera Modülü
Kamera destekli ESP32 modülüdür. Kablosuz görüntü aktarımı, mini güvenlik kamerası, uzaktan izleme, nesne algılama ve görüntülü IoT projelerinde kullanılabilir.
Ürünü İncele
ESP32-CAM MB Programlama Kartı
ESP32-CAM modülünü USB üzerinden daha kolay programlamak için kullanılan yardımcı karttır. Harici USB-TTL bağlantısıyla uğraşmadan kod yükleme sürecini kolaylaştırır.
Ürünü İncele
ESP32-S3 Geliştirme Kartı
Daha gelişmiş ESP32 ailesi kartlarından biridir. USB özellikleri, gelişmiş işlem kapasitesi ve IoT uygulamaları için tercih edilebilir.
Ürünü İncele
NodeMCU ESP8266 Type-C OLED WiFi Geliştirme Kartı – 0.96 İnç
NodeMCU LoLin ESP8266 Geliştirme Kartı V3 CH340, özellikle IoT tabanlı uygulamalar için geliştirilmiş açık kaynaklı Lua tabanlı bir ürün yazılımı ve geliştirme kartıdır. Espressif Systems'in ESP8266 Wi-Fi SoC'sini temel alan bu kart, ESP-12 modülünü içerir.
Ürünü İncele
ESP8266 NodeMCU Geliştirme Kartı
Wi-Fi destekli ekonomik geliştirme kartıdır. Basit IoT projeleri, web server uygulamaları, Wi-Fi üzerinden sensör verisi izleme ve uzaktan kontrol projelerinde tercih edilir.
Ürünü İncele
ESP8266 ESP-01 Wi-Fi Modülü
Küçük boyutlu ESP8266 Wi-Fi modülüdür. Arduino projelerine Wi-Fi bağlantısı eklemek, basit IoT haberleşmesi yapmak ve kompakt kablosuz uygulamalar geliştirmek için kullanılabilir.
Ürünü İncele