20 Ocak 2018 Cumartesi

DS1990a iBUTTON (AKBİL) KONTROLLÜ ERİŞİM ve GÜVENLİK SİSTEMİ

Merhaba arkadaşlar,
Blog yayınlarıma uzun bir süre ara vermiştim. Şimdi farklı bir çalışma ile yayınlarımıza devam ediyoruz. Bu çalışmamızda AKBİL olarak bilinen DS1990a iButtonu PIC16F883 mikrodenetleyicisi ile kullanacağız. Tasarladığım devre asansörlerde kullanılmak için yapılmıştır. Kapı veya turnikelerde kontrollü geçiş işlemleri içinde kullanılabilir. Bu çalışmada, bizim amacımız asansöre çağrı verme işlemini akbil ile kontrol etmek olmuştur. Devre üzerindeki DS9092 iButton Probe kullanıcılardaki AKBİL (DS1990a iButton) anahtarları okur ve sisteme tanıtılmış olanlara kullanım izni verir.

9 Eylül 2016 Cuma

PIC18F4520 & ENC28J60 İLE WEB SERVER UYGULAMASI
















Merhabalar,

  Projemizde PIC mikrodenetleyici kullanarak bir web sayfasını ENC28J60 aracılığıyla internet üzerinden yayınlayacağız. Yayınladığımız web sayfası üzerinden röle kontrolü yapabileceğiz. Nem, sıcaklık, LDR ve hava kalite sensörlerimizden okuduğumuz verileri bu sayfada yayınlayacağız. Yani bir otomasyon web sunucusu yapmış olacağız. Projemizde kullanılacak donanımlar şunlardır;
 - PIC18F4520 Mikrodenetleyici,
 - ENC28J60 Ethernet LAN Modülü,
 - DHT22 Nem ve Sıcaklık Sensör Modülü,
 - MQ-135 Hava Kalitesi Ölçüm Modülü,
 - Röle Modülü,
 - LDR,
 - 16x2 LCD Ekran.
    Bu donanımlardan 16x2 LCD ekranı zaten daha önceki birçok projemizde kullandık. Diğerlerinin özelliklerine kısaca değineceğiz.

29 Temmuz 2016 Cuma

DHT22 İLE SICAKLIK VE NEM ÖLÇÜMÜ

   Bu yazımızda dijital sıcaklık ve nem sensörü olan DHT22'nin kullanımını öğreneceğiz. Hemen ardından da PIC16F877A mikrodenetleyici ile bir uygulama gerçekleştireceğiz. Uygulamada DHT22 sesnsöründen okuduğumuz verileri 16x2 LCD ekrana yazdıracağız.
   DHT22 tek data hattı üzerinden mikrodenetleyiciler ile iletişim sağlar. -40 / 80 °C arasında sıcaklığı ve 0-100%RH arasında bağıl nemi algılayabilir. Sıcaklık ölçüm doğruluğu 0.5 °C ve bağıl nem ölçüm doğruluğu ise 2%RH 'dır.
   DHT22 sensörü ve mikrodenetleyici ile bağlantı şeması aşağıdaki gibidir.





   Şimdi DHT22'nin ölçüm yapmaya nasıl başlatılacağını ve ölçüm sonucu elde edilecek dijital verinin formatını inceleyeceğiz.
 

13 Temmuz 2016 Çarşamba

GRAFİK LCD EKRANLI ŞİFRELİ KİLİT

     Merhabalar... 
     Projemizde grafik lcd göstergeli, 4x4 keypadli bir şifreli kilit yapacağız. PIC16F877A ile sürdüğümüz 128x64 grafik lcd ile kullanıcı için şık tasarımlı bir menü hazırlayacağız.Projemizde  KS0108 kontrolörlü Winstar  marka WG12864C model glcd kullanacağız.


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.



   

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.

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.



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.
     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.

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ı.
                                                                                 

30 Haziran 2015 Salı

