You are on page 1of 74

Kitapk Hakknda

AkademikPort "Arduino Balang Projeleri" Eitimine Hogeldiniz!

Bu kitapk SparkFun SIK Guide(retired) ve bir ok yerli-yabanc kaynaktan


yararlanlarak oluturulmu ve ak kaynakl olarak ilk lisans art olan Creative
Commons CC BY SA 4.0 lisans ile yaynlanmtr. "AkademikPort Arduino
Balang Projeleri" Eitimi AkademikPort'un ak kaynakl elektronik kitap
eitimlerinin yedinci kitap olarak yaynlanmtr. Bu kitapkta sizler iin
hazrlanan 12 Arduino breadboard devresi sayesinde devre elemanlar ve
sensrlerle Arduino projeleri gelitirerek ksa sre ierisinde Arduino'yu
kullanmay ve programlamay reneceksiniz.

retmekten korkmayan bir toplum olmamz dileiyle...

Emre ARSLAN
AkademikPort Kurumsal llikiler Koordinatr

www.akademikport.com

Orjinal Kitap Editrleri


SparkFun Education Department

Trke Kitap Hazrlayanlar


Emre Arslan
Hakan olakolu

Arduino Balang Projeleri is licensed under a Creative Commons Attribution-NonCommercial-


ShareAlike 4.0 International License.
(Arduino Balang Projelerielektronik kitab yazar isimleri belirtilip, lisasns artlarna uyularak
paylalabilir fakat ticari bir faaliyette kullanlamaz. )
To view a copy of this license visit:
http://creativecommons.org/licenses/by-sa/4.0/
www.akademikport.com
1. Blm Arduino'ya Balamak

Arduino nedir? 1

Arduino IDE 'yi ndirmek 3

Srcy Yklemek 4

Identify your Arduino 7

"Elektrikport Arduino Kod" indirme 8

2.Blm Temel Elektronik ve Arduino Projeleri

Elektrik Devreleri 9

Devre Elemanlar 11

Arduino Uno 13

Breadboard 15

Devre #1 - lk Devreniz: LED Yakma 17

Devre #2 - Potansiyometre 24

Devre #3 - RGB LED 28

Devre #4 - oklu LED 32

Devre #5 - Buton Kullanm 36

Devre #6 - Foto Diren 40

Devre #7 - Scaklk Sensor 44

Devre #8 - Servo Motor 48

Devre #9 - Buzzer 52

Devre #10 - Motor Dndrme 56

Devre #11 - Rle 60

Devre #12 - Shift Register 64

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

Fiziksel Dnya iin Bir Bilgisayar


Bu elinizde tuttuunuz dost canls mavi kart masast
bilgisayarlarnzn ve laptoplarnzn ocuu gibi
tanabilir kk bir bilgisayar olarak dnebilirsiniz.
Arduino ktphaneleri ile mikrodenetleyicileri
kolaylkla programlayabilirsiniz. Analog ve dijital
girileri sayesinde analog ve dijital verileri ileyebilir ve
sensrlerden gelen verileri kullanarak d dnyaya
ktlar (ses, k, hareket vs) retebilirsiniz.

Arduino kartlar bir Atmel AVR mikrodenetleyici


programlama ve dier devrelere balant iin
gerekli yan elemanlardan oluur. Her kartta en
azndan bir 5 voltluk regle entegresi ve bir
16MHz kristal osilator (bazlarnda seramik
rezonatr) bulunur. Mikrodenetleyiciye nceden
bir bootloader program yazl olduundan
programlama iin harici bir programlaycya
ihtiya duyulmaz.

// Arduino UNO SMD R3


Arduino Uno en yaygn kullanlan arduino kartdr.
14 dijital giri / k'a (6 PWM k), 6 analog
girie, bir 16 MHz kristal osilatre, bir USB
balantsna, bir g giriine, bir ICSP balna ve
bir reset dmesine sahiptir. Heyecana kaplmaya
gerek yok eitim ierisinde tekrar bu konulara
deinilecektir.imdilik yzeysel olarak bilinmesi
yeterlidir.
c
b

d
h

a Sayal Bcek Yakalama d Kamera Zamanlama Uygulamas g Kahve Makinesi


b Oyuncaktan Email Habercisi e Otomatik iek Sulama h Quadcopter
c Otomatik Ayakkab Bac f Programlanabilir Trafik Iklar
Arduino IDE'yi ndirme (Entegre Gelitirme Ortam)

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

3 Bilgisayarnzn iletim sistemine gre ihtiyacnz olan srcy indirip yklyoruz.

Windows Src Ykleme


Aadaki adreste Windows src yklemesi ileilgili
talimatlar bulabilirsiniz.

http://arduino.cc/en/Guide/Windows

Macintosh OS X Src Ykleme


Aadaki adreste MacOSX src yklemesi ile ilgili talimatlar
bulabilirsiniz.

http://arduino.cc/en/Guide/MacOSX

Linux: 32 bit / 64 bit Src Ykleme


Aadaki adreste Linux src yklemesi ileilgili talimatlar
bulabilirsiniz.

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.

2 Upload(Ykleme): Kodu arduino kartna gnderir.

3 New(Yeni): Bu buton yeni kod penceresi aar.

4 Open(Amak): Bu buton var olan bir arduino dosyasn amanz salar.

5 Save(Kaydetmek): Yazdnz skecthi kaydeder.

6 Serial Monitor(Seri monitr): Seri bilgi grntleyen bir pencere aacaktr. zellikle hata ayklama iin ok yararldr.

