13 Temmuz 2016 Çarşamba
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.
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.
7 Şubat 2016 Pazar
STM32F407VG ve BİLGİSAYAR SERİ PORT HABERLEŞMESİ - USART İLETİŞİM PROTOKOLÜ
Merhabalar,
Bu yazımızda, USART seri iletişim protokollerinden bahsedeceğiz. Ardından da STM32F407 Discovery kiti ile bilgisayarımız arasında bir UART iletişim uygulaması gerçekleştireceğiz.
USART ( Universal Synchronous Asynchronous Receiver Transmitter ) iki sistem arasında verilerin bit bit sıra ile yani seri olarak iletildiği iletişim protokolüdür. Seri iletişim, senkron ve asenkron iletişim olmak üzere ikiye ayrılır. Senkron iletişimde alıcı ve verici devre eşzamanlı olarak çalışırlar. Bu iletişimde data hattı ve clock sinyali hattı bulunur. Clock hattı verilerin eşzamanlı olarak gönderilip alınmasını sağlar.
Asenkron iletişimde ise sadece data hatları bulunur. Asenkron iletişim, clock sinyali hattı bulundurmaz, bu nedenle alıcı ve verici eşzamanlı olarak çalışmazlar.
Asenkron iletişimde ise sadece data hatları bulunur. Asenkron iletişim, clock sinyali hattı bulundurmaz, bu nedenle alıcı ve verici eşzamanlı olarak çalışmazlar.
1 Aralık 2015 Salı
KABLOSUZ HABERLEŞMELİ DOKUNMATİK GRAFİK LCD
Merhabalar...
Bu projemizde dokunmatik grafik lcd kullanımını göreceğiz. Dokunmatik glcd de çizim yapıp daha sonra bu çizimi RF kablosuz haberleşme modülleri aracılığıyla başka bir glcd ye göndereceğiz. Aşağıdaki 128x64 Winstar marka WG12864C model dokunmatik panelli glcd kullanacağız. Bir grafik lcd'nin karekter lcd'den farkı üzerinde bulunan bütün piksellere ulaşılabilmesi ve kontrol edilebilmesidir.
Etiketler:
128x64,
glcd,
grafik lcd,
rezistif panel,
touch panel,
touch screen
5 Eylül 2015 Cumartesi
ANDROID UYGULAMA DESTEKLİ NABIZ ÖLÇER
Merhaba arkadaşlar, bu proje Muhammed İçen ve Hasan Tunay ile birlikte gerçekleştirilmiştir. Özellikle projenin Android Programlama aşamasında ki yardımlarından dolayı her iki arkadaşıma teşekkür ederim.
Projemiz mikrodenetleyici tabanlı ve android uygulama destekli olacaktır. Bu projemizde parmaktan nabız ölçüp LCD de göstereceğiz ve ayrıca ölçüm sonucunu HC-06 bluetooth modül vasıtasıyla akıllı telefonumuzda oluşturduğumuz Android Uygulamamıza göndereceğiz.
Projemiz mikrodenetleyici tabanlı ve android uygulama destekli olacaktır. Bu projemizde parmaktan nabız ölçüp LCD de göstereceğiz ve ayrıca ölçüm sonucunu HC-06 bluetooth modül vasıtasıyla akıllı telefonumuzda oluşturduğumuz Android Uygulamamıza göndereceğiz.
Nabız, kalbin 1 dakika içerisinde kaç defa kasıldığının karşılığıdır yani kalp atış hızıdır. Kalbin kasılması ile kan damarlara iletilir ve her bir kalp kasılmasında damarlardaki kan hacmi artar dolayısıyla da damar hacmi genişler. Damar elastik yapısı itibari ile bir süre sonra tekrar eski hacmine döner. Bu olay kalbin her bir kasılmasında tekrarlanır. Bu hacim değişikliğini vücudumuzun belirli bölgelerinde (el bileği, boyun, dirsek içi gibi) hissedebiliriz.
Projemizde nabız ölçümünü parmaktan yapacağız. Bunun için HRM-2511E infrared parmak sensörü kullanacağız. Bu sensörün içinde bir adet verici IR Led ve bir adet de alıcı foto-transistör vardır. Parmaktan geçen kan hacminin değişimi alıcı foto-transistöre düşen ışık şiddetinde değişikliğe neden olur. Bu değişim alıcı foto-transistör tarafından algılanır. Algılanan bu sinyal mV düzeyindedir ve elektriksel gürültü içermektedir. Mikrodenetleyicinin, nabızı doğru şekilde sayabilmesi için sensör çıkışındaki bu sinyalin şiddeti yükseltilir ve filtre devresinden geçirilir.
Aşağıda infrared parmak sensörü ve iç yapısı yer almaktadır.
Aşağıda infrared parmak sensörü ve iç yapısı yer almaktadır.
14 Temmuz 2015 Salı
GERÇEK ZAMANLI AYARLANABİLİR SAAT-TARİH VE SICAKLIK GÖSTERGESİ
Evet arkadaşlar, bu yazımızda Philips firmasının ürettiği PCF8583 gerçek zaman entegresi ve Dallas firmasının ürettiği DS18B20 sıcaklık sensörünün register yapılarını ve bunların PIC mikrodenetleyiciler ile kullanımını göreceğiz.
PCF8583 2048 bit'lik statik CMOS RAM belleği bulunan saat ve takvim entegresidir. Entegrenin RAM'i 8 bit'lik 256 byte'lık yapıya sahiptir. Adres ve data iki hat üzerinden ve çift yönlü I2C seri iletişim protokolüyle yapılır. Her bir okuma ve yazmadan sonra adres registeri otomatik olarak artar . Böylece bir sonra ki okuma yada yazma işlemi sıradaki register için yapılır. Yapısında dahili 32.768kHz'lik osilatör devresi bulunmaktadır. RAM'ın ilk 8 byte'ı saat, takvim ve sayıcı fonksiyonları için ayrılmıştır. Sonraki 8 byte boş RAM alanı veya alarm registeri olarak programlanabilir. Geriye kalan 240 byte ise boş RAM alanıdır. Yani toplamda entegrenin 256 byte'lık RAM'i vardır.
PCF8583 entegresi I2C (Inter-Integrated-Circuit) iletişim protokolünü kullanarak çalışmaktadır. I2C iletişiminde sadece SDA (Serial Data Line) ve SCA (Serial Clock Line) olmak üzere iki hat bulunmaktadır. Bu hatlar pull-up dirençlerine ihtiyaç duymaktadır.
Aşagıda entegrenin pin konfigürasyonu yer almaktadır.
OSCI: Osilatör girişi,
OSCO; Osilatör çıkışı (OSCI ve OSCO pinlerine 32.768kHz kristal bağlanır.),
VSS: Kaynak voltajının toprağı,
SDA: Seri data hattı,
SCA: Seri clock hattı,
INT: Kesme çıkışı,
VDD: Kaynak voltajı.
PCF8583 2048 bit'lik statik CMOS RAM belleği bulunan saat ve takvim entegresidir. Entegrenin RAM'i 8 bit'lik 256 byte'lık yapıya sahiptir. Adres ve data iki hat üzerinden ve çift yönlü I2C seri iletişim protokolüyle yapılır. Her bir okuma ve yazmadan sonra adres registeri otomatik olarak artar . Böylece bir sonra ki okuma yada yazma işlemi sıradaki register için yapılır. Yapısında dahili 32.768kHz'lik osilatör devresi bulunmaktadır. RAM'ın ilk 8 byte'ı saat, takvim ve sayıcı fonksiyonları için ayrılmıştır. Sonraki 8 byte boş RAM alanı veya alarm registeri olarak programlanabilir. Geriye kalan 240 byte ise boş RAM alanıdır. Yani toplamda entegrenin 256 byte'lık RAM'i vardır.
PCF8583 entegresi I2C (Inter-Integrated-Circuit) iletişim protokolünü kullanarak çalışmaktadır. I2C iletişiminde sadece SDA (Serial Data Line) ve SCA (Serial Clock Line) olmak üzere iki hat bulunmaktadır. Bu hatlar pull-up dirençlerine ihtiyaç duymaktadır.
Aşagıda entegrenin pin konfigürasyonu yer almaktadır.
OSCI: Osilatör girişi,
OSCO; Osilatör çıkışı (OSCI ve OSCO pinlerine 32.768kHz kristal bağlanır.),
VSS: Kaynak voltajının toprağı,
SDA: Seri data hattı,
SCA: Seri clock hattı,
INT: Kesme çıkışı,
VDD: Kaynak voltajı.
Etiketler:
DS18B20,
I2C,
OneWire,
PCF8583,
Saat Devresi,
Sıcaklık Sensörü
Kaydol:
Kayıtlar (Atom)








