Elem
anla
r:G
erçe
k G
örün
üm:
Elem
anla
r:G
erçe
k G
örün
üm:
330Ω
Dir
enç
a18
GN
D
330Ω
Dir
enç
330Ω
Dir
enç
Atla
ma
Kab
losu
Atla
ma
Kab
losu
Atla
ma
Kab
losu
Atla
ma
Kab
losu
Atla
ma
Kab
losu
Atla
ma
Kab
losu
Atla
ma
Kab
losu
Atla
ma
Kab
losu
Atla
ma
Kab
losu
5V
Atla
ma
Kab
losu
LED
(5m
m)
+-
+-
c2c3
e2Pi
n 2
330Ω
Dir
enç
a15
GN
D
330Ω
Dir
enç
a12
GN
D
330Ω
Dir
enç
a9G
ND
330Ω
Dir
enç
a6G
ND
330Ω
Dir
enç
a3G
ND
c23
c24
LED
(5m
m)
+-
+-
c23
c24
LED
(5m
m)
+-
+-
c20
c21
LED
(5m
m)
+-
+-
c17
c18
LED
(5m
m)
+-
+-
c14
c15
LED
(5m
m)
+-
+-
c11
c12
LED
(5m
m)
+-
+-
c8c9
LED
(5m
m)
+-
+-
c5c6
a3G
ND
a24
GN
D
a21
GN
D
Pin
3
Pin
3
e5
GN
D-
Pin
4e8
Pin
5e1
1
Pin
6e1
4
Pin
7e1
7
Pin
8e2
0
Pin
9e2
3 +
Circuit 24
Sorun Giderme:
Bazı LED'ler Işık VermeyebilirLED'inizi ters takmış olabilirsiniz, sıkça karşılaşılan bir sorundur. Çalışmayan LEDinizin doğru bağlandığından emin olun.
Sıralama DüzeniSekiz adet bağlantı ile çalıştığınız için karışıklıklar olması gayet doğal. İlk LED'i pin 2’ye yerleştirin ve diğer LED'leri devam edecek şekilde yerleştirin ve tekrar kontrol edin.Yeniden BaşlayınFarkında olmadan bağlantıyı yanlış yere kurabilirsiniz. Genelde her şeyi çıkarıp tekrar yerleştirmek, nerede hata yaptığınız aramaktan daha kolaydır.
Tek LED yerine bütün LED'lerin yanıp söndüğünü görmeniz gerek. Eğer sorun varsa devreyi doğru şekilde kurduğunuzdan emin olduktan sonra kodunuzu kontrol edin ve arıza tespit kısmını inceleyin.
Kod Notları:
Gerçek Hayatta Uygulamaları:
Kayan yazı ekranları genellikle önemli bilgiların kısa parçalarının yayınlanması şeklinde kulanılır. Bu ekranlar çok sayıda LED kullanılarak üretilir.
Arduino Kodu:
Arduino IDE 'yi Aç// File > Examples > Arduino Kod > Devre # 4
Ne göreceğiz?
“array” çok fazla değişkeni gruplar haline getirerek yönetilmesini kolaylaştıran en kullanışlı yöntemdir. Burada sekiz eleman içeren integer değerler için bir array oluşturuyoruz ve buna ledPins adını veriyoruz.
Array içerisindeki bir elemana bulundukları adres yardımı ile ulaşırsınız. İlk elemanın adresi 0, ikinci elemanın adresi 1, vs. Bir elemana ulaşmak için “ledPins[x]” komutunu kullanarak x yerine o elamanın adresini yazarsınız. Burada dijital pin 2' yi HIGH yapıyoruz.
int ledPins[] = {2,3,4,5,6,7,8,9};
Bilgisayarlarlar çalışma sırasında aynı işlemleri gerçekleştirir fakat bazen bir şeylerin rastgele olmaısnı istersiniz, örneğin bir zar atma işleminde. Random() fonksiyonu bunu yapmak için en iyi yoldur. Daha fazla bilgi için adresi ziyaret ediniz. http://arduino.cc/en/Reference/Random
index = random(8);
digitalWrite(ledPins[0], HIGH);
Wire
19X
IC
1X
330Ω
8X
LED
8X
Şu ana kadar çıktı (output) üzerine yoğunlaşmıştık. Bundan sonraki projelerimize girdiler (inputs) ile devam ediyoruz. Bu devrede çok yaygın olan bir girdiye bakacağız push botton(buton). Bir butonun Arduino üzerindeki çalışma şekli şöyledir; ne zaman ki butona bastınız, voltaj LOW seviyesine geçer. Arduino bunu okur ve buna göre davranır. Bu devrede, bir adet pull-up direnç görüyoruz. Bu direnç temiz bir voltaj oluşmasını ve butondan gelecek yanlış okumaların önüne geçilmesini sağlar.
Buton Kullanımı
Elem
anla
r:: Kablo
7X
Devre #5 5Pin 2
+5 Volt
Direnç
Pin 3
LED
GND(toprak-ground) (-)
Direnç(turuncu-turuncu-kahverengi)
(330ohm)
Push Button
2X
LED
1X
330ΩDirenç
1X
10KΩ
2X
Pin 13
Pin 2 Pin 3
p.10p.36
Direnç
Dev
re 5
: But
on K
ulla
nım
ı
ab
cd
ef
gh
i1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
ab
cd
ef
gh
i
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
Elem
anla
r:G
erçe
k G
örün
üm:
LED
(5m
m)
+-
+-
h20
h21
Push
But
ond4
g4
d6g6
Push
But
ond9
g9
d11
g11
Atla
ma
Kab
losu
Pin
2h6
Atla
ma
Kab
losu
Pin
3h1
1
Atla
ma
Kab
losu
Pin
13j2
0
i4A
tlam
a K
ablo
su
i9A
tlam
a K
ablo
su
10K
Ω D
iren
ça1
5i6
+
10K
Ω D
iren
çi1
1+
330Ω
Dir
enç
j21
+
Ard
uino
’yu
kulla
nışlı
kıla
n şe
yler
den
biri
de, g
irdin
izde
ki b
ilgile
re d
ayan
an k
arm
aşık
ey
lem
leri
gerç
ekle
ştire
bilir
. Örn
eğin
hav
a fa
zla so
ğuk
oldu
ğund
a ısı
tıcıy
ı çal
ıştıra
bilir
, sıc
ak
oldu
ğund
a va
ntila
törü
aç
abili
r, bi
tkile
r ku
rum
aya
başla
dığı
nda
onla
rı su
laya
bilir
siniz
. Bu
eyle
mle
ri ye
rine
getir
ebilm
esi i
çin,
Ard
uino
“if”
ile
kurd
uğun
uz
karm
aşık
yap
ıları
man
tıklı
işlem
lerle
ger
çekl
eştir
ir.
Kar
maş
ık b
ir if(
) ifa
desi
oluş
turm
ak iç
in b
aşka
fonk
siyon
ları
kom
binl
eyeb
ilirs
iniz
.
Örneğin
:
if ((
mod
e ==
hea
t) &
& ((
tem
pera
ture
< th
resh
old)
|| (o
verr
ide
== tr
ue))
){ di
gita
lWri
te(H
EAT
ER, H
IGH
);} Eğ
er ıs
ıtma
mod
unda
ysan
ız v
e sıc
aklık
düş
ükse
bu
kod
ısıtıc
ıyı ç
alışt
ıraca
ktır.
Bu
tarz
işl
emle
rle A
rdui
noyu
akı
llı e
ylem
leri
gerç
ekle
ştire
bile
cek
şeki
lde
kodl
ayab
ilir
ve d
ış çe
vrey
i kon
trol a
ltına
alab
ilirs
iniz
.
Iron
Man
Olm
ak iç
in A
rdui
no:
==
Eşitl
ikA
==
B do
ğru
ise A
ve B
ayn
ıdır
.
!=Fa
rklıl
ıkA
!= B
doğ
ru is
e A
ve
B ay
nı d
eğild
ir.
&&
Ve
A &
& B
doğ
ru is
e A
ve
B 'n
in ik
isid
e do
ğrud
ur.
||V
eya
A ||
B d
oğru
ise
A v
eya
B do
ğrud
ur.
!D
eğil
!A d
oğru
ise
A y
anlış
tır. Y
anlış
ise
A d
oğru
dur.
Butonlar bir çok oyun konsolunda kontrolü sağlamak için kullanılır.
Circuit 2 Arduino Kodu:5
Sorun Giderme:
Işık yanmıyorButonuzum kare olduğu için yanlış yerleştirilmiş olabilir. 90 derece çevirin ve çalışıyor mu tekrar kontrol edin.
Işık sönmüyor
Sıklıkla yaptığımız bir hatadır. Işığı kapatırken LED bağlantınızı pin 13' den pin 9' a getirmeyi unutmayın.
Buttona bastığınızda LED'in yanıp söndüğünü görebilirsiniz. Eğer sorun varsa devreyi doğru şekilde kurduğunuzdan emin olduktan sonra kodunuzu kontrol edin ve arıza tespit kısmını inceleyin.
Kod Notları:
Gerçek Hayatta Uygulamaları:
Arduino IDE 'yi Aç// File > Examples > Arduino Kod > Devre # 5
Ne göreceğiz?
Dijital pinler çıktılar gibi girdi olarak da kullanılabilir. Fakat bu işlemi yapmadan önce, Arduinoya kullandığınız yolu söylemeniz gerek.
pinMode(button2Pin, INPUT);
Çünkü butonumuzu GND’ye bağlıyoruz ve butona bastığınızda LOW olarak okunuyor. Buttonun basılmış durumda olup olmadığını görmek için (“==”) operatörünü kullanıyoruz.
if (button1State == LOW)
Dijital bir girdiyi okumak için digitalRead() fonksinonunu kullanırız. Eğer pinde 5V varsa HIGH, 0V ise LOW olacaktır.
button1State = digitalRead(button1Pin);
Potansiyometreyi önceki projelerimizde direnci değiştirmek için kullanmıştık. Bu devrede sensöre ulaşan ışık miktarın göre direnci değişen foto dirençleri kullanacaksınız. Arduino direnci direkt olarak değerlendiremediği için foto direncimizi kullanmak için voltaj bölücü kullanacağız. Voltaj bölücü fazla ışık altında yüksek voltaj çıkışı, fazla ışık almadığı zamanda da düşük voltaj çıkışı verecek.
Foto Direnç
Elem
anla
r: Kablo
6X
Devre #6 6
LED
1X
330ΩDirenç
1X
Foto Direnç
1X
LED
GND(toprak-ground) (-)
FotoDirenç
+5 Volt
Direnç(turuncu-turuncu-kahverengi)
(330ohm)
resistor(Kahverengi-Siyah-Turuncu)
(10k ohm)
10KΩDirenç
1X
Pin 9
Pin AØ
p.40
Dev
re 6
: Fot
o D
ireç
ab
cd
ef
gh
i1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
ab
cd
ef
gh
i
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
Elem
anla
r:G
erçe
k G
örün
üm:
Foto
Dir
enç
j1A
tlam
a Kab
losu
j6A
tlam
a Kab
losu
Atla
ma K
ablo
suGN
D
Atla
ma K
ablo
su5V5V
+
+-
+-
h20
h21
LED
(5m
m)
330Ω
Dire
nç (s
ensö
r)i2
1+
10KΩ
Dir
enç
i1i5
Atla
ma K
ablo
suA0
j5
+
f5f6
Atla
ma
Kab
losu
Pin
9 j2
0
Gör
düğü
nüz b
ütün
bu
sens
örle
rin (p
otan
siyom
etre
ler,
foto
dire
nçle
r vs.)
he
psi f
arkl
ı şek
iller
de g
örün
en d
irenç
lerd
ir. D
irenç
değ
eri a
lgıla
dıkl
arı
şeyi
n de
ğerin
e gö
re d
eğişi
r. (I
şık se
viye
si vs
.)
Ard
uino
ana
log
giriş
(inpu
t) pi
ni d
irenc
i değ
il vo
ltajı
ölçe
r. A
ma
biz
Ard
uino
muz
ile
birli
kte
“vol
taj b
ölüc
ü” o
lara
k ku
llanı
lan
dire
nçli
sens
örle
r kul
lana
cağı
z.
Bir v
olta
j böl
ücü
iki a
det d
irenç
ten
mey
dana
gel
ir. Ü
st d
irenc
i 5 v
olta
ve
alt d
irenc
i top
rağa
(GN
D) b
ağla
dığı
nızd
a, o
rta
kısım
iki d
irenç
değ
erin
e uy
gun
olan
bir
volt
çıkı
şı ve
rir. D
irenç
lerd
en b
irini
n de
ğeri
deği
ştiğ
inde
(A
lgıla
dıkl
arı b
irim
in d
eğer
i değ
iştiğ
inde
) dire
nç d
eğer
i de
deği
şece
ktir
ve
bu y
üzde
n çı
kış v
olta
jı da
bun
a ba
ğlı o
lara
k de
ğişe
cekt
ir!
Dir
enç Ö
lçüm
Sen
sörl
eri:
Pin
3
5 vo
lt
GN
D(t
opra
k-gr
ound
) (-)Pin
3
Sokak lambaları geceleri aydınlatmak için bu tür sensörler kullanır.
Circuit 2 Arduino Kodu:6
Sorun Giderme:
LED Işık VermiyorFoto Direnç ve LED in bağlantılarını tekrar kontrol edin.
Işığın Değişimine Tepki VermiyorFotodirenç üzerinde bağlantılar standart değildir, bu yüzden bağlantıları karıştırmış olmanız mümkün. Doğru yerleştirildiğinden emin olmak için iki kez kontrol edin.
Hala ÇalışmıyorAydınlatma olarak çok aydınlık veya karanlık bir odada olabilirsiniz. Işıkları duruma göre açın veya kapatın. Eğer yakınınızda flaş varsa bir de onu deneyin.
Fotodirencinizin algıladığı ışık miktarına göre LEDininiz daha parlak veya sönük yandığını görebilirsiniz. Eğer çalışmıyorsa devrenizin doğru kurulduğundan emin olun, konudunuzu yeniden yükleyin ve arıza tespit kısmını konrol edin.
Kod Notları:
Gerçek Hayatta Uygulamaları:
Arduino IDE 'yi Aç// File > Examples > Arduino Kod > Devre # 4
Ne göreceğiz?
analogRead() kullanarak okuduğumuz bir analog sinyal, 0-1023 arasında bir değer olacaktır. Fakat anologWrite() kullanarak bir PWM çalıştırmak istediğimizde, 0-255 arasında bir değer isteyecektir. Bu durumda map() fonksiyonunu kullanarak geniş alanları daha dar alanlar olacak şekilde sıkıştırabiliriz.
lightLevel = map(lightLevel, 0, 1023, 0, 255);
Kullandığımız map() fonksiyonu sınırı daraltır fakat biz bunu yanında constrain() komutu kullanarak sayıları bu sınır içerisinde tutacağız. Eğer sayı bu sınırı aşarsa daha büyük bir sayıya dönüşecek. Ama sınırın içerisindeyse aynı kalacak.
lightLevel = constrain(lightLevel, 0, 255);
Sıcaklık sensörü adından da anlaşıldığı gibi ortam sıcaklığını ölçmek için kullanılır. Bu sensörümüzde 3 adet pin bulunuyor. Pozitif, toprak(GND) ve sinyal pinleri. Bu devremizde, sıcaklık sensörünü Arduino ile nasıl entegre edileceğini öğreneceğiz ve Arduino IDE'deki serial monitörde sıcaklık değerini göreceğiz.
Sıcaklık Sensörü
Devre #7 7
p.44
Pin AØ
TMP36(precision
temperaturesensor)
GND(toprak-ground) (-)
5 Volt
+5vsignalgnd
Elem
anla
r: Kablo
5X
Sıc. Sensör
1
Transistör ve Sıcaklık Sensörü birbirlerie çok benzeyen devre elemanlarıdır. Karıştırılmamaya dikkat edilmelidir.
X
Ön
Arka
Dev
re 7
: Sıc
aklık
Sen
sörü
ab
cd
ef
gh
i1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
ab
cd
ef
gh
i
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
Elem
anla
r:
Sıca
klık
Sen
sörü
f5f7
f6
Ger
çek
Gör
ünüm
:
j5A
tlam
a K
ablo
su
j7A
tlam
a K
ablo
su
Atla
ma
Kab
losu
GN
D
Atla
ma
Kab
losu
5V5V+
Atla
ma
Kab
losu
A0j6
+
Bu d
evre
Ard
uino
IDE’
nin
seri
mon
itörü
nü k
ulla
nıyo
r. Bu
nu a
çmak
için
ön
celik
le p
rogr
amı u
ploa
d ed
ip k
are
kutu
içer
isind
e bü
yüte
ç gib
i gör
ünen
bu
tona
bas
ıyor
uz.
Seri
al M
onitö
rü A
çıyo
ruz
1
2
3
Klima sistemlerinde sıcaklığı takip etmek ve buna göre ayarları yapılandırmak için sıcaklık sensörleri kullanılır.
Circuit 2 Arduino Kodu:7
Sorun Giderme:
Görünürde Çalışan Bir Şey YokProgramın çalıştığına dair bir gösterge yok mu? Sonuçları görmek için Arduino IDE seri monitörünü açmanız gerek. (Talimatlar önceki sayfada mevcut.)
Anlamsız EkranBu tür şeylerin meydana gelmesinin sebebi seri monitörün beklenenden farklı hızda data almasından kaynaklanıyor. Düzeltmek için ise pull-down kutucuğuna tıklayıp “baud” yazan yeri “9600 baud” olarak düzeltmeniz gereklidir.
Sıcaklık Değeri DeğişmiyorSensörünüzü parmağınızın arasına sıkıştırarak ısısını yükseltin veya buz torbası kullanarak soğutmayı deneyin.
Sıcaklık sensörünüzün algıladığı sıcaklık değerini Arduino IDE seri monitöründe okunabiliyor olarak görebiliyor olmanız gerek. Eğer çalışmıyorsa devrenizin doğru kurulduğundan emin olun, kodunuzu yeniden yükleyin ve sorun giderme kısmını konrol edin.
Kod Notları:
Gerçek Hayatta Uygulamaları:
Arduino IDE 'yi Aç// File > Examples > Arduino Kod > Devre # 7
Ne göreceğiz?
voltage: 0.73 deg C: 22.75 deg F: 72.96
voltage: 0.73 deg C: 22.75 deg F: 72.96
voltage: 0.73 deg C: 22.75 deg F: 72.96
voltage: 0.73 deg C: 22.75 deg F: 72.96
voltage: 0.73 deg C: 22.75 deg F: 72.96
Seri monitörü kullanmadan önce, başlatmak için Serial.begin() komutunu çağırmanız gerek. Bağlantı hızı veya “Baud Hızı*” 9600'dır. İki cihaz birbiriyle bağlantı kurduğunda, ikisi de aynı hıza ayarlanmış olmalıdır.
Serial.begin(9600);
Serial.print() her şeyi aynı satır üzerinde yazdırır. Serial.println() diğer satıra geçiş yapar. Bu iki komutu birlikte kullanarak okunması kolay metin ve data çıktıları oluşturabilirsiniz.
Serial.println(degreesF);
Serial.print() komutu epey zekidir. İçine attığınız hemen hemen her şeyin çıktısını verebilir, buna her türlü değişkenler de dahildir.Baud: Veri iletiminde modülatör çıkışında bir saniyede meydana gelen semboldeğişikliğidir.Daha fazla bilgi için > http://arduino.cc/en/Serial/Print
Serial.print(degreesC);
Servo motorlar gömülü elektronik uygulamalar için son derece idealdir çünkü dönen normal motorların aksine istenilen herhangi bir yönde dönebilir. Servoya ulaşan voltaj değişimine göre servoyu belirli bir pozisyona sokabilirsiniz. Örneğin 1.5 milisaniyelik bir değişim sevoyu 90 derece hareket ettirebilir. Bu devrede, servoyu kontrol edip yönlendirmek için PWM kullanmayı öğreneceğiz.
Servo Motor
Elem
anla
r: Kablo
8X
Devre #8 8
p.48
Servo
1X
Mini Servo
+5 volt(5V)
GND(toprak-ground) (-)
gnd(Siyah)
signal(beyaz)
+5v(Kırmızı)
Pin 9
Dev
re 8
: Ser
vo M
otor
ab
cd
ef
gh
i1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
ab
cd
ef
gh
i
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
Elem
anla
r:G
erçe
k G
örün
üm:
Serv
o M
otor
e5e7
e6
Atla
ma
Kab
losu
Atla
ma
Kab
losu
Atla
ma
Kab
losu
e6 e7e5
5V
Atla
ma
Kab
losu
Pin
9a7
Atla
ma
Kab
losu
Atla
ma
Kab
losu
Atla
ma
Kab
losu
Atla
ma
Kab
losu
GN
D
b5
+
a6+
Ard
uino
sağl
adığ
ı kul
lanı
şlı d
âhili
kom
utla
rla; b
asit
giriş
(inpu
t) ve
çıkı
ş(ou
tput
) işl
emle
ri ya
pman
ızı,
man
tık k
ulla
nara
k ka
rar v
erm
eniz
i, m
atem
atik
pro
blem
leri
çözm
eniz
i sağ
lar.
Ard
uino
’nun
asıl
gücü
ise b
u pl
atfo
rmu
kulla
nan
deva
sa
topl
uluk
ların
yap
tıkla
rı ça
lışm
alar
ı pay
laşm
a iste
ğidi
r. A
rdui
no b
ir ço
k ku
llanı
şlı
kütü
phan
eye s
ahip
tir. B
u ör
nekt
e kul
land
ığım
ız se
rvo
kütü
phan
esi b
unla
rdan
biri
dir.
Stan
dart
kütü
phan
eler
ve k
ulla
nım
kıla
vuzla
rı iç
in si
teyi
ziya
ret e
debi
lirsin
iz.
http
: //a
rdui
no.cc
/en/
Refe
renc
e/Li
brar
ies
Her
kes k
endi
küt
üpha
nesin
i olu
ştura
bilir
, eğe
r yen
i bir
sens
ör v
eya ç
ıktı(
outp
ut)
ciha
zı k
ulla
naca
ksan
ız y
eni k
ütüp
hane
yaz
abili
rsin
iz, t
abik
i şan
sınız
a bağ
lı ol
arak
dah
a ön
ce b
unu
biris
i siz
in iç
in y
apm
ış ol
abili
r. Bi
rçok
Ard
uino
küt
üpha
nele
rine u
laşm
ak
için
Goo
gle v
eya A
rdui
no P
layg
roun
d’ı k
ulla
nabi
lirsin
iz.
http
://ar
duin
o.cc
/pla
ygro
und
Ard
uino
’nuz
u al
dığı
nızd
a yen
i bir
ciha
zla k
ulla
naca
ksan
ız, k
ütüp
hane
nizi
olu
şturu
n ve
bun
u bü
tün
düny
ayla
pay
laşın
! Küt
üpha
neyi
tasla
kta (
sket
ch) k
ulla
nmak
için
Sk
etch
> Im
port
Lib
rary
kısm
ında
n se
çini
z.
Küt
üpha
nele
r Kul
lana
rak
Ufk
unuz
u G
eniş
letin
File
Edit
Sket
chTo
ols
Hel
p
EEP
RO
MEt
her
net
Firm
ata
Liq
uid
Cry
stal
SD Serv
oSo
ftw
areS
eria
lSP
ISt
epp
erW
ire
Ver
ify
/ C
om
pile
Sho
w S
ketc
h F
old
erA
dd
File
...Im
po
rt L
ibra
ry
Circuit 2 Arduino Kodu:8
Sorun Giderme:
Servo Dönmüyor: Farklı renkli kabloları olmasına rağmen şaşırtıcı şekilde motorun ters bağlanmış olması mümkün olabiliyor. Muhtemelen sorununuz bundan kaynaklıdır.
Çalışmamakta Israr Ediyor: Muhtemelen (kırmızı ve kahverengi kablolar) 5 Volt ve toprak(gnd) bağlantısı yanlış yapılmıştır.
Oldu Bitti : Servonuz çalışıyor fakat kesik hareketler gerçekleştiriyorsa ve Arduino üzerinde yanıp sönen bir ışık var ise muhtemelen enerjiniz yetersizdir. Usb yerine bir adaptör kullanmak bu sorunu çözecektir.
Servo motorunuzun farklı hızlarda değişik konumlarda dönebildiğini görebilirsiniz. Şayet motorunuz hareket etmiyorsa bağlantılarınızı kontrol ettikten sonra kodunuzun doğru olduğundan emin olun ve upload edin. Hatanın kaynağını görmek için arıza tespit kısmına göz atın.
Kod Notları:
Gerçek Hayatta Uygulamaları:
Karşılaştığınız robot kollarda servo motorlar kullanılmaktadır.
Arduino IDE 'yi Aç// File > Examples > Arduino Kod > Devre # 8
Ne göreceğiz?
#include kütüphaneyi (veya başka bir dosya) taslağınıza (sketch) ekleyen özel bir önişlemcidir. Bu komutu kendiniz yazabilir veya hali hazırda yüklü olan bir kütüphaneyi "sketch / import library" menüsünden seçebilirsiniz.
#include
Servo kütüphanesinde write() komutunu kullanarak servonun döneceği derece aralığını (0-180) belirleyebiliriz. Şunu unutmayın, servo hareket için zaman ihtiyaç duyar, ihtiyacınıza göre delay() komutu kullanarak kısa zaman aralıkları tanımlayabilirsiniz.
servo1.write(180);
Servo kütüphanesi servoyu kontrol etmenizi sağlayan yeni komut imkanı sunar. Arduino’yu servo kontrolüne hazırlarken öncelikle her servo için Servo”object” oluşturmanız gereklidir. (Biz “servo1” olarak adlandırdık.) Ardından servoyu bir dijital pine eşleştirmeniz “attach” gereklidir. (Biz pin 9'u kullanıyoruz.)
Servo servo1;
servo1.attach(9);
Bu devremizde dijital dünya ve analog dünya arasında köprü kuracağız. Bunun için bir buzzer (speaker) kullanacağız. Tek başına çok heyecan verici bir şey olmasa da, bir saniyede yüzlerce kez voltajı açıp kapadığınızda buzzer ses üretecektir. Birden fazla üretilmiş sesi bir araya getirdiğinizde, kendi müziğinizi elde edebilirsiniz! Bu devre ve taslak klasik bir ses üretecektir. Sizi hayal kırıklığına uğratmayacağız.
Buzzer
Elem
anla
r: Kablo
4X
Devre #9 9
p.52
Buzzer
1X
Buzzer
GND(toprak-ground) (-)
Pin 9
Buzzer kolayca breadboard deliklerine uymazsa, hafifçe döndürmeyi deneyin.
Dev
re 9
: Buz
zer
ab
cd
ef
gh
i1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
ab
cd
ef
gh
i
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
Elem
anla
r:G
erçe
k G
örün
üm:
Buzz
er+
-j9
j7
Atla
ma
Kab
losu
Pin
9j9
i7
Atla
ma
Kab
losu
GN
D
Atla
ma
Kab
losu
Atla
ma
Kab
losu
5V5V+
Ard
uino
içer
sinde
her
türlü
şey
için
kul
lanı
labi
lece
k ko
cam
an b
ir se
rvet
ba
rındı
rıyor
. (Bk
nz: http
://ardu
ino.cc/en/Re
ference)
Bun
un y
anı s
ıra k
endi
fo
nksiy
onla
rınız
ı olu
şturm
ak d
a old
ukça
bas
it. Ö
rnek
ver
ecek
olu
rsak
“add
” iki
sa
yıyı
bir
topl
ayıp
size
sonu
cu v
erir.
Fonk
siyon
unuz
bir
değe
ri al
abili
r. (‘’
para
met
re”)
ve b
aşka
bir
değe
re
dönü
ştüre
bilir
. Eğe
r fon
ksiy
onun
uza b
ir pa
ram
etre
atam
ak is
ters
eniz
, fo
nksiy
onda
n so
nra g
elen
par
ante
z içe
risin
e bu
değe
ri ya
zabi
lirsin
iz. E
ğer
para
met
re v
erm
eyec
ekse
niz p
aran
tez i
çeris
ini b
oş b
ıraka
bilir
siniz
. Eğe
r fo
nksiy
onun
uzda
n bi
r değ
er çe
kece
ksen
iz d
eğer
tipi
ni fo
nksiy
on is
min
izin
önü
ne
yazı
n. D
eğer
i çek
mey
e haz
ırsan
ız re
turn
() k
omut
u ek
leyi
n. E
ğer d
eğer
dö
ndür
mey
ecek
seni
z fon
ksiy
on is
min
izin
önü
ne “v
oid”
ekle
yin.
( se
tup(
) ve
loop
() fo
nksiy
onla
rında
gör
müş
old
uğun
uz g
ibi )
Ken
di fo
nksiy
onun
uzu
yazd
ığın
ızda
kod
unuz
u dü
zenl
i ve k
ulla
nım
ı kol
ay b
ir ha
le g
etiri
n.
Ken
di F
onks
iyon
ları
Olu
ştur
ma
int a
dd(i
nt p
aram
eter
1, in
t par
amet
er2)
{in
t x;
x =
para
met
er1
+ pa
ram
eter
2;
retu
rn(x
);}
Modern megafonlarda güçlendirilmiş buzzerlar kullanılıyor. Gerçekten fazla gürültülü olmalarına rağmen insanların ilgisini çekmekte yeterince etkili.
Arduino Kodu:9
Tabi bir şey duymuyor olmanızda mümkün. Eğer çalışmamışsa bağlantılarınızı kontrol ettikten ve kodunuzu gözden geçirdikten sonra tekrar upload edin ve hata devam ederse sorun giderme kısmına göz atın.
Sorun Giderme:
Ses YokBreadboard üzerindeki boşlukları karıştırmış olmanız mümkün. Cihaz yerleşimini tekrar kontrol edin.
Müzik Çalarken DüşünemiyorumO halde düşünürken cihazınızı sökün, kullanacağınız zaman programı upload edip tekrar monte edin.
Twinkle Twinkle Little Stars Şarkısından SıkıldımNasıl yapacağınızı öğrendiğinize göre artık kendi şarkılarınızı upload edebilirsiniz.
Kod notları:
Gerçek Hayatta Uygulamaları:
Arduino IDE 'yi Aç// File > Examples > Arduino Kod > Devre # 9
Ne göreceğiz?
Şimdiye kadar sadece sayısal verilerle çalıştık ama Arduino aynı zamanda metinlerle de çalışabilir. Karakterlerin (tek karekterler, harfler, numaralar, semboller) kendilerine ait tipleri mevcuttur. Bu tipe “char” diyoruz. Bir karakter diziniz varsa çift tırnak içerisinde tanımlanabilir. “string” olarak tanımlarsanız tek tırnak içerisinde belirtilmelidir.
char notes[] = "cdfda ag cdfdg gf ";
char names[] = {'c','d','e','f','g','a','b','C'};
Arduino'nun kullanışlı komutlarından biri de tone() fonksiyonudur. Bu fonksiyon bir çıkış pinini belirli bir frekansda çalıştırabiliyor, böylece buzzer ve speakerlar için ideal hale geliyor. Eğer belirli bir süre tanımlayacak olursanız(milisaniye cinsinden) o süre zarfından ses oluşturacak ve ardından suracaktır. Eğer süre belirmememişseniz, sonsuza kadar ses üretebilir.(Tabiki noTone() komutu kullanarak bunu sonlandırabilirsiniz.)
tone(pin, frequency, duration);
Servo motorlarla oynadığınız zamanlardan öncesini hatırlayın. Şimdi biraz da motorun dönüşüyle uğraşacağız. Bunun için transistore ihtiyacımız var çünkü transistorler Arduino’nun yapabildiğinden daha büyük miktarlarda akım dönüştürebiliyor. Transistor kullandığınızda maximum seviyesine bakarak kullanımınız için yeterince uygun olup olmadığına karar verin. Bu devre için 40V ve 200 mA'lık transistor işimizi görür. Oyuncak moturumuz için yeter de artar!
Motor Döndürmek
Elem
anla
r: Kablo
6X
Devre #10 10
1X
DC Motor
1X
Diyot1N4148
p.56
TransistörP2N2222AG
1X
Transistör ve Sıcaklık Sensörü birbirlerie çok benzeyen devre elemanlarıdır. Karıştırılmamaya dikkat edilmelidir.
330ΩDirenç
1X
P2N2
222A
A18
P2N2
222A
A18
FRONT
BACK
GND(toprak-ground) (-)
basetransistör P2N2222AG
collector
mo
tor
Mul
timet
re
Diyot
emitter
+5 volt(5V)
Direnç(turuncu-turuncu-kahverengi)
(330ohm)
Pin 9
Dev
re 1
0: M
otor
Dön
dürm
ek
ab
cd
ef
gh
i1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
ab
cd
ef
gh
i
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
Elem
anla
r:G
erçe
k G
örün
üm:
Tran
sist
or P
2N22
22A
Ga1
a3a2
Atla
ma
Kab
losu
Atla
ma
Kab
losu
Pin
9j2
Atla
ma
Kab
losu
Atla
ma
Kab
losu
Atla
ma
Kab
losu
5V
Atla
ma
Kab
losu
GN
D
Dio
de 1
N41
48a3
GN
Db7
b11
e7e1
1
e7e1
1
DC
Mot
or
5V33
0Ω D
iren
ç g2
e2 e1 a7+
+
e3d1
1
Muh
tem
elen
bu
nokt
ada d
evre
niz i
çin
eğle
ncel
i bir
fikrin
iz v
eya b
ir so
runu
çö
zmey
e yön
elik
çözü
m ö
nerin
iz o
labi
lir. H
arik
a! O
hal
de b
iz d
e siz
e gen
el
prog
ram
lam
a kon
usun
da b
ir ka
ç püf
nok
tası
öner
elim
.
Yazd
ığın
ı bir
çok
tasla
k (s
ketc
h) aş
ağıd
akile
rin b
ir ka
çını
vey
a hep
sini i
çere
cek:
1. in
put d
enem
esi y
apın
.2.
Baz
ı hes
apla
mal
ar y
apın
ve k
arar
ver
in.
3. O
utpu
t alm
aya
çalış
ın.
4. T
ekra
r edi
n!(V
eya
etm
eyin
size
kal
mış
.)
Birç
ok in
put s
ensö
rü v
e out
put c
ihaz
ının
nas
ıl ça
lıştığ
ı hak
kınd
a epe
y bi
lgi
verd
ik. (
Bir k
aç ci
hazı
mız
ve s
ensö
rüm
üz d
aha v
ar ta
bi) A
rtık
öğr
endi
kler
iniz
i ke
ndi t
asla
ğını
zda ö
zgür
ce k
ulla
nabi
lirsin
iz. İ
şte b
u “A
çık
Kay
nak”
akım
ının
ar
dınd
a yat
an fi
krin
ta k
endi
sidir.
Far
klı t
asla
klar
dan(
sket
ch) p
arça
lar t
opla
mak
ve
bun
ları
birle
ştirip
yen
i şey
ler ü
retm
ek fa
zlasıy
la k
olay
, tek
yap
man
ız g
erek
en
iki a
det p
ence
re aç
mak
ve b
irind
en d
iğer
ine k
opya
layı
p ya
pıştı
rmak
. Bu
yüzd
en
“iyi p
rogr
amla
ma a
lışka
nlığ
ı” fik
rini a
şılıy
oruz
. Ayn
ı pin
num
aral
arın
ı ku
llanm
ak v
e tas
lağı
nızı
fonk
siyon
lara
ayırm
ak, k
odun
uzun
yen
iden
ku
llanı
labi
lirliğ
ini k
olay
laştı
rır. Ö
rneğ
in b
ir ko
dun
iki b
ölüm
ü iç
in ay
nı p
ini
kulla
nıyo
rsan
ız k
olay
lıkla
ikisi
nden
biri
nin
pini
ni d
eğişt
irebi
lirsin
iz.(Ş
unu
unut
may
ın k
i büy
ün p
inle
r ana
logW
rite(
) des
teği
ne sa
hip
deği
l, uy
umlu
ola
nlar
de
vre k
artın
ızda
işar
etli
bulu
nuyo
r.)
Eğer
yar
dım
a iht
iyaç
duy
arsa
nız b
unun
için
kul
lana
bile
ceği
niz i
nter
net
foru
mla
rı va
r. ar
duin
o.cc
/foru
m ad
resin
deki
Ard
uino
foru
mun
u de
neye
bilir
siniz
. Bun
un y
anı s
ıra fo
rum
.spar
kfun
.com
adre
sinde
n ve
fo
rum
.ardu
inot
urki
ye.co
m d
a siz
lere
yar
dım
cı o
laca
ktır.
İşi i
lerle
tmey
e haz
ır ol
duğu
nuzd
a dah
a ile
ri se
viye
kon
ular
için
ardu
ino.
cc/e
n/Tu
toria
l say
fasın
dan
A
rdui
no T
utor
ial s
ayfa
sına u
ğray
abili
rsin
iz. S
onun
da, h
aval
ı bir
şeyl
er
üret
tiğin
iz v
akit,
bun
u bü
tün
düny
ayla
pay
laşın
ki b
ütün
dün
ya d
ahili
ğini
zden
fa
ydal
anab
ilsin
. (V
e biz
im b
unda
n ha
berd
ar o
lmam
ızı s
ağal
ayın
ki b
unu
anas
ayfa
mız
da p
ayla
şabi
lelim
!)
Hep
sini
bir
ara
ya g
etir
irse
k:
P2N2222AA18
Arduino Kodu:10
Sorun Giderme:
Motor DönmüyorKendi transistörünüzü kullanıyorsanız, data sheeti iki kez kontrol ederek pinout’un P2N2222AG ile uyumlu olup olmadığını tespit edin.
Çalışmamaya Devam Ediyor Kendi motorunuzu kullanıyorsanız motorunuzu 5V ile çalıştırmayı deneyin ve daha fazla güç çekip çekmediğini kontrol edin.
Çalışmamakta IsrarcıBazen Arduino bilgisayarla bağlantısını koparabilir. USB girişinizi çıkarıp tekrar takın.
Eğer bileşenleri doğru yerleştirmişseniz DC motorunuzun çalışması gerek. Eğer çalışmıyorsa arıza tespit kısmını kontrol edin.
Kod Notları:
Gerçek Hayatta Uygulamaları:
Radio Kontrollü RC arabalar, DC motor kullanılar.
Arduino IDE 'yi Aç// File > Examples > Arduino Kod > Devre # 10
Ne göreceğiz?
Arduino seri portları data gönderimi için olduğu gibi data alımı için de kullanılabilir çünkü herhangi bir zaman da data aktarımı olabilir. Arduino siz bu bilgiyi kullanana kadar depolar ve korur.The Serial.available() komutu portunuza ulaşmış fakat taslağınızda (sketch) henüz kullanılmamış olan karakter numaralarını geri getirir. Sıfır, ulaşmış data yok anlamına gelir.
while (Serial.available() > 0)
Portunuzda bekleyen hali hazırda datanız mevcut ise, kullanacabileceğiz bir kaç yöntem var. Port içerisine sayıları girmeye başladığımızdan beri Serial.parselnt() komutu ile ayırma ve integer numaraları kendisini oluşturan karakterlere ayrıştırmak için kulllanıyoruz. Eğer portunuza “1” ”0” ”0”yazarsanız, bu fonksiyon bu numaraları 100 olarak çevirecektir.
speed = Serial.parseInt();
p.
1X 8X
Bu devrede, röle kontrolü için Devre#10' da öğrendiklerimizi kullanacağız. Röle basitçe söyleyecek olursak elektriksel olarak kontrol edilen mekanik bir anahtardır. Bu zararsız görünen plastik kutunun içerisinde elektromagnet bulunuyor. Ne zaman ki fazla enerji ile yüklenirse anahtarı açıyor. Bu devrede Arduino’nuza daha güçlü yetenekler kazandırmayı ve bir röleyi profesyonelce kullanmayı öğreneceksiniz.
Röle
Elem
anla
r:Devre #11
p.60
TransistörP2N2222AG
1X
Röle
1X 1X
Diyot1N4148
Kablo
14X
330ΩDirenç
2X
LED
2X
GND(toprak-ground) (-)
basetransistör P2N2222AG
collector
Diyotcoil
NC
NO
com
emitter
5 volt
5 volt
Direnç(turuncu-turuncu-kahverengi)
(330ohm)
Direnç(turuncu-turuncu-kahverengi)
(330ohm)
LED LED Röle kapalıyken, COM(common) pini NC (Normally Closed) pinine bağlanır.Röle açıkken, COM(common) pini NO (Normally Open) pinine bağlanır.
Pin 2 11
Dev
re 1
1: R
öle
ab
cd
ef
gh
i1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
ab
cd
ef
gh
i
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
Emre A.
Röle
e9f9
e15
f15
Elem
anla
r:G
erçe
k G
örün
üm:
e2A
tlam
a K
ablo
su
h9A
tlam
a K
ablo
su+
f5f7
f6
Diy
ot 1N
4148
a3G
ND
b7b1
1
Tran
sist
ör P2
N222
2AG
a2a4
a3
e7e1
15V
330Ω
Dir
enç
g3e3 e7
e11
5V33
0Ω D
iren
çg2
e2
Elem
anla
r:G
erçe
k G
örün
üm:
LED
(5m
m)
+-
+-
c19
c20
LED
(5m
m)
+-
+-
c22
c23
i13
Atla
ma
Kab
losu
i13
e22
j5A
tlam
a K
ablo
suj7
j9
Atla
ma
Kab
losu
i15
e19
e15
e19
e15
e19
b14
e19
Atla
ma
Kab
losu
a7a9
Atla
ma
Kab
losu
e4e9
++ +
Atla
ma
Kab
losu
e15
e19
Atla
ma
Kab
losu
e15
e19
Atla
ma
Kab
losu
a23+
Atla
ma
Kab
losu
GN
D
Atla
ma
Kab
losu
5V5V+
Atla
ma
Kab
losu
Pin
2j3
Atla
ma
Kab
losu
a20
P2N2222AA18
Garaj kapılarını açmak için röle kullanılır. Eğer dikkatli dinlerseniz klik sesini duyabilirsiniz.
11
Sorun Giderme:
LED Işık VermiyorLEDi doğru taktığınızdan emin olun. Uzun olan uç pozitif uçtur.
Klik Sesi GelmiyorTransistör veya bobin çalışmıyorsa transistörün doğru şekilde takılı olduğundan emin olun.
Çalışmamakta Israrcı
Röle breadboard ile kullanılmak için değil lehimlenmek için dizayn edilmiş olabilir. Breadboard deliklerine tam oturması için gerektiği kadar ittirmeyi deneyin.
Röle bağlantı klik sesini duymuş olmanız gerek ve ardından 1 saniyelik aralıkta LED'leri aydınlıklarını kendi aralarında değiştirdiklerini görebilirsiniz. Eğer devreniz çalışmamışsa devre kurulumunuzu kontrol edin, kodlarınızı tekrar upload edin.
Kod Notları:
Gerçek Hayatta Uygulamaları:
Arduino Kodu:
Arduino IDE 'yi Aç// File > Examples > Arduino Kod > Devre # 11
Ne göreceğiz?
Transistör çalışmaya başladığında röle bobinine enerji sağlar. Böylece röle anahtarı(switch) kapanır. Bu kapanma ile rölenin COM pini NO(Normally Open) pinine bağlanmış olur. Bağlantı sağlandıktan sonra pinler çalışmaya başlayacaktır. (Biz çalıştığını görmeniz için LED kullandık ama başka bir şey de kullanılabilir tabi ki.)
digitalWrite(relayPin, HIGH);
Röle NC denen ilave bir bağlantıya sahiptir. Röle kapalı olduğunda NC pini COM pini ile bağlantı kurar. Rölenin açık veya kapalı olmasına bağlı olarak iki pinden birini kullanabilirsiniz. Aynı zamanda bu iki pini iki cihazın enerjisini değiştirmek için de kullanabilirsiniz.
digitalWrite(relayPin, LOW);
Shift Register
Elem
anla
r: Kablo
19X
Devre #12 12
p.64
Şimdi de entegre devrelere adım atıyoruz. Bu devremizde shift register hakkında her şeyi öğreneceksiniz. Shift register Arduinonuza ilaveten 8 output verir ve Arduino'nun sadece 3 pini kullanılır. Bu devrede 8 adet LED 'i kontrol etmek için shift register kullanacağız.
IC
1X
330ΩDirenç
8X
LED
8X
GND(toprak-ground) (-)
+5 volt
+5 volt
15 1016
1
2
3
4
5
6
78
11
12
14
13
data
clock
latch
Direnç(turuncu-turuncu-kahverengi)
(330ohm) LED'ler
4
Pin 3
Pin 4
Pin 2
Bacakları 90° bükün.
Breadboard üzerinde “e5” ve “f5” arasında çentiği
hizalayın.
1
2
3
4
5
6
7
8
QBQCQDQEQFQGQH
GND
VCCQA
SER
OE
RCLK
SRCLK
SRCLR
QH’
16
15
14
13
12
11
10
9
Dev
re 1
4: S
hift
Regi
ster
ab
cd
ef
gh
i1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
ab
cd
ef
gh
i
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
Elem
anla
r:G
erçe
k G
örün
üm:
Elem
anla
r:G
erçe
k G
örün
üm:
LED
(5m
m)
+-
+-
c14
c15
LED
(5m
m)
+-
+-
c17
c18
LED
(5m
m)
+-
+-
c20
c21
LED
(5m
m)
+-
+-
c23
c24
LED
(5m
m)
+-
+-
h14
h15
LED
(5m
m)
+-
+-
h17
h18
LED
(5m
m)
+-
+-
h20
h21
LED
(5m
m)
+-
+-
h23
h24 a3a15
330Ω
Dir
enç
a3G
ND
c23
a18
330Ω
Dir
enç
a3G
ND
c23
a21
330Ω
Dir
enç
a3G
ND
c23
a24
330Ω
Dir
enç
a3G
ND
j15
c24
330Ω
Dir
enç
a3G
ND
j18
c24
330Ω
Dir
enç
a3G
ND
j21
c24
330Ω
Dir
enç
a3G
ND
j24
c24
330Ω
Dir
enç
ICe5 f5
e6 f6
e7 f7
e8 f8
e9 f9
e10
f10
e11
f11
e12
f12 a3G
ND
Atla
ma
Kab
losu
++
a3G
ND
Atla
ma
Kab
losu
++ a3
GN
DA
tlam
a K
ablo
suj5
+ a3G
ND
Atla
ma
Kab
losu
j6a1
4
Atla
ma
Kab
losu
a3G
ND
Atla
ma
Kab
losu
j8a1
4
Atla
ma
Kab
losu
Atla
ma
Kab
losu
a3G
ND
Atla
ma
Kab
losu
f14
a8 a3G
ND
Atla
ma
Kab
losu
f17
a9 a3G
ND
Atla
ma
Kab
losu
f20
a10 a3
GN
DA
tlam
a K
ablo
suf2
3a1
1 a3G
ND
Atla
ma
Kab
losu
a23
a7 a3G
ND
Atla
ma
Kab
losu
a20
a6 a3G
ND
Atla
ma
Kab
losu
a17
a5 a3G
ND
Atla
ma
Kab
losu
a14
j6
Atla
ma
Kab
losu
Atla
ma
Kab
losu
j7Pi
n 2
j9Pi
n 4
j10
Pin
3
a3G
ND
Atla
ma
Kab
losu
j11
a14+
j10
5V+
GN
D
Devre 4 mantığı ile, birden çok LED kullanarak kayan yazı ekranları yapabilirsiniz.
12
Sorun Giderme:
Devre 4’ te olduğu gibi LED 'in yandığını görmeniz gerek (Tek fark shift register kullandık.) Eğer LED ışık vermiyorsa bağlantılarınızı kontrol edin ve kodunuzu tekrar upload edin.
Kod Notları:
Gerçek Hayatta Uygulamaları:
Arduino Kodu:
Arduino IDE 'yi Aç// File > Examples > Arduino Kod > Devre # 2
Ne göreceğiz?
SPI(Serial Peripheral Interface) arayüzünü kullanmak için shift register
(ve birçok farklı parça) ile iletişim kuracaksınız. MSBFIRST parametresi
bireysel bitlere gönderilen komutları belirler, bu durumda MSBFIRST
gönderiyoruz.shiftOut(datapin, clockpin, MSBFIRST, data);
Bitler bilgisayar hafızasının en küçük yapı taşlarıdır, her bit 1 veya 0
depolayabilir. Daha büyük sayılar bitlerden oluşan dizilerle depolanır. Bazen
bu bitler üzerinde oynama yapmak isteriz. Örneğin 8 biti shift register'a
gönderiyoruz ve LED'i açıp kapatması için 1 veya 0 yapmasını istiyoruz.
Arduino bitWrite() gibi basit komutlarıyla bu işlemi gerçekleştirebiliyor.
bitWrite(data,desiredPin,desiredState);
LED PatladıBu bir çok kez başımıza geldi. Sebebi entegrenin ters takılmasından kaynaklanıyor. Eğer hemendüzeltirseniz hiçbir şeyi bozmadan durumu kurtarabilirsiniz.
Çalışmamaya Devam EdiyorSürekli aynı şeyi söylüyoruz ama muhtelemen kablolar yanlış takılmıştır.
Mühendisler, Teknik Elemanlar, Maker'lar, Hacker'lar, hobi elektronik seven herkes için açık kaynaklı bir çok yerli ve yabancı kaynaktan yararlanarak sizler "AkademikPort Arduino Başlangıç Projeleri" eğitimini hazırladık. Daha çok eğitim ve projelere ulaşmak için www.akademikport.com adresini ziyaret edebilirsiniz. Bir sonraki eğitimde görüşmek üzere.
Emre ARSLAN
Sitemizi ziyaret edebilirsiniz!
Ve Sonuna Geldik.
Kaynak
AkademikPort Kurumsal İllişkiler Koordinatörü
11
NOTLAR
Sparkfun SIK GUIDE
Adafruit.comArduino - Coşkun Taşdemir
Instructables.com
Mühendisler, Teknik Elemanlar, Maker'lar, Hacker'lar, hobi elektronik seven herkes için açık kaynaklı bir çok yerli ve yabancı kaynaktan yararlanarak sizler "AkademikPort Arduino Başlangıç Projeleri" eğitimini hazırladık. Daha çok eğitim ve projelere ulaşmak için www.akademikport.com adresini ziyaret edebilirsiniz. Bir sonraki eğitimde görüşmek üzere.
Emre ARSLAN
Sitemizi ziyaret edebilirsiniz!
Ve Sonuna Geldik.
Kaynak
AkademikPort Kurumsal İllişkiler Koordinatörü
11
NOTLAR
Sparkfun SIK GUIDE
Adafruit.comArduino - Coşkun Taşdemir
Instructables.com
AkademikPort Arduino Projeleri Son Hal.compressedAkademikPort ArduinoArduino ProjeleriAkademikPort Örnek ProjeleriCilt1Arduino Başlangıç5
devamArduino Başlangıç6Arduino Başlangıç7Arduino Başlangıç8
AkademikPort Elektronik Devre Elemanları Eğitimikapak-arka
AkademikPort Elektronik Devre Elemanları Eğitimikapak-arka