WRITING SOFTWARE OF CONTROLING UNO WITH ARDUINO [TUTORIAL LESSON 9]
Hi there,
We've made a lot of project on Arduino with together so I am keep going my lessons. I will teach you writing software of contorling uno today. This is our 9th. lesson. I will give some information about infrared systems before start lesson.
Herkese merhaba,
Sizlerle birlikte bir çok Arduino projesi yaptık ve derslerimize devam ediyoruz. Bugün sizlere kumanda ile Arduino uno kartını kontrol etme sisteminin yazılımını nasıl yazacağımızı öğreteceğim. Bu bizim 9. dersimiz. Derse başlamadan önce kızıl ötesi sistemler hakkında bir kaç ön bilgi vereceğim.
Kızılötesi haberleşme kullanımları çok kolay ve oldukça ucuzdur. Kızılötesiyle çalışan sistemleri günlük hayatta bir çok yerde görebiliriz. Mesela herhangi bir TV kumandası, radyo kumandası, ses sistemi hatta oto teyp kumandasında bile kızılötesi alıcı vardır.Kızıl ötesi alıcıları bacaklarına göre farklı çeşitleri vardır. Ancak hepsi aynı işlevi görür. Bizim kullanacağımız kızıl ötesi alıcı üzerinde (+),(-) ve kontrol için üçüncü bir bacak vardır. Alıcıda bize geribildirim vermek için ise kırmızı bir led takılıdır yani bi kızılötesi vericimizle veri gönderdiğimiz zaman alıcımıza ulaştığını bize gösteren bir led bulunur. Şimdi yazılımımıza başlayabiliriz.
1.AŞAMA
İlk olarak infarared kütüphanesini Arduino IDE programımıza çağırıyoruz. Yolladığımız verileri kaydetmek için değişken tanımlamamız gerekiyor. Gelen verilerin nereye depolanacağını da belirledikten sonra ilk aşamamızı bitiriyoruz. Kumanda tuşlarımızın kodlarını aldıktan sonra bu aşamaya geri döneceğiz şimdilik burada bırakıyoruz.
#include <IRremote.h>
IRrecv irrecv(2);
decode_results results;
2.AŞAMA
Void setup kısmına giderek Seri başlangıç komutunu yazıyoruz. Gelen verileri bu komut ile okuyacağız. Sonra modülün başlatılmasını sağlayan kodumuzu yazıyoruz.
Artık infraredimiz çalışır vaziyettetir loop döngüsüne geçebiliriz.
Serial.begin(9600);
irrecv.enableIRIn();
3.AŞAMA
If komutuyla bir sorgulama kodu yazıyoruz. Sorgumuz şu şekilde alıcımız kendi içerisinde bir butona basılmış mı bir veri yollanmış mı bunu sorgulayacaktır.
Sonra gelen sonuçları ekrana yazdırmak istediğimiz için bir kod daha yazıyoruz. İşlem bittikten sonra da gelecek olan ışınları aramaya devam etmesi için ayrı bir kod daha giriyoruz.
if (irrecv.decode(&results))
{
Serial.println(results.value, HEX);
irrecv.resume();
}
Bu aşamaları yaptıktan sonra kumandamızın tuşlarına tek tek basarak hangi tuşun hangi koda sahip olduğunu kaydediyoruz Ve hangi butonun nasıl görev alacağını buton kodlarını kullanarak yazıyoruz.
6.Aşama
İlk giriş aşamamıza butonları tanıtıp şu kodları giriyoruz...
#define BUTON1 0xFD00FF
#define BUTON2 0xFD807F
#define BUTON3 0xFD40BF
#define BUTON4 0xFD20DF
#define BUTON5 0xFDA05F
#define BUTON6 0xFD609F
#define BUTON7 0xFD10EF
#define BUTON8 0xFD906F
#define BUTON9 0xFD50AF
#define YILDIZ 0xFD30CF
#define BUTON0 0x409f50AF
#define YUKARI 0xFD8877
#define SOL 0xFD28D7
#define OK 0xFDA857
#define SAG 0xFD6897
#define ASAGI 0xFD9867
Devreye takmış olduğumuz ledi bastığımız butonla yanmasını istiyoruz. Bu amaçla if komutunu tekrar düzenleyeceğiz. Eğer ben 0 tuşuna basarsam led yansın istiyorum. Hatta 0 tuşuna bastığım zaman yanıyorsa sönsün sönüyorsa yansın şeklinde kodlarımızı ekliyoruz.
7.AŞAMA
Bu aşamada yukarda söylediğim şartları Arduino IDE ye tanıtmamız için loop döngüsünü yeniden düzenleyeceğiz loop döngüsü aşamasında daha önce verdiğim kodları aşağıdaki kodlarla tamamen değiştirebilirsiniz.
if (irrecv.decode(&results))
{
Serial.println(results.value, HEX);
if(results.value == BUTON0)
digitalWrite( 3, !digitalRead(3));
irrecv.resume();
}
Yazılımımız burada son buldu. Başarılı bir şekilde kızılötesi alıcı ile Arduino kontrolünü yapabiliriz. Kumandalarda bildiğiniz gibi oldukça fazla tuş vardır. Bu dersi kontrol ederek kompleks sistemlerimizi birden çok tuş atamasıyla istediğimiz gibi kontrol edebiliriz.Yazılımımızın Arduino üzerinde ki görüntüsünü ekliyorum. Derslerimiz devam edecektir. İyi Çalışmalar...
Posted on Utopian.io - Rewarding Open Source Contributors
Thank you for the contribution. It has been approved.
Please use a proper translator tool for your English introduction next time to make it better. It is hard to understand and full of mistakes.
You can contact us on Discord.
[utopian-moderator]
sorry for my language. It will improve. Thanks for return.
Hey @sametceylan I am @utopian-io. I have just upvoted you!
Achievements
Suggestions
Get Noticed!
Community-Driven Witness!
I am the first and only Steem Community-Driven Witness. Participate on Discord. Lets GROW TOGETHER!
Up-vote this comment to grow my power and help Open Source contributions like this one. Want to chat? Join me on Discord https://discord.gg/Pc8HG9x
Resteemed your article. This article was resteemed because you are part of the New Steemians project. You can learn more about it here: https://steemit.com/introduceyourself/@gaman/new-steemians-project-launch