You are on page 1of 21

Arduino Nedir?
Arduino esnek, kolay kullanımlı donanım ve yazılım tabanlı bir açık kaynaklı elektronik prototip platformudur. Bu platform kolay kullanım özelliği sayesinde özellikle sanatçılar, tasarımcılar, hobi ve etkileşimli nesne veya ortam oluşturmayı isteyen kişiler için tasarlanmıştır. Arduino geliştirme kartı üzerindeki mikroişlemci Arduino programlama dili (wiring tabanlı) ile programlanır ve bu program Processing tabanlı Arduino Yazılım Geliştirme Ortamı (IDE) yardımı ile karta yüklenir. Arduino, elektronik ve yazılım bilginiz sınırlı olsa bile aklınızdaki fikrinizi kolaylıkla prototiplemenize imkan sunar.

kolay kullanımı. Özellikle katman (shield) yapısı. Arduino UNO Arduino Mega 2560 . En son güncellenen Arduino geliştirme kartları.Arduino Geliştirme Kartı Modelleri Arduino geliştirme kartı ailesi her gün büyümektedir. örnek uygulamaları. kodları ve kütüphaneleri ile uygulamalarınız için hızlandırıcı bir unsurdur.

Arduino Model .

. USB bağlantısına. 6 analog girişe. ICSP bağlantısına ve reset tuşuna sahiptir. Bilgisayar ile USB portu üzerinden bağlamanız kartın çalışması için yeterlidir Pil ya da adaptör ile de kullanılabilir. 16 Mhz kristal osilatöre. 14 adet dijital giriş/çıkış bağlantısına (bunların 6 tanesi PWM çıkışı olarak kullanılabilir). Kart.Arduino Uno Genel Bilgi ATmega 328 tabanlı bir mikroişlemci geliştirme kartıdır. güç bağlantısına.

GND. Güç beslemesi.3 Volt çıkışı olan bağlantıdır. Arduino Uno devresi üzerinde regüle edilmiş 3. Toprak bağlantısıdır. USB bağlantısı tarafından. Güç bağlantı soketi yerine kullanılabilecek olan giriş bağlantısı Arduino Uno’yu beslemenizi sağlar (Sadece tek bir bağlantı ile beslemeniz yeterlidir. besleme soketinden yapılabileceği gibi Gnd ve Vin soketleri ile de sağlanılabilir. 3V3. Güç Pinleri: VIN. Arduino Uno devresi üzerinde regüle edilmiş 5 Volt çıkışı olan bağlantıdır. Güç bağlantı soketi ya da Vin giriş bağlantısından bir tanesini kullanınız.) 5V. . pil ya da güç kaynağı tarafından beslenebilir.Arduino Uno Güç Arduino Uno.

10. Bunların dışında bazı bağlantıların kendine has özellikleri bulunmaktadır: Seri İletişim : 0 (RX) ve 1 (TX). alçalan ve yükselen sinyal. 5. attachInterrupt() komutu ile kullanılmaktadır. analogWrite() komutu ile 8-bit çözünürlüğünde PWM çıkışı sağlayabilen bağlantılardır.Giriş ve Çıkışlar 14 Dijital bağlantının her biri giriş ya da çıkış olarak kullanılabilir. Dış Kesmeler: 2 ve 3. pinMode() komutu ile pinlerin giriş ya da çıkış olacakları. PWM: 3. Bu bağlantılar düşük değer. ve 11. Bu bağlantılar. 6. Bağlantılar 5 Volt ile çalışır ve 20-50 kOhm iç direnç değerlerine sahiplerdir. 9. USB çıkışına bağlı olup TTL seri sinyalini taşımak için kullanılmaktadır. durum değişikliği gibi olaylar için ayarlanabilen kesme bağlantılarıdır. digitalWrite() ve digitalRead() komutları ile de bu pinlerdeki durumu değiştirme ya da okuma işlemleri gerçekleştirilebilir. .