7 Sketch Name: u an da zerinde altnz sketch in adn gsterir.

8 Code Area(Kod Alan): Sketch iin kod oluturacanz alandr.

9 Message Area(Mesaj Alan): Kodunuzdaki hatay gsteren alan .

// Bu klavuz iin en nemli komut aada grlmektedir:

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

Board Arduino Uno


Serial Port Arduino Duemilanove w/ ATmega328]
Arduino Diecimila or Duemilanove w/ ATmega168
Programmer Arduino Nano w/ ATmega328
Burn Bootloader Arduino Nano w/ ATmega168
Arduino Mega 2560 or Mega ADK
Arduino Mega (ATmega1280)
Arduino Mini
Arduino Mini w/ATmega168
Arduino Ethernet
Arduino Fio
Arduino BT w/ ATmega328
Arduino BT w/ATmega168
LilyPad Arduino w/ ATmega328
LilyPad Arduino w/ ATmega168
Arduino Pro or Pro Mini (5V, 16 MHz) w/ATmega328
Arduino Pro or Pro Mini (5V, 16 MHz) w/ATmega168
Arduino Pro or Pro Mini (3.3V, 8 MHz) w/ATmega328
Arduino Pro or Pro Mini (3.3V, 8 MHz) w/ATmega168
Arduino NG or older w/ ATmega168
Arduino NG or older w/ ATmega8

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

bulmak iin Arduino ile bilgisayar arasndaki balanty


O.C

kesin ve menye tekrar gelin ,balanty kestikten sonra


mende kaybolan port sizin Arduino portunuzdur.
N

O portu seip arduino programlamaya balayabiliriz.


I
// Seri aygt Semek

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

Start Programs arduino examples

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

Elektrik Devresi Nedir?


Elektrik Devresi basite balang ve biti noktas olan ve
ierisinde bir ok devre eleman buluduran dngdr.
Devreler her lde ve ekilde yzlerce ; diren,diyot,
bobin,sensr, motor ve dier devre elemanlarn
barndrabilir.

Devreler genelde analog devreler,dijital devreler ve


kark sinyal devreleri olmak zere kategoriye
ayrlr.Bu kitapkta her devre eidi de
gsterilecektir.

Dnya Bu Devreler zerinde Dnyor

Nereye bakarsanz bakn devreler ile karlaacaksnz.


Cebinizdeki telefon, aracnzn emisyon sistemini
kontrol eden bilgisayar,oyun konsollarnz,elektrikli
mutfak aletleriniz , bunlarn hepsi elektrik devreleriyle
dolu. Bu kitapkta baz basit devreleri deneyecek ve
gml elektronik sistemlerinin temeline adm
atacaksnz.

// Basit ve Karmak Devreler 1


a b c d e f g h i
1
2 2
3 3
Bu kitapkta ilk olarak basit devreleri 4 4
5 5
kefedeceksiniz. Ama bu sizin basit aralarla 6 6

byleyici eyler yapamayacanz anlamna


7 7
8 8

gelmiyor elbette. Bu eitimi tamamladktan


9 9
10 10

sonra devreler hakknda rendiiniz bilgiler 11


12
11
12

hayal gcnze de bal olarak muhteem 13


14
13
14

projeler yapmanz salayacak. 15


16
15
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
Devre Elemanlar
Atlama Kablosu LED (5mm) +
eitli Renklerde (Light Emitting Diode) -

x30 x10 x10 x1

330 Diren 10K Diren

*Gerek Grnm *Gerek Grnm


x25 x25

Potansiyometre Diyot
(1N4148)

*Gerek Grnm
x1 x2

Foto Diren(LDR) Buzzer

x1 x1

Scaklk Sensr Transistor


P2N2
222A

(TMP36) (P2N2222AG)
A18

N N

ARKA ARKA
x1 x2

DC Motor Push Buton

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

Header pinleri devreleri kurmak iin en nemli yerlerdir. Biraz


zaman ayrp arduino uno zerindeki giri klara gz gezdirelim.

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

= PWM/Analog k uyumlu (i.e. )


1

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

Bu izgi breadboardumuzu ikiye blyor,Her blm kendi iinde bamszdr.


