STM32F103C8 ile Peryot ve PWM Duty Cycle Ölçümü (PWM input mode)

PWM tekniği pek çok uygulamada kullanılmaktadır. PWM ile ilgili daha fazla bilgi için https://learn.sparkfun.com/tutorials/pulse-width-modulation/all

Biz burada oluşturulan bir pwm sinyalin peryodunu ve görev döngüsünü (duty cycle) MCU Timer input Capture mode ile ölçeceğiz.

Okumaya devam et

Arduino Derleyiciniz Ne kadar Hızlı?

Arduino Uno boardu üzerinde üç farklı derleyici (Compiler) kullanarak bir pini (13) ON/OFF yaptım. Elde ettiğim süreler derleyici hızı hakkında fikir sahibi olmamızı sağlayacaktır.

Arduino IDE ortamında AVR kodları kullanarak yaptığım kodlamada en hızlı sonucu elde ettim. Tabloda us cinsinden High ve Low süreleri verilmiştir. Oran olarak baz alınan  Arduino IDE üzerinde AVR Kodlarıyla elde edilen hızdır.

Okumaya devam et

Arduino ile Dimmer Uygulaması

Bu uygulamada Atmega328p MCU içindeki dahili analog karşılaştırıcıyı Zero Crossing Detector olarak kullanacağız. Böylece harici bir devreye ihtiyacımız olmayacak. Hem de çok hassas sıfır noktası yakalayacağız.

Atmega328p içindeki dahili karşılaştırıcı ile ilgili daha ayrıntılı bilgiyi buradan edinebilirsiniz.

Okumaya devam et

Dahili Karşılaştırıcılı Dijital Dimmer (Dimmer with built-in Comparator)

Bu uygulamada Zero Crossing Detector olarak PIC içindeki dahili karşılaştırıcıyı kullanacağız. Daha önceki dimmer devrelerinde harici ZC kullanılmıştı. Karşılaştırıcılar hakkında daha fazla bilgi için bakınız.

Okumaya devam et

Arduino : Ultrasonik Mesafe Sensörü Ledli Seviye Göstergesi

Bu uygulamada Arduino Uno ile HC-SR04 Ultrasonik sensör kullanarak 5 adet LED ile 20cm-100cm arasındaki mesafenin seviyesini gösteren uygulama yaptık. 20cm’den küçük olduğunda ve 100cm’den büyük olduğunda bütün ledler sönük olacaktır.

Okumaya devam et

Arduino: Timer1 Giriş Yakalama Birimi (Timer1 Input Capture Unit)

Timer1 16 bit zamanlayıcıdır. Bunun yanında bazı ilave özellikleri de bulunmaktadır. Bunlardan en önemlilerinden biri yakalama özelliğidir. Şöyle ki; bir bir ardınca gelen olayları yani peryotları clock olarak ölçebilmektedir. Örnek; bir dalganın peryodunu dolayısı ile frekansını veya bir pulsin süresini ölçebilmektedir. Dalganın düşen kenar veya yükselen kenarında yakalama gerçekleştiğinde timer1 içindeki değer ICR1 registerine aktarılmaktadır.

Nerelerde kullanılır? Peryot hesabı, Ultrasonic sensör ile mesafe ölçümü vb.

Okumaya devam et

Arduino : Dahili Analog Karşılaştırıcı (Built in Analog Comparator)

Bu uygulamamızda Atmega328p içinde dahili olarak bulunan “analog karşılaştırıcı”yı kullanacağız. Çizgi izleyen robot tasarım çalışmalarım esnasında 3 hücreli lipo pilin belirli bir gerilimin altına düştüğünde alarm vermesi (LED yakma) için dahili analog karşılaştırıcıyı kullanmak istedim. Referans gerilimi olarak yine chip içindeki Bandgrap referans gerilimini (1.1V) kullandım. Pilden gelen gerilim dirençlerle bölündükten sonra (-) girişe uygulanıyor.

Okumaya devam et

BTS7960 Motor Sürücü (Motor Driver)

