Herkese yeniden merhabalar. :) ESP8266 modülleri her ne kadar Arduino killer olarak adlandırılarak onun yerini almaya çalışsada, En meşhur Arduino modeli olan Arduino Uno'ya göre (Yani Atmega328 entegresi) daha çok eksiklikleri olduğunu söylemek lazım.Digital pin sayısı 16'ya kadar çıkmış modüller olsada benim projelerde en zorlandığım şey Analog Pin'in sadece ve sadece 1 adet olması.Oysa bu UNO'da 6 tane.Hem her Arduino UNO modelinde 6 adet Analog Pin bulunmasına rağmen ESP modüllerinde ise ESP07 ve üzerinde ADC pini mevcut.Eeeee madem 1 tane var o zaman iyi kullanalım dimi :)
ADC pini bütün microdenetleyicilerde nasıl çalışıyor ise ESP modüllerindede aynı çalışıyor.Yani ilgili ADC pininde ölçülen voltajın değeri 0-1024 arasında bir değere çevriliyor.Aşağıda resimde anlatıldığı üzere bizler yani maker'lar analog pinde 1.06 volt gördüğümüzde bu 1024'e denk geliyorki bu bizim için max değer demek.Bazı sensörler her ne kadar Digital çıkış verselerde (bunlar TRUE veya FALSE) hassas ölçüm yapan birçok sensör Analog çıkış vermekte.Peki bunu nasıl ölçücez. :)
Mesala Hava sıcaklığını hassas bir biçimde ölçmek istiyoruz ve bunu internet üzerinden gözlemlemek istiyoruz.LM35 ısı sensörü veya Analog ölçüm yapan herhangi bir sönsörün Vcc pinine 3.3V, Gnd pinine Toprak verip ADC pininide ESP8266 modülünüzün A0 pinine bağlarsak ölçüm işlemi gerçekleşir.Ölçüm işlemi hemen başlar.Bunu hemen seri porttta görüntüleyebilir veya daha önceki yazıda anlattığım gibi BLYNK yazılımı ile ADC pini ölçümü yaptırarak dünyanın her yerinden ölçebilirsiniz.Bu ölçüm işlemi 0-1024 değerinde olacağından bir değişkene tanımlanmalı ve çevrilmek istenilen değere çevrilmelidir.Şimdi bir örnek verelim :)
Değişken tanımla kısmına float tipinde bir değişken tanımlıyoruz.Ve tempPin'in 17 numaralı ADC pinini ölçmesini istiyoruz.
float temp;
int tempPin = 17; // ADC pin

Hiç yorum yok:
Yorum Gönder