Breadboard
1 Dikey Balant (+ G ve - Toprak //Aadaki diyagrama Baknz)
Balant ekli

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

Breadboard hakknda genel bilgiler verildi,


imdi arduino ile breadboardu yanyana
yerletirelim ve talimatlara dikkat edelim.
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

USB Kablosunu Bala


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

Arduino ve Breadboard yanyana yerletir

5V Akm Arduino 5V da alr. Arduino'yu bilgisayara baladnzda aldnz g


kurduunuz devreleri altracaktr.Bilgisayarnz Arduino'ya balayarak doru gerilimi
alabilirsiniz. 5V size zarar vermez bu yzden devre ierisinde dokunmaktan korkmayn.
1
Circuit 2

Pin 13 Arduino LED YAKMAK


LED 'ler (light-emitting diodes) bir ok elektronik
devrede kullanlan gl k kaynaklardr.
almalarmza ilk olarak her elektronik
LED
(Light Emitting Diode)
meraklsnn yapt gibi led yakarak balayacaz .
Bir ounuz iin ok basit olabilir ama hem devre
kurma hem de programlama olarak bize katacaklar
eyler daha komplex projeleri yapmak iin bizlere
birer basamak olacaktr.

Diren (330ohm)
(Turuncu-Turuncu-Kahverengi)

GND Bu blmde devrelerimizi kurmadan nce


(ground-toprak) (-) kuracamz devre ile ilgili ksa aklamalar
yer alr.
Bu LED yakma devremizin emasdr.

LED 330 Kablo


Elemanlar:

Diren
X 1 X 1 X 3 Bu blmde, devreyi tamamlamak
iin gereken paralar listelenir.

Devrenin nasl kurulacan gsteren


emadr. zellikle yeni balayan
arkadalarn balantlar kurmak iin Diren gibi devre elemanlarnn
emay dikkatle incelemesini tavsiye breadboard ile balantsn
ediyoruz. salamak iin bacaklarn 90
derecelik ayla bkyoruz.
Devre 1: Led Yakmak

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.
-
+ -

330 Diren GND


a3 a3 Direnler yalnzca Breadboard zerindeki soketlere yerletirilir."-" iaretli satra ve LED' in bacana balyoruz.

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.

Arduino: Mavi erit Arduino header Breadboard: Beyaz erit breadboard


pinlerini temsil eder. soket balantlarn temsil eder
lk Kodumuzu Aalm:
Bilgisayarmzdaki Arduino IDE yazlmn ayoruz. Daha sonra aadaki
emay takip ederek "examples" klasr ierisindeki "Arduino Kod"
blmnden "Devre 1" kodunu seiyoruz.

File Edit Sketch Tools Help


New
Open...
Sketchbook
Examples 1.Basics
Close 2.Digital
Save 3.Analog
Save As... 4.Communication
Upload 5.Control
Upload Using Progammer 6.Sensors
7.Displays
Page Setup 8.Strings
Print ArduinoISP
Arduino Kod Devre #1
Devre #2
EEPROM Devre #3
Ethernet Devre #4
Firmata Devre #5
Liquid Crystal Devre #6
SD Devre #7
Servo Devre #8
SoftwareSerial Devre #9
SPI Devre #10
Stepper Devre #11
Wire Devre #12

// Devre #1

Circuit #1
/*
Led Yakmak (Blink=Gz Krpma)
LED ' i bir saniye yakp bir saniye sndren program
*/

int LEDcikis = 13;


void setup() {

// Dijital Pini k olarak ayarlayacaz.

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.

Arduinoki pinleri kullanmadan nce pini INPUT (giri) yada


pinMode(13, OUTPUT); OUTPUT (k) olarak tanmlamanz gerekmektedir . Bunu yapmak
iin pinMode() yerleik fonksiyonunu kullanacaz.

Bir pini OUTPUT (k) olarak tanmladnzda, o pinin HIGH


digitalWrite(13, HIGH);
(output 5 Volts-5 Volts k), veya LOW (output 0 Volts-0 Volt k)
olarak davranmasn salayabilirsiniz .

Ne greceiz? Devrenizi tamamladysanz ,


aadaki gibi LED yanp snecektir

Yanp snen bir LED greceksiniz. Eer


almyorsa kodu kontrol edin ve tekrar
derleyin sonra ykleyin ve devreyi tekrar
kontrol edin veya aadaki sorun giderme
ipularn bakn.

Bu alan kurduunuz devrenin ve devre


elemanlarnn gerek hayattaki
Bu blm devre montaj srasnda yaplan
kullanmlarn ierir.
en yaygn hatalar ierir.

Sorun Giderme: Gerek Hayatta Uygulamalar:

LED Yanmyor Hemen hemen tm modern televizyon ve


LED sadece tek ynl alr. Bu tr sorunlar monitrlerde rnn altn ya da standby
genelde LED in yanl bacann balanmasndan durumunda olduunu gsteren LED ler bulunur.
kaynaklanyor. Endieye gerek yok Led in
bacaklarn evirin ve yeniden balayn.
Program Yklenmiyor
Ykleme ile ilgili sorunlar genelde seri port'dadr.
tools>serial port> sekmesinden portunuzu deitirip
tekrar yklemeye aln.

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) (-)

Potansiyometre LED 330 Kablo


Elemanlar:

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?

LED (5mm) + h20 h21


- Arduino zerindeki dijital pinler ile d dnyadan sinyal almak ve d
+ -
dnyaya sinyal vermek ok kolaydr. Hatta LED leri ok hzl yakp
330 Diren i21 + sndrerek dim sergilemek gibi numaralar ve seri iletiim de "HIGH" ve
"LOW" gibi kalplar ile baka cihazlara veri aktarmnda kolaylkla
kullanlabilir.
Atlama Kablosu e6

Atlama Kablosu A0 e7

LOW HIGH
Atlama Kablosu e8 +
Dijital off - pasif on - aktif
Atlama Kablosu Pin
5V13 j20 0 volt 5 volt

Atlama Kablosu GND


5V +
Ama sadece on ya da off olarak tannmlayamayacamz birok ey vardr.
Scaklk seviyeleri, kontrol dmeleri gibi birok eyde pasif ve aktif (HIGH
Atlama Kablosu GND ve LOW) arasnda srekli deiebilen deerler alabilirler. Bu durumlarda
Arduino bir giri voltajn 0 (0 volt) ile 1023 (5 volt) arasnda deiebilen
saylara dntrebilen alt analog giri sunar. Analog giriler tm bu gerek
deerleri lmekte ok iyidirler ve bu tarz deerleri Arduino'ya aktarmanz
salarlar.

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.

Analog pindeki deeri okumak iin analogRead()


fonksiyonunu kullanrz. analogRead() kullanmak istediiniz
sensorValue = analogRead(sensorPin); analog pindeki ("sensorPin") deeri okur ve bir
rakama("sensorValue") dntrr, bu rakam 0 (0 Volt) ile
1023 (5 Volt) arasndadr.
Arduino her saniye binlerce satr kodu altracak kapasiteye sahip, ok
hzl bir yapdr. Onu yavalatp neler yaptn gzlemlemek iin bazen
delay(sensorValue); kodlar arasna ("delay")gecikmeler ekleriz. Delay() fonksiyonu
milisaniye ile sayar; yani 1 s gecikme iin parantez iine 1000ms
yazlmaldr.

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.

Sorun Giderme: Gerek Hayatta Uygulamalar:

Dzensiz alma Durumu MP3 alarlardaki ses kontrol potansiyometre


Byk olaslkla potansiyometrenin pinlerinin kullanmna bir rnektir.
breadboarda tam oturmamasndan
kaynaklanabilir. Potansiyometreyi bastrarak bu
sorunu zebilirsiniz.

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

Pin 11 Pin 10 Pin 9


RGB LED 3
Yanp snen bir LEDden daha elenceli ey nedir
sizce? Tabi ki renkli LED'ler! RGB, yani red-blue-
green LED'ler 3 adet renk barndran ve her tr
Diren
(330ohm)
renk iin kombin edilebilen bir diyot trdr. Bu
(turuncu-turuncu-kahverengi) devrede Bir RGB LED kullanarak nasl renk
krmz kombinasyonlar oluturabileceinizi
yeil
mavi

reneceksiniz. Her bir diyotun parlaklna bal


olarak neredeyse btn renkleri elde etmeniz
mmkn.

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*

330 Diren 5V e7 eg7


11 Arduino o kadar hzl alr ki bir pini saniyede 1000 kez ap kapatabilir.
PWM HIGH ve LOW olarak harcanan zaman kullanyor. Eer HIGH
konumunda daha fazla vakit harcanyorsa bu pine bal olan LED parlak
Atlama Kablosu Pin 9 h4
yanacaktr. Fakat LOW konumunda daha fazla vakit harcanmsa LED
daha snk kalacaktr nk pin gzn grebileceinden daha hzl ap
Atlama Kablosu e5 kapama yapacaktr. te bu Arduninonun gerek analog kts iin
yapt bir ilzyondur.

Atlama Kablosu Pin 10 h6

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:

Bir for() dngs bir aralkta say yerletirmek iin kullanlr ve


for (x = 0; x < 768; x++) tekrarlayarak brackets{} ierisinde kodu altrr. Deiken bir x 0 olarak
{} balyor ve 767 saysna kadar her admda bir artarak ilerliyor ("x++")..

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.

Arduino ok hzl albilmektedir. yle ki her saniye binlerce kod


satrn altrabilecek kapasiteye sahiptir. Biz de cihazn ne yaptn
delay(sensorValue);
grebilmek iin yavalatmak adna gecikmeler ekliyoruz. Delay()
milisaniye olarka hesaplanyor; 1 saniye 1000 milisaniye.

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.

Sorun Giderme: Gerek Hayatta Uygulamalar:


LED'in Ik Vermemesi veya Yanl Renk Vermesi
Videogame konsollar gibi
LED'in drt pini birbirine ok yakn bulunmakta,
bir ok elektronikte RGB
kolaylkla yerlerini kartrabilirsiniz. Pinlerin nerede
LED kullanlmaktadr. Bu
olmas gerektiini iki kez kontrol edin. Ayrca uzun
LED'ler ayn blgede farkl
u bazen GND olmayabilir, uzun ucu Arduino
renkleri gstermek iin
kartmzn 5v kna balayp tekrar deneyiniz.
kullanlyor. Sklkla farkl
Krmz Rengi Grmek renkler farkl alma
RGB LED iersindeki krmz diyot diperlerinden daha artlarn ifade eder
parlak olabilir. Renklerinizi daha dengeli hale getirmek
iin daha yksek bir diren kullann veya kodunuzda
ayarlamalar yapn.
analogWrite(RED_PIN, redIntensity);
to
analogWrite(RED_PIN, redIntensity/3);
4
Devre #4

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.

for() loops - Bu dng birden fazla kez ayn


LED
Light Emitting Diode kodu kullanmanz salar.
Diren arrays[ ] - Birden fazla deikeni grup haline
(330ohm)
(turuncu-turuncu-kahverengi)
getirerek ynetilmelerini kolaylatrr.
GND
(toprak-ground) (-)

LED 330 Kablo


Elemanlar:

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:

LED (5mm) + c2 c3 330 Diren GND a18


- a3
+ -

LED (5mm) + c5 c6 330 Diren GND a21


-
+ -

LED (5mm) + c8 c9 330 Diren GND a24


-
+ -

LED (5mm) + c11 c12 Atlama Kablosu Pin 2 e2


-
+ -

LED (5mm) + c14 c15 Atlama Kablosu Pin 3 e5


-
+ -

LED (5mm) + c17 c18 Atlama Kablosu Pin 4 e8


-
+ -

LED (5mm) + c20 c21 Atlama Kablosu Pin 5 e11


-
+ -

LED (5mm) + c23 c24 Atlama Kablosu Pin 6 e14


-
+ -

330 Diren GND


c23 c24
a3 Atlama Kablosu Pin 7 e17

330 Diren GND a6 Atlama Kablosu Pin 8 e20

330 Diren GND a9 Atlama Kablosu Pin 9 e23

330 Diren GND a12 Atlama Kablosu Pin


5V3 +

330 Diren GND a15 Atlama Kablosu GND -


4 Arduino Kodu:
Circuit 2

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.

Array ierisindeki bir elemana bulunduklar adres yardm


ile ularsnz. lk elemann adresi 0, ikinci elemann adresi 1,
digitalWrite(ledPins[0], HIGH); vs. Bir elemana ulamak iin ledPins[x] komutunu
kullanarak x yerine o elamann adresini yazarsnz. Burada
dijital pin 2' yi HIGH yapyoruz.
Bilgisayarlarlar alma srasnda ayn ilemleri gerekletirir fakat bazen
bir eylerin rastgele olmasn istersiniz, rnein bir zar atma ileminde.
index = random(8); Random() fonksiyonu bunu yapmak iin en iyi yoldur. Daha fazla bilgi
iin adresi ziyaret ediniz.
http://arduino.cc/en/Reference/Random

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.

Sorun Giderme: Gerek Hayatta Uygulamalar:

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.

LED (5mm) + h20 h21


-
+ -
== Eitlik A == B doru ise A ve B ayndr.
10K Diren i6 a15
+

!= Farkllk A != B doru ise A ve B ayn deildir.


10K Diren i11 +
&& Ve A && B doru ise A ve B 'nin ikiside dorudur.

330 Diren j21 +


|| Veya A || B doru ise A veya B dorudur.

Atlama Kablosu i4 ! Deil !A doru ise A yanltr. Yanl ise A dorudur.

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:

Dijital pinler ktlar gibi girdi olarak da kullanlabilir.


pinMode(button2Pin, INPUT); Fakat bu ilemi yapmadan nce, Arduinoya
kullandnz yolu sylemeniz gerek.

Dijital bir girdiyi okumak iin digitalRead()


button1State = digitalRead(button1Pin); fonksinonunu kullanrz. Eer pinde 5V varsa HIGH,
0V ise LOW olacaktr.

nk butonumuzu GNDye balyoruz ve butona bastnzda


if (button1State == LOW) LOW olarak okunuyor. Buttonun baslm durumda olup
olmadn grmek iin (==) operatrn kullanyoruz.

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.

Sorun Giderme: Gerek Hayatta Uygulamalar:


Ik yanmyor
Butonlar bir ok oyun konsolunda kontrol
Butonuzum kare olduu iin yanl yerletirilmi
salamak iin kullanlr.
olabilir. 90 derece evirin ve alyor mu tekrar
kontrol edin.

Ik snmyor

Sklkla yaptmz bir hatadr. I kapatrken LED


balantnz pin 13' den pin 9' a getirmeyi unutmayn.
6
Devre #6

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.

resistor (10k ohm)


(Kahverengi-Siyah-Turuncu)

GND
(toprak-ground) (-)

Foto Diren LED 330 Kablo 10K


Elemanlar:

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.)
-
+ -