BTS7960 entegresi yüksek akım verebilen yarım köprü (Half Bridge) entegredir. İki tane kullanılarak tam köprü (H-Bridge) yapılarak motor yön ve devir kontrolü yapılabilir.  43A akım verebilme kapasitesi vardır. Ancak bu kapasite harici dirençle sınırlandırılabilmektedir.  Benim kullandığım modülde bu değer 10A ile sınırlandırılmış. 25Khz kadar PWM kontrolü sağlayabilmektedir. Doğrudan MCU ile sürülebilir. Piyasada satılan modüller 74HC244  hat sürücü entegresiyle tasarlanmış.

Okumaya devam et

SPI haberleşme ve Max7219

Master Slave SPI Haberleşme

Master Slave SPI Haberleşmesi

İlk defa Motorola firması tarafından geliştirilen ve daha sonra diğer firmalarında kabul ettiği ve kullandığı, çevresel cihazlarla veya diğer mikrodenetleyicilerle  haberleşmeyi sağlayan yazılım veya donanım tabanlı  seri iletişim protokolüdür.

Bu yazımızda bu protokolü ve Max7219 ile master slave uygulamasını yapacağız.

Okumaya devam et

Laboratuvar Güç Kaynağı Yapımı

DSC_0473Elektrik ve elektronik laboratuvarlarının vazgeçilmez cihazlarındandır. Pek çok ve değişik tipte güç kaynakları mevcuttur. Temel amacı gerekli olan voltajı ve akımı sağlamasıdır.

Bu yazımızda amatör  elektrik ve elektronikçiler için güç kaynağı yapımını göreceğiz.

Ayrıca güç kaynağının olmazsa olmazlarından olan voltmetre ve ampermetresinin yapımını öğreneceğiz.

Okumaya devam et

Taramasız Tuş Takımı

tusTakimi_taramasız

4×4 matrix keypad tasarımında devamlı olarak mikrodenetleyici tarafından tarama yapılması gerekmekteydi. Bu durum ise mikrodenetleyiciyi çok meşgul eden bir durumdur. Bu tuş takımında tarama yok. Dezavantaj olarak biraz daha fazla malzeme (diyot-1N4148) kullanılması gerekiyor. Bu uygulamada 8 adet tuş kullandık. Tuş sayısı arttırılabilir.

Okumaya devam et

USB Frekansmetre

frekansmetre_connection

USB Frekansmetre

Elektrik; dalga şekilleri itibariyle iki formdur. Bunlar DC(Doğru Akım) ve AC(Alternetif-Değişken Akım).

AC akım yönü ve şiddeti zamana göre değişen akımdır. AC akımın, DC akım gibi gerilim ve akım değerlerinin yanında frekansı (dolayısı ile peryotu) ve faz açısı gibi ilave değerleri vardır.

Okumaya devam et

ADC Keypad (Analog Klavye)

ADC Keypad (Tuş takımı)

 Bir önceki yazıda matrix 4×4 taramalı keypad’in çalışmasını anlatmıştık. Bu tür tuş takımları için 8 adet pin gerekmektedir. Tarama tekniği ile 16 tuş için 8 girişe kadar giriş pinlerini azaltmıştık. Peki bizim 8 adet girişe ayıracak pinimiz yoksa ne yapacağız?

Bu yazımızda ADC keypad’i yani ADC tuş takımını inceleyeceğiz.

Okumaya devam et

4×4 Keypad (tuş takımı) Tasarımı

  Tuş takımı ile dijital sistemlere bilgi girişi yapılır. Kullanılacak tuş sayısı az ise her tuş için bir pin seçilerek bilgi girilir. Ancak tuş sayısı fazla ise değişik tekniklerle pin sayısı düşürülebilir. Bu uygulamada 4×4 matrix taramalı tuş takımını tanıtmaya  çalışacağım. Okumaya devam et

Ultrasonik Mesafe Sensörü Uygulaması -2

Ultrasonik sensörle mesafe ölçümü uygulamasının, INT kesmesiyle gerçekleştirilmiş uygulamasıdır.

Okumaya devam et

Ultrasonik Mesafe Sensörü Uygulaması

