0% found this document useful (0 votes)
30 views30 pages

Introduction To Arduino PDF

Uploaded by

Ismail Bayraktar
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
30 views30 pages

Introduction To Arduino PDF

Uploaded by

Ismail Bayraktar
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Galatasaray Üniversitesi

Bilgisayar Mühendisliği Bölümü

INF340 – Mikroişlemciler
Arduino'ya Giriş

Ozan Çağlayan
ocaglayan@[Link]
[Link]
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ı:
– [Link]
● 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,
– [Link]
● Arduino IDE ortamı ise Processing temel
alınarak geliştiriliyor,
– [Link]
● Arduino kaynak kod dosyalarına (*.ino)
Sketch (taslak) adı veriliyor.
Arduino İnşa Süreci

Arduino Object
C/C++
Sketch Files
(.ino) (.cpp) avr-gcc (.o)

Linker

USB
HEX
Arduino İnşa Süreci (IDE)

Arduino Object
C/C++
Sketch Files
(.ino) (.cpp) avr-gcc (.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()
– setup() çağrısı sonlandıktan mikroişlemci sürekli
(kapatılana veya resetlenene kadar) bu fonksiyonu
çağırır.
Ö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:
[Link](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


[Link](sensorValue);

// delay in between reads for stability


delay(1);
}
Örnek 2 ([Link])
Örnek 2 (Devre)
Galatasaray Üniversitesi
Bilgisayar Mühendisliği Bölümü

Sorusu olan?

Ozan Çağlayan
ocaglayan@[Link]
[Link]

You might also like