MOBİL TELEFON İLE TELESEKRETERLİ OTOMASYON VE GÜVENLİK SİSTEMİ

 
   Merhaba arkadaşlar. Bu proje Miraç Aydoğan ile birlikte gerçekleştirdiğimiz "Mobil Telefon ile Telesekreterli Otomasyon ve Güvenlik Sistemi" adlı  bitirme projemizdir.
 İnsanlar yaşadıkları veya çalıştıkları bölgeden uzaklaştıklarında o bölge için güvenlikle ilgili tedirginlik hissedip sürekli kontrol ihtiyacı duymaktadırlar. Projemiz bu sorunları çözüme kavuşturmakla birlikte ayrıca  fabrika, depo gibi sanayi kuruluşlarında ve ofis, işyeri, otopark, ev gibi mekanlarda kullanılabilecek bir otomasyon ve kontrol sistemi olacaktır.
   Telefon ile uzaktan kontrol sistemlerinde sık kullanılan metot DTMF sinyallerinin çözümlenerek, bir mikrodenetleyici tarafından yorumlanmasıdır. DTMF sinyalleri bir kod çözücü entegre yardımıyla binary bir sayıya dönüştürülür. Bu çalışmada kullanılan MT8870 kod çözücü entegresi telefon hattından gelen DTMF sinyallerini işleyerek bu sinyallere karşılık gelen 4 bitlik bir binary kod oluşturur. Gelen DTMF sinyallerini yorumlayan PIC16F877A mikrodenetleyicisi istenilen sayıda çalma sayısından sonra telefon hattını açarak DTMF sinyallerinin gelmesini bekler. Kullanıcı telefonunun tuş takımında istediği tuşa basarak, bu tuşlara karşılık gelen 4 bitlik kodu PIC16F877A’nın giriş portlarına göndermiş olur. PIC16F877A  gelen bu kodları değerlendirerek çıkış portlarındaki 8 adet röleyi  duruma göre açar veya kapatır.
  DTMF kelimesi Dual Tone Multi Frequency (çift tonlu çoklu frekans) kelimelerinin baş harflerinden oluşur. DTMF ilk olarak Bell Laboratuarlarında geliştirilmiş olan bir bilgi iletim biçimidir.Günümüzde tuşlu telefonlarda, elektronik posta sistemlerinde ve telefon bankacılığı uygulamalarında kullanılmaktadır. DTMF sisteminde belirli bir sayı ya da karakter, bir yüksek frekans tonu ve bir alçak frekans tonu kullanılarak elde edilir. Kullanılan 8 frekans değeri aşağıda tabloda görülmektedir.

DTMF Frekans Çiftleri

3 Ekim 2014 Cuma

ETHERNET COMMUNICATION with ENC28J60


  Hi friends.I haven't broadcasted my blog for a long time.I am here with one of the performed projects in this time period.We will provide Ethernet communication in our project via SPI (Serial Peripheral Interface)  with ENC28J60 ethernet chip. SPI is one of serial communication protocols which allowing data exchange with peripheral units or microcontrollers.The ENC28J60 ethernet chip provides  data communication with microcontroller via SPI,up to 10 Mbit / s speed.

   Block diagram of our project;

5 Mart 2014 Çarşamba

ARM-STM32F4 DISCOVERY ile 4x16 LCD KULLANIMI ve TÜRKÇE KARAKTER OLUŞTURMA

    Merhaba arkadaşlar bu projemizde STM32F4 Discovery ile 4x16 karakter lcd kullanımını göreceğiz. Ardından da Türkçe karakter oluşturup  lcd'ye yazdıracağız.
       


24 Ocak 2014 Cuma

ARM-STM32F4 DISCOVERY İLE DİJİTAL KRONOMETRE

   Merhaba arkadaşlar yeni bir projemizi daha sizlerle paylaşıyorum.Bu projeyi Miraç Aydoğan ile birlikte gerçekleştirdik.Proje çalışması sırasında yardım ve desteklerini esirgemeyen sayın Ömer Faruk Özgüven Hocama teşekkür ederiz.
    Bu projede STM32F4 discovery geliştirme kiti ile dört displayi dinamik sürerek bir kronometre yapacağız.Önce STM32F4 discovery kitini biraz inceleyelim.STM32F4 discovery ST firması tarafından üretilmiş ve üzerinde ARM Cortex M4 tabanlı mikrodenetleyici (STM32F407VG) barındıran bir geliştirme kitidir.STM32F407VG mikrodenetleyicisi 168MHz'e kadar çalışma frekansı sağlamaktadır.

 
STM32F4 Discovery

20 Ocak 2014 Pazartesi

JK FLİP-FLOP İLE ÜÇ YARIŞMACI VE SUNUCU BUTON DEVRESİ TASARIMI

  Merhaba arkadaşlar bugünkü çalışmamız bir lojik devre tasarımı olacak.Tasarımını yapacağımız devreyi anlatalım hemen.Devrede 3 adet yarışmacı butonu (A,B ve C butonları)  ve 1 adet sunucu butonu (D butonu)  yer alacak. Çıkış olarak 3 adet yarışmacı ledleri bulunacaktır. Yarışmacılardan hangisi butona önce basarsa o yarışmacının ledi yanacak ve bir yarışmacının ledi yanıyor iken diğer yarışmacılar butonlarına bassa dahi ledleri yanmayacak. Sunucu butonuna basıldığında ise ilk butona basan yarışmacının ledi sönecek ilk duruma dönülecek.
  Devrede JK flip-floplar kullandık.Asıl devremize geçmeden önce biraz JK flip-flobu inceleyelim.JK flip-flop ve iç devresi şu şekildedir.



