25 Aralık 2015 Cuma

Arduino - ULN2003A ile Step (Adım) Motor Sürme


DC Motor ve  Servo Motoru PWM yöntemiyle sürmüştük. Step motorun sürülmesi ise bu diğer 2 motora göre biraz daha farklı. Step motorlar dijital kontrollüdürler ve her gönderilen pals için belli açıda döndürülebilirler. Hassasiyet gereken küçük açılarla hareket etmesi istenen cihazlar için kullanılırlar.



Soldaki gifte görüldüğü gibi step motorun 4 sargısında sırasıyla verilen lojik-1'ler ile oluşan manyetik alan sayesinde rotorun dönmesi sağlanır.

Step motorun sürülmesi için 2 yöntem vardır. Bunlar "Tam Adım" ve "Yarım Adım" sürme teknikleridir.

Tam Adım'da motor sargılarının ikisi aynı anda enerjilendirilir, tıpkı soldaki gifte görüldüğü gibi.

Yarım Adım'da ise tek faz ve tam adım sürme adımları art arda uygulanır. Böylece motor her enerjilendirmede yarım adım döner.


16 Aralık 2015 Çarşamba

PIC18F452 CCS C - Yazılımsal PWM ile Servo Motor Sürme

Bu yazımda daha önce Arduino kullanarak sürdüğümüz servo motoru aynı şekilde PIC ile yapmaya çalışacağız. Bildiğiniz gibi Arduino, kütüphaneleri sayesinde  işimizi çok kolaylaştırmakta fakat aynı durumu PIC için söyleyemeyeceğim. Kütüphane kullanmadan yazılımsal PWM ile servoyu CCS C kullanarak kontrol etmeye çalışacağız.

Öncelikle servo motorlar hakkında detaylı bilgi için Arduino ile yaptığımız uygulamanın yazısını okumanız yeterli olacaktır.Bağlantı linki;

http://arduinotik.blogspot.com.tr/2014/05/arduino-pwm-ile-servo-motor-surme.html

19 Haziran 2015 Cuma

Arduino - Android Arayüzünden Bluetooth ile Veri Okuma

2 aylık bir aranın ardından tekrardan merhaba :).

Bu yazımda, MIT App Inventor 2 aracılığı ile oluşturduğum android programdan bahsedeceğim. Aslında programı ben oluşturmadım,internet üzerinden araştırırken buldum, görünümünde bir kaç değişiklik yaptım göze daha hoş gelmesi için.

Android programımız ,arduino ile herhangi bir sensörden ölçtüğümüz değeri HC-06 bluetooth modülüne bağlanarak görmemizi sağlıyor. Bu modül ile ilgili daha önceki uygulamamız ve yazılım için buraya tıklayınız.

Arduino yazılımınızı oluştururken, android bağlantısı için ayrıca bir kod yazmanıza gerek yok. Sadece HC-06 Bluetooth modülünüzü Arduino'ya bağlamanız ve görmek istediğiniz sensör ya da herhangi değeri, Arduino IDE'deki "Serial Monitör" de görmek ister gibi yazmanız yeterli. 
Bunun için bildiğiniz üzere "Serial.println();" komutunu kullanıyoruz.

14 Nisan 2015 Salı

PIC16F877A CCS C - PWM ile DC Motor Sürme


Arduino ile DC motor sürmüştük. Aynı uygulamayı PIC ile yapmak isteyenler için bu yazıyı oluşturdum. 
0-1023 arası okunan ADC değerini, 0-255 arasında bir değere dönüştürerek motoru istediğimiz hızda süreceğiz.
Şemada npn,pnp ve mosfet kullanarak oluşturulmuş bir sürücü devresi var. İsterseniz Arduino ile yaptığımız uygulamadaki sürücü devresi ile de bu uygulamayı gerçekleştirebilirsiniz.2N2222 transistörünü kullanabilirsiniz. Tek transistörlü sürücü devresi için,

Arduino ile DC Motor Sürme

Uygulama kodlarına geçmeden önce belirtmek istediğim birşey var. LCD kütüphanesini ben kendime göre ayarlamıştım. LCD devresini oluştururken kablolamaları kendi kütüphanenize uygun olarak bağlayın ve yazılımın LCD ile alakalı yerlerini de yine aynı şekilde kendinize göre oluşturun . 