Bu projede HC-SR04 ultrasonik sensör kullanarak mesafe ölçümü yapacağız. Sensör kit olarak satılmakta. Kit üzerinde 40KHz. de çalışan ultrasonik verici ve alıcı sensörü bulunmakta. Sensörün çalışması aslında yarasanın iletişim sisteminden kopyalanmış. Bilindiği gibi yarasaların gözleri yoktur. Onun yerine ses dalgaları gönderip dalgaların geliş süresine göre değerlendirme yapıp o şekilde cisimleri algılarlar.

Bu uygulamada PIC16F628A mikrodenetleyicisi ve HC-SR04 Ultrasonik sensör kullanarak mesafe ölçümü gerçekleştireceğiz.

Okumaya devam et

7 Segment Sayıcı -Counter- (0-99)

7 Segment Sayıcı-Counter- (0-99)

Bu projede 0-99 arası yukarı/aşağı sayan, iki dijit(display)  sayıcı devresi yapacağız. Sayıcı tarama metodunu kullanmaktadır. Örnek olması açısından bu uygulamada kesme kullanmadan tarama işlemi ile saydırma yaptık.

Okumaya devam et

DS18B20 Sensörünün Alarm Özelliğini Kullanma

DS18B20 sensörü sıcaklık ölçümü yanında alarm özelliğine de sahiptir. Alarm özelliği kullanılarak termostat olarak kullanılabilir.

Alarm sınır değerleri EEPROM’a yazılarak elektrik kesintilerinden etkilenmesi önlenebilir.

Bu uygulamamızda LCD displayde sıcaklık değerini görüntüleyip alarm durumunu kontrol edeceğiz. Alarm durumunda alarm ledini yakacağız.

Okumaya devam et

7 Segment Sayıcı (0-9)

7 segment sayıcı

Bu uygulamada 1 adet 7 segment display kullanarak 0 ile 9 arası yukarı ve aşağı sayıcı  yaptık. Örnek olması açısından incelenebilir bir proje.

Okumaya devam et

Kronometre

DSC_0627

Kromometre, zamanı büyük hassasiyetle ölçen bir saat  çeşididir. Normal saatlerde santisaniye kavramı yoktur. Ancak kronometrelerde santisaniye kavramı vardır. Santisaniye 10milisaniyelik zaman birimidir. 100 santisaniye 1 saniye eder.

Kronometreler zamanın hassas ölçülmesi gereken yerlerde kullanılır. Mesela koşu, yüzme gibi spor müsabakalarında skoru tespit için, çizgi izleyen robotların pisti ne kadar zamanda tamamladığını ölçmek için vb. kullanılır.

Okumaya devam et

Oda Termostatı

DSC_0624

Oda termostatları, oda ısısına göre kombileri kontrol eden elekronik cihazlardır. Piyasada değişik yapılarda oda termostatları mevcuttur. Yapılan araştırmalara göre %30 oranında gaz ve elektrik tasarrufu sağlamaktadır. Bu termostat devresi DS18B20 sensörü ile sıcaklığı algılamaktadır. Dolayısı ile hassasiyeti yüksektir. Ondalık ayarlama yapılabilmektedir. Bizzat kendimin kullandığım ve çok memnun olduğum bir termostat devresidir.

Okumaya devam et

Negatif Sıcaklık Gösterebilen LCD Termometre

lcdtermometre

Bu uygulamamızda PIC16F628A mikrodenetleyicisi ile DS18B20 sıcaklık sensörü kullanarak negatif sıcaklık değerlerini de gösterebilen LCD’li bir termometre yapacağız.

Okumaya devam et

DS18B20 Sıcaklık Sensöründen Veri Okuma

DS18B20

DS18B20 sensörü -55 ile +125 derece arasında, 9-12 bit çözünürlükte ölçüm yapan dijtial sıcaklık sensörüdür. Üzerinde dahili alarm sistemi bulunmaktadır. 12 bit sıcaklık ölçümünü en fazla 750ms’de tamamlamaktadır. Herhangi bir ayar yapılmazsa sensör varsayılan olarak 12 bit çözünürlükte çalışmaktadır.

Okumaya devam et

Dijital AC Dimmer

Dimmerle lamba kontrolü ve dalga formu

