5 Haziran 2017 Pazartesi

ESP8266 İLE AKILLI SİSTEMLER NASIL GELİŞTİRİLİR.

Herkese Merhabalar.Elektronik projelerde son zamanlarda Arduino yerine kullanılmaya başlanan ve Arduino'nun tahtını sallayan ESP8266 entegresi ile nasıl Akıllı bir sistem kurucağımızı sizlere anlatmaya çalışıcam.İnternette biraz araştırma ile ESP modüllerinin 01 den başlayıp (ben bu yazıyı yazdığımda 14 tü) güncellenmeye devam ettiğini görebilirsiniz.Aslında hepsi aynı işi yapsalarda donanımsal olarak iyileştirmeler vede ESP07 ve sonrası ESP modüllerinde Analog bilgileri dijitale çeviren bir ADC bulunması süper bir avantaj.

Bu entegrenin veya modüllerin  hazır olarak programlanmasını sağlayan çeşitli maker firmaları tarafından hazırlanmış kartlar mevcut.Bunlarıda internetten araştırarak ulaşabilirsiniz ve aşağıda anlatıcağım adımı atlayıp hazıra konabilirsiniz.Ama bence hazır alsanız bile aşağıdaki bilgiler işinize yarıycaktır.

1-ESP modülleri nasıl çalışmaya ve programlamaya hazır hale gelir.?
       Yanda bir şema verdim,Çok basit ve anlaşılır bir şema.Ama ilk dikkat etmemiz gereken şey bu modüllerin  (hepsi için) 3.3VDC ile çalışması.Birazdan 3.3VDC yi nasıl elde ediceğimizi anlatıcam.Daha sonra RESET,CH_PD(EN),GPIO0,(sıfır) pinine 10k lık bir direnç bağlıyarak bu pinleri 3.3VDC ile besliyoruz. :) Bittimi tabiki bitmedi.Son bişey daha kaldı.GPIO15 pinine de bir adet 10K lık direnç bağlayarak bunuda Toprak(GND) ucu ile birleştirmek.Şemada gördüğünüz C1 kondansatörü ile voltaj regületörü olarak kullanılmakta olup çoğu zaman hayat kurtarmaktadır.Burada ise 0.1 MF (100nF)  16volt bir kondansatör işimizi görür.İşte şimdi ESP modülümüz çalışmaya ve proglanmaya hazır hale geldi.As bayrakları :).Gözünüzü korkutmasın 10K 1/4 watt dirençler ve 100nF kondansatör modülünüzün yıllarca güven içinde çalışması için gerekli.Aşağıdaki resimde nasıl kolay bir şekilde yapılmış olduğunu görmektesiniz.

2-ESP modülünü Voltajı nasıl ayarlanır?
      Evet modülümüzü yukarıda anlattığım gibi yandaki resime benzer bir şekilde yaptık diyelim.Peki nasıl çalışıcak? ESP modül ve devrenizde kullanacağınız sensörler veya Röleler genelde 5VDC veya 3.3VDC ile çalışır.Tekrar tekrar söylüyorum bütün ESP modülleri 3.3VDC ile çalışır.O halde bize sensör ve röle devresi için 5VDC ve ESP modül için 3.3VDC lazım.Bunu Programlama için kullanacağımız bir Arduinodan veya FT232 3.3v USB promlama modülünden elde edebiliriz.Aslında bu en kolay yol ama programla işi bitipte devreniz kendi başına çalışmaya başladığında Arduinoyu veya USB dönüştürücüyü sadece bize 3.3VDC sağlasın diye projemizde kullanamayız.Peki nasıl yapıcaz.?Genelde elektronik devreler , sensörler, röleler veya adaptörler 5VDC ile çalışır.O yüzden projemizde bir 5v 1A gücünde bir adaptör kullanmamız yeterli.Şimdi elimizde mevcut 5VDC yi 3.3VDC ye çevirmemiz lazım. 5VDC den 3.3VDC elde etmek için LM1117 entegresini kullanarak ve sadece girişine 10MF bir kondansatör koyarak 3.3VDC elde edebiliriz.Şimdi Bir adaptör ile beslenen bir ESP modülümüz var.Hemde elimizde 3.3VDC ve 5VDC olmak üzere 2 voltajımız var.