11 (MOSI). Wire kütüphanesi ile I2C (TWI) bağlantısını destekleyen bağlantılardır. .Giriş ve Çıkışlar SPI: 10 (SS). Girişin durumuna göre yakılıp söndürülebilir. SPI kütüphanesi ile SPI iletişim uygulamarında kullanılan bağlantılardır. Girişe bağlanmıştır ve 13. Arduino Uno 6 analog girişe sahiptir ve bunlar A0‘dan A5’e kadar numaralandırılmışlardır. Bu işlem için analogReference() komutu kullanılmaktadır. Her biri 10 bit çözünürlüğe sahiptir. 13 (SCK). LED: 13. Bu pinlerden bazıları farklı özellikler için kullanılmaktadır: I2C: 4 (SDA) ve 5 (SCL). Genel kullanımda 5 volt ile toprak arasında ölçüm yapan girişler için AREF bağlantısı kullanılarak ölçüm aralığı değiştirilebilir. Devre kartı üzerinde bulunan LED 13. 12 (MISO).

16 adet analog girişe. 4 UART portuna.Arduino Mega 2560 Arduino Mega. . AC/DC adaptör ya da pil ile beslenebilir. USB bağlantısına ve güç girişine sahiptir. Kart 54 adet dijital giriş/çıkış pinlerine (14 tanesi PWM sinyal çıkışı için kullanılabilir). Bir mikroişlemci için gerekli bütün elemanlara sahip olan kart USB kablosu. 16 Mhz kristal osilatöre. Atmega2560 mikroişlemci tabanlı bir geliştirme kartıdır.

besleme soketinden yapılabileceği gibi Gnd ve Vin soketleri ile de sağlanılabilir. Arduino Mega2560 devresi üzerinde regüle edilmiş 3. Güç bağlantı soketi ya da Vin giriş bağlantısından bir tanesini kullanınız. 3V3. pil ya da güç kaynağı tarafından beslenebilir. Maksimum 50mA akım çekebilmektedir. Toprak bağlantısıdır. Güç Pinleri: VIN. Arduino Mega2560 devresi üzerinde regüle edilmiş 5 Volt çıkışı olan bağlantıdır.Güç Arduino Mega2560. USB bağlantısı tarafından. .3 Volt çıkışı olan bağlantıdır. GND. Güç bağlantı soketi yerine kullanılabilecek olan giriş bağlantısı Arduino Mega2560’ı beslemenizi sağlar (Sadece tek bir bağlantı ile beslemeniz yeterlidir.) 5V. Güç beslemesi.

Bağlantılar 5 Volt ile çalışır ve 20-50 kOhm iç direnç değerlerine sahiplerdir. durum değişikliği gibi olaylar için ayarlanabilen kesme bağlantılarıdır. 3. 21. attachInterrupt() komutu ile kullanılmaktadır. 20.Giriş ve Çıkışlar 14 Dijital bağlantının her biri giriş ya da çıkış olarak kullanılabilir. 18. Dış Kesmeler: 2. pinMode() komutu ile pinlerin giriş ya da çıkış olacakları. Bunların dışında bazı bağlantıların kendine has özellikleri bulunmaktadır: Seri İletişim: 0 (RX) ve 1 (TX). Seri İletişim 3: 15 (RX) ve 14 (TX). Seri İletişim 2: 17 (RX) ve 16 (TX). 0 ve 1 numaralı pinler. analogWrite() komutu ile 8-bit çözünürlüğünde PWM çıkışı sağlayabilen bağlantılardır. alçalan ve yükselen sinyal. . 19. PWM: 0-13. Seri İletişim 1: 19 (RX) ve 18 (TX). USB çıkışına bağlı olup TTL seri sinyalini taşımak için kullanılmaktadır. digitalWrite() ve digitalRead() komutları ile de bu pinlerdeki durumu değiştirme ya da okuma işlemleri gerçekleştirilebilir. Bu bağlantılar düşük değer. ATmega8u2 USB-TTL seri çipiyle ilişkili olan pinlerle bağlıdır. Bu bağlantılar.