330 Diren (sensr) i21 +


Arduino analog giri(input) pini direnci deil voltaj ler. Ama biz
Arduinomuz ile birlikte voltaj blc olarak kullanlan direnli
10K Diren i1 i5 sensrler kullanacaz.

5 volt
Atlama Kablosu j1 +

Atlama Kablosu A0 j5
Pin
Pin 33

Atlama Kablosu j6

Atlama Kablosu Pin 9 j20


GND
(toprak-ground) (-)

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:

analogRead() kullanarak okuduumuz bir analog sinyal,


0-1023 arasnda bir deer olacaktr. Fakat anologWrite()
lightLevel = map(lightLevel, 0, 1023, 0, 255); kullanarak bir PWM altrmak istediimizde, 0-255 arasnda
bir deer isteyecektir. Bu durumda map() fonksiyonunu
kullanarak geni alanlar daha dar alanlar olacak ekilde
sktrabiliriz.

Kullandmz map() fonksiyonu snr daraltr fakat biz bunu


yannda constrain() komutu kullanarak saylar bu snr
lightLevel = constrain(lightLevel, 0, 255); ierisinde tutacaz. Eer say bu snr aarsa daha byk bir
sayya dnecek. Ama snrn ierisindeyse ayn kalacak.

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.

Sorun Giderme: Gerek Hayatta Uygulamalar:


LED Ik Vermiyor Sokak lambalar geceleri aydnlatmak iin bu tr
Foto Diren ve LED in balantlarn tekrar kontrol sensrler kullanr.
edin.

In Deiimine Tepki Vermiyor


Fotodiren zerinde balantlar standart deildir, bu
yzden balantlar kartrm olmanz mmkn.
Doru yerletirildiinden emin olmak iin iki kez
kontrol edin.
Hala almyor
Aydnlatma olarak ok aydnlk veya karanlk bir
odada olabilirsiniz. Iklar duruma gre an veya
kapatn. Eer yaknnzda fla varsa bir de onu
deneyin.
7
Devre #7

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)

Transistr ve Scaklk Sensr birbirlerie


ok benzeyen devre elemanlardr.
GND Kartrlmamaya dikkat edilmelidir.
(toprak-ground) (-)

Sc. Sensr Kablo


Elemanlar:

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.

Serial.print() komutu epey zekidir. ine attnz hemen hemen her


eyin ktsn verebilir, buna her trl deikenler de dahildir.
Serial.print(degreesC); Baud: Veri iletiminde modlatr knda bir saniyede meydana
gelen semboldeiikliidir.
Daha fazla bilgi iin > http://arduino.cc/en/Serial/Print

Serial.print() her eyi ayn satr zerinde yazdrr. Serial.println() dier