Dimmer devreleri AC dalganın triyak vasıtasıyla fazının istenilen değerde ayarlanmasını yapan elektronik devrelerdir. Akkor telli lambalarda aydınlık ayarı, rezistanslı ısıtıcılarda ısı ayarı, üniversal motorlarda hız ayarı için kullanılırlar. Bu uygulamamızda PIC16F628A mikrodenetleyicisi ile dijital AC dimmer yapacağız.

Okumaya devam et

74HC595 Entegresi ile 32 LED Animasyon

32led_74HC595

Bu uygulamada 74HC595 entegresi ile 32 LED kullanarak bir animasyon devresi oluşturacağız. PIC16F628’in PORTB’ye bağlı 4 adet butonla animasyon tipi seçilmekte.

Okumaya devam et

74HC154 Entegresi ile LED Animasyonu

74HC154 entegresi led sürme, dotmatrix led sürme vb. elektroknonik devrelerde kulllanılan 4’ten 16’ya kod çözücü entegredir.  Bu uygulamamızda bu entegreyle led animasyonu devresi yapacağız. Bu uygulamada INT kesmesi ve PORTB Değişiklik kesmesi kullanılmıştır.

Okumaya devam et

74HC595 Entegresi ile LED Animasyonu

74hc595Animasyon

Bu uygulamada aşağıdaki programlama teknikleri kullanılmıştır.

1-      Bit tanımlama,

2-      PORTB Change (değişim) kesmesi,

3-      Çoklu buton uygulaması,

4-      74HC595 entegresini sürme,

5-      Dahili Pull-Up dirençlerinin kullanımı,

6-      C programı içinde asm kullanımı.

Okumaya devam et

Mikrodenetleyici Kontrollü Gaz Alarmı

Gaz sensörleri ortamdaki gazı algılayaran sensörlerdir. MQ4 sensörü rezistanslı (ısıtmalı) tip yarı iletken bir sensördür. Doğalgaz, LPG, metan ve karbon monoksit gazlarını algılar.

Okumaya devam et

Buton Kontrolü

Butonlar ve anahtarlar mikrodenetleyiciye (veya Lojik devreye) giriş pini üzerinden lojik “1” veya lojik “0” olarak bilgi girişini sağlayan mekanik elemanlardır.

Konum geçişlerinde kontak sıçraması olarak bilinen ark (debuance) oluşur. Bu ark değişik devrelerle giderilebildiği gibi yazılımla da giderilebilir.

Okumaya devam et

MikroC ile USB Programlama -1

MikroC ile USB programlama çok kolaydır. USB programlama için gerekli olan bütün araçları bünyesinde barındırmaktadır. Şimdi en basitinden Proteus ve mikroc kullanarak USB programlamayı öğreneceğiz.

Okumaya devam et

Timer0 Zamanlayıcı Uygulaması

Timer0’ı zamanlayıcı olarak kurmak için sayıcı girişine sistem clock sinyali uygulanır. Bu sinyalin her saykılında ölçeklendirmeye göre belirli bir oranda sayma gerçekleşir. Zamanlayıcı olarak kullanımda kesme kullanılacaktır.

Okumaya devam et

Timer0 Sayıcı Devresi

sayici_ornek

PIC12F ve 16F serilerinde 8-bit, 18F serisinde 16-bitlik bir sayıcı/timerdır. Clock kaynağı sistem clock’u ise timer, harici kaynaksa sayıcı olarak isimlendirilir. Pek çok alanda uygulama imkanı vardır. Örnek vermek gerekirse bisiklet hız ölçer, rüzgar türibini devir ölçer, kronometre vb.

Okumaya devam et

Engel Algılama Devresi

ENGEL_1

Özellikle robot devrelerinde ve otomasyon devrelerinde engel algılama devrelerine ihtiyaç duyulur. Çeşitli tipte engel algılama devreleri mevcuttur. Bizim kullanacağımız devre IR (InfraRed-Kızıl ötesi) engel algılama devresi. Devrenin çalışma mantığı yandaki şekilde verilmiştir. Sistem,  IR ışık yayan ledlerin ışığının yansımasının IR Detektör tarafından alınması prensibine göre çalışır.

Okumaya devam et