Wire kütüphanesi ile I2C (TWI) bağlantısını destekleyen bağlantılardır. I2C: 20 (SDA) ve 21 (SCL). Genel kullanımda 5 volt ile toprak arasında ölçüm yapan girişler için AREF bağlantısı kullanılarak ölçüm aralığı değiştirilebilir. Her biri 10 bit çözünürlüğe sahiptir. 52 (SCK). Arduino Mega2560 16 analog girişe sahiptir. . Girişin durumuna göre yakılıp söndürülebilir. LED: 13. 53 (SS). Girişe bağlanmıştır ve 13. Devre kartı üzerinde bulunan LED 13.Giriş ve Çıkışlar SPI: 50 (MISO). 51 (MOSI). SPI kütüphanesi ile SPI iletişim uygulamarında kullanılan bağlantılardır.

Arduino 1.0 Yazılımı C altyapısıyla oluşturulmuş bir dil Program arayüzü .

} void loop() { digitalWrite(ledPin. //LED’in bağlı olduğu pin numarası ledPin değişkenine atadık void setup() { pinMode(ledPin. HIGH).//Sensör benzeri şeyler için INPUT(giriş) kullanıyoruz. ” */ } void loop() { /* Bu kısımda ise ana döngümüzü. // Bir saniye bekle } .OUTPUT). // LED’i yak delay(1000). LOW). ana programamızı yazıyoruz. // LED’i söndür delay(1000).OUTPUT).Program Yapısı /* Bu kısımda include dosyalarını ve değişkenleri tanımlıyoruz. //LED bir çıkış birimi olduğu için OUTPUT(çıkış) olarak tanımladık. */ void setup() { /* Bu kısımda gerekli ayarlamaları yapıyoruz. // Bir saniye bekle digitalWrite(ledPin. */ } int ledPin=13. Örneğin ” pinMode(13.

.Programımızı yüklemek için “upload” butonuna basıyoruz.

.Programımız başarılı bir şekilde aktarıldığında derleyici bize bu mesajı verecektir.

pine bağlayın void setup() { // giriş .INPUT). // 13 port çıkış olarak ayarla pinMode(10.OUTPUT).Yazılım // bir satırlık açıklama için kullanılır /* Çok satırlı açıklama */ int ledPin=8. // 10 port giriş olarak ayarla } void loop() { // program başlatılarak Port dinleme döngüsü oluşturuluyor // tum port işlemleri bu loop içinde gercekleştiriliyor } . //Led'i 8.çıkış portlarını belirlemek // hangi port çıkış olarak ayarlacak veya giriş olarak ayarlanacak pinMode(13.

Uygulama 1 Devreyi kurun Led ayaklarından biri toprak digeri 10 numaralı port yerleştirin .

//Led'i yak delay(1000).HIGH). //Led'i 10. //Led'i çıkış olarak ayarla } void loop() { digitalWrite(ledPin.Uygulama Kodu //Led Dersi int ledPin=10. pine bağlayın void setup() { pinMode(ledPin. //1sn bekle digitalWrite(ledPin.OUTPUT). //Led'i söndür delay(1000).LOW). //Led'i söndür } .

Uygulama-2 İki led kullanarak sırayla yanmalarını sağlayın Fark sürelerde yanmalarını sağlayın .

//portu çıkış olarak ayarla pinMode(ledPin2. pine bağlayın void setup() { pinMode(ledPin1.OUTPUT). //Led'i yak delay(1000). pine bağlayın //Led2‘yi 10.HIGH).LOW).HIGH). //Led1'i 8. //Led'i söndür delay(1000). //portu çıkış olarak ayarla } void loop() { digitalWrite(ledPin1. //1sn bekle digitalWrite(ledPin2. //Led'i söndür } .OUTPUT). int ledPin2=10. //1sn bekle digitalWrite(ledPin1. //Led'i söndür delay(1000). //Led'i söndür digitalWrite(ledPin2.Uygulama Kodu //Led Dersi 2 int ledPin1=8.LOW). //Led'i yak delay(1000).