Serial.println(degreesF); satra gei yapar. Bu iki komutu birlikte kullanarak okunmas kolay
metin ve data ktlar oluturabilirsiniz.

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

Eer almyorsa devrenizin voltage: 0.73 deg C: 22.75 deg F: 72.96


doru kurulduundan emin
voltage: 0.73 deg C: 22.75 deg F: 72.96
olun, kodunuzu yeniden ykleyin
ve sorun giderme ksmn konrol voltage: 0.73 deg C: 22.75 deg F: 72.96

edin. voltage: 0.73 deg C: 22.75 deg F: 72.96

Sorun Giderme: Gerek Hayatta Uygulamalar:

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.

Atlama Kablosu 5V + File Edit Sketch Tools Help


Verify / Compile
Atlama Kablosu GND Show Sketch Folder
Add File...
Import Library EEPROM
Ethernet
Firmata
LiquidCrystal
SD
Servo
SoftwareSerial
SPI
Stepper
Wire
8
Circuit 2 Arduino Kodu:

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.

Servo ktphanesi servoyu kontrol etmenizi salayan yeni komut


Servo servo1; imkan sunar. Arduinoyu servo kontrolne hazrlarken ncelikle her
servo iin Servoobject oluturmanz gereklidir. (Biz servo1 olarak
servo1.attach(9); adlandrdk.) Ardndan servoyu bir dijital pine eletirmeniz attach
gereklidir. (Biz pin 9'u kullanyoruz.)

Servo ktphanesinde write() komutunu kullanarak servonun dnecei derece


servo1.write(180); araln (0-180) belirleyebiliriz. unu unutmayn, servo hareket iin zaman
ihtiya duyar, ihtiyacnza gre delay() komutu kullanarak ksa zaman aralklar
tanmlayabilirsiniz.

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.

Sorun Giderme: Gerek Hayatta Uygulamalar:

Servo Dnmyor: Karlatnz robot kollarda servo motorlar


Farkl renkli kablolar olmasna ramen artc ekilde kullanlmaktadr.
motorun ters balanm olmas mmkn olabiliyor.
Muhtemelen sorununuz bundan kaynakldr.

almamakta Israr Ediyor:


Muhtemelen (krmz ve kahverengi kablolar) 5 Volt ve
toprak(gnd) balants yanl yaplmtr.

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

Buzzer kolayca breadboard


deliklerine uymazsa, hafife
dndrmeyi deneyin.

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.

Atlama Kablosu Pin 9 j9


int add(int parameter1, int parameter2)
{
int x;
Atlama Kablosu 5V +
x = parameter1 + parameter2;
Atlama Kablosu GND
return(x);
}

Fonksiyonunuz bir deeri alabilir. (parametre) ve baka bir deere


dntrebilir. Eer fonksiyonunuza bir parametre atamak isterseniz,
fonksiyondan sonra gelen parantez ierisine bu deeri yazabilirsiniz. Eer
parametre vermeyecekseniz parantez ierisini bo brakabilirsiniz. Eer
fonksiyonunuzdan bir deer ekecekseniz deer tipini fonksiyon isminizin nne
yazn. Deeri ekmeye hazrsanz return() komutu ekleyin. Eer deer
dndrmeyecekseniz fonksiyon isminizin nne void ekleyin. ( setup() ve
loop() fonksiyonlarnda grm olduunuz gibi ) Kendi fonksiyonunuzu
yazdnzda kodunuzu dzenli ve kullanm kolay bir hale getirin.
9
Arduino Kodu:

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.

Arduino'nun kullanl komutlarndan biri de tone()


fonksiyonudur. Bu fonksiyon bir k pinini belirli bir frekansda
altrabiliyor, bylece buzzer ve speakerlar iin ideal hale geliyor.
tone(pin, frequency, duration); Eer belirli bir sre tanmlayacak olursanz(milisaniye cinsinden) o
sre zarfndan ses oluturacak ve ardndan suracaktr. Eer sre
belirmememiseniz, sonsuza kadar ses retebilir.
(Tabiki noTone() komutu kullanarak bunu sonlandrabilirsiniz.)

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.

Sorun Giderme: Gerek Hayatta Uygulamalar:

Ses Yok Modern megafonlarda glendirilmi buzzerlar


Breadboard zerindeki boluklar kartrm olmanz kullanlyor. Gerekten fazla grltl olmalarna
mmkn. Cihaz yerleimini tekrar kontrol edin. ramen insanlarn ilgisini ekmekte yeterince etkili.

Mzik alarken Dnemiyorum


O halde dnrken cihaznz skn, kullanacanz
zaman program upload edip tekrar monte edin.

Twinkle Twinkle Little Stars arksndan Skldm


Nasl yapacanz rendiinize gre artk kendi
arklarnz upload edebilirsiniz.
Devre #10

Pin 9 Motor Dndrmek


10
Diren (330ohm)
(turuncu-turuncu-kahverengi)
Servo motorlarla oynadnz zamanlardan ncesini
hatrlayn. imdi biraz da motorun dnyle
base uraacaz. Bunun iin transistore ihtiyacmz var
transistr
P2N2222AG
nk transistorler Arduinonun yapabildiinden
collector emitter
daha byk miktarlarda akm dntrebiliyor.
Transistor kullandnzda maximum seviyesine
bakarak kullanmnz iin yeterince uygun olup
Diyot
olmadna karar verin. Bu devre iin 40V ve 200
mA'lk transistor iimizi grr. Oyuncak
Multimetre

moturumuz iin yeter de artar!


motor

GND
(toprak-ground) (-)

Transistr ve Scaklk Sensr birbirlerie


ok benzeyen devre elemanlardr.
Kartrlmamaya dikkat edilmelidir.

+5 volt
(5V)

Transistr Diyot DC Motor Kablo 330


Elemanlar:

P2N2222AG 1N4148 Diren


X 1 X 1 X 1 X 6 X 1
P2N2
222A
A18

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

Eer yardma ihtiya duyarsanz bunun iin kullanabileceiniz internet


Atlama Kablosu GND forumlar var. arduino.cc/forum adresindeki Arduino forumunu
deneyebilirsiniz. Bunun yan sra forum.sparkfun.com adresinden ve
forum.arduinoturkiye.com da sizlere yardmc olacaktr. i ilerletmeye hazr
olduunuzda daha ileri seviye konular iin arduino.cc/en/Tutorial sayfasndan
Arduino Tutorial sayfasna urayabilirsiniz. Sonunda, haval bir eyler
rettiiniz vakit, bunu btn dnyayla paylan ki btn dnya dahiliinizden
faydalanabilsin. (Ve bizim bundan haberdar olmamz saalayn ki bunu
anasayfamzda paylaabilelim!)
10
Arduino Kodu:

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.

Portunuzda bekleyen hali hazrda datanz mevcut ise,


kullanacabileceiz bir ka yntem var. Port ierisine saylar
girmeye baladmzdan beri Serial.parselnt() komutu ile
speed = Serial.parseInt(); ayrma ve integer numaralar kendisini oluturan karakterlere
ayrtrmak iin kulllanyoruz. Eer portunuza 1 0 0
yazarsanz, bu fonksiyon bu numaralar 100 olarak evirecektir.

Ne greceiz?
Eer bileenleri doru yerletirmiseniz DC
motorunuzun almas gerek. Eer
almyorsa arza tespit ksmn kontrol
edin.

Sorun Giderme: Gerek Hayatta Uygulamalar:

Motor Dnmyor Radio Kontroll RC arabalar, DC motor kullanlar.


Kendi transistrnz kullanyorsanz, data sheeti
iki kez kontrol ederek pinoutun P2N2222AG ile
uyumlu olup olmadn tespit edin.

almamaya Devam Ediyor


Kendi motorunuzu kullanyorsanz motorunuzu
5V ile altrmay deneyin ve daha fazla g ekip
ekmediini 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)

