Download as pdf or txt
Download as pdf or txt
You are on page 1of 21

Arduino Nedir?

Arduino esnek, kolay kullanml donanm ve yazlm tabanl bir ak kaynakl elektronik prototip platformudur. Bu platform kolay kullanm zellii sayesinde zellikle sanatlar, tasarmclar, hobi ve etkileimli nesne veya ortam oluturmay isteyen kiiler iin tasarlanmtr. Arduino gelitirme kart zerindeki mikroilemci Arduino programlama dili (wiring tabanl) ile programlanr ve bu program Processing tabanl Arduino Yazlm Gelitirme Ortam (IDE) yardm ile karta yklenir. Arduino, elektronik ve yazlm bilginiz snrl olsa bile aklnzdaki fikrinizi kolaylkla prototiplemenize imkan sunar.

Arduino Gelitirme Kart Modelleri


Arduino gelitirme kart ailesi her gn bymektedir. zellikle katman (shield) yaps, kolay kullanm, rnek uygulamalar, kodlar ve ktphaneleri ile uygulamalarnz iin hzlandrc bir unsurdur. En son gncellenen Arduino gelitirme kartlar;
Arduino UNO Arduino Mega 2560

Arduino Model

Arduino Uno
Genel Bilgi ATmega 328 tabanl bir mikroilemci gelitirme kartdr.
Kart, 14 adet dijital giri/k balantsna (bunlarn 6 tanesi PWM k olarak kullanlabilir), 6 analog girie, 16 Mhz kristal osilatre, USB balantsna, g balantsna, ICSP balantsna ve reset tuuna sahiptir. Bilgisayar ile USB portu zerinden balamanz kartn almas iin yeterlidir Pil ya da adaptr ile de kullanlabilir.

Arduino Uno
G Arduino Uno, USB balants tarafndan, pil ya da g kayna tarafndan beslenebilir. G beslemesi, besleme soketinden yaplabilecei gibi Gnd ve Vin soketleri ile de salanlabilir. G Pinleri:
VIN. G balant soketi yerine kullanlabilecek olan giri balants Arduino Unoyu beslemenizi salar (Sadece tek bir balant ile beslemeniz yeterlidir. G balant soketi ya da Vin giri balantsndan bir tanesini kullannz.) 5V. Arduino Uno devresi zerinde regle edilmi 5 Volt k olan balantdr. 3V3. Arduino Uno devresi zerinde regle edilmi 3.3 Volt k olan balantdr. GND. Toprak balantsdr.

Giri ve klar
14 Dijital balantnn her biri giri ya da k olarak kullanlabilir, pinMode() komutu ile pinlerin giri ya da k olacaklar, digitalWrite() ve digitalRead() komutlar ile de bu pinlerdeki durumu deitirme ya da okuma ilemleri gerekletirilebilir. Balantlar 5 Volt ile alr ve 20-50 kOhm i diren deerlerine sahiplerdir. Bunlarn dnda baz balantlarn kendine has zellikleri bulunmaktadr: Seri letiim : 0 (RX) ve 1 (TX). Bu balantlar, USB kna bal olup TTL seri sinyalini tamak iin kullanlmaktadr. D Kesmeler: 2 ve 3. Bu balantlar dk deer, alalan ve ykselen sinyal, durum deiiklii gibi olaylar iin ayarlanabilen kesme balantlardr. attachInterrupt() komutu ile kullanlmaktadr. PWM: 3, 5, 6, 9, 10, ve 11. analogWrite() komutu ile 8-bit znrlnde PWM k salayabilen balantlardr.

Giri ve klar
SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). SPI ktphanesi ile SPI iletiim uygulamarnda kullanlan balantlardr. LED: 13. Devre kart zerinde bulunan LED 13. Girie balanmtr ve 13. Giriin durumuna gre yaklp sndrlebilir. Arduino Uno 6 analog girie sahiptir ve bunlar A0dan A5e kadar numaralandrlmlardr. Her biri 10 bit znrle sahiptir. Genel kullanmda 5 volt ile toprak arasnda lm yapan giriler iin AREF balants kullanlarak lm aral deitirilebilir. Bu ilem iin analogReference() komutu kullanlmaktadr. Bu pinlerden bazlar farkl zellikler iin kullanlmaktadr: I2C: 4 (SDA) ve 5 (SCL). Wire ktphanesi ile I2C (TWI) balantsn destekleyen balantlardr.

Arduino Mega 2560


Arduino Mega, Atmega2560 mikroilemci tabanl bir gelitirme kartdr. Kart 54 adet dijital giri/k pinlerine
(14 tanesi PWM sinyal k iin kullanlabilir), 16 adet analog girie, 4 UART portuna, 16 Mhz kristal osilatre, USB balantsna ve g giriine sahiptir.

Bir mikroilemci iin gerekli btn elemanlara sahip olan kart USB kablosu, AC/DC adaptr ya da pil ile beslenebilir.

G
Arduino Mega2560, USB balants tarafndan, pil ya da g kayna tarafndan beslenebilir. G beslemesi, besleme soketinden yaplabilecei gibi Gnd ve Vin soketleri ile de salanlabilir. G Pinleri:
VIN. G balant soketi yerine kullanlabilecek olan giri balants Arduino Mega2560 beslemenizi salar (Sadece tek bir balant ile beslemeniz yeterlidir. G balant soketi ya da Vin giri balantsndan bir tanesini kullannz.) 5V. Arduino Mega2560 devresi zerinde regle edilmi 5 Volt k olan balantdr. 3V3. Arduino Mega2560 devresi zerinde regle edilmi 3.3 Volt k olan balantdr. Maksimum 50mA akm ekebilmektedir. GND. Toprak balantsdr.

