ESP8266-01’e GİRİŞ


ESP8266-01 modülü bir çok kişi tarafından incelendi, projeler yapıldı. Özellikle Arduino için kütüphaneler yapılmış durumda. Fakat bu kütüphanelerin hiçbirine ihtiyacınız olmayabilir. Sadece gördüğünüz komutları simüle etmeniz yeterlidir.
ESP modül ilk aldığınızda 115200 baud hızında çalışmaktadır. Arduino için kütüphane kullandığınızda hızını 9600 baud’a ayarlamak zorunda kalıyorsunuz. Çünkü Arduino Mega hariç öncekilerde tek donanımsal seri port vardır. Bu port arduinonun kendi haberleşmesinde kullanılıyor. Kütüphaneden dolayı yazılımsal seri kullanıldığından, yazılımsal seri çalışmada 115200 baud hızı kullanılamaz.
Bu yazımda ESP8266-01 modülünü, satın aldığınızda geldiği şekliyle nasıl kullanacağınızı anlatacağım.( Bu kısım incelediğim örneklerden edinilen fikirlere göre yazıldı)

ESP8266-01 modüller 2 çeşit olarak piyasada bulunmaktadır. Modüllerin PCB rengi Flash hafıza miktarını göstermektedir. Mavi olan 512K hafızaya sahiptir. Siyah pcb 1M hafızaya sahiptir. Şayet içindeki programı güncellemek isterseniz pcb nin hafıza miktarını bazı programlar mbit olarak gösterirler. Bunu da hesaplamak için 1 byte 8 bit olduğundan
512K=> 512000 x 8= 4mbit olarak seçilecektir. 1M olan ESP için ise 8Mbit olarak seçilmelidir.
(Bundan dolayı güncelleme programında hangi tip soruyorsa ona göre yazmanız gerekecektir. Byte yada bit olarak)

ESP Modülüm çalışıyormu. ( Sağlam mı?)
Öncelikle ESP modülünüzün çalıştığını teyit etmeniz gerekecektir. Bunun için elinizde usb seri çevirici olması gerekir. Bunu satın aldığınız standart çeviriciler ile kullanabilirsiniz. Ayrıca Arduino yu seri çevirici olarak kullanarak da  ESP modülünüzü arduino üzerinden bilgisayara bağlayıp kontrol edebilirsiniz.  USB-SERİ çevirici kullanacaksanız çeviricinizin üzerinde 3.3V sisteme uyarlayan jumper olmasına dikkat edin.

Önemli : ESP modülleri 3.3V ile çalışır.  İnternette bir çok çizilmiş olan devrede sadece 3.3V bağlamak yeterli diye görünüyor. Bence bu inanış yanlış , kısa süreli kullanımlarda problem olmaması sizi yanıltmasın. 3.3V çalışan sistemlerde portlarına da 3.3V tan fazla gerilim verilmemeli. Özellikle ESP modülün RX girişine 3.3V sinyal verilmeli.

Bunun çeşitli metotları vardır.
1-) Dirençlerle gerilim bölücü yapmak,
2-) Transistörlerle Gerilim seviyesini ayarlamak,
3-) Bu iş için üretilmiş entegrelerle gerilim seviyesini ayarlamak. CD4050 veya CD4504 entegresi ile yapılan level shifter
4-) Bunun için hazırlanmış modüller satın almak.   3.3V Seviye çevirici modül 

Buradaki gibi usb çevirici kullanıyorsanız üzerinde bulunan jumper ayarını yaptığınızda VCC çıkışı 3.3V olacak ve  ESP ye güç verebileceksiniz. (FT232RL usb çevirici) .
Bunun yanısıra ESP modülünü kullanmak için VCC, GND ve Rx,Tx uçlarını bağlamak yetmiyor. CH-PD ucunu da ve Reset Ucunu da VCC ye bağlamanız gerekiyor. Böyle bir bağlantı için kendinize bir pcb yapıp direkt olarak ESP modülünü  yaptığınız  pcb ye bağlamak en uygun çalışma koşullarını sağlayacaktır. Tabii ki bunu yaparken ileride GPIO uçlarını da kullanmak için yada başka sebeplerle farklı bağlantılarda yapmak zorunda kalabileceksiniz. Bunların tümünü içeren bir şema aşağıda verildi.