Bu devrede, rle kontrol iin Devre#10' da rendiklerimizi


base
5 volt transistr kullanacaz. Rle basite syleyecek olursak elektriksel
P2N2222AG
collector emitter olarak kontrol edilen mekanik bir anahtardr. Bu zararsz
Diren (330ohm)
(turuncu-turuncu-kahverengi)
grnen plastik kutunun ierisinde elektromagnet
bulunuyor. Ne zaman ki fazla enerji ile yklenirse anahtar
ayor. Bu devrede Arduinonuza daha gl yetenekler
com

Diyot kazandrmay ve bir rleyi profesyonelce kullanmay


coil

reneceksiniz.
NO

NC

LED LED Rle kapalyken, COM(common) pini NC


(Normally Closed) pinine balanr.
Rle akken, COM(common) pini NO
5 volt
(Normally Open) pinine balanr.

GND
(toprak-ground) (-)

Rle Transistr Diyot 330 LED Kablo


Elemanlar:

P2N2222AG 1N4148 Diren


X 1 X 8 X 1 X 1 X 2 X 2 14
X

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

Transistr P2N2222AG a2 a3 a4 Atlama Kablosu + e19


e15

A18
222A
P2N2
LED (5mm) + c19 c20 Atlama Kablosu a23
e15 +
+ e19
-
+ -

LED (5mm) + c22 c23 Atlama Kablosu a20 +


b14 e19
-
+ -

Diyot 1N4148 GND


b7 b11
a3 Atlama Kablosu a7 a9

330 Diren 5V e7
e3 eg3
11 Atlama Kablosu e4 e9

330 Diren 5V e7
e2 eg2
11 Atlama Kablosu 5V +

Atlama Kablosu e2 Atlama Kablosu GND

Atlama Kablosu Pin 2 j3

Atlama Kablosu j5
j7 j9

Atlama Kablosu h9 +

Atlama Kablosu i13 e22

Atlama Kablosu i15 e19


11
Arduino Kodu:
Arduino IDE 'yi A// File > Examples > Arduino Kod > Devre # 11

Kod Notlar:

Transistr almaya baladnda rle bobinine enerji salar.


Bylece rle anahtar(switch) kapanr. Bu kapanma ile rlenin
digitalWrite(relayPin, HIGH); COM pini NO(Normally Open) pinine balanm olur. Balant
salandktan sonra pinler almaya balayacaktr. (Biz altn
grmeniz iin LED kullandk ama baka bir ey de kullanlabilir
tabi ki.)

Rle NC denen ilave bir balantya sahiptir. Rle kapal olduunda


NC pini COM pini ile balant kurar. Rlenin ak veya kapal
olmasna bal olarak iki pinden birini kullanabilirsiniz. Ayn
digitalWrite(relayPin, LOW);
zamanda bu iki pini iki cihazn enerjisini deitirmek iin de
kullanabilirsiniz.

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.