Giri ve klar
14 Dijital balantnn her biri giri ya da k olarak kullanlabilir, pinMode() komutu ile pinlerin giri ya da k olacaklar, digitalWrite() ve digitalRead() komutlar ile de bu pinlerdeki durumu deitirme ya da okuma ilemleri gerekletirilebilir. Balantlar 5 Volt ile alr ve 20-50 kOhm i diren deerlerine sahiplerdir. Bunlarn dnda baz balantlarn kendine has zellikleri bulunmaktadr: Seri letiim: 0 (RX) ve 1 (TX); Seri letiim 1: 19 (RX) ve 18 (TX); Seri letiim 2: 17 (RX) ve 16 (TX); Seri letiim 3: 15 (RX) ve 14 (TX). Bu balantlar, USB kna bal olup TTL seri sinyalini tamak iin kullanlmaktadr. 0 ve 1 numaral pinler, ATmega8u2 USB-TTL seri ipiyle ilikili olan pinlerle baldr. D Kesmeler: 2, 3, 18, 19, 20, 21. Bu balantlar dk deer, alalan ve ykselen sinyal, durum deiiklii gibi olaylar iin ayarlanabilen kesme balantlardr. attachInterrupt() komutu ile kullanlmaktadr. PWM: 0-13. analogWrite() komutu ile 8-bit znrlnde PWM k salayabilen balantlardr.

Giri ve klar
SPI: 50 (MISO), 51 (MOSI), 52 (SCK), 53 (SS). SPI ktphanesi ile SPI iletiim uygulamarnda kullanlan balantlardr. LED: 13. Devre kart zerinde bulunan LED 13. Girie balanmtr ve 13. Giriin durumuna gre yaklp sndrlebilir. I2C: 20 (SDA) ve 21 (SCL). Wire ktphanesi ile I2C (TWI) balantsn destekleyen balantlardr. Arduino Mega2560 16 analog girie sahiptir. Her biri 10 bit znrle sahiptir. Genel kullanmda 5 volt ile toprak arasnda lm yapan giriler iin AREF balants kullanlarak lm aral deitirilebilir.

Arduino 1.0 Yazlm


C altyapsyla oluturulmu bir dil Program arayz

Program Yaps
/* Bu ksmda include dosyalarn ve deikenleri tanmlyoruz. */ void setup() { /* Bu ksmda gerekli ayarlamalar yapyoruz. rnein pinMode(13,OUTPUT); */ } void loop() { /* Bu ksmda ise ana dngmz, ana programamz yazyoruz. */ } int ledPin=13; //LEDin bal olduu pin numaras ledPin deikenine atadk void setup() { pinMode(ledPin,OUTPUT); //LED bir k birimi olduu iin OUTPUT(k) olarak tanmladk.//Sensr benzeri eyler iin INPUT(giri) kullanyoruz. } void loop() { digitalWrite(ledPin, HIGH); // LEDi yak delay(1000); // Bir saniye bekle digitalWrite(ledPin, LOW); // LEDi sndr delay(1000); // Bir saniye bekle }

Programmz yklemek iin upload butonuna basyoruz.

Programmz baarl bir ekilde aktarldnda derleyici bize bu mesaj verecektir.

Yazlm
// bir satrlk aklama iin kullanlr /* ok satrl aklama */ int ledPin=8; //Led'i 8. pine balayn void setup() { // giri - k portlarn belirlemek // hangi port k olarak ayarlacak veya giri olarak ayarlanacak pinMode(13,OUTPUT); // 13 port k olarak ayarla pinMode(10,INPUT); // 10 port giri olarak ayarla } void loop() { // program balatlarak Port dinleme dngs oluturuluyor // tum port ilemleri bu loop iinde gercekletiriliyor }

Uygulama 1
Devreyi kurun Led ayaklarndan biri toprak digeri 10 numaral port yerletirin

Uygulama Kodu
//Led Dersi int ledPin=10; //Led'i 10. pine balayn void setup() { pinMode(ledPin,OUTPUT); //Led'i k olarak ayarla } void loop() { digitalWrite(ledPin,HIGH); //Led'i yak delay(1000); //1sn bekle digitalWrite(ledPin,LOW); //Led'i sndr delay(1000); //Led'i sndr }

Uygulama-2
ki led kullanarak srayla yanmalarn salayn Fark srelerde yanmalarn salayn

Uygulama Kodu
//Led Dersi 2 int ledPin1=8; int ledPin2=10; //Led1'i 8. pine balayn //Led2yi 10. pine balayn void setup() { pinMode(ledPin1,OUTPUT); //portu k olarak ayarla pinMode(ledPin2,OUTPUT); //portu k olarak ayarla } void loop() { digitalWrite(ledPin1,HIGH); //Led'i yak delay(1000); //1sn bekle digitalWrite(ledPin1,LOW); //Led'i sndr delay(1000); //Led'i sndr digitalWrite(ledPin2,HIGH); //Led'i yak delay(1000); //1sn bekle digitalWrite(ledPin2,LOW); //Led'i sndr delay(1000); //Led'i sndr }

You might also like