Professional Documents
Culture Documents
Emre ARSLAN
AkademikPort Kurumsal llikiler Koordinatr
www.akademikport.com
Arduino nedir? 1
Srcy Yklemek 4
Elektrik Devreleri 9
Devre Elemanlar 11
Arduino Uno 13
Breadboard 15
Devre #2 - Potansiyometre 24
Devre #9 - Buzzer 52
Notlar 68
72
Arduino nedir?
Arduino a Balyor
Arduino kolay bir ekilde evresiyle etkileime girebilen
sistemler tasarlayabileceiniz, hem acemi hem de ileri
dzeydeki elektronik merakllarna hitap eden, kolayca
programlanabilen ve zerine elektronik devre kurulabilen
ak kaynakl bir gelitirme platformudur.
arduino.cc
d
h
nternet Eriimi
Arduino ile yazlm gelitirmek ve altrmak iin ncelikle
www.arduino.cc sitesinden bir Arduino Entegre Gelitirme
Ortam indirmeliyiz. Arduino IDE olarak bilinen bu yazlm
arduino 'yu programlamak iin adeta bir kelime ilemci
grevi grecektir. nternet taraycnzdan aadaki adrese
N
tklayarak size uygun Arduino IDE 'yi indirebilirsiniz.
NE
NW
E
W
SE
SW
S
arduino.cc/en/Main/Software
1 Ykleme
Mac OS
Kullandnz iletim sistemine gre size uygun
olan Arduino programn semek iin art(+)
iaretine basmanz yeterlidir.
X
Windows
Mac OS X
Linux: 32 bit, 64 bit
Linux:source
32 bit, 64 bit
user
Bilgisayarnz iin uygun iletim sistemine gre ykleme paketi semeyi unutmaynz.
// Arduino Uno'yu Bilgisayara Balamak
Arduino ve Bilgisayar USB klarndan USB Kablosu ile balyoruz.
2
// Src Ykleme
http://arduino.cc/en/Guide/Windows
http://arduino.cc/en/Guide/MacOSX
http://www.arduino.cc/playground/Learning/Linux
//Arduino IDE 'yi Ayoruz:
ncelikle bilgisayarmza indirdiimiz arduino gelitirme programn
aalm. Programlamaya gemeden nce biraz gelitirme ortamn
kurcalayalm.
1 2 3 4 5 6
9
GUI (Grafik Kullanc Arayz)
1 Verify(Derleme): Yazm olduunuz kodu derler. Sz dizimi hatalarnz bulur.
6 Serial Monitor(Seri monitr): Seri bilgi grntleyen bir pencere aacaktr. zellikle hata ayklama iin ok yararldr.
Open(Amak)
Verify(Derleme)
Upload(Ykleme)
4 // Kartmz Seelim: Arduino Uno
File Edit Sketch Tools Help
Auto Format
Archive Sketch
Fix Encoding & Reload
Serial Monitor
Tools Help
Auto Format
Archive Sketch
Fix Encoding & Reload
Serial Monitor
Board
Serial Port com 1
Aygtmz iin uygun olan seri portu semek iin Tools com 12
Programmer
>Serial Port mensne tklyoruz. Genelde com3 veya Burn Bootloader
zeridir (COM1 ve COM2 genellikle donanm seri portu
olarak kullanlmaktadr). Kullanacanz arduino portunu
C
U D
.AR
Tools Help
Auto Format
WW
Archive Sketch
Fix Encoding & Reload
Serial Monitor
W
Board
Serial Port /dev/tty.usbmodem262471
/dev/cu.usbmodem262471
Programmer /dev/tty.Bluetooth-Modem
IN
Burn Bootloader /dev/cu.Bluetooth-Modem
Aygtmz iin uygun olan seri portu semek iin Tools
G
/dev/tty.FireFly-7256-SPP
ALO
>Serial Port mensne tklyoruz.Mac bilgisayarlarda /dev/cu.FireFly-7256-SPP
AN
/dev/tty.tiPhone-WirelessiAP-1
Uno veya Mega 2560 iin ( /dev/tty.usbmodem) ve
A5
/dev/cu.tiPhone-WirelessiAP-1
ya eski kartlar iin (/dev/tty.usbserial) seiyoruz. /dev/tty.Bluetooth-PDA-Sync
/dev/cu.Bluetooth-PDA-Sync
http://www.arduino.cc/playground/Learning/Linux
AkademikPort Arduino Kodu indirme ( Kitapmzdaki Devreleri Oluturmak in)
5
ndirmek iin aadaki balanty takip edin;
kitap.akademikport.com
Adreste verdiimiz
sktrlm dosyay indirip, Arduino Kod dosyasn kopyalayp arduino kurulumu
ierisindeki "examples" klasrnn ierisine yaptryoruz.
ierisindeki Arduino Kod
dosyasn dar kartyoruz.
Contents
Resources
Arduino 'yu uygulama dosyasndan
buluyoruz. Arduino 'ya sa
Java
tklyoruz(ctrl + click) . Show
Adreste verdiimiz sktrlm Package Contents 'i seiyoruz.
dosyay indirip, ierisindeki examples
Arduino Kod dosyasn dar Arduino
kartyoruz. Open
Arduino Kod dosyasn
Show Package Contents
Move to Trash kopyalayp examples
klasrnn ierisine
yaptryoruz.
http://www.arduino.cc/playground/Learning/Linux
Elektrik Devreleri
Potansiyometre Diyot
(1N4148)
*Gerek Grnm
x1 x2
x1 x1
(TMP36) (P2N2222AG)
A18
N N
ARKA ARKA
x1 x2
x1 x2
Servo Motor Arduino Kart
UNO
MADE
IN I TALY
x1
AREF
GND
RX
TX
L
13
RESET-EN 12
Rle RESET
3.3V
11
10
5V
9
GND
8
POWER
GND
VIN 7
6
DIGITAL (PWM )
A0 5
A1 4
RESET
A2 3
ANALOG IN
A3 2
A4 TX 1
A5 RX 0
x1 WWW.ARDUINO.CC
x1
Entegre (IC)
Breadboard
(Standart Lehimsiz)
a b c d e f g h i
1 1
2 2
3 3
4 4
5 5
x1 6 6
7 7
8 8
9 9
10 10
11 11
12 12
13 13
14 14
15 15
16 16
17 17
18 18
19 19
20 20
21 21
22 22
23 23
24 24
25 25
26 26
27 27
28 28
29 29
30 30
a b c d e f g h i
x1
2
1
8
3 4 5
10
9
Arduino Uno
1 9-12V DC G Girii( Barrel Jack) - 9V veya 12V g balanabilen g giriidir .
2 USB Balant Konnektr(USB Port) - Arduino 'ya program yklemek ve bilgisayar ile haberlemek iin kullanlan balant konnekterrdr.
3 LED(RX: Receiving) - Seri haberleme iin kullanlan RX pininin durumunu gsteren LED'dir. Veri alverii olduunda bu led yanar.
4 LED(TX: Transmitting) - Seri haberleme iin kullanlan TX pininin durumunu gsteren LED'dir. Veri alverii olduunda bu led yanar.
5 LED (Pin 13: Troubleshooting) - 13 Nolu dijital pine bal olan LED'dir. Programlar test etmek iin kullanlabilir.
6 Dijital Giri-k Pinleri- Dijital giri-k iin kullanlan pinler burada bulunuyor.Yannda iareti bulunan pinler ayn
zamanda analog k(PWM) almak iinde kullanlyor.
7 LED (G LED'i)-Kartmzn g gsterge LED 'idir. Devrelerinizi kurarken ksa devre yapp yapmadnz bu LED 'e bakarak anlayabilirsiniz.
8 Reset Butonu -Arduinoyu yeniden balatr.Programlarmz setup() fonksiyonundan itibaren yeniden balar.
9 Kart zerinde Programlama(ICSP) Pinleri - Atmega microdenetleyiciyi harici bir programlayc ile programlama pinleri.
10 Anolog Giri Pinleri ve G Balantlar -Anolog giri ve gerilim balantlar bu blmde bulunuyor.Ayrca analog-dijital
eviricinin referans giri pini ve seri iletiim pinleri de (RX ve TX) burada bulunuyor.
// Pin Diyagram
SCL
SDA
ARef
Ground
RFU
Digital
IOREF
Digital
Reset
Digital
Power Out
Digital
Power Out
Digital
Ground
Digital 6
Ground
10 Power In Digital
Digital
Analog Digital
Analog Digital
Analog Digital
Analog Digital
Analog TX - Out
Analog RX - In
a b c d e f g h i
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10 10
11 11
12 12
13 13
14 14
15 15
16 16
17 17
18 18
19 19
20 20
21 21
22 22
23 23
24 24
25 25
26 26
27 27
28 28
29 29
30 30
a b c d e f g h i
2 Yatay Balant (a-e & f-j // Aadaki diyagrama Baknz) Breadboardn zerinde
LED
Balantlar Nasldr?
Baland
a b c d e f g h i
1
2
1
2 G:
3 3
4
5
4
5 Her + iareti dikey stundan g
6
7
6
7
geii salar.
8 8
9 9
10
11
10
11
Toprak:
12 12
13
14
13
14
Her - iareti dikey stunda her yerde Breadboardn inde
15 15 toprak grevi grr.
16 16
17 17
18 18
19
20
19
20
Yatay Satrlar:
21 21
22 22 1 den 30 a kadar numaral satrlarn herbiri
23 23
24 24 kendi ierisinde (abcde ve ya fghij) g
25
26
25
26
iletimi salar.
27 27
28 28
29 29
30 30
a b c d e f g h i
Breadboardn Grnm
Devreler #1 - lk Devreniz
Nasl altracaz;
Paralar Arduino' ya
Birletir Kodu Yaz Ykle
Diren (330ohm)
(Turuncu-Turuncu-Kahverengi)
Diren
X 1 X 1 X 3 Bu blmde, devreyi tamamlamak
iin gereken paralar listelenir.
a b c d e f g h i
1 1
2 2
3 3
4 4
5 5
6
LED: (-) ile iaretlenmi ksa 6
7
bacak LED' in negatif ucudur.
330 Diren: Renk band krmz- 8
turuncu -turuncu-kahverengi-altn 8
9 9
eklindedir Direncin bacaklarn
devreye balarz. 10 10
11 11
12 12
13 13
14 14
15 Dz kenar 15
16 16
17 17
18 Ksa Bacak 18
19 19
20 20
21 21
Atlama Kablosu: Tm atlama kablolar 22 22
benzer mantkla alr. ki farkl balant 23 23
yerini birbirine balar. Devrelerimizde
24 24
farkl renkte atlama kablosu grlmesinin
sebebi devre emasnn grnmn 25 25
kolaylatrmaktr. Kablolar ayn kablolardr. 26 26
27 27
28 28
29 29
30 30
a b c d e f g h i
Elemanlar: Gerek Grnmleri:
LED (5mm) + c2 c3 LED'i c2(uzun bacak) c3(ksa bacak) eklinde breadboard'un sketlerine takyoruz.
-
+ -
Atlama Kablosu GND Arduino zerindeki GND pinini breadboard zerindeki - iaretli satra balyoruz.
Atlama Kablosu 5V + Arduino zerindeki 5V pinini breadboard zerindeki + iaretli satra balyoruz.
Atlama Kablosu Pin 13 e2 Arduino zerindeki Pin 13 pinini breadboard zerindeki e2 sketine balyoruz.
// Devre #1
Circuit #1
/*
Led Yakmak (Blink=Gz Krpma)
LED ' i bir saniye yakp bir saniye sndren program
*/
pinMode(LEDcikis, OUTPUT);
}
void loop() { //LED'i yak
digitalWrite(LEDcikis, HIGH); // 1 saniye bekle
delay(1000); // LED'i sndr
digitalWrite(LEDcikis, LOW); //1 saniye bekle
delay(1000);
}
Kodu derliyoruz. Yazlm kodu arduino zerindeki entegrenin anlayabilecei dile
Derleme eviriyor.
USB Kablo araclyla kodu Arduino zerindeki entegreye gnderiyoruz. Daha sonra
Ykleme
devre otomatik olarak almaya balayacaktr.
// Verilen kod ile derledikten ve yklendikten sonra breadboard zerindeki LED yanp snmeye balayacaktr
1
Tm devrelerde kodlarn ne
Circuit 2 olduunu aklayan blmdr.
Arduino IDE 'yi A // File > Examples > Arduino Kod > Devre # 1
Kod notlar: Verilen Kodu derlemeyi(verify)
ve yklemeyi(upload) unutmayn
Kodun nasl altn anlamak iin
aadaki aklamar inceleyin.
Hl almyor mu?
Tamamlayamadnz her devreniz hakknda yardm
almak iin emrearslan@elektrikport.com adresine mail
yollayabilirsiniz.
2
Devre #2
Potansiyometre
+5 Volt Bu devrede potansiyometrenin ne ie yaradn
reneceiz. Potansiyometre deiken bir diren
Pin 13 Arduino Potansiyometre
Arduino olarak bilinir. ki k pini 5 Volta balandnda
Pin A ortadaki pin potansiyometredeki kontrol
dmesinin konumuna gre 0V ile 5V arasnda
k verir. Bu devrede, LED parlakln kontrol
LED
etmek iin potansiyometreyi nasl kullanacanz
reneceksiniz.
diren (330ohm)
(turuncu-turuncu-kahverengi)
GND
(toprak-ground) (-)
Diren
X 1 X 18 X 18 19
6
X
p.24
p.10
Devre 2: Potansiyometre
a b c d e f g h i
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10 10
11 11
12 12
13 13
14 14
15 15
16 16
17 17
18 18
19 19
20 20
21 21
22 22
23 23
24 24
25 25
26 26
27 27
28 28
29 29
30 30
a b c d e f g h i
Elemanlar: Gerek Grnm: Digital V Analog:
a6
Potansiyometre a7 Eer Arduinoya yakndan bakarsanz baz pinlerin "Digital" baz pinlerin
a8 ise "Analog" olduunu greceksiniz. Peki ama ne fark var bu pinlerin?
Atlama Kablosu A0 e7
LOW HIGH
Atlama Kablosu e8 +
Dijital off - pasif on - aktif
Atlama Kablosu Pin
5V13 j20 0 volt 5 volt
0 volt 5 volt
Analog
0 1023
2
Circuit 2 Arduino Kodu:
Arduino IDE 'yi A// File > Examples > Arduino Kod > Devre # 2
Kod Notlar:
"Deiken" sizin isim verdiiniz bir rakamdr. Deikeni kullanmadan
nce onu tanmlamal veya bildirmelisiniz; burada sensorValue adnda
int sensorValue;
bir deikeni "int" (integer-tamsay) olarak bildiriyoruz. Bu deiken
isimlerinin kk-byk harf duyarl olduunu unutmaynz.
Ne greceiz?
Potansiyometrenin ayarn
deitirdike LED'nin hzl ve
yava bi ekilde yanp
sndn greceksiniz. Eer
almyorsa kodu kontrol edin
ve tekrar derleyin sonra ykleyin
ve devreyi tekrar kontrol edin
veya aadaki sorun giderme
ipularn bakn.
almama Durumu
Potansiyometrenin 2. pinini analog pin yerine dijital
pine balamadnzdan emin olunuz.
Hl almyor mu?
Tamamlayamadnz her devreniz hakknda
yardm almak iin emrearslan@elektrikport.com
adresine mail yollayabilirsiniz.
Devre #3
GND
(toprak-ground) (-)
LED
IC
Potentiometer
330 Transistor
LED Kablo
Elemanlar:
P2N2222AG Resistor
Diren
X 1 X 38 X 1X6 X 8
krmz
mavi
common
yeil
p.10
p.28
Devre 3: RGB LED
a b c d e f g h i
1 1
2 2
3 3
4 4
5 5
6 6
* Uzun u genelde (gnd)'dir. Bazen anot, katot deiebilir 7 7
dikkat edilmelidir. 8 8
9 9
10 10
11 11
12 12
13 13
14 14
15 15
16 16
17 17
18 18
19 19
20 20
21 21
22 22
23 23
24 24
25 25
26 26
27 27
28 28
29 29
30 30
a b c d e f g h i
Elemanlar: Gerek Grnm: analogWrite() Arkasndaki ok Edici Gerek:
a4 a5 a6 a7
RGB LED (5mm) imdiye kadar Arduinonun anolog voltajlar (0 ve 5 voltaj arasnda ki
deerleri) analogRead() fonksiyonu kullanarak okuyabildiini grdk.
Peki Arduino'nun analog voltaj kts vermek gibi bir imkan var m diye
330 Diren 5V e7
e4 eg4
11 soracak olursak, cevabmz hem hayr hem evet olacaktr. Arduino gerek
bir analog voltaj ktsna sahip deildir ama Arduino'nun ok hzl
olmasndan dolay PWM ("Pulse-Width Modulation") kullanarak bu
330 Diren 5V e7
e6 eg6
11
kty uydurabilir*
HIGH (5 volt)
Atlama Kablosu Pin 11 h7 90% 0.5 v
LOW (0 volt)
10%
Atlama Kablosu 5V +
HIGH (5 volt)
Atlama Kablosu GND 50%
LOW (0 volt)
2.5 v
50%
10%
HIGH (5 volt)
LOW (0 volt)
4.5 v
90%
3
Circuit 2 Arduino Kodu:
Arduino IDE 'yi A// File > Examples > Arduino Kod > Devre # 3
Kod Notlar:
if (x <= 255) If / else ifadeleri programnzda seim yapmak iin kullanlr. Parantez ()
{} ierisindeki ifade deerlendirildiinde, eer ifadesiniz doru ise ilk brackets{}
else ierisindeki ifade yrtlr. ayet doru deil ise ikince brackest {} ierisindeki
{} ifade yrtlr.
Ne greceiz?
LED'inizi alyor olarak grmeniz
lazm, fakat bu sefer LED'iniz
srayla farkl farkl renkler yayyor
olmal. Eer yle deilse devrenizi
doru ekilde birletirdiinizden
emin olun, kontrollerinizi yapn ve
kartnza ykleme yapn ve arza
tespiti ksmn kontrol edin.
Pin 2
Pin 2 Pin 33
Pin Pin 44
Pin Pin 55
Pin oklu LED
LED
Light Emitting Diode
Elimizde yakp sndrmek iin bir LED var. Gelin
imdi SEKZ LED'i anda balayarak tay biraz
Diren ykseltelim. Bylece eitli renkler oluturma
(330ohm)
(turuncu-turuncu-kahverengi)
konusunda Arduinomuzu da ufak bir teste tabi
tutmu olacaz. Bu devre kendi programnz yazma
GND pratikleri iin gzel bir balang adm olacak.
LED'leri kontrol aamasnda yazdnz program
Pin 66
Pin Pin 77
Pin Pin 88
Pin Pin 99
Pin dzenli tutmanz salayacak bir ka ipucu
renceksiniz.
Diren
X 8 X 8 X 10
p.32
Devre 4: oklu LED
a b c d e f g h i
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10 10
11 11
12 12
13 13
14 14
15 15
16 16
17 17
18 18
19 19
20 20
21 21
22 22
23 23
24 24
25 25
26 26
27 27
28 28
29 29
30 30
a b c d e f g h i
Elemanlar: Gerek Grnm: Elemanlar: Gerek Grnm:
Arduino IDE 'yi A// File > Examples > Arduino Kod > Devre # 4
Kod Notlar:
array ok fazla deikeni gruplar haline getirerek
ynetilmesini kolaylatran en kullanl yntemdir.
int ledPins[] = {2,3,4,5,6,7,8,9};
Burada sekiz eleman ieren integer deerler iin bir array
oluturuyoruz ve buna ledPins adn veriyoruz.
Ne greceiz?
Tek LED yerine btn LED'lerin yanp
sndn grmeniz gerek. Eer sorun
varsa devreyi doru ekilde
kurduunuzdan emin olduktan sonra
kodunuzu kontrol edin ve arza tespit
ksmn inceleyin.
Baz LED'ler Ik Vermeyebilir Kayan yaz ekranlar genellikle nemli bilgilarn ksa
LED'inizi ters takm olabilirsiniz, ska karlalan paralarnn yaynlanmas eklinde kulanlr. Bu
bir sorundur. almayan LEDinizin doru ekranlar ok sayda LED kullanlarak retilir.
balandndan emin olun.
Sralama Dzeni
Sekiz adet balant ile altnz iin karklklar
olmas gayet doal. lk LED'i pin 2ye yerletirin ve
dier LED'leri devam edecek ekilde yerletirin ve
tekrar kontrol edin.
Yeniden Balayn
Farknda olmadan balanty yanl yere
kurabilirsiniz. Genelde her eyi karp tekrar
yerletirmek, nerede hata yaptnz aramaktan daha
kolaydr.
5
Devre #5
Buton Kullanm
Pin
Pin 22 Pin
Pin 33
u ana kadar kt (output) zerine younlamtk.
+5 Volt Bundan sonraki projelerimize girdiler (inputs) ile
Pin 13 devam ediyoruz. Bu devrede ok yaygn olan bir
Diren
girdiye bakacaz push botton(buton). Bir butonun
Arduino zerindeki alma ekli yledir; ne
zaman ki butona bastnz, voltaj LOW seviyesine
LED geer. Arduino bunu okur ve buna gre davranr.
Bu devrede, bir adet pull-up diren gryoruz. Bu
diren temiz bir voltaj olumasn ve butondan
Diren (330ohm) gelecek yanl okumalarn nne geilmesini salar.
(turuncu-turuncu-kahverengi)
GND
(toprak-ground) (-)
IC Button
Push LED 10K
330 330
Wire Kablo
Elemanlar::
Diren Diren
X 21 X 18 X 28 X 19 X 1 X 7
p.36
p.10
Devre 5: Buton Kullanm
a b c d e f g h i
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10 10
11 11
12 12
13 13
14 14
15 15
16 16
17 17
18 18
19 19
20 20
21 21
22 22
23 23
24 24
25 25
26 26
27 27
28 28
29 29
30 30
a b c d e f g h i
Elemanlar: Gerek Grnm: Iron Man Olmak iin Arduino:
d4 g4
Push Buton Arduinoyu kullanl klan eylerden biri de, girdinizdeki bilgilere dayanan karmak
d6 g6
eylemleri gerekletirebilir. rnein hava fazla souk olduunda stcy altrabilir,
d9 g9 scak olduunda vantilatr aabilir, bitkiler kurumaya baladnda onlar
Push Buton sulayabilirsiniz. Bu eylemleri yerine getirebilmesi iin, Arduino if ile kurduunuz
d11 g11
karmak yaplar mantkl ilemlerle gerekletirir.
Atlama Kablosu i9 Karmak bir if() ifadesi oluturmak iin baka fonksiyonlar kombinleyebilirsiniz.
rnein:
Atlama Kablosu Pin 2 h6
if ((mode == heat) && ((temperature < threshold) || (override == true)))
{
Atlama Kablosu Pin 3 h11 digitalWrite(HEATER, HIGH);
}
Atlama Kablosu Pin 13 j20 Eer stma modundaysanz ve scaklk dkse bu kod stcy altracaktr. Bu tarz
ilemlerle Arduinoyu akll eylemleri gerekletirebilecek ekilde kodlayabilir ve d
evreyi kontrol altna alabilirsiniz.
5
Circuit 2 Arduino Kodu:
Arduino IDE 'yi A// File > Examples > Arduino Kod > Devre # 5
Kod Notlar:
Ne greceiz?
Buttona bastnzda LED'in
yanp sndn grebilirsiniz.
Eer sorun varsa devreyi doru
ekilde kurduunuzdan emin
olduktan sonra kodunuzu
kontrol edin ve arza tespit
ksmn inceleyin.
Ik snmyor
Foto Diren
Pin 9 +5 Volt Potansiyometreyi nceki projelerimizde direnci
deitirmek iin kullanmtk. Bu devrede sensre
ulaan k miktarn gre direnci deien foto
Foto
LED Diren
direnleri kullanacaksnz. Arduino direnci direkt
olarak deerlendiremedii iin foto direncimizi
kullanmak iin voltaj blc kullanacaz. Voltaj
blc fazla k altnda yksek voltaj k, fazla
Pin A
Diren (330ohm) k almad zamanda da dk voltaj k
(turuncu-turuncu-kahverengi)
verecek.
GND
(toprak-ground) (-)
Diren Diren
X 1 X 1 X 1 X 6 X 1
p.40
Devre 6: Foto Dire
a b c d e f g h i
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10 10
11 11
12 12
13 13
14 14
15 15
16 16
17 17
18 18
19 19
20 20
21 21
22 22
23 23
24 24
25 25
26 26
27 27
28 28
29 29
30 30
a b c d e f g h i
Elemanlar: Gerek Grnm: Diren lm Sensrleri:
Foto Diren f5 f6
Grdnz btn bu sensrlerin (potansiyometreler, fotodirenler vs.)
hepsi farkl ekillerde grnen direnlerdir. Diren deeri algladklar
LED (5mm) + h20 h21 eyin deerine gre deiir. (Ik seviyesi vs.)
-
+ -
5 volt
Atlama Kablosu j1 +
Atlama Kablosu A0 j5
Pin
Pin 33
Atlama Kablosu j6
Atlama Kablosu 5V +
Atlama Kablosu GND Bir voltaj blc iki adet direnten meydana gelir. st direnci 5 volta ve
alt direnci topraa(GND) baladnzda, orta ksm iki diren deerine
uygun olan bir volt k verir. Direnlerden birinin deeri deitiinde
(Algladklar birimin deeri deitiinde) diren deeri de deiecektir ve
bu yzden k voltaj da buna bal olarak deiecektir!
6
Circuit 2 Arduino Kodu:
Arduino IDE 'yi A// File > Examples > Arduino Kod > Devre # 4
Kod Notlar:
Ne greceiz?
Fotodirencinizin alglad k
miktarna gre LEDininiz daha
parlak veya snk yandn
grebilirsiniz. Eer almyorsa
devrenizin doru kurulduundan
emin olun, konudunuzu yeniden
ykleyin ve arza tespit ksmn
konrol edin.
Scaklk Sensr
5 Volt
Scaklk sensr adndan da anlald gibi ortam
Pin A scakln lmek iin kullanlr. Bu sensrmzde 3
adet pin bulunuyor. Pozitif, toprak(GND) ve sinyal
pinleri. Bu devremizde, scaklk sensrn Arduino
ile nasl entegre edileceini reneceiz ve Arduino
IDE'deki serial monitrde scaklk deerini greceiz.
+5v TMP36
signal (precision
gnd temperature
sensor)
X 1 X 5
Arka
p.44
Devre 7: Scaklk Sensr
a b c d e f g h i
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10 10
11 11
12 12
13 13
14 14
15 15
16 16
17 17
18 18
19 19
20 20
21 21
22 22
23 23
24 24
25 25
26 26
27 27
28 28
29 29
30 30
a b c d e f g h i
Elemanlar: Gerek Grnm: Serial Monitr Ayoruz
Scaklk Sensr f5 f6 f7
Bu devre Arduino IDEnin seri monitrn kullanyor. Bunu amak iin
ncelikle program upload edip kare kutu ierisinde byte gibi grnen
butona basyoruz.
Atlama Kablosu j5
1
Atlama Kablosu A0 j6
Atlama Kablosu j7 +
2
Atlama Kablosu 5V +
3
Atlama Kablosu GND
7
Circuit 2 Arduino Kodu:
Arduino IDE 'yi A// File > Examples > Arduino Kod > Devre # 7
Kod Notlar:
Seri monitr kullanmadan nce, balatmak iin Serial.begin()
komutunu armanz gerek. Balant hz veya Baud Hz*
Serial.begin(9600);
9600'dr. ki cihaz birbiriyle balant kurduunda, ikisi de ayn
hza ayarlanm olmaldr.
Ne greceiz?
Scaklk sensrnzn alglad
scaklk deerini Arduino IDE
seri monitrnde okunabiliyor
olarak grebiliyor olmanz gerek. voltage: 0.73 deg C: 22.75 deg F: 72.96
Grnrde alan Bir ey Yok Klima sistemlerinde scakl takip etmek ve buna gre
Programn altna dair bir gsterge yok mu? ayarlar yaplandrmak iin scaklk sensrleri kullanlr.
Sonular grmek iin Arduino IDE seri monitrn
amanz gerek. (Talimatlar nceki sayfada mevcut.)
Anlamsz Ekran
Bu tr eylerin meydana gelmesinin sebebi seri
monitrn beklenenden farkl hzda data almasndan
kaynaklanyor. Dzeltmek iin ise pull-down
kutucuuna tklayp baud yazan yeri 9600 baud
olarak dzeltmeniz gereklidir.
Scaklk Deeri Deimiyor
Sensrnz parmanzn arasna sktrarak ssn
ykseltin veya buz torbas kullanarak soutmay deneyin.
8
Devre #8
Servo Motor
Pin 9
Servo motorlar gml elektronik uygulamalar iin
son derece idealdir nk dnen normal motorlarn
aksine istenilen herhangi bir ynde dnebilir. Servoya
Mini Servo ulaan voltaj deiimine gre servoyu belirli bir
pozisyona sokabilirsiniz. rnein 1.5 milisaniyelik bir
signal
(beyaz) deiim sevoyu 90 derece hareket ettirebilir. Bu
+5v devrede, servoyu kontrol edip ynlendirmek iin
gnd
(Krmz) PWM kullanmay reneceiz.
(Siyah)
GND
+5 volt
(toprak-ground) (-)
(5V)
Servo Kablo
Elemanlar:
X 1 X 8
p. 48
Devre 8: Servo Motor
a b c d e f g h i
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10 10
11 11
12 12
13 13
14 14
15 15
16 16
17 17
18 18
19 19
20 20
21 21
22 22
23 23
24 24
25 25
26 26
27 27
28 28
29 29
30 30
a b c d e f g h i
Elemanlar: Gerek Grnm: Ktphaneler Kullanarak Ufkunuzu Geniletin
Servo Motor e5 e6 e7
Arduino salad kullanl dhili komutlarla; basit giri(input) ve k(output)
ilemleri yapmanz, mantk kullanarak karar vermenizi, matematik problemleri
zmenizi salar. Arduinonun asl gc ise bu platformu kullanan devasa
Atlama Kablosu e5 topluluklarn yaptklar almalar paylama isteidir. Arduino bir ok kullanl
ktphaneye sahiptir. Bu rnekte kullandmz servo ktphanesi bunlardan biridir.
Standart ktphaneler ve kullanm klavuzlar iin siteyi ziyaret edebilirsiniz.
Atlama Kablosu e6
http: //arduino.cc/en/Reference/Libraries
Atlama Kablosu e7 Herkes kendi ktphanesini oluturabilir, eer yeni bir sensr veya kt(output)
cihaz kullanacaksanz yeni ktphane yazabilirsiniz, tabiki ansnza bal olarak daha
nce bunu birisi sizin iin yapm olabilir. Birok Arduino ktphanelerine ulamak
Atlama Kablosu Pin 9 a7 iin Google veya Arduino Playground kullanabilirsiniz.
http://arduino.cc/playground
Atlama Kablosu b5
Arduinonuzu aldnzda yeni bir cihazla kullanacaksanz, ktphanenizi oluturun
ve bunu btn dnyayla paylan! Ktphaneyi taslakta (sketch) kullanmak iin
Atlama Kablosu a6 + Sketch > Import Library ksmndan seiniz.
Arduino IDE 'yi A// File > Examples > Arduino Kod > Devre # 8
Kod Notlar:
#include ktphaneyi (veya baka bir dosya) taslanza (sketch) ekleyen
zel bir nilemcidir. Bu komutu kendiniz yazabilir veya hali hazrda
#include <Servo.h>
ykl olan bir ktphaneyi "sketch / import library" mensnden
seebilirsiniz.
Ne greceiz?
Servo motorunuzun farkl hzlarda
deiik konumlarda dnebildiini
grebilirsiniz. ayet motorunuz hareket
etmiyorsa balantlarnz kontrol
ettikten sonra kodunuzun doru
olduundan emin olun ve upload edin.
Hatann kaynan grmek iin arza
tespit ksmna gz atn.
Oldu Bitti :
Servonuz alyor fakat kesik hareketler
gerekletiriyorsa ve Arduino zerinde yanp snen bir
k var ise muhtemelen enerjiniz yetersizdir. Usb
yerine bir adaptr kullanmak bu sorunu zecektir.
Devre #9
Pin 9
Buzzer
9
Bu devremizde dijital dnya ve analog dnya
arasnda kpr kuracaz. Bunun iin bir buzzer
(speaker) kullanacaz. Tek bana ok heyecan
verici bir ey olmasa da, bir saniyede yzlerce kez
voltaj ap kapadnzda buzzer ses retecektir.
Buzzer Birden fazla retilmi sesi bir araya getirdiinizde,
kendi mziinizi elde edebilirsiniz! Bu devre ve
taslak klasik bir ses retecektir. Sizi hayal krklna
uratmayacaz.
GND
(toprak-ground) (-)
Buzzer Kablo
Elemanlar:
X 1 X 4
p. 52
Devre 9: Buzzer
a b c d e f g h i
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10 10
11 11
12 12
13 13
14 14
15 15
16 16
17 17
18 18
19 19
20 20
21 21
22 22
23 23
24 24
25 25
26 26
27 27
28 28
29 29
30 30
a b c d e f g h i
Elemanlar: Gerek Grnm: Kendi Fonksiyonlar Oluturma
Buzzer j9 j7
Arduino iersinde her trl ey iin kullanlabilecek kocaman bir servet
+ - barndryor. (Bknz: http://arduino.cc/en/Reference) Bunun yan sra kendi
fonksiyonlarnz oluturmak da olduka basit. rnek verecek olursak add iki
Atlama Kablosu i7
sayy bir toplayp size sonucu verir.
Arduino IDE 'yi A// File > Examples > Arduino Kod > Devre # 9
Kod notlar:
imdiye kadar sadece saysal verilerle altk ama Arduino ayn
zamanda metinlerle de alabilir. Karakterlerin (tek karekterler,
char notes[] = "cdfda ag cdfdg gf ";
harfler, numaralar, semboller) kendilerine ait tipleri mevcuttur.
Bu tipe char diyoruz. Bir karakter diziniz varsa ift trnak
char names[] = {'c','d','e','f','g','a','b','C'};
ierisinde tanmlanabilir. string olarak tanmlarsanz tek trnak
ierisinde belirtilmelidir.
Ne greceiz?
Tabi bir ey duymuyor olmanzda
mmkn. Eer almamsa
balantlarnz kontrol ettikten ve
kodunuzu gzden geirdikten sonra
tekrar upload edin ve hata devam
ederse sorun giderme ksmna gz atn.
GND
(toprak-ground) (-)
+5 volt
(5V)
FRONT
P2N2
222A
A18
BACK
p. 56
Devre 10: Motor Dndrmek
a b c d e f g h i
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10 10
11 11
12 12
13 13
14 14
15 15
16 16
17 17
18 18
19 19
20 20
21 21
22 22
23 23
24 24
25 25
26 26
27 27
28 28
29 29
30 30
a b c d e f g h i
Elemanlar: Gerek Grnm: Hepsini bir araya getirirsek:
Transistor P2N2222AG a1 a2 a3
A18
222A
P2N2
Muhtemelen bu noktada devreniz iin elenceli bir fikriniz veya bir sorunu
zmeye ynelik zm neriniz olabilir. Harika! O halde biz de size genel
programlama konusunda bir ka pf noktas nerelim.
Diode 1N4148 GND
b7 b11
a3
Yazdn bir ok taslak (sketch) aadakilerin bir kan veya hepsini ierecek:
DC Motor e7 e11
1. input denemesi yapn.
2. Baz hesaplamalar yapn ve karar verin.
3. Output almaya aln.
330 Diren 5V e7
e2 eg2
11
4. Tekrar edin!(Veya etmeyin size kalm.)
Atlama Kablosu e1 Birok input sensr ve output cihaznn nasl alt hakknda epey bilgi
verdik. (Bir ka cihazmz ve sensrmz daha var tabi) Artk rendiklerinizi
kendi taslanzda zgrce kullanabilirsiniz. te bu Ak Kaynak akmnn
Atlama Kablosu Pin 9 j2 ardnda yatan fikrin ta kendisidir. Farkl taslaklardan(sketch) paralar toplamak
ve bunlar birletirip yeni eyler retmek fazlasyla kolay, tek yapmanz gereken
iki adet pencere amak ve birinden dierine kopyalayp yaptrmak. Bu yzden
Atlama Kablosu a7 +
iyi programlama alkanl fikrini alyoruz. Ayn pin numaralarn
kullanmak ve taslanz fonksiyonlara ayrmak, kodunuzun yeniden
kullanlabilirliini kolaylatrr. rnein bir kodun iki blm iin ayn pini
Atlama Kablosu e3 d11
kullanyorsanz kolaylkla ikisinden birinin pinini deitirebilirsiniz.(unu
unutmayn ki byn pinler analogWrite() desteine sahip deil, uyumlu olanlar
Atlama Kablosu +
devre kartnzda iaretli bulunuyor.)
5V
Arduino IDE 'yi A// File > Examples > Arduino Kod > Devre # 10
Kod Notlar:
Arduino seri portlar data gnderimi iin olduu gibi data alm iin
de kullanlabilir nk herhangi bir zaman da data aktarm olabilir.
Arduino siz bu bilgiyi kullanana kadar depolar ve korur.
while (Serial.available() > 0)
The Serial.available() komutu portunuza ulam fakat taslanzda
(sketch) henz kullanlmam olan karakter numaralarn geri getirir.
Sfr, ulam data yok anlamna gelir.
Ne greceiz?
Eer bileenleri doru yerletirmiseniz DC
motorunuzun almas gerek. Eer
almyorsa arza tespit ksmn kontrol
edin.
almamakta Israrc
Bazen Arduino bilgisayarla balantsn koparabilir.
USB giriinizi karp tekrar takn.
11
Devre #11
Rle
Pin 2
Diren (330ohm)
(turuncu-turuncu-kahverengi)
reneceksiniz.
NO
NC
GND
(toprak-ground) (-)
p. 60
Devre 11: Rle
a b c d e f g h i
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10 10
11 11
12 12
13 13
14 14
15 15
16 16
17 17
18 18
19 19
20 20
21 21
22 22
23 23
24 24
25 25
Emre A.
26 26
27 27
28 28
29 29
30 30
a b c d e f g h i
Elemanlar: Gerek Grnm: Elemanlar: Gerek Grnm:
e9 f9
Rle Atlama Kablosu e15 f7
f5 f6e19
e15 f15
A18
222A
P2N2
LED (5mm) + c19 c20 Atlama Kablosu a23
e15 +
+ e19
-
+ -
330 Diren 5V e7
e3 eg3
11 Atlama Kablosu e4 e9
330 Diren 5V e7
e2 eg2
11 Atlama Kablosu 5V +
Atlama Kablosu j5
j7 j9
Atlama Kablosu h9 +
Kod Notlar:
Ne greceiz?
Rle balant klik sesini duymu
olmanz gerek ve ardndan 1
saniyelik aralkta LED'leri
aydnlklarn kendi aralarnda
deitirdiklerini grebilirsiniz. Eer
devreniz almamsa devre
kurulumunuzu kontrol edin,
kodlarnz tekrar upload edin.
almamakta Israrc
+5 volt
+5 volt
Shift Register
12
Diren (330ohm)
(turuncu-turuncu-kahverengi)
LED'ler imdi de entegre devrelere adm atyoruz. Bu devremizde
15 16 10 Pin 3
shift register hakknda her eyi reneceksiniz. Shift register
clock 44
Pin
Arduinonuza ilaveten 8 output verir ve Arduino'nun sadece
1 11
3 pini kullanlr. Bu devrede 8 adet LED 'i kontrol etmek iin
2 12
latch Pin 2
shift register kullanacaz.
data
3 14
6
QB 1 16 VCC
7 13
8 QC 2 15 QA
QD 3 14 SER
QE 4 13 OE
GND
(toprak-ground) (-) QF 5 12 RCLK
QG 6 11 SRCLK
QH 7 10 SRCLR
GND 8 9 QH
IC LED 330 Kablo
Elemanlar:
Bacaklar 90 bkn.
p. 64
Devre 14: Shift Register
a b c d e f g h i
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10 10
11 11
12 12
13 13
14 14
15 15
16 16
17 17
18 18
19 19
20 20
21 21
22 22
23 23
24 24
25 25
26 26
27 27
28 28
29 29
30 30
a b c d e f g h i
Elemanlar: Gerek Grnm: Elemanlar: Gerek Grnm:
e5 e6 e7 e8 e9 e10 e11 e12
IC Atlama Kablosu GND
+ +
a3
f5 f6 f7 f8 f9 f10 f11 f12
Kod Notlar:
Ne greceiz?
Devre 4 te olduu gibi LED 'in
yandn grmeniz gerek (Tek fark
shift register kullandk.) Eer LED
k vermiyorsa balantlarnz
kontrol edin ve kodunuzu tekrar
upload edin.
Emre ARSLAN
AkademikPort Kurumsal llikiler Koordinatr
Kaynak
Sparkfun SIK GUIDE
Adafruit.com
Arduino - Cokun Tademir
Instructables.com
NOTLAR
11
Ve Sonuna Geldik.
Emre ARSLAN
AkademikPort Kurumsal llikiler Koordinatr
Kaynak
Sparkfun SIK GUIDE
Adafruit.com
Arduino - Cokun Tademir
Instructables.com
NOTLAR
11