Sorun Giderme: Gerek Hayatta Uygulamalar:

LED Ik Vermiyor Garaj kaplarn amak iin rle kullanlr. Eer


LEDi doru taktnzdan emin olun. Uzun olan u dikkatli dinlerseniz klik sesini duyabilirsiniz.
pozitif utur.

Klik Sesi Gelmiyor


Transistr veya bobin almyorsa transistrn doru
ekilde takl olduundan emin olun.

almamakta Israrc

Rle breadboard ile kullanlmak iin deil


lehimlenmek iin dizayn edilmi olabilir. Breadboard
deliklerine tam oturmas iin gerektii kadar ittirmeyi
deneyin.
Devre #12

+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:

Diren Breadboard zerinde e5


ve f5 arasnda entii
X 1 X 8 X 8 19
X
hizalayn.

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

LED (5mm) + c14 c15 Atlama Kablosu GND


j5 +
- a3
+ -

LED (5mm) + c17 c18 Atlama Kablosu GND


j6 a14
- a3
+ -

LED (5mm) + c20 c21 Atlama Kablosu Pin 2 j7


- + -

LED (5mm) + c23 c24 Atlama Kablosu GND


j8 a14
- a3
+ -

LED (5mm) + h14 h15 Atlama Kablosu Pin 4 j9


- + -

LED (5mm) + h17 h18 Atlama Kablosu Pin 3 j10


- + -

LED (5mm) + h20 h21 Atlama Kablosu GND


j11 +
a14
- a3
+ -

LED (5mm) + h23 h24 Atlama Kablosu GND


f14 a8
- a3
+ -

330 Diren a15


a3 Atlama Kablosu GND
f17 a9
a3

330 Diren GND


c23 a18
a3 Atlama Kablosu GND
f20 a10
a3

330 Diren GND


c23 a21
a3 Atlama Kablosu GND
f23 a11
a3

330 Diren GND


c23 a24
a3 Atlama Kablosu GND
a23 a7
a3

330 Diren GND


j15 c24
a3 Atlama Kablosu GND
a20 a6
a3

330 Diren GND


j18 c24
a3 Atlama Kablosu GND
a17 a5
a3

330 Diren GND


j21 c24
a3 Atlama Kablosu GND
a14 j6
a3

330 Diren GND


j24 c24
a3 Atlama Kablosu 5V +
j10

Atlama Kablosu GND


+ +
a3 Atlama Kablosu GND
12
Arduino Kodu:
Arduino IDE 'yi A// File > Examples > Arduino Kod > Devre # 2

Kod Notlar:

SPI(Serial Peripheral Interface) arayzn kullanmak iin shift register


(ve birok farkl para) ile iletiim kuracaksnz. MSBFIRST parametresi
bireysel bitlere gnderilen komutlar belirler, bu durumda MSBFIRST
shiftOut(datapin, clockpin, MSBFIRST, data);
gnderiyoruz.

Bitler bilgisayar hafzasnn en kk yap talardr, her bit 1 veya 0


depolayabilir. Daha byk saylar bitlerden oluan dizilerle depolanr. Bazen
bu bitler zerinde oynama yapmak isteriz. rnein 8 biti shift register'a
bitWrite(data,desiredPin,desiredState); gnderiyoruz ve LED'i ap kapatmas iin 1 veya 0 yapmasn istiyoruz.
Arduino bitWrite() gibi basit komutlaryla bu ilemi gerekletirebiliyor.

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.

Sorun Giderme: Gerek Hayatta Uygulamalar:


LED Patlad Devre 4 mant ile, birden ok LED kullanarak kayan
Bu bir ok kez bamza geldi. Sebebi entegrenin ters yaz ekranlar yapabilirsiniz.
taklmasndan kaynaklanyor. Eer hemen
dzeltirseniz hibir eyi bozmadan durumu
kurtarabilirsiniz.

almamaya Devam Ediyor


Srekli ayn eyi sylyoruz ama muhtelemen
kablolar yanl taklmtr.
Ve Sonuna Geldik.

Sitemizi ziyaret edebilirsiniz!


Mhendisler, Teknik Elemanlar, Maker'lar, Hacker'lar, hobi
elektronik seven herkes iin ak kaynakl bir ok yerli ve yabanc
kaynaktan yararlanarak sizler "AkademikPort Arduino
Balang Projeleri" eitimini hazrladk. Daha ok eitim ve
projelere ulamak iin www.akademikport.com adresini ziyaret
edebilirsiniz. Bir sonraki eitimde grmek zere.

Emre ARSLAN
AkademikPort Kurumsal llikiler Koordinatr

Kaynak
Sparkfun SIK GUIDE
Adafruit.com
Arduino - Cokun Tademir
Instructables.com
NOTLAR

11
Ve Sonuna Geldik.

Sitemizi ziyaret edebilirsiniz!


Mhendisler, Teknik Elemanlar, Maker'lar, Hacker'lar, hobi
elektronik seven herkes iin ak kaynakl bir ok yerli ve yabanc
kaynaktan yararlanarak sizler "AkademikPort Arduino Balang
Projeleri" eitimini hazrladk. Daha ok eitim ve projelere
ulamak iin www.akademikport.com adresini ziyaret
edebilirsiniz. Bir sonraki eitimde grmek zere.

Emre ARSLAN
AkademikPort Kurumsal llikiler Koordinatr

Kaynak
Sparkfun SIK GUIDE
Adafruit.com
Arduino - Cokun Tademir
Instructables.com
NOTLAR

11

You might also like