23 Mart 2016 Çarşamba

RASPBERRY PI 2 ile WEB SİTESİNDEN VERİ ÇEKME

     Merhaba arkadaşlar, yeni bir yayınla tekrar birlikteyiz. Bu yayınımızda Python 3 de geliştirdiğimiz programımızla web sitesinden veri çekmeyi öğreneceğiz. Uygulamamızda Meteroloji Genel Müdürlüğü web sayfasından Malatya'nın hava durumu, sıcaklık ve nem bilgilerini alıp terminal ekranına ve 16x2 LCD ye bastıracağız.
   Python 3 programımızda 'urllib.request' ve 're' modüllerini kullanacağız. 'urllib.request' modülü web sayfasının html kaynak kodunu çekmemizi sağlayacaktır. Python ve bazı dillerde düzenli ifadeler (regular expressions) adı verilen bir yapı vardır. Bu yapının kullanımını bir örnekle anlatacak olursak; düzenli ifadeler uzun bir metin içinde, yazılımcının tarif ettiği özellikte ki bir kelimeyi veya bir sayıyı ayıklamayı sağlar. Bizde, web sayfasının html kaynak kodlarını çektikden sonra 're' modülünün bazı metotlarını kullanarak kaynak kod içinden gerekli veriyi ayıklayacağız.
   Düzenli ifadeler ve metakarakterler geniş kapsamlı konulardır. Python 3 için bu konuları istihza.com'dan daha detaylı bir şekilde öğrenebilirsiniz.

   Uygulamamızın devre şeması bir önceki yayınımızda da kullandığımız aşağıdaki şemadır.























14 Mart 2016 Pazartesi

RASPBERRY PI 2 ile 16x2 LCD KULLANIMI ve TÜRKÇE KARAKTER OLUŞTURMA

    Herkese Merhabalar,

     Bu yayınımızda Raspberry Pi 2 ile HD44780 kontrolcüsüne sahip 16x2 karakter LCD' yi sürmeyi öğreneceğiz. Daha sonra da kendi oluşturduğumuz Türkçe karakterleri LCD ekrana print edeceğiz. İlk önce LCD pinlerini görevleriyle birlikte inceleyelim. 16x2 LCD'nin 16 adet pini vardır. Bunlar;
GND [1]: LCD toprak pini,
VCC [2]: LCD'nin +5V beslemesi,
VEE [3]: Kontrast pini; bu pin 10K pot üzerinden toprağa çekilerek kontrast ayarı yapılır.
RS [4]: (Register select) LCD nin şartlanması ve konum belirtme gibi durumlarda lcd ye komut, ekrana yazı yazma durumunda ise karakter yollanır. Eğer LCD ye komut yazacaksak bu pini lojik 0 seviyesine, karakter yazacaksak lojik 1 seviyesine çekmemiz gereklidir.  
R/W [5]: (Read/Write) LCD ye veri yazılacaksa bu pin lojik 0 'a, veri okunacaksa lojik 1'e çekilir. Biz uygulamamızda ekrandan veri okumayıp sadece yazacağımız için bu pini GND ye bağladık.
E [6]: Raspberry pi nin GPIO pinlerine yazdığımız verilerin LCD ye yazılması için bu pine düşen kenarlı bir clock gönderilir. Eğer okuma yapılacaksa bu pine yükselen kenarlı clock gönderilir.
D0-D7 [7-14]: D0 dan D7 ye kadar olan pinler data pinleridir. Bu pinler üzerinden LCD ye veri yazılır/okunur.
A [15]: Bu pin lcd arka aydınlatma ledinin anotudur.
K [16]: Bu pin lcd arka aydınlatma ledinin katodudur.

   HD44780 kontrolcülü karakter LCD, D0-D7 data pinleri üzerinden 8 bit ve 4 bit olarak sürülebilmektedir. Aşağıdaki devre şemasından da görüldüğü gibi  LCD yi 4 bit olarak süreceğiz. Bunun için data binlerinin üst 4 biti (D4-D5-D6-D7) ni Raspberryi Pi nin GPIO pinlerine bağladık. LCD 4 bit sürüldüğünde ilk önce bilginin üst 4 bitleri yazılır ardında da alt 4 bitleri yazılır.