Arduino İle Mikrodenetleyicilere Giriş
1.1)Mikrodenetleyici Nedir?
En basit şekliyle mikrodenetleyiciler; içerisinde hafızası, işlemcisi ve Programlanabilir giriş-çıkış arayüzleri olan bütünleşmiş devrelerdir.
İşlevine ve çalışacağı projeye göre özellikleri değişebilir. Örneğin; yüksek hafıza gerektiren projelerde, daha büyük hafızaya sahip mikrodenetleyiciler tercih edilir.
1.2) Programlama Arayüzü:
Mikrodenetleyicilerin çalışması için gereken yazılımı hafızasına aktarabilmek için bir donanım arayüzüne ihtiyaç vardır. Bu donanım arayüzleri genelde USB veya RS232 bağıntısı ile bilgisayara bağlanan elektronik kartlardır.
Her mikrodenetleyicinin bir de kendine has yazılım arayüzü vardır. Bu arayüzler açık kaynaklı ve ucuz olabileceği gibi; kapalı kaynak kodlu, lisansli ve pahalı da olabilir.
1.3)Mikroişlemci ve Mikrodenetleyici Farkları:
Mikroişlemciler, içinde sadece CPU yani işlemci bulundurur ve RAM gibi elemanlar harici olarak bağlanır. Genel amaçlı kullanılır ve pahalıdır. Aritmetik gibi işlemler için genelde bilgisayarda kullanılır.
Mikrodenetleciler, içinde CPU ve bunun yanında RAM, ROM ve zamanlayıcı gibi bir bilgisayarda bulunabilecek elemanlar bulunur. Özel amaçlı kullanılır ve ucuzdur. Sensör okuması gibi elektronik işlemlerde kullanılır.
2.1)Arduino Nedir?
Arduino, bir mikrodenetleyici prototipleme platformudur.
Kullanımı kolay, açık kaynak kodlu yazılım ve donanıma sahip Ardunio; baskılı devresi, şematik tasarımı, bilgisayarda çalışan derleyicisi, kütüphaneleri ve tüm detayları ile İnternet ortamında ücretsiz paylaşılır.
Arduino platformunda ATmega ailesinden olan mikronetleyiciler kullanılır.
Alt seviye mikrodenetleyici bilgisi gerektirmemesi ve zengin bir kütüphane desteği ile kolaylık sağlar.
Programlamada C ve C++ tabanlı bir dil kullanılmaktadır.
2.2)Arduino ile Ne Yapabiliriz?
Arduino ile günümüzde büyük ve küçük çapta birçok uygulama yapılabilir.
Medikal Uygulamalar |
2.3)Neden Arduino Kullanmalıyız?
1) Açık kaynaklı donanımı ve yazılım ile ucuz ve erişilebilir.
2) Deneysel amaçlı yapılacak işler için uygun fiyatlı geliştirme ortamı
3) Zengin kütüphane desteği ileri teknolojiler Arduino'nun sunmuş olduğu kartlara kolayca entegre edilebilir.
4) USB ve Bluetooth gibi evrensel iletişim sistemleri
5) Mikrodenetleyici iler veri giriş-çıkışları kolaylıkla sağlanabilir.
6) Serigrafi ile kart yapma ihtiyacı yoktur
7) Alt seviye mikrodenetleici bilgisi gerektirmez.
8) Programlayıcı ve mikrodenetleyici aynı kartta olduğu için ek geliştirme masrafı yoktur.
2.4)Arduino Kartı Çeşitleri:
Çeşitlilik sebebi; uygulama gereksinimidir ve tüm bu kartların ortak noktası programlama dilidir.
Arduino Mega Şekil 2.4a |
Daha fazla sensör bağlama ihtiyacı için Arduino Mega kullanılır. (Şekil 2.4a)
Daha küçük bir kart için Ardunio Pro Mini kullanılır. (Şekil 2.4b)
Ardunio UNO |
1) 20 adet dijital giriş-çıkış, 6 adet de analog giriş çıkışı vardır.
2) Üzerindeki ATmega16U2 sayesinde USB üzerinden programlanabilir.
3) Gücünü USB üzerinden aldığı için harici bir güç kaynağına ihtiyaç duymaz.
4) Çok popüler ve uygun fiyatlı olmasından dolayı Arduino UNO ile yapılmış proje örneklerine çokça rastlanır.
3.2)Arduino UNO Yapısı:
2-AC GÜÇ GİRİŞİ
3-VOLTAJ REGULATÖRÜ
4- KRİSTAL OSİLATÖR
5- ARDUINO RESET BUTON
6- IOREF : Arduino kart eklentileri için besleme voltajı seçimini sağlamaktadır.
7- ARDUINO RESET PIN
8- 3.3V BESLEME
9- 5V BESLEME
Not: Arduino kartıyla kullanılan bileşenlerin çoğu 3.3 volt ve 5 volt ile çalışıyor.
10- GND
11-Vin
12- ANALOG PINLER
13- ANA MICRODENETLEYİCİ
14- ICSP PIN
15- POWER LED GÖSTERGESİ
16- TX ve RX LEDLERİ
17- DIJITAL I/O
18-AREF4.1) Temel Arduino Fonksiyonları:
Ardunio ile program geliştirirken program becerisinin yanında kullanılacak elektronik parçaları tanımak da gerekir. Arduino programlama dili olarak basitleştirilmiş C veya C++ kullanılır. Başlangıç komutları için üç tanedir.
Ardunio Başlangıç Ekranı |
Ardunio Proje ekranını açtığımızda karşılaşılan iki fonksiyondur.
Setup fonksiyonu, kod çalışmaya başladığında Arduino'nun ilk olarak okuduğu yerdir. Arduino bu kısmı okuduktan sonra diğer kısımları okumaya başlar. Bu kısım sadece bir kez okunur.
Loop fonksiyonu, setup programı okunduktan sonra okunur. Burası ana fonksiyondur, yapılması istenen işlemler buraya yazılır. Loop fonksiyonu sonsuz döngü içindedir.
4.1.2) PinMode
Programın başında (Setup) kullanılacak pinler ayarlanmalıdır. Bunun için kullanılacak olan fonksiyon;
pinMode(13,OUTPUT);
Böylece 13.pin çıkış olarak tanımlanır. Giriş olarak tanımlanması için OUTPUT yerine INPUT yazılması gerekir.
4.1.3)Delay
İki fonksiyon arası beklemeler sağlamak için kullanılır. Örneğin yanıp sönen lamba uygulaması yapılmak istenirse, lamba yakıp söndüren komutlar arasına bekleme sağlamak için delay eklenir. Örneğin yarım saniyelik bekleme fonksiyonu için yazılacak olan;
delay(500);
Bir sürü yerden araştırıp bulabileceğimiz bir konunun gerekli tüm bilgilerini içeren harika bir özeti. Bilgi edinmek ve Ardunioya başlamak isteyenler için çok uygun. Teşekkürler.
YanıtlaSil