Fritzing şemasını buradan indirebilirsiniz. 

Bu bağlantı şeması biraz karmaşık gibi görünebilir. Devreyi açıklayalım. Devre 3.3V regülatöre sahip olacak. (Buradaki 3.3V regülatör entegresinin en sağ bacağından çıkış alınmıştır. Fakat piyasadaki bazı regülatörlerin bacak bağlantısı farklıdır. Bazılarının orta ucu çıkış olabiliyor. Elinizdeki regülatör entegresinin bacak bağlantılarına dikkat edin. Şema ile uyumsuz olabilir.) Buradaki sayfadan datasheet arayabilirsiniz.
Bunun nedeni ise Arduino kartlarında ve USB çeviricilerde 3.3V entegre üzerinden geliyor. Bu da ne kadar akım çekerseniz o kadar entegrenin ısınacağı anlamına gelecektir. Hatta kısa devre yaptığınızda CH-340 gibi usb seri çeviriciler yanabilirler. Bunu önlemek için 5V çıkışı alıp, ki bu çıkış direkt USB hattından yada adaptörden  geliyor. Bu şekilde arduino kısa devre olduğunda kendini kapatabilir devrenizi koruyabilir. Ayrıca bu şemada RESET butonu ve GPIO-0 a bağlı switch görüyorsunuz. Reset butonu ara sıra lazım olduğunda kullanabileceğiniz buton dur. GPIO-0 ‘a bağlı switch ise ESP modülün Flashına program atılırken kullanılacaktır. Normalde açık olduğundan GPIO-0 pin kullanımında bir problem teşkil etmeyecektir.
R1 ve R2 dirençleri ESP nin RX girişine gelecek olan sinyal gerilim seviyesini ayarlayacaktır.Sinyalin 3V3 seviyesine düşmesini sağlayacaktır.
R5 ve R6 dirençleri 2 adet arduinoya bağlı olan ledlerin çalışması içindir. Denemelerde kullanabileceksiniz. ESP modülü için hazırladığınız pcb de bulunmasına gerek yoktur.
4 adet 10K direnç. Bunlar Reset,CH_PD, GPIO0, GPIO2 için Pull up dirençleridir ve 3V3 gerilime bağlanacaklardır.

İsterseniz bu pcb yi yapmak için çaba sarf etmeyip hazır olarak da alabilirsiniz. Fakat hazır olan size bu özellikleri vermeyecektir.Resimdeki gibi.

Çünkü hazır olanda reset butonu yada programlama için jumper ayarı olmayabilir.

 

TEST  AŞAMASI :
Bu aşamada bir kontrol programına ihtiyacınız olacak. Bu programı Fırat beyin sitesi üzerinden temin edebiliyorsunuz. Orada programın nasıl çalıştığını anlatan video da var. bunu da izlemenizi tavsiye ederim.
Şayet elinizde ARDUINO varsa USB SERİ çevirici yoksa öncelikle arduinoyu seri çevirici olarak kullanmak için bu sayfayı ziyaret edebilirsiniz.SERİ MONİTOR kısmını kullanarak haberleşebilirsiniz. Arduinoyu USB-SERİ çevirici olarak kullanmak

