Merhaba TurkHackTeam ailesi.
Bu konuda sizlere internet üzerinden döviz kuru bilgilerini eş zamanlı olarak çekip dijital bir ekrana (OLED) nasıl yazdırırız bunu anlatacağım.
Öncelikle bu proje doğrudan doğruya IOT (Nesnelerin İnterneti) ve Robotik alanına girmektedir.
Bu gibi bir projeyi nerelerde kullanabiliriz ?
Bu projeyi doğrudan doğruya kullanabilmek için aklıma gelen iki yer var.
Bu konuda sizlere internet üzerinden döviz kuru bilgilerini eş zamanlı olarak çekip dijital bir ekrana (OLED) nasıl yazdırırız bunu anlatacağım.
Öncelikle bu proje doğrudan doğruya IOT (Nesnelerin İnterneti) ve Robotik alanına girmektedir.
Bu gibi bir projeyi nerelerde kullanabiliriz ?
Bu projeyi doğrudan doğruya kullanabilmek için aklıma gelen iki yer var.
- Kuyumcular ve Döviz Büroları
- Akaryakıt İstasyonları
Kuyumcular ve Döviz bürolarını doğrudan ilgilendiren bir proje o yüzden kullanılabilir.
Akaryakıt istasyonlarına gelirsek bilirsiniz ki istasyona girmeden yolun kenarında büyük tabelalar olur. Benzin, Mazot ve LPG fiyatları yazar. Bu fiyatları manuel ayarlamaktansa yine projemizde olduğu gibi verileri API ile gerçek zamanlı olarak çekip otomatik olarak ekrana yazabiliriz.
Giriş
Öncelikle şunu belirtmek isterim ki konu alıntı değildir. Tamamen bana aittir. Bu gibi konuların artması ve üreten bir toplum olmamız en büyük temennimdir.
Malzemeler
Akaryakıt istasyonlarına gelirsek bilirsiniz ki istasyona girmeden yolun kenarında büyük tabelalar olur. Benzin, Mazot ve LPG fiyatları yazar. Bu fiyatları manuel ayarlamaktansa yine projemizde olduğu gibi verileri API ile gerçek zamanlı olarak çekip otomatik olarak ekrana yazabiliriz.
Giriş
Öncelikle şunu belirtmek isterim ki konu alıntı değildir. Tamamen bana aittir. Bu gibi konuların artması ve üreten bir toplum olmamız en büyük temennimdir.
Malzemeler
Bağlantı Şeması
- Kırmızı Kablo NodeMCU'nun 3.3V pininden çıkıp OLED Ekranın VDD/VCC pinine gidiyor. Bu pin güç pinidir. Karttaki Anot (+) fazı temsil eder.
- Siyah kablo ise şasedir (Topraklama diye de geçebilir). Bilirsiniz ki dc akımda tüm şaseler ortaktır. O yüzden birbirine bağladık.
- Beyaz kablo NodeMCU'nun SCL pininden OLED Ekranın SCK/SCL pinine gitmiş. Şimdi nedir bu SCL pini hemen açıklayalım. Öncelikle OLED Ekranımız I2C protokolü ile haberleşmektedir. I2C protokolü, biri clock diğeri de veri olmak üzere 2 adet iletişim kanalına sahiptir. Bu kanallar, SCL (Serial Clock) ve SDA (Serial Data) olarak isimlendirilmektedir. SDA veri iletişimi için kullanılmakta, SCL ile ise gönderen ve alan taraflar veri senkronizasyonunu sağlamaktadır.
-Sarı kablomuz da bir üst yazıda okuduğunuz üzere SCA pinidir.
Arduino Kodu
Kullanacağımız kütüphaneleri dahil ediyoruz.
Kullandığımız ekranın genişlik ve yüksekliğini tanımladık. Daha sonra ise birinci görselde eklediğimiz kütüphane için tanımlama işlemimizi gerçekleştir.
(Genişlik, Yükseklik, Kullanılan protokol, Eğer ekranda RST pini yoksa -1 yazılır)
Evet burada ise NodeMCU'nun bağlanacağı modemin Adını ve Parolasını yazıyoruz.
Şimdi geldik setup kısmına.
void setup() fonksiyonu nedir?
Adı üstünde kurulum zaten. Kartımıza enerji geldikten sonra program bu fonksiyona sadece bir kere girer ve ardından void loop() içerisinde sürekli döner. Yani bu fonksiyon kurulumları yapmak için sadece bir kez çalışır.
Şimdi geldik setup kısmına.
void loop() fonksiyonu nedir?
Programın sürekli çalışacağı fonksiyondur.
Bir while döngüsü gibi program sürekli bu fonksiyonun içinde çalışacaktır.
Kodun devamı var ancak sürekli tekrarlanan şeyler. Dolar, Euro, Sterlin ve Dinar olarak devam etmekte.
void loop() un başında Veri_cek() fonksiyonunu görmüşsünüzdür şimdi içeriğine değineceğiz.
Evet kodumuz bu kadardı. Elimden geldiğinde yorum satırları ile açıklamaya çalıştım.
Son olarak kart bölümünden NodeMCU 1.0 kartını seçerek kodu yükleyebiliriz.
Projenin Videosu
Son
Okuduğunuz İçin Teşekkür Ederim. Konuyla ilgili bilgi ve düşüncelerinizi paylaşmaktan çekinmeyin. Hoşçakalın.
- Kırmızı Kablo NodeMCU'nun 3.3V pininden çıkıp OLED Ekranın VDD/VCC pinine gidiyor. Bu pin güç pinidir. Karttaki Anot (+) fazı temsil eder.
- Siyah kablo ise şasedir (Topraklama diye de geçebilir). Bilirsiniz ki dc akımda tüm şaseler ortaktır. O yüzden birbirine bağladık.
- Beyaz kablo NodeMCU'nun SCL pininden OLED Ekranın SCK/SCL pinine gitmiş. Şimdi nedir bu SCL pini hemen açıklayalım. Öncelikle OLED Ekranımız I2C protokolü ile haberleşmektedir. I2C protokolü, biri clock diğeri de veri olmak üzere 2 adet iletişim kanalına sahiptir. Bu kanallar, SCL (Serial Clock) ve SDA (Serial Data) olarak isimlendirilmektedir. SDA veri iletişimi için kullanılmakta, SCL ile ise gönderen ve alan taraflar veri senkronizasyonunu sağlamaktadır.
-Sarı kablomuz da bir üst yazıda okuduğunuz üzere SCA pinidir.
Arduino Kodu
Kullanacağımız kütüphaneleri dahil ediyoruz.
Kullandığımız ekranın genişlik ve yüksekliğini tanımladık. Daha sonra ise birinci görselde eklediğimiz kütüphane için tanımlama işlemimizi gerçekleştir.
(Genişlik, Yükseklik, Kullanılan protokol, Eğer ekranda RST pini yoksa -1 yazılır)
Evet burada ise NodeMCU'nun bağlanacağı modemin Adını ve Parolasını yazıyoruz.
Şimdi geldik setup kısmına.
void setup() fonksiyonu nedir?
Adı üstünde kurulum zaten. Kartımıza enerji geldikten sonra program bu fonksiyona sadece bir kere girer ve ardından void loop() içerisinde sürekli döner. Yani bu fonksiyon kurulumları yapmak için sadece bir kez çalışır.
Şimdi geldik setup kısmına.
void loop() fonksiyonu nedir?
Programın sürekli çalışacağı fonksiyondur.
Bir while döngüsü gibi program sürekli bu fonksiyonun içinde çalışacaktır.
Kodun devamı var ancak sürekli tekrarlanan şeyler. Dolar, Euro, Sterlin ve Dinar olarak devam etmekte.
void loop() un başında Veri_cek() fonksiyonunu görmüşsünüzdür şimdi içeriğine değineceğiz.
Evet kodumuz bu kadardı. Elimden geldiğinde yorum satırları ile açıklamaya çalıştım.
Son olarak kart bölümünden NodeMCU 1.0 kartını seçerek kodu yükleyebiliriz.
Projenin Videosu
Son
Okuduğunuz İçin Teşekkür Ederim. Konuyla ilgili bilgi ve düşüncelerinizi paylaşmaktan çekinmeyin. Hoşçakalın.