30 Aralık 2013 Pazartesi

LCD GÖSTERGELİ 0-12.5V AYARLI VOLTAJ REGÜLATÖRÜ

   Merhaba arkadaşlar bugünkü projemiz 16x2 lcd göstergeye sahip 0-12V voltaj regülatörü yapmak olacak.Öncelikle regülatör devremizi inceleyelim.Daha sonra ise pic16F877A ile 16x2 karakter lcd'yi inceleyeceğiz.
  İyi bir güç kaynağı dış etkenlerden etkilenmeden çıkışındaki voltajı sabit tutabilmelidir.Bu dış etkenlerden birisi de çıkışa bağlı yükte meydana gelen değişimlerdir. Regülatör devresi çıkıştaki yük değişimlerine karşılık çıkış gerilimini sabit tutar.Güç kaynaklarının çıkış gerilimini sabit tutma işlemine regülasyon ,bu iş için kullanılan devrelerede regülatör devreleri denir. Tabi regülasyon işleminden önce doğrultma işlemi vardır.Bizim devremizde köprü tip doğrultucu ile tam dalga doğrultma işlemi gerçekleşmektedir.




13 Kasım 2013 Çarşamba

KABLOSUZ SES İLETİMİ

   Merhaba arkadaşlar, yeni bir proje ile karşınızdayım. Bu projede kablosuz ses iletiminin nasıl sağlanabileceğini anlatacağım.Öncelikle bir preamplifikatör devresi  yapmamız gerekiyor. Preamplifikatör devresinin görevi mikrofondan gelen sesi yükseltmektir.Daha sonra ise bu analog sesi dijitale çevirmemiz gerekir.Bunun için 16F877A'nın adc modülünü kullanarak sesi dijitale çevirdik.Daha sonra bu dijital bilgiyi işlemcimizin TX pini üzerinden başka bir işlemcinin RX pinine gönderdik.Bunun için rf alıcı-verici kullandık.İşlemcimiz dijitale dönüşen sesi örnekleyip TX pinine bağladığımız rf verici ile diğer işlemcimizin RX pinine bağladığımız rf alıcıya gönderdi.Alıcı kısma gelen bu dijital bilgiyi ise tekrar analoga çevirmemiz gerekir.Bunun için merdiven tipi DAC devresi kullandık.Bunun sonucunda analoga çevirdiğimiz sesi amplifikatörlü bir hoparlörden dışarı verdik.

EasyPic Fusion v7 320x240px TFT ile Osiloskop

  Merhaba arkadaşlar bugün sizlerle yeni bir proje paylaşacağım.Bu projeyi Ö.Faruk Özgüven
hocam ile birlikte gerçekleştirdik.Hocama çok teşekkür ederim.Bu projede EasyPic Fusion v7 geliştirme kitini kullandık.EasyPic Fusion v7 kiti PIC32MX795F512L işlemcisine sahiptir.Bu kit üzerinde 320x240px TFT ekran bulunmaktadır. Projemizde TFT ekran üzerinde bir grafik oluşturarak osiloskop yaptık. TFT'nin pic32 ile bağlantıları belirli pinler üzerinden yapılmıştır. EasyPic Fusion v7 kitinde analog giriş birimi de mevcuttur.Bize düşen ise sadece programı yazmak ve  pic32 işlemcimizi programlayıp kiti çalıştırmaktır.

12 Eylül 2013 Perşembe

RF ALICI VERİCİ İLE UZAKTAN KUMANDALI ARABA

 Merhaba arkadaşlar bugün yeni bir projemi sizlerle paylaşacağım.Projemizde rf alıcı verici ile uzaktan kumandalı arabanın nasıl yapılabileceğini anlatacağım.
 İlk önce alıcı ve vericiden bahsedelim.Alıcı ve verici olarak udea firmasının ürettiği  ARX-34B2  ve
ATX-34S rf modüllerini kullandım.

                                

                                                                ARX-34B2
                                                              ATX-34S

18 Ağustos 2013 Pazar

DS18B20 SICAKLIK SENSÖRÜ İLE FAN HIZ KONTROLÜ

  Merhaba arkadaşlar bu projede DS18B20 dijital sıcaklık sensörü ile fan kontrolünün nasıl sağlanabileceğini anlatacağım.Bu projeyi arkadaşlarımla gerçekleştirdik.
  Anlatmaya sıcaklık sensörümüzden başlayayım.Sensörün üç tane ayağı var.Bunlardan 1 nolu uc toprak bağlantısı yaptığımız gnd ucu,2 nolu uc dijital sıcaklık değerini okuduğumuz data ucu,3 nolu uc ise  5 volt uyguladığımız vdd ucudur.