Programın anlatımına başlamadan önce bazı bilgileri bilmeniz gerekir.
Programa başladığınızda baud ayarınız 115200 baud olarak ayarlanır. Daha sonra bağlantı sağladığınızda AT komutu vererek bağlantınızı test edersiniz. AT+RST her zaman kullanılmaz yanlış parametreden dolayı anlamsız çalışıyorsa bu komutu yollarsınız.
AT+GMR komutunu kullanıp modülün versiyon bilgisini görün ve gördüğünüz ekranda SAVE butonuna basarak bu görüntünün kopyasını alıp saklayın. Bir süre sonra modülünüzde problem olduğunda, doğru programı bulabilmeniz için elinizdeki model ve versiyon isimlerine ihtiyaç olacaktır.
İlk önce parametrelerin kutularını açıp anlamaya çalışmanızda fayda var bunun için sunucu olarak çalıştır isimli yazımda  AT komut seti pdf dosyası var onu kullanarak komutları irdeleyebilirsiniz.
Programın 2. sayfasına geçerken AP modunu aktifleştirmiş olmanız ve CIPMUX =1 olarak ayarlamış olmanız gerekir. Bunu yaptıysanız 2. sayfaya geçip server ve client kısımlarını inceleyebilirsiniz.
Bu kısmı kullanırken android kullanıcıysanız, google playden bu programı indirebilirsiniz. WiFi TCP/UDP Controller
Programı kurup kullanımını öğrendiğinize göre artık Sunucu ve İstemci olarak nasıl kullanıldığına geçebiliriz.

TÜM DOKÜMANLARA BURADAN ULAŞABİLİRSİNİZ.

ESP8266-01 Sunucu yazımı buradan okuyabilirsiniz. 

3 Comments

  1. Merhaba ESP01’i çalıştırmak için 3 gün uğraştım, her kaynakta baud rate 115200 baud yazıyordu meğer ESP01 üzerinde 40 MHz kristal osilatör varsa default baud rate 115200 ama 26 MHz kristal osilatör varsa 74880 baud ! imiş. Benimki de 26 MHz olduğu için 115200 baud ile yaptığım bütün denemeler başarısız oldu. Daha sonra kullandığım PL2303TA tabanlı USB-UART dönüştürücümün 74880 baud’da çalışmadığı fark ettim. Bu da yetmiyormuş gibi meğer PL2303TA chip fake imiş, ESP nin güncel driverlarını çalıştıramadım, bir sürü sıkıntı.. Şimdi farklı bir USB-UART dönüştürücü alacağım ama sütten ağzım çok fena yandı ne alayım diye düşünüyorum ESP01 manual’inde FT232 CP2102 CH340 chiplerin uyumlu olduğu yazıyor ama piyasada satılanlar fake olunca sorunlar çıkıyor, Bu arada, hangi USB-UART dönüştürücüyü alayım, bu konuda tavsiyelerinize peşinen teşekkür ederim. Selamlar.

  2. Kayanak çıkışlarına kondansatör bağlamak adettendir ve gerekir. Regülatör çıkışına, çekilen akıma göre 10, 20, 100 uF uygun gerilimde elektrolitik yada tantalum türünden ve buna paralel 10-100 nF sevyelerinde polyester kondansatör bağlamak pek çok kaynak problemini çözer.

  3. Aynı şekilde yüksek akım çeken devre elemanlarının yada modüllerin hemen uçlarına yani entegrenin direk bacaklarına modülün konnektör uçlarına da 10-100 nF seviyelerinde polyester ve gerekirse buna paralel 10 uF gibi tantalum kondansatör bağlamak gerekebilir. Malzeme satın alırken led direnç arduino yapnıda 10, 100 nF 10V gibi polyester, 10 uF 16V tantalum, 10, 20, 33 uF 16V elektrolitik kondansatörler almanızı gereken yerlerde kullanmaınzı tavsiye ediyorum. Ayrıca şu konuya da dikkatinizi çekerim : https://www.allaboutcircuits.com/technical-articles/switch-bounce-how-to-deal-with-it/

Murat Tologlu için bir cevap yazın Cevabı iptal et

E-posta hesabınız yayımlanmayacak.