21 Mart 2015 Cumartesi

Arduino - C# Arayüzü ile Veri Okuma

Merhaba.
Arduino'dan okuduğumuz verileri direkt Serial Monitör'den ya da LCD'den okuyabiliyorduk. Fakat bu okunan veriler için bir tasarrufumuz olmuyordu.

Bu yazıda Arduino'dan okuduğumuz veriyi C# da gösterip, istediğimiz değerleri listbox'a kaydettiğim arayüzden bahsedeceğim. Bu arayüzü oluşturmamda yardımcı olan Necmettin Zengin arkadaşıma teşekkür ederim. 


Resimde de görüldüğü gibi arayüzde 4 buton, 2 combobox, 2 label ve 1 tane de listbox bulunmakta. 0 yazan yerde ölçülen analog değer gösterilecek ve ekle butonuna bastığımızda okunan değer listbox a eklenecek. C# da hazırlanan bu arayüz için ayrıca bir arduino yazılımına ihtiyaç bulunmamakta. Serial Monitör'de veri okuyacakmış gibi yazılımınızı oluşturmanız yeterli. 
RS232 vb. seri port haberleşmesinde deneme şansım olmadı, en yakın zamanda PIC için deneyip sonucunu burada yazarım.
C# kodlarına geçecek olursak ki yakın zamanda bununla alakalı bir video çekmeyi de planlıyorum;


1 Mart 2015 Pazar

Arduino - MQ-4 Gaz Dedektörü (Metan&Propan) Uygulaması

Askerliğim nedeniyle verdiğim 6 aylık aranın ve de Liverpool zaferimizin ardından tekrar merhaba :).

Bu yazımda MQ Gaz Sensörleri serisinden MQ-4 sensörünün uygulamasını gerçekleştireceğiz. MQ serisinin sensörlerinin hangi gazlar için üretildiği sonundaki rakamla belirtilmiş. Resimde MQ6 sensörü LPG ve Bütan gazına duyarlı iken uygulamasını yapacağımız MQ4 sensörü Metan,Propan ve CNG gazlarına duyarlı. Propan bildiğiniz üzere çakmaklarda kullanılıyor. Diğer gaz sensörleri ile ilgili daha fazla bilgi için aşağıdaki linke tıklayabilirsiniz.

MQ Gaz Sensörleri



MQ-5 GAZ SENSÖRÜ
Bu sensörlerin 6 bacağı bulunmakta ve bunlardan 4 pini 2'şerli olarak birbirleriyle kendiliğinden kısa devre. Bu 6 pin 3'erli 2 gruba ayrılmış. Bu 2 grubun ortasındaki pinler ise Heater(ısıtıcı) pinleri. Bize ise hangi tarafı Vcc hangi tarafı GND olarak belirleyeceğimiz kalıyor. Şekilde de görüldüğü gibi A kısmındaki pinleri kendi arasında kısa devre yapıyor ve Arduino'daki 5V'a takıyoruz. B kısmındaki B pinlerini de birbiriyle kısa devre yapıp analog girişine bağlıyoruz. B kısmındaki H pinini (ortadaki pin) de 10-20k ohm'luk bir dirençle B kısmındaki B pinlerine bağlayıp toprağa takıyoruz. Yazı ile biraz karışık oldu ama aşağıdaki fiqürde açıklamam daha anlaşılır olacaktır. Fiqürde sensörün alt kısmı A kısmı olarak belirlenmiş.Out yazan yer ise analogpin'e girecek olan pin.

14 Şubat 2015 Cumartesi

Arduino - DS18B20 One Wire Sıcaklık Sensörü

Daha önceden LM35 sıcaklık sensörü ile bir uygulama gerçekleştirmiştik. LM35 analog çıkış veren bir sensördü. Bu yazımda ise sizlere dijital çıkış veren bir sıcaklık sensörü olan Dallas 18B20 (DS18B20) ile ilgili bilgi vermek istiyorum.


DS18B20 'nin özelliklerinden bahsedecek olursak ;

* ±0.5°C ölçüm hassasiyetine sahip
* Dallas firmasının geliştirdiği One Wire haberleşmesini kullanır
* Ölçüm aralığı -55°C 'den +125°C 'ye kadardır.
* Termometre çözünürlüğü kullanıcının seçimine bağlı olarak 9 bitten 12 bite kadardır.