3- ESP modülümüzü programlama işlemi nasıl olur.?
     Geldik en kritik noktaya :) Aslında çok kolay.Ama kritik işte.Hatırlarsınız GPIO0 pinine yani 0 numaralı pin'e 10K direnç bağlıyarak 3.3VDC vermiştik.Bu pin 3.3VDC olduğu sürece ESP modülümüz çalışmaya devam eder.Ama bir buton veya kısa bir kablo yardımı ile GND ye bağlandığında yani LOW olduğunda ESP modülümüz programlanmaya hazır duruma gelmektedir.Ben bir Jumper kullanarak bu işi yapıyorum.Bu işlemi yaptıktan sonra İster FT232 USB dönüştürücü ile istersenizde Arduino kullanarak ESP modülümüzü programlıycaz.
USB çeviricimizin 3.3VDC ve GND pinlerini Modülümüze bağlayıp sonra TX pinini Modülümüzün RX pinine,RX pininide modülümüzün TX pinine bağlıyoruz.Şimdi Arduino IDE'den yani Arduino yazlımı ile Seri port ekranını açıp Boudrate i 115200 seçtiğimizde kart ile bilgilerin ekrana geldiğini ve en sonda Ready yazdığını göreceksiniz.Baudrate farklı olabilir.Yeni sürümlerde genelde 115200 baudrate kullanılır.Haydi kolay gele :) PEKİİİİ daha önce Arduino yazılımı ile hiç bir şekilde ESP8266 programlamadıysanız hemmen size yardım ediyorum.

FİLE-PREFERENCES penceresini açıp Additional Boards Manager URL kısmına aşağıdaki siteyi yazıyoruz.
http://arduino.esp8266.com/stable/package_esp8266com_index.json


OK tuşuna bastıktan sonra Arduino yazılımı Ana menüsündeki Tools-Boards Menager'a giriyoruz.Buraya ESP8266 yazarak ok diyoruz ve işlem tamam.Bunlar sadece bir kere yapılan şeyler o yüzden kafanıza takmayın.

Şimdi Baştan hemen kontrol edelim ESP modülümüze gerekli direnç ve kondansatörümüzü lehimledik veya breadboard'a kurduk.Daha sonra 3.3VDC verdik ve çalıştırdık.USB çevirici veya Arduino kartı ile bağladık.Bu arada GPIO0 pinini toprağa çektik.(unutmayın :) Arduino yazılını açıp kart seçiminden Genel ESP8266 yı seçtik.Ve hayırlı uğurlu olsun.Artık sizde Arduino kullanmadan İnternete bağlı projeler üretebilirsiniz.He unutmadan programlama işi bittiğinde GPIO0 pinini tekrar HIGH yani 3.3VDC yapmayı unutmayın :) Sizlere BLYNK uygulaması ile nasıl Cep telefonundan kontrol edilen sistemler yapacağınızıda bir sonraki makalede anlatıcam :)


Şimdi gelelim püf noktalara :) 
1-ESP07 ve üst versiyon modüllerde 1 adet ADC pini bulunur ve Analog bilgi girişidir.(ÖNEMLİ)
2-Akıllı sistemlerde kullanılan Röleler genelde 5VDC ile çalıştığı için 5VDC önemli.
3-ESP modülümüzün çıkışlarıda,girişleride 3.3V seviyesindedir.5v değildir bilgi.Bunun için internette araştırarak 2N2222 transistörünü kullanarak lojik çevirici yapabilirsiniz :) 


İlker YILDIZHAN 
Mİ ELEKTRONİK

Hiç yorum yok:

Yorum Gönder