Merhaba arkadaşlar,
YouTube kanalımın ismini değiştirdikten sonra blog sitemin ismini de değiştirme kararı aldım. Bu sitede bulunan bütün verileri diğer sitede de bulabililrsiniz.
Yeni sitemin ismi ;
http://gomulumuhendis.blogspot.com/
YouTube Kanalım;
https://www.youtube.com/gomulumuhendis
Bir Elektrik-Elektronik Mühendisinin Dünyası
22 Haziran 2018 Cuma
28 Ocak 2018 Pazar
Arduino - TCS3200 Renk Sensörü Uygulaması
Bu yazımda TCS3200 renk sensörünün kullanımından bahsedeceğim. Bu sensör üzerindeki fotodiyotlar aracılığıyla gördüğü rengi algılayıp çıkış veren bir sensör. TCS3200 renk sensörünü nasıl kullanacağımızdan bahsetmek gerekirse ;
Üzerinde bulunan 4 inputu kullanmak istediğimiz renk filtresine göre lojik-1 ve lojik-0 konumuna getireceğiz.
Daha sonra sensörün çıkışından aldığımız kare sinyalin kaç pulse olduğunu sayacağız. Bunu 3 renk için de uygulayıp, sensörün gördüğü cismin hangi renk olduğunu belirleyeceğiz.
27 Ocak 2018 Cumartesi
Arduino - C# ile PWM Degeri Gönderme
C# arayüzü ile Arduino'ya PWM gönderebildiğimiz programın nasıl oluşturulduğunu anlattığım videomu YouTube kanalımda yayınladım. İyi seyirler.
Etiketler:
Arduino Tutorial,
C#,
Haberleşme,
PWM,
Scrollbar
27 Temmuz 2017 Perşembe
Arduino - C# ile LCD'de CPU Sıcaklıgını Gösterme
Bir önceki yazımda C# üzerinden textBox kısmına girdiğimiz yazıyı LCD'de yazdırmıştık. Bu sefer bilgisayarın CPU sıcaklığını hem C# arayüzünde hem de LCD'de göstermemizi
sağlayacak kodları paylaşmak istiyorum.
Öncelikle Project menüsünden Add Reference'yi tıklıyoruz ve .NET sekmesinden System.Management'i ekliyoruz.
Cpu sıcaklığını ölçmemize yarayacak kodları aşağıda linkini verdiğim adresten aldım.
http://www.ayqo.net/2014/01/c-cpu-scaklgn-olcme-kodlar-resimli.html
Kodlar,
Etiketler:
Arduino Tutorial,
C#,
CPU,
LCD Display,
Sıcaklık
23 Temmuz 2017 Pazar
Arduino - C# ile LCD'de Yazı Yazdırma
Merhaba arkadaşlar,
C# ile Arduino'ya bağlı LCD'ye nasıl yazı yazdırabileceğimizi anlattığım videoyu ve kodları paylaşıyorum. Umarım sizlere yardımcı olur.
Arduino Kodları;
Etiketler:
Arduino Tutorial,
C#,
char,
LCD Display,
LCD Keypad Shield,
string
12 Temmuz 2017 Çarşamba
Arduino - C# ile Aynı İki ve Daha Fazla Veri Okuma
C# ile tek bir veri okuma üzerine videolar yayınlamıştım. Fakat sadece 1 veri okumak elbette her zaman yeterli olmayacaktır. Projelerimizde daha fazla veriyi okumamız gerekebilir. Bu yüzden C# birden çok veri okuma üzerine bir video hazırladım. Yazılımın tamamını, videonun altındaki linkten indirebilirsiniz.Umarım işinize yarar.
Etiketler:
Analog Veri Okuma,
Arduino Tutorial,
C#,
RS232
5 Haziran 2017 Pazartesi
Arduino - Joystick ile Servo Motor Sürme
Bu yazımda joystick kullanımından bahsetmek istiyorum sizlere. Kullanımı oldukça basit. Kullanacağım modül siyah kartlı KY-023 joystick modülü. Üzerinde 2 adet potansiyometre ve de 1 adet buton var. 5V ile çalışıyor.
Ben uygulamayı LCD Keypad Shield ile yaptığım için fritzingde hem LCD'siz hem LCD li olanı çizmek istedim.
Modülden bahsetmek gerekirse, modülün 5 adet pini var. GND ve 5V pinlerinin dışında, VRx pini var ki bu pin X düzlemindeki konumunu , VRy pini Y düzlemindeki konumunu bize gösterecek. SW pini ile de buton durumunu okuyacağız.
Ben uygulamayı LCD Keypad Shield ile yaptığım için fritzingde hem LCD'siz hem LCD li olanı çizmek istedim.
Modülden bahsetmek gerekirse, modülün 5 adet pini var. GND ve 5V pinlerinin dışında, VRx pini var ki bu pin X düzlemindeki konumunu , VRy pini Y düzlemindeki konumunu bize gösterecek. SW pini ile de buton durumunu okuyacağız.
25 Mart 2017 Cumartesi
Arduino - Su Seviye Sensörü Uygulaması
Su seviye sensörünün kullanımı aslında çok basit. Herhangi bir potansiyometreyi okuyan biri bu sensörü rahatlıkla kullanabilir. "-" ucunu GND, "+" ucunu 5V'a "S" ucunu da herhangi bir analog girişe takıp AnalogReadSerial örneğini açarak bu sensörü kullanabilirsiniz.
Lakin bu sensör, doğrusal çıkış vermemekte ve bu yüzden de okunan adc değerlerinin cm cinsine çevrilmesinin mümkünatı zorlaşmakta.
Lakin bu sensör, doğrusal çıkış vermemekte ve bu yüzden de okunan adc değerlerinin cm cinsine çevrilmesinin mümkünatı zorlaşmakta.
20 Temmuz 2016 Çarşamba
PIC18F452 CCS C - DS1307 Zaman Modülü Uygulaması
Bu yazımda DS1307 entegreli RTC modülümüzle I2C haberleşmesini kullanarak gün/tarih/saat bilgilerini okuyup, bu bilgileri PIC18F452 mikrodenetleyicimizle LCD'de göstereceğiz.
Modülün sağdaki resimde görüldüğü gibi iki tarafında da header padleri bulunmakta. Ben sadece sol taraftaki padleri kullandım. İsterseniz sol üste DS18b20 modülünü de takarak sıcaklık değeri okuyabiliyorsunuz. Ben sadece zaman okudum.
I2C Haberleşmesi ( Inter-Integrated Circuit)
Kısaca bahsetmek gerekirse I2C , PHILIPS firmasının kendi ürünlerinde kullanmak üzere geliştirdiği,veri giriş-çıkış hızının çok önemli olmadığı ve pin kullanımını azami sayıya düşüren bir haberleşme protokolüdür. Haberleşmede iki uç kullanılır.Bunlar;
SDA - Seri Veri Giriş-Çıkış
SCL - Seri Saat Sinyali ( Clock )
Master-Slave ilkesine göre iş yapan bu protokolde, özetle master cihaz öncelikle SDA hattından "START" bilgisi gönderir, iletişim kuracağı cihazın adresini yazar ve adresi yazılan slave , "STOP" bilgisi gelene kadar master ile haberleşme kontağında bulunur.
Etiketler:
CCS C,
DS1307,
I2C,
I2C Haberleşmesi,
LCD Display,
PIC,
PIC18F452,
RTC,
Saat,
Tarih,
Tiny RTC,
Zaman Modülü
6 Temmuz 2016 Çarşamba
Arduino - TCRT5000 IR Sensör Uygulaması
Bu yazımda TCRT5000 kızılötesi sensörün kullanımından bahsedeceğim. HC-SR04 ultrasonik sensör ile mesafe ölçmüştük. HC-SR04 ses dalgası kullanıyordu. TCRT5000 ise kızılötesi dalgaları kullanıyor.
TCRT5000 ile sadece mesafe ölçümü değil ayrıca lojik-1 lojik-0 düzeyinde de kullanabilir bunun yanı sıra siyah-beyaz bant ayrımı da yaptırtabilirsiniz. Bu sayede çizgi izleyen bir robot yapabilirsiniz.
Ben bu yazımda sensörün analog çıkışını okuyacağım ve bunu LCD ekrana yazdıracağım. Sensörü soldaki şemaya göre oluşturup, siyah gözü 5v'a çektiğimiz yeri Arduino'nun A0 pinine bağlıyoruz.
Siyah gözü 10K ile Mavi Gözü 100ohm ile 5V'a çekiyoruz. Ben 20K-100 ohm ikilisini kullandım, siz aldığınız ölçümlere göre en optimum ikiliyi seçip kullanabilirsiniz.
Ben yaptığım ölçümlere göre konuşmam gerekirse tam direnç değerlerini tutturamadığım için yaptığım ölçümleri lineer bulmadığım için en azından şu anlık beğenmedim. Tam direnç değerlerini tutturduktan sonra tekrar deneyeceğim.
O yüzden yazılımda uzaklık değerine dönüştürmedim okuduğum ADC değerini.
TCRT5000 ile sadece mesafe ölçümü değil ayrıca lojik-1 lojik-0 düzeyinde de kullanabilir bunun yanı sıra siyah-beyaz bant ayrımı da yaptırtabilirsiniz. Bu sayede çizgi izleyen bir robot yapabilirsiniz.
Ben bu yazımda sensörün analog çıkışını okuyacağım ve bunu LCD ekrana yazdıracağım. Sensörü soldaki şemaya göre oluşturup, siyah gözü 5v'a çektiğimiz yeri Arduino'nun A0 pinine bağlıyoruz.
Siyah gözü 10K ile Mavi Gözü 100ohm ile 5V'a çekiyoruz. Ben 20K-100 ohm ikilisini kullandım, siz aldığınız ölçümlere göre en optimum ikiliyi seçip kullanabilirsiniz.
Ben yaptığım ölçümlere göre konuşmam gerekirse tam direnç değerlerini tutturamadığım için yaptığım ölçümleri lineer bulmadığım için en azından şu anlık beğenmedim. Tam direnç değerlerini tutturduktan sonra tekrar deneyeceğim.
O yüzden yazılımda uzaklık değerine dönüştürmedim okuduğum ADC değerini.
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
Ö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
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.
Etiketler:
Analog Veri Okuma,
Android Application,
Arduino Application,
Arduino Tutorial,
Arduino Türkiye,
Bluetooth Haberleşmesi,
HC-06 Bluetooth Module,
LM35,
Microchip,
RS232,
Seri Haberleşme,
Serial Communication
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 .
Etiketler:
2N2222,
ADC,
CCS C,
DAC,
Darbe Genişlik Modülasyonu,
DC Motor Sürme,
Microchip,
MOSFET,
PIC,
PIC16F877A,
Potansiyometre,
Potentiometer,
PWM,
PWM ile DC Motor,
Sürücü Devresi
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;
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;
Etiketler:
ADC,
Analog Veri Okuma,
Arayüz,
Arduino,
Arduino Projeleri,
Arduino Tutorial,
Baudrate,
C#,
C# Interface,
Listbox,
Microsoft Visual Studio,
Necmettin Zengin,
Sensör,
Seri Haberleşme,
Serial Communication
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.
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.
Etiketler:
Analog,
Analog Okuma,
Analog Reading,
Arduino Tutorial,
CNG,
Çakmak Gazı,
Doğalgaz,
Doğalgaz dedektörü,
Gaz Dedektörü,
Metan,
MQ Gaz Sensörleri,
MQ-4 Gaz Sensörü,
Propan
27 Şubat 2015 Cuma
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.
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.
9 Ağustos 2014 Cumartesi
Arduino - Android Arayüzünden Bluetooth Haberleşmesi
Kablosuz haberleşme neden bilmiyorum diğer haberleşmelere göre daha heyecan verici geliyor bana. Özellikle son zamanlarda kullandığımız akıllı telefonları Arduino ile haberleştirebilmek gerçekten büyük zevk. Zaten basit bir uygulama olsa bile bu yazımdaki uygulamayı yaptığınızda ne demek istediğimi daha iyi anlayacaksınız :).
Yazılımdaki mantık C# uygulamasındaki mantık ile aynı. 3 adet butonumuz var, 1 tanesi ile bluetooth haberleşmesi ile mikrodenetleyicimize bağlanıyoruz. 2.buton ile led yakıyor, 3.buton ile led söndürüyoruz.
Bu uygulamayı ilerleterek android kontrollü bir araba, akıllı ev uygulamaları vb. projeler gerçekleştirebilirsiniz. Tabii android bilmekte gerçekten büyük fayda var. Size mutlaka + katkıda bulunacaktır.
4 Ağustos 2014 Pazartesi
Arduino - Processing Arayüzü ile RGB Led Sürme
Merhabalar,
Bu yazıda Processing üzerinden oluşturduğumuz arayüz ile Arduino'ya bağlı RGB ledi süreceğiz.
Öncelikle Processing ile ilgili bilgi vereceğim ama şunu belirtmek istiyorum ki Processing ilgilenmek ve öğrenmek istediğim bir dil fakat ne yazık ki çok bir bilgim yok. O yüzden bu uygulamam Coşkun TAŞDEMİR'in Arduino Uygulama kitabından hoşuma giden ve sizinle paylaşmak istediğim bir uygulama. Şayet hoşunuza giderse (ki gidecek :D) Processing ile ilgilenmek isteyebilirsiniz.Arduino Uygulama Kitabı burda imdadınıza yetişebilecek nitelikte. En azından başlangıç için.
PROCESSING NEDİR ?
Processing açık kaynaklı görsel bir yazılım programıdır. Kodlarla dijital sanat icra edebilir veya da mikrodenetleyiciler ile seri haberleşme sağlayarak onları yönetebilirsiniz.
Download linki Processing İndir
RGB LED
RGB Led ortak anot ve ortak katot olmak üzere 2 çeşidi bulunan bir led türüdür. Çalışma mantığı sağ tarafta bulunan Venn şemasıdır. Kırmızı Mavi Yeşil tonları 8 bitte karıştırırak (0-255) diğer doğal renklerin elektronik ortamda oluşturulmasını sağlar.
Processing ile de bu programı oluşturacağız ve Arduino'ya bağladığımız RGB ledi süreceğiz.
RGB Ledi dirençsiz sürmek istiyorsanız ki ben öyle yaptım, Arduino'nun 3,3V pini ile besleyin. Ben ortak anot kullandım ve RGB ledin uzun bacağını 3,3 V'a bağladım. Ayrıca ledler standart değil renkleri teker teker deneyin !!!
Bu yazıda Processing üzerinden oluşturduğumuz arayüz ile Arduino'ya bağlı RGB ledi süreceğiz.
Öncelikle Processing ile ilgili bilgi vereceğim ama şunu belirtmek istiyorum ki Processing ilgilenmek ve öğrenmek istediğim bir dil fakat ne yazık ki çok bir bilgim yok. O yüzden bu uygulamam Coşkun TAŞDEMİR'in Arduino Uygulama kitabından hoşuma giden ve sizinle paylaşmak istediğim bir uygulama. Şayet hoşunuza giderse (ki gidecek :D) Processing ile ilgilenmek isteyebilirsiniz.Arduino Uygulama Kitabı burda imdadınıza yetişebilecek nitelikte. En azından başlangıç için.
PROCESSING NEDİR ?
Processing açık kaynaklı görsel bir yazılım programıdır. Kodlarla dijital sanat icra edebilir veya da mikrodenetleyiciler ile seri haberleşme sağlayarak onları yönetebilirsiniz.
Download linki Processing İndir
RGB LED
RGB Led ortak anot ve ortak katot olmak üzere 2 çeşidi bulunan bir led türüdür. Çalışma mantığı sağ tarafta bulunan Venn şemasıdır. Kırmızı Mavi Yeşil tonları 8 bitte karıştırırak (0-255) diğer doğal renklerin elektronik ortamda oluşturulmasını sağlar.
Processing ile de bu programı oluşturacağız ve Arduino'ya bağladığımız RGB ledi süreceğiz.
RGB Ledi dirençsiz sürmek istiyorsanız ki ben öyle yaptım, Arduino'nun 3,3V pini ile besleyin. Ben ortak anot kullandım ve RGB ledin uzun bacağını 3,3 V'a bağladım. Ayrıca ledler standart değil renkleri teker teker deneyin !!!
16 Temmuz 2014 Çarşamba
LDR ile Aydınlıkta Işık Yakan Devre
Hobi Elektronik kategorisini biraz boşlamış olduğumu hissettim ve hobi elektroniğe başladığımda yapmış olduğum ilk devreyi buraya yazmak istedim.
Devremizi, transistörün (BC547 , BC237 vs.)anahtarlama prensibinden yararlanarak oluşturacağız. Bunun için elbette LDR'yi tanımamız gerekiyor.
LDR (Foto Direnç) Nedir ?
Foto direnç yani kısaca LDR, üzerine düşen ışık miktarıyla ters orantıda direnci değişen bir elektrik elemanıdır. LDR’nin aydınlıkta direnci minimum, karanlıkta ise maksimumdur. Bu özelliği ile transistörün anahtarlamasını kullanarak bu devreyi oluşturucaz.
LDR, üzerine ışık düştüğünde neredeyse kısa devre gibi davranır ve transistörü Base'inin tetikler bu sayede transistörün Emitter'ine bağlı LED yanmaya başlar.
LDR karanlıkta olduğunda neredeyse açık devre olur (1M ohm civarı) ve transistör tetiklenmez bu yüzden de LED yanmaz.
Devremizi, transistörün (BC547 , BC237 vs.)anahtarlama prensibinden yararlanarak oluşturacağız. Bunun için elbette LDR'yi tanımamız gerekiyor.
LDR (Foto Direnç) Nedir ?
Foto direnç yani kısaca LDR, üzerine düşen ışık miktarıyla ters orantıda direnci değişen bir elektrik elemanıdır. LDR’nin aydınlıkta direnci minimum, karanlıkta ise maksimumdur. Bu özelliği ile transistörün anahtarlamasını kullanarak bu devreyi oluşturucaz.
LDR, üzerine ışık düştüğünde neredeyse kısa devre gibi davranır ve transistörü Base'inin tetikler bu sayede transistörün Emitter'ine bağlı LED yanmaya başlar.
LDR karanlıkta olduğunda neredeyse açık devre olur (1M ohm civarı) ve transistör tetiklenmez bu yüzden de LED yanmaz.
11 Temmuz 2014 Cuma
Arduino - C# Arayüzü ile Led Yakma
C# ile ilgilenmenizi öneririm çünkü her defasında LCD bağlamak veya Serial Monitör kullanamayacağımız projeler olabilir. Tüm verileri tek arayüz üzerinden göndermek veya almak zorunda kalabilirsiniz. İnternet üzerinden C# üzerine projeleri veya arayüzü öğrenmeniz size fayda sağlar. Lafı fazla uzatmadan önce Arduino kodlarımızı vermek istiyorum;
Etiketler:
Arayüz,
Arduino Application,
Arduino Tutorial,
Blink,
C#,
C# Interface,
Karadeniz Teknik Üniversitesi,
KTÜ,
Led Yakmak,
Microsoft Visual Basic,
Sayısal Çıkış,
Seri Haberleşme,
Serial Communication
28 Haziran 2014 Cumartesi
Arduino - PIR Sensörü ile Hareket Dedektörü Uygulaması
Merhabalar...
Bu yazımda hareket algıladığında dijital çıkış veren PIR Sensörü uygulaması yapacağız. Amacımız hareket algılandığında çıkış olarak led yakılması.
Fritzing devre şeması için kusura bakmayın, herşeyler var bi'tek PIR yok.
PIR SENSÖRÜ NEDİR ?
Orjinal ismi Passive InfraRed Sensor yani Pasif Kızılötesi Sensör olan bu ekipman objelerden yayılan kızılaltı (IR) ışın değişimini tespit etmek için bir Fresnel lens ve IR’ye duyarlı sensör yardımıyla, 6 metreye kadar mesafedeki hareketleri algılayabilir; ucuzdur, kullanımı kolaydır; alarm sistemleri, hareketle aktif olan ışıklar gibi uygulamalar için idealdir.
Bu yazımda hareket algıladığında dijital çıkış veren PIR Sensörü uygulaması yapacağız. Amacımız hareket algılandığında çıkış olarak led yakılması.
Fritzing devre şeması için kusura bakmayın, herşeyler var bi'tek PIR yok.
PIR SENSÖRÜ NEDİR ?
Orjinal ismi Passive InfraRed Sensor yani Pasif Kızılötesi Sensör olan bu ekipman objelerden yayılan kızılaltı (IR) ışın değişimini tespit etmek için bir Fresnel lens ve IR’ye duyarlı sensör yardımıyla, 6 metreye kadar mesafedeki hareketleri algılayabilir; ucuzdur, kullanımı kolaydır; alarm sistemleri, hareketle aktif olan ışıklar gibi uygulamalar için idealdir.
Etiketler:
adafruit,
Arduino Tutorial,
Arduino Uygulama,
Hareket Dedektörü,
Hareket Sensörü,
Karadeniz Teknik Üniversitesi,
KTÜ,
mcu-turkey,
Motion Detector,
Motion Sensor,
Passive Infrared Sensor,
PIR,
PIR Sensörü
30 Mayıs 2014 Cuma
Arduino - PWM ile Servo Motor Sürme
PWM ile DC motor sürmüştük. Şimdi ise aynı yöntemle Servo motor süreceğiz.Fakat transistörlü anahtar kullanmayacağız.Çünkü servo motor kendi içerisinde PWM sinyalini algılayabilecek ekipmana sahip.
Servo Motor Nedir ?
Servo motor özellikle robotik uygulamalarda kullanılan bir motor çeşitidir. Servo motorlar da çıkış; mekaniksel konum, hız veya ivme gibi parametrelerin kontrol edildiği bir düzenektir.
PWM sinyal ile DC motorun hızını kontrol ederek sürmüştük. Servo motor ise DC motor gibi sürekli dönen bir yapıya sahip değildir. 360 veya 180 derece dönebilen motorlardır ve mühim olan bu motorlarda hız değil açı değeridir. PWM ile servo motor kaç derece dönmesi gerektiğini algılar ve sinyalin istediği derece kadar döner. Uygulamamızda bunu daha iyi anlayacağız.
Etiketler:
Arduino,
Arduino Projeleri,
Arduino Tutorial,
Darbe Genişlik Modülasyonu,
Karadeniz Teknik Üniversitesi,
KTÜ,
Motor Driving,
Motor Sürme,
Pulse Width Modulation,
PWM,
Robotik,
Servo Motor,
Towerpro SG90
11 Mayıs 2014 Pazar
Kararsız Multivibratör - Flaşör Devresi
Mühendislik eğitimimle beraber elektronik devre tasarımı veya da hazır devreleri gerçekleştirebileceğim bir alan istemiştim. Hobi elektronik devreleri bu konuda imdadıma yetişmişti. Hobi elektronik alanında ilk devrem flaşör devresi olarak adlandırdığımız gerçekte ise Kararsız Multivibratör olan bu Kare Dalga üreticisiydi.
Devrenin mantığı ise basit. Transistörlerin aynı olsa bile birbirlerine nazaran yapısal farklılıklarından dolayı biri diğerinden daha önce iletime geçecektir. Örneğin Q1 iletimde,Q2 kesimde iken 1.Çıkış ==1, 2.Çıkış== 0 olur. Kondansatörlerin 0,7V 'a ulaşıp boşalmaları ile bu sıra sürekli değişir ve bir kare dalga üreteci ortaya çıkmış olur.
R1=R4, R2=R3 ve C1=C2 alınırsa devre simetrik ters dalga üretimi gerçekleştirilmiş olur.
Frekans hesabına gelince ;
T=T1+T2
T1=R1 * C1 * ln2
T2=R2 * C2 * ln2 ve f= 1 / T ; formüllerinden bulunabilir.
Devrenin mantığı ise basit. Transistörlerin aynı olsa bile birbirlerine nazaran yapısal farklılıklarından dolayı biri diğerinden daha önce iletime geçecektir. Örneğin Q1 iletimde,Q2 kesimde iken 1.Çıkış ==1, 2.Çıkış== 0 olur. Kondansatörlerin 0,7V 'a ulaşıp boşalmaları ile bu sıra sürekli değişir ve bir kare dalga üreteci ortaya çıkmış olur.
R1=R4, R2=R3 ve C1=C2 alınırsa devre simetrik ters dalga üretimi gerçekleştirilmiş olur.
Frekans hesabına gelince ;
T=T1+T2
T1=R1 * C1 * ln2
T2=R2 * C2 * ln2 ve f= 1 / T ; formüllerinden bulunabilir.
Etiketler:
Astable,
Elektronik II,
Flaşör Devresi,
Flip-flop,
Hobi Elektronik,
Karadeniz Teknik Üniversitesi,
Kararsız,
Kare Dalga Osilatör,
Multivibratör,
Prof.Dr.İsmail Hakkı ÇAVDAR
7 Mayıs 2014 Çarşamba
Arduino - PWM ile DC Motor Sürme
Darbe genişlik modülasyonu (PWM) ile ilgili uygulama gerçekleştirmiştik. Bu yazımda ise bu konuyu biraz daha aralayacağız ve bu modülasyon ile transistörün anahtarlama özelliğinden faydalanarak DC motor hızını kontrol edeceğiz.
PWM'den bahsetmeden önce gerekli olan malzemelerden bahsetmek istiyorum.
PWM en basit haliyle bir sinyal modülasyon tekniği olarak tanımlanabilir. Sinyal bilgisinin aktarım için uygun hale çevirilmesi amacının yanı sıra güç kontrolü sağlamak ve elektrik makineleri,güneş pili şarj üniteleri gibi özel devrelere destek olmak amacı da taşır.
Bu kontrol de tamamen anahtarlama ile sağlanır. Anahtarlama ne kadar hızlı yapılırsa, PWM ile aktarılan sinyalin gücü o kadar da artar. Örneğin bir lambaya gönderilen sinyalde PWM tekniğine ihtiyaç duyuluyorsa, bu teknik 120 Hz frekans değerinde uygulandığında maksimum verim elde edilebilir.
"Duty Cycle" yani görev döngüsü olarak tanımlanan bir kavram bulunuyor ve PWM tekniğinde de sıkça karşımıza çıkıyor. Görev döngüsü kavramı aslında yapılan işlemin periyodunu belirtiyor. Bu döngü düşük seviyelerde ise aktarılan güç düşük olurken, döngünün yüksek seviyelerinde yüksek güç aktarılıyor.
PWM'den bahsetmeden önce gerekli olan malzemelerden bahsetmek istiyorum.
- 2N2222 Transistör
- 1N4001 Diyot
- 5K ya da 10K Pot
- DC Motor (9V'luk ya da daha küçük)
- 470 Ώ direnç
PWM en basit haliyle bir sinyal modülasyon tekniği olarak tanımlanabilir. Sinyal bilgisinin aktarım için uygun hale çevirilmesi amacının yanı sıra güç kontrolü sağlamak ve elektrik makineleri,güneş pili şarj üniteleri gibi özel devrelere destek olmak amacı da taşır.
Bu kontrol de tamamen anahtarlama ile sağlanır. Anahtarlama ne kadar hızlı yapılırsa, PWM ile aktarılan sinyalin gücü o kadar da artar. Örneğin bir lambaya gönderilen sinyalde PWM tekniğine ihtiyaç duyuluyorsa, bu teknik 120 Hz frekans değerinde uygulandığında maksimum verim elde edilebilir.
"Duty Cycle" yani görev döngüsü olarak tanımlanan bir kavram bulunuyor ve PWM tekniğinde de sıkça karşımıza çıkıyor. Görev döngüsü kavramı aslında yapılan işlemin periyodunu belirtiyor. Bu döngü düşük seviyelerde ise aktarılan güç düşük olurken, döngünün yüksek seviyelerinde yüksek güç aktarılıyor.
Etiketler:
2N2222,
ADC,
Arduino Projeleri,
Arduino Tutorial,
Arduino Uygulama,
DAC,
Darbe Genişlik Modülasyonu,
DC Motor,
DC Motor Sürme,
Karadeniz Teknik Üniversitesi,
KTÜ,
Pulse-Width Modulation,
PWM,
PWM ile DC Motor
4 Nisan 2014 Cuma
Arduino - Kızılötesi Kullanarak (Infared Receiver) TV Kumandası ile Led Yakma
Yavaş yavaş kablosuz düzeneklere geçmenin fayda sağlayacağını düşündüm. Bunun için de aralarından en basiti olan kızılötesi haberleşmeyi seçtim. Kısaca bahsetmek gerekirse kızılötesi bizim gözümüzle göremediğimiz ışınlar ve bu ışınları görebilen alıcı ve vericiler sayesinde 2 ayrı bağımsız devre belirli kodlamalar sayesinde haberleşebiliyor.En basitinden telefonunuzun kamerası ile televizyon kumandasının önündeki lede bakarken herhangi bir tuşa bastığınızda led'in yandığını görebilirsiniz. Fakat çıplak gözle kendimiz bu ışınları göremiyoruz.
TV kumandası seçtim çünkü hem bu kumandalardaki kodları çözümlemeyi öğrenmek hem de hazır bir verici olduğu için bizi fazla uğraştan kurtarır diye düşündüm :).
Kısaca yapacağımız projeyi anlatmam gerekirse önce TV kumandamızdaki tuşların kodlarını arduinomuz sayesinde öğreneceğiz ve bu kodları kullanarak sayısal çıkışlara hükmedeceğiz.
TV kumandası seçtim çünkü hem bu kumandalardaki kodları çözümlemeyi öğrenmek hem de hazır bir verici olduğu için bizi fazla uğraştan kurtarır diye düşündüm :).
Kısaca yapacağımız projeyi anlatmam gerekirse önce TV kumandamızdaki tuşların kodlarını arduinomuz sayesinde öğreneceğiz ve bu kodları kullanarak sayısal çıkışlara hükmedeceğiz.
Etiketler:
Arduino,
Arduino Tutorial,
Arduino Uygulama,
Infared Remoter,
IR receiver,
Karadeniz Teknik Üniversitesi,
Kızılötesi,
Microchip,
microcontroller,
microprocessor,
mikrodenetleyici,
TV Kumandası
27 Mart 2014 Perşembe
Arduino - HC-SR04 Ultrasonik Sensör ile Mesafe Ölçer Uygulaması
Merhaba. Bu yazımda HC-SR04 ultrasonic sensörünü tanıyıp cisim algılama ve de mesafe ölçümü yapacağız. Ses dalgaları sınıflandırılmasında 20 KHz-1 GHz arasındaki ses sinyalleri ultrasonic ses olarak tanımlanmıştır.Bizim sensörümüz ve bir çok ultrasonic sensör 40Khz frekansında ultrasonic ses üretmektedir. Burada önemli olan sesin yüksekliğinde belirleyici olan etken frekanstır.Ses yüksekse frekansta yüksektir.Ultrasonic ses sinyallerini insan kulağı algılayamaz.
Aslında HC-SR04 tüm haliyle bir transdüserdir. Transdüser ile sensör arasındaki fark ise sensör herhangi fiziksel bir değişimi algılayan bir eleman iken, transdüser bu değişimi algılayıp elektrik,ısı vs. bir çok enerji formuna dönüştürebilen bir elektronik devredir.
HC-SR04'te 2 adet araba farını andıran bir tanesi ses iletici diğeri de ses alıcı olan transdüser bulunmakta. Sol taraftan 40 KHz'de üretilen ses sinyal darbesi engele çarpıp sağ tarafa gelir ve biz bu gidiş-geliş arasındaki zamanı, cm'ye çevirerek uzaklığı ölçeceğiz.
T=0 zamanında darbe iletilir(ultrasonic ses sinyali), cisimden yansır, transdüser tarafından algılanır ve tekrar
gönderilir.
Etiketler:
Arduino,
Arduino Tutorial,
arduinotik,
HC-SR04,
Karadeniz Teknik Üniversitesi,
KTÜ,
LM016,
mcu-turkey,
Microchip,
microcontroller,
pals,
Pulse,
Ses,
Tutorial,
Ultrasonic Censor,
Ultrasonik Sensör
16 Mart 2014 Pazar
Arduino- Çıkışları 9Volt veya 12 Volt Yapmak
Bildiğiniz üzere Arduino çıkışları 5V olmak üzere tasarlanmış. Fakat bazı devrelerde yönetmek istediğimiz elemanların çalışma voltları 12V,9V olabilmekte. Arduino ile bu elemanları yönetebilmek için mikrodenetleyicimizin ilgili pin çıkışına yandaki devreyi kurduğumuzda çıkışı 12V olarak yani transistörleri kaç volt ile besliyorsak o gerilimde alabileceğiz. Bunu bir nevi DC-DC Inverter olarak da düşünebiliriz .
Etiketler:
12V,
12V Output,
Antalya,
Arduino,
Arduino Tutorial,
Arduino UNO,
DC-DC ınverter,
Digital,
Dijital,
Inverter Arduino,
Karadeniz Teknik Üniversitesi,
Microchip,
microprocessor
15 Mart 2014 Cumartesi
Arduino - LM35 Sıcaklık Sensörü ve LCD ile Termometre Uygulaması
Bu yazımda geçen yazıda yaptığımız termometre uygulamasında kullandığımız seri haberleşme yerine LCD ekranı kullanarak yine aynı projeyi yaptım.
Bu projeyi PCB karta işlerken elbette seri haberleşme portu yerine portatif olan LCD'yi kullanmak durumunda kalırız. Bu yüzden LCD'yi de öğrenmek mühim. Zaten Seri Haberleşmeyi tam olarak öğrenebilirsek LCD'yi de kullanmak zor olmayacaktır.
Burda sadece LCD Ekran kullanımı ve LM35 Termometre projelerini birleştirdim ve aşağıdaki kodu koştum. LCD Bağlantılarını tekrar yazacağım uğraşmak istemeyenler için :).
Etiketler:
ADC,
Analog,
Arduino,
Arduino Tutorial,
arduinotik,
Karadeniz Teknik Üniversitesi,
KTÜ,
LCD,
LM016,
LM35 Project,
MCU,
Microchip,
mikroişlemci,
Temperature Censor,
Termometer Project
12 Mart 2014 Çarşamba
Arduino - LM35 Sıcaklık Sensörü ile Termometre Uygulaması
Analog giriş fonksiyonları ile sadece potansiyometre gibi elemanların çıkışlarını değil aynı zamanda analog çıkış veren bütün sensörlerin gerilim değerlerini Arduino'ya aktarabiliriz.Elbette ki bu değerler 5V değerini aşmamalı.
Sol taraftaki resimde sıcaklık değerini analog çıkış olarak vermekte olan LM35 sensörü ve pinlerinin ne için kullanıldığı gösterilmekte.
Vs+ Arduino'muzun 5V, Toprak pini GND'ye ve Vçıkış olarak gösterilen pin de herhangi bir analog girişe takılarak Arduino ile sıcaklık ölçümü yapabiliriz.
Bu proje ile hem sensör ölçümlerine başlamış olacağız, hem de bir önceki yazıda görmüş olduğumuz "float" kodunu da kullanmış olacağız.
Analog giriş için Arduino'daki A1 pin girişini kullandım. Analog girişler sol tarafta olduğundan devre kurma işininin rahat olması için breadboard un sağ tarafının kullanılması sağlıklı olur.
Matematiksel ifadeyi kurabilmek için yani analog değeri sayısal değere çevirmek için LM35'in analog çıkış yapısını bilmemiz gerekir.
Orta bacağından verilen mV mertebesindeki gerilim her °C için 10 mV üretir. Yani 25 °C için çıkış 250 mV olur.
Sol taraftaki resimde sıcaklık değerini analog çıkış olarak vermekte olan LM35 sensörü ve pinlerinin ne için kullanıldığı gösterilmekte.
Vs+ Arduino'muzun 5V, Toprak pini GND'ye ve Vçıkış olarak gösterilen pin de herhangi bir analog girişe takılarak Arduino ile sıcaklık ölçümü yapabiliriz.
Bu proje ile hem sensör ölçümlerine başlamış olacağız, hem de bir önceki yazıda görmüş olduğumuz "float" kodunu da kullanmış olacağız.
Analog giriş için Arduino'daki A1 pin girişini kullandım. Analog girişler sol tarafta olduğundan devre kurma işininin rahat olması için breadboard un sağ tarafının kullanılması sağlıklı olur.
Matematiksel ifadeyi kurabilmek için yani analog değeri sayısal değere çevirmek için LM35'in analog çıkış yapısını bilmemiz gerekir.
Orta bacağından verilen mV mertebesindeki gerilim her °C için 10 mV üretir. Yani 25 °C için çıkış 250 mV olur.
Etiketler:
Analog,
Arduino Termometre,
Arduino Tutorial,
Arduino UNO,
arduinotik,
LCD,
LiquidCrystal,
LM35 Project,
microprocessor,
mikrodenetleyici,
Sıcaklık Sensörü,
Temperature Censor,
Termometer Project,
Türkiye
11 Mart 2014 Salı
Arduino - Matematiksel İşlemler
Arduino matematiksel işlemler yapmak için matematiksel operatörleri kullanır. Bu operatörleri birlikte kullanarak karmaşık matematik işlemleri, arduinoya yaptırabilir sensörlerden elde ettiğimiz değerleri(V,mV) istediğimiz değerlere çevirebiliriz (K,C,metre vs.).
Bu operatörlere örnek vermek gerekirse,
c= a + b // a değeri ile, b değerini toplayıp c değerine atar.
c= a - b // a değerinden b değerini çıkartıp c değerine atar.
c= a * b // a değeri ile, b değeriniçarpıp c değerine atar.
c= a / b // a değerini b değerine bölüp c değerine atar.
c = a%b // a değerinin b ye bölümünden kalanı c değerine atar, bu ifadeyi kullanmıştık.
Ledlerin veya butonların hangi pinlere bağlı olduğunu belirtmek için int değerini kullanmıştık.
Bu int değeri bizim belirttiğimiz sayının veya çıkışın tamsayı istendiği anlamına gelmekte.
Bu operatörlere örnek vermek gerekirse,
c= a + b // a değeri ile, b değerini toplayıp c değerine atar.
c= a - b // a değerinden b değerini çıkartıp c değerine atar.
c= a * b // a değeri ile, b değeriniçarpıp c değerine atar.
c= a / b // a değerini b değerine bölüp c değerine atar.
c = a%b // a değerinin b ye bölümünden kalanı c değerine atar, bu ifadeyi kullanmıştık.
Ledlerin veya butonların hangi pinlere bağlı olduğunu belirtmek için int değerini kullanmıştık.
Bu int değeri bizim belirttiğimiz sayının veya çıkışın tamsayı istendiği anlamına gelmekte.
9 Mart 2014 Pazar
Arduino - Ortak Katot 7 Segmentli Gösterge 0-9 Sayıcı
Bir önceki yazımda ledleri buton yardımıyla sırasıyla yakmıştık. Bu yazımda ise 7 segment gösterge (display) kullanarak 0-9 sayıcı yapacağız. Ama önce 7 segment display hakkında biraz bilgi edinmeliyiz.
Displaylerin bir çok çeşiti bulunmakta (ortak anot,ortak katot, 7seg,14 seg, 16 seg vs.). Biz projemizde 7 segmentli ortak katot display kullanacağız.
Display 8 adet ledden oluşmakta. Bunlardan 7 tanesini
istediğimiz rakamları göstermek için kullanacağız. Bu yüzden de hangi ledi hangi harfle adlandırdığımızı programlamanın ve sayıcının sağlığı açısından iyi öğrenmemiz gerekiyor. Sağdaki resim hangi ledin hangi harf ile standardize edildiğini gösteriyor. Bu isimler standarttır tabi siz kendi istediğiniz gibi adlandırabilirsiniz fakat şimdiki proje için standarda uyacağız.
Elimizde bulunan katot displayin hangi pininin hangi ledi yaktığı yandaki resim göstermekte. A ledini yakmak için örneğin 7 numaralı display pinine gerilim vermeliyiz. Tabii ki 5 voltu aşmamak ve 8.,3. pinlerin toprağa bağlı olması şartı ile.
Herhangi bir lede gerilim uygulamadaki direnç bağlama kuralımızı burda da işleyebiliriz o yüzden pinlere direkt 9v veya benzeri gerilimleri uygulamayın :) .
Projemize gelince, yanmasını istediğimiz ledleri teker teker Arduino'muzdaki belirlediğimiz pinlere takıyoruz. Kusura bakmayın fritzingde devre biraz karışık çıktı fakat eminim ki kodlara bakarak zaten devreyi kendiniz de kurabilirsiniz rahatlıkla.
Devrede bir önceki yazıda yaptığımız uygulamaya benzer olacak sadece daha gösterişli ve daha anlamlı daha işe yarar bir proje olacak. Geliştirilerek skorboard yapılabilir bu proje ile.
Display 8 adet ledden oluşmakta. Bunlardan 7 tanesini
istediğimiz rakamları göstermek için kullanacağız. Bu yüzden de hangi ledi hangi harfle adlandırdığımızı programlamanın ve sayıcının sağlığı açısından iyi öğrenmemiz gerekiyor. Sağdaki resim hangi ledin hangi harf ile standardize edildiğini gösteriyor. Bu isimler standarttır tabi siz kendi istediğiniz gibi adlandırabilirsiniz fakat şimdiki proje için standarda uyacağız.
Elimizde bulunan katot displayin hangi pininin hangi ledi yaktığı yandaki resim göstermekte. A ledini yakmak için örneğin 7 numaralı display pinine gerilim vermeliyiz. Tabii ki 5 voltu aşmamak ve 8.,3. pinlerin toprağa bağlı olması şartı ile.
Herhangi bir lede gerilim uygulamadaki direnç bağlama kuralımızı burda da işleyebiliriz o yüzden pinlere direkt 9v veya benzeri gerilimleri uygulamayın :) .
Devrede bir önceki yazıda yaptığımız uygulamaya benzer olacak sadece daha gösterişli ve daha anlamlı daha işe yarar bir proje olacak. Geliştirilerek skorboard yapılabilir bu proje ile.
Etiketler:
0-9 counter,
0-9 sayıcı,
7 Segment Display,
Arduino,
Arduino Application,
Arduino Tutorial,
Arduino UNO,
Buton,
common cathode,
Karadeniz Teknik Üniversitesi,
Microchip,
microprocessor,
ortak katot,
sayaç
8 Mart 2014 Cumartesi
Arduino - Buton ile Çıkışları Değiştirme
Butonların öneminden daha önceki yazımda bahsetmiştim. Burada da yine bir öncekine benzer bir uygulama yapacağız. Bu uygulamanın yapılış amacını aslında 7 segment display uygulamalarına giriş için yaptığımızı düşünebiliriz.
Kısaca uygulamadan söz etmek gerekirse amacımız burda 1 sayısal giriş ile 2 sayısal çıkışı yönetmek olacak. Butona her bastığımızda çıkışın yeri değişecek. Yani çıkış olarak kullandığımız yeşil ve turuncu ledleri sırayla butona basarak yanmasını sağlayacağız.
Bu uygulamaya geçmeden önce size aritmetik bir operatör olan " mod " almayı anlatacağım.
Arduino'da ve bir çok C tabanlı dilde mod " % " ifadesi ile alınmakta. Yani biz herhangi bir integer değerin herhangi bir sayı modunda almak istersek şu şekilde kullanmamız gerekiyor.
22 Ağustos 2013 Perşembe
Arduino - LCD Ekran Uygulaması
LCD uygulamaları mikroişlemciler ile yapılan uygulamalar için önemli bir temel taş. Çünkü ölçülmesini istediğimiz (mesafe ölçümü,hız ölçümü vs.) birimleri aynı anda ekranda görebilme imkanımız bulunmakta.
Öncelikle LCD ekrandan bahsetmek istiyorum.Gereksiz bilgi ama açılımı Liquid-Cyrstal Display. Piyasada çok çeşidi var hatta Arduino için üretilmiş olanları bile var.Fakat ben LCD ekranımı Arduino'yu almadan çok çok önce aldığım için biraz farklı ve bağlantıları resimden de anlaşılacağı üzere biraz karmaşık oldu.
Öncelikle LCD ekrandan bahsetmek istiyorum.Gereksiz bilgi ama açılımı Liquid-Cyrstal Display. Piyasada çok çeşidi var hatta Arduino için üretilmiş olanları bile var.Fakat ben LCD ekranımı Arduino'yu almadan çok çok önce aldığım için biraz farklı ve bağlantıları resimden de anlaşılacağı üzere biraz karmaşık oldu.
Kaydol:
Kayıtlar (Atom)