Arduino Nedir? - Ozan Çağlayan

30 downloads 1019 Views 3MB Size Report
Kahve pişince tweet atan demlik,. – İçine mektup atıldığında telefonunuza bildirim gönderen posta kutusu,. – Bluetooth tartı,. – Çizgi takip eden robot,. – .
Galatasaray Üniversitesi Bilgisayar Mühendisliği Bölümü

INF340 – Mikroişlemciler Arduino'ya Giriş

Ozan Çağlayan [email protected] ozancaglayan.com

Arduino Nedir? ●



Kolay kullanılabilir ve esnek bir donanım/yazılım mimarisine sahip, açık kaynaklı elektronik geliştirme kartı, Açık kaynaklı donanım: –



Kartların devre tasarımları tamamen açık, isteyen üretebilir,

Açık kaynaklı yazılım: –

Arduino IDE, platform-bağımsız.

Arduino Nedir?

Arduino == Mikroişlemci?

Arduino != Mikroişlemci

Arduino != Mikroişlemci ●



Arduino bir mikroişlemci değildir, Arduino mikroişlemciler için kolaylaştırıcı bir geliştirme ortamı sunar, –

Programlama için USB seri bağlantısı,



Entegre LED,



Girdi/Çıktı pinleri,



Güç girişi,



Reset düğmesi, vs. vs.

Arduino Uygulamaları ●



Girdi pinlerine bağlayabileceğiniz çeşitli algılayıcılar ile ortamı izleyebilir, Çıktı pinleriyle ortama müdahale edebilirsiniz: Işık, ses, motor kontrolü, vs. –

Kahve pişince tweet atan demlik,



İçine mektup atıldığında telefonunuza bildirim gönderen posta kutusu,



Bluetooth tartı,



Çizgi takip eden robot,



...

Arduino Modelleri

Arduino Due

32-bit ARM çekirdekli mikroişlemci içeren yeni Arduino modeli.

LilyPad Arduino

Giyilebilir e-tekstil uygulamaları için geliştirilmiş dikilebilir LilyPad.

LilyPad SimpleSnap

Li-Ion bataryalı, çıtçıtlı LilyPad

Arduino Uno

En popüler ve sık kullanılan Arduino modeli.

Arduino Uno

Arduino Uno ●

Mikroişlemci: ATmega328 (8-bit)



SRAM: 2KB



Flash Memory: 32KB



Saat Hızı: 16MHz



Analog Giriş: 6 Adet



Sayısal Giriş: 14 (6 tanesi PWM)

Arduino Zırhları (Shield) ●

Arduino kartlarının işlevlerini arttırmak için üstlerine takılan genişleme kartlarıdır.

Arduino Zırhları (Shield) Ethernet

Arduino Zırhları (Shield) GSM

Arduino Zırhları (Shield) Touchscreen

Arduino IDE ●

Platform bağımsız: Linux, Mac, Windows



Alt seviyede gcc derleyicisini kullanıyor,



IDE Java ile geliştiriliyor,



Açık kaynaklı: –



https://github.com/arduino/Arduino

Son kararlı sürüm: 1.0.4 (11 Mart 2013)

Arduino Programlama Dili ●

Arduino, Wiring tabanlı C/C++'a çok yakın bir dil ile programlanıyor, –



Arduino IDE ortamı ise Processing temel alınarak geliştiriliyor, –



http://wiring.org.co

http://www.processing.org

Arduino kaynak kod dosyalarına (*.ino) Sketch (taslak) adı veriliyor.

Arduino İnşa Süreci Arduino Sketch (.ino)

C/C++ (.cpp)

avr-gcc

Object Files (.o)

Linker

USB

HEX

Arduino İnşa Süreci (IDE) Arduino Sketch (.ino)

C/C++ (.cpp)

avr-gcc

Object Files (.o)

Tek tuş! Linker

USB

HEX

Arduino Programlama Dili ●

setup() –



Arduino taslağı başlatılırken çağırılan hazırlama fonksiyonudur. Değişkenleri ilklendirmek ve pinleri ayarlamak için kullanılır.

loop() –

çağrısı sonlandıktan mikroişlemci sürekli (kapatılana veya resetlenene kadar) bu fonksiyonu çağırır. setup()

Örnek 1 (Blink)

Örnek 1 (Blink) // Pin 13 has an LED connected on most Arduino boards. // give it a name: int led = 13; // the setup routine runs once when you press reset: void setup() { // initialize the digital pin as an output. pinMode(led, OUTPUT); } // the loop routine runs over and over again forever: void loop() { digitalWrite(led, HIGH); delay(1000); digitalWrite(led, LOW); delay(1000); }

Örnek 2 (AnalogReadSerial)

Örnek 2 (AnalogReadSerial) // the setup routine runs once when you press reset: void setup() { // initialize serial communication at 9600 bits per second: Serial.begin(9600); } // the loop routine runs over and over again forever: void loop() { // read the input on analog pin 0: int sensorValue = analogRead(A0); // print out the value you read Serial.println(sensorValue);

}

// delay in between reads for stability delay(1);

Örnek 2 (volume.py)

Örnek 2 (Devre)

Galatasaray Üniversitesi Bilgisayar Mühendisliği Bölümü

Sorusu olan? Ozan Çağlayan

[email protected] ozancaglayan.com