HAZIRLAYANLAR GRAFİK TASARIM - toprakhatti.com · Arduino nedir? 1 Arduino IDE 'yi İndirmek 3...
Transcript of HAZIRLAYANLAR GRAFİK TASARIM - toprakhatti.com · Arduino nedir? 1 Arduino IDE 'yi İndirmek 3...
www.akademikport.com
"AkademikPort Hobi Elektronik Devre Projeleri" Eğitimi AkademikPort'un açık kaynaklı elektronik kitap eğitimlerinin ikinci kitapçığı olarak yayınlanmıştır. Bu kitapçıkta sizler için hazırlanan 11 hobi elektronik devre sayesinde devre elemanlarının iç yapısını görüp, devre içerisindeki görev ve çalışma mantığını kavrayarak projeler geliştirmeyi öğreneceksiniz.
Bilgiyi paylaşan bir toplum olmamız dileğiyle...
a her evre elemanına zarar verilmemiştir.
Emre ARSLAN AkademikPort Kurumsal İllişkiler Koordinatörü
HAZIRLAYANLAR Muhammed İcmal Kazez
Zeki Egemen Ertürk Emre Arslan
Hüseyin GünerGRAFİK TASARIM
Kitapçık Hakkında
www.akademikport.com
AkademikPort "Arduino Başlangıç Projeleri" Eğitimine Hoşgeldiniz!
Bu kitapçık SparkFun SIK Guide(retired) ve bir çok yerli-yabancı kaynaktan yararlanılarak oluşturulmuş ve açık kaynaklı olarak ilk lisans şartı olan Creative Commons CC BY SA 4.0 lisansı ile yayınlanmıştır. "AkademikPort Arduino Başlangıç Projeleri" Eğitimi AkademikPort'un açık kaynaklı elektronik kitap eğitimlerinin yedinci kitapçığı olarak yayınlanmıştır. Bu kitapçıkta sizler için hazırlanan 12 Arduino breadboard devresi sayesinde devre elemanları ve sensörlerle Arduino projeleri geliştirerek kısa süre içerisinde Arduino'yu kullanmayı ve programlamayı öğreneceksiniz.
Üretmekten korkmayan bir toplum olmamız dileğiyle...
Emre ARSLAN AkademikPort Kurumsal İllişkiler Koordinatörü
Arduino Başlangıç Projeleri is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.(Arduino Başlangıç Projelerielektronik kitabı yazar isimleri belirtilip, lisasns şartlarına uyularak paylaşılabilir fakat ticari bir faaliyette kullanılamaz. )To view a copy of this license visit: http://creativecommons.org/licenses/by-sa/4.0/www.akademikport.com
Türkçe Kitap HazırlayanlarEmre Arslan
Hakan Çolakoğlu
Orjinal Kitap Editörleri
SparkFun Education Department
Arduino nedir? 1
Arduino IDE 'yi İndirmek 3
Sürücüyü Yüklemek 4
Identify your Arduino 7
"Elektrikport Arduino Kod" indirme 8
Elektrik Devreleri 9
Devre Elemanları 11
13
15
17
24
28
32
36
40
44
48
52
2.Bölüm Temel Elektronik ve Arduino Projeleri
1. Bölüm Arduino'ya Başlamak
Arduino Uno
Breadboard
Devre #1 - İlk Devreniz: LED Yakma
Devre #3 - RGB LED
Devre #4 - Çoklu LED
Devre #5 - Buton Kullanımı
Devre #6 - Foto Direnç
Devre #7 - Sıcaklık Sensorü
Devre #8 - Servo Motor
Devre #9 - Buzzer
56Devre #10 - Motor Döndürme
60Devre #11 - Röle
64Devre #12 - Shift Register
68Notlar
72
Devre #2 - Potansiyometre
Arduino kolay bir şekilde çevresiyle etkileşime girebilen sistemler tasarlayabileceğiniz, hem acemi hem de ileri düzeydeki elektronik meraklılarına hitap eden, kolayca programlanabilen ve üzerine elektronik devre kurulabilen açık kaynaklı bir geliştirme platformudur.
arduino.cc
Arduino Çağı Başlıyor
Arduino nedir?
Bu elinizde tuttuğunuz dost canlsı mavi kartı masaüstü bilgisayarlarınızın ve laptoplarınızın çocuğu gibi taşınabilir küçük bir bilgisayar olarak düşünebilirsiniz.Arduino kütüphaneleri ile mikrodenetleyicileri kolaylıkla programlayabilirsiniz. Analog ve dijital girişleri sayesinde analog ve dijital verileri işleyebilir ve sensörlerden gelen verileri kullanarak dış dünyaya çıktılar (ses, ışık, hareket vs…) üretebilirsiniz.
Fiziksel Dünya için Bir Bilgisayar
// Arduino UNO SMD R3
Arduino Uno en yaygın kullanılan arduino kartıdır. 14 dijital giriş / çıkış'a (6 PWM çıkışı), 6 analog girişe, bir 16 MHz kristal osilatöre, bir USB bağlantısına, bir güç girişine, bir ICSP başlığına ve bir reset düğmesine sahiptir. Heyecana kapılmaya gerek yok eğitim içerisinde tekrar bu konulara değinilecektir.Şimdilik yüzeysel olarak bilinmesi yeterlidir.
Arduino kartları bir Atmel AVR mikrodenetleyici programlama ve diğer devrelere bağlantı için gerekli yan elemanlardan oluşur. Her kartta en azından bir 5 voltluk regüle entegresi ve bir 16MHz kristal osilator (bazılarında seramik rezonatör) bulunur. Mikrodenetleyiciye önceden bir bootloader programı yazılı olduğundan programlama için harici bir programlayıcıya ihtiyaç duyulmaz.
cb
a
d
e
f
g
h
c
b
a
f
e
d
h
gSayaçlı Böcek Yakalama
Oyuncaktan Email Habercisi
Otomatik Ayakkabı Bağcığı
Kamera Zamanlama Uygulaması
Otomatik Çiçek Sulama
Programlanabilir Trafik Işıkları
Quadcopter
Kahve Makinesi
Arduino ile yazılım geliştirmek ve çalıştırmak için öncelikle www.arduino.cc sitesinden bir Arduino Entegre Geliştirme Ortamı indirmeliyiz. Arduino IDE olarak bilinen bu yazılım arduino 'yu programlamak için adeta bir kelime işlemci görevi görecektir. İnternet tarayıcınızdan aşağıdaki adrese tıklayarak size uygun Arduino IDE 'yi indirebilirsiniz.
İnternet Erişimi
Arduino IDE'yi İndirme (Entegre Geliştirme Ortamı)
user
•••••••••
Mac OS X
Linux: 32 bit, 64 bit
N
W
S
E
NW
SW
SE
NE
arduino.cc/en/Main/Software
Bilgisayarınız için uygun işletim sistemine göre yükleme paketi seçmeyi unutmayınız.
Yükleme
Windows
Mac OS X
source
Linux: 32 bit, 64 bit
1 Kullandığınız işletim sistemine göre size uygun olan Arduino programını seçmek için artı(+) işaretine basmanız yeterlidir.
// Arduino Uno'yu Bilgisayara BağlamakArduino ve Bilgisayarı USB çıkışlarından USB Kablosu ile bağlıyoruz.
// Sürücü Yükleme
Bilgisayarınızın işletim sistemine göre ihtiyacınız olan sürücüyü indirip yüklüyoruz.
23
Linux: 32 bit / 64 bit Sürücü Yükleme Aşağıdaki adreste Linux sürücü yüklemesi ileilgili talimatları bulabilirsiniz.
http://www.arduino.cc/playground/Learning/Linux
Macintosh OS X Sürücü YüklemeAşağıdaki adreste MacOSX sürücü yüklemesi ile ilgili talimatları bulabilirsiniz.
http://arduino.cc/en/Guide/MacOSX
Windows Sürücü YüklemeAşağıdaki adreste Windows sürücü yüklemesi ileilgili talimatları bulabilirsiniz.
http://arduino.cc/en/Guide/Windows
1 2 3 5 6
7
8
9
4
Öncelikle bilgisayarımıza indirdiğimiz arduino geliştirme programını açalım. Programlamaya geçmeden önce biraz geliştirme ortamını kurcalayalım.
//Arduino IDE 'yi Açıyoruz:
// Bu klavuz için en önemli üç komut aşağıda görülmektedir:
GUI (Grafik Kullanıcı Arayüzü)
Verify(Derleme): Yazmış olduğunuz kodu derler. Söz dizimi hatalarınızı bulur.1
Upload(Yükleme): Kodu arduino kartına gönderir. 2
New(Yeni): Bu buton yeni kod penceresi açar.3
Open(Açmak): Bu buton var olan bir arduino dosyasını açmanızı sağlar.4
Save(Kaydetmek): Yazdığınız skecthçi kaydeder.5
Serial Monitor(Seri monitör): Seri bilgi görüntüleyen bir pencere açacaktır. Özellikle hata ayıklama için çok yararlıdır.6
Code Area(Kod Alanı): Sketch için kod oluşturacağınız alandır.8
Message Area(Mesaj Alanı): Kodunuzdaki hatayı gösteren alan .9
Sketch Name: Şu an da üzerinde çalıştığınız sketch in adını gösterir.7
Verify(Derleme)
Upload(Yükleme)
Open(Açmak)
File Edit Sketch Tools Help
Auto FormatArchive SketchFix Encoding & ReloadSerial Monitor
Arduino UnoArduino Duemilanove w/ ATmega328]Arduino Diecimila or Duemilanove w/ ATmega168Arduino Nano w/ ATmega328Arduino Nano w/ ATmega168Arduino Mega 2560 or Mega ADKArduino Mega (ATmega1280)Arduino Mini Arduino Mini w/ATmega168Arduino EthernetArduino FioArduino BT w/ ATmega328Arduino BT w/ATmega168LilyPad Arduino w/ ATmega328LilyPad Arduino w/ ATmega168Arduino Pro or Pro Mini (5V, 16 MHz) w/ATmega328Arduino Pro or Pro Mini (5V, 16 MHz) w/ATmega168Arduino Pro or Pro Mini (3.3V, 8 MHz) w/ATmega328Arduino Pro or Pro Mini (3.3V, 8 MHz) w/ATmega168Arduino NG or older w/ ATmega168Arduino NG or older w/ ATmega8
ProgrammerBurn Bootloader
BoardSerial Port
// Kartımızı Seçelim: Arduino Uno
Aygıtımız için uygun olan seri portu seçmek için Tools >Serial Port menüsüne tıklıyoruz. Genelde com3 veya üzeridir (COM1 ve COM2 genellikle donanım seri portu olarak kullanılmaktadır). Kullanacağınız arduino portunu bulmak için Arduino ile bilgisayar arasındaki bağlantıyı kesin ve menüye tekrar gelin ,bağlantıyı kestikten sonra menüde kaybolan port sizin Arduino portunuzdur. O portu seçip arduino programlamaya başlayabiliriz.
Aygıtımız için uygun olan seri portu seçmek için Tools >Serial Port menüsüne tıklıyoruz.Mac bilgisayarlarda Uno veya Mega 2560 için ( /dev/tty.usbmodem) ve ya eski kartlar için (/dev/tty.usbserial) seçiyoruz.
http://www.arduino.cc/playground/Learning/Linux
Tools Help
Auto FormatArchive SketchFix Encoding & ReloadSerial Monitor
com 1com 12
ProgrammerBurn Bootloader
BoardSerial Port
Tools Help
Auto FormatArchive SketchFix Encoding & ReloadSerial Monitor
/dev/tty.usbmodem262471 /dev/cu.usbmodem262471 /dev/tty.Bluetooth-Modem /dev/cu.Bluetooth-Modem /dev/tty.FireFly-7256-SPP /dev/cu.FireFly-7256-SPP /dev/tty.tiPhone-WirelessiAP-1 /dev/cu.tiPhone-WirelessiAP-1 /dev/tty.Bluetooth-PDA-Sync /dev/cu.Bluetooth-PDA-Sync
ProgrammerBurn Bootloader
BoardSerial Port
// S
eri a
ygıtı
Seç
mek
4W
WW
.ARD
UINO
.CC
RESET
A5ANALOG IN
WW
W.A
RDUI
NO.C
C
RESET
A5ANALOG IN
İndirmek için aşağıdaki bağlantıyı takip edin;
AkademikPort Arduino Kodu indirme ( Kitapçığımızdaki Devreleri Oluşturmak İçin)
kitap.akademikport.com
5
“Arduino Kod” dosyasını kopyalayıp arduino kurulumu içerisindeki "examples" klasörünün içerisine yapıştırıyoruz.
“Arduino Kod” dosyasını kopyalayıp examples klasörünün içerisine yapıştırıyoruz.
Adreste verdiğimiz sıkıştırılmış dosyayı indirip, içerisindeki “Arduino Kod” dosyasını dışarı çıkartıyoruz.
Arduino 'yu uygulama dosyasından buluyoruz. Arduino 'ya sağ tıklıyoruz(ctrl + click) . “Show Package Contents” 'i seçiyoruz.
http://www.arduino.cc/playground/Learning/Linux
ProgramsStart arduino examples
Contents
Resources
Java
examplesArduino
Move to Trash
Open
Show Package Contents
Adreste verdiğimiz sıkıştırılmış dosyayı indirip, içerisindeki “Arduino Kod” dosyasını dışarı çıkartıyoruz.
Nereye bakarsanız bakın devreler ile karşılaşacaksınız.Cebinizdeki telefon, aracınızın emisyon sistemini kontrol eden bilgisayar,oyun konsollarınız,elektrikli mutfak aletleriniz , bunların hepsi elektrik devreleriyle dolu. Bu kitapçıkta bazı basit devreleri deneyecek ve gömülü elektronik sistemlerinin temeline adım atacaksınız.
Dünya Bu Devreler Üzerinde Dönüyor
Elektrik Devreleri
Elektrik Devresi basitçe başlangıç ve bitiş noktası olan ve içerisinde bir çok devre elemanı buluduran döngüdür. Devreler her ölçüde ve şekilde yüzlerce ; direnç,diyot, bobin,sensör, motor ve diğer devre elemanlarını barındırabilir.
Devreler genelde analog devreler,dijital devreler ve karışık sinyal devreleri olmak üzere üç kategoriye ayrılır.Bu kitapçıkta her üç devre çeşidi de gösterilecektir.
Elektrik Devresi Nedir?
// Basit ve Karmaşık Devreler
Bu kitapçıkta ilk olarak basit devreleri keşfedeceksiniz. Ama bu sizin basit araçlarla büyüleyici şeyler yapamayacağınız anlamına gelmiyor elbette. Bu eğitimi tamamladıktan sonra devreler hakkında öğrendiğiniz bilgiler hayal gücünüze de bağlı olarak muhteşem projeler yapmanızı sağlayacak.
a b c d e f g h i123456789101112131415161718192021222324252627282930
a b c d e f g h i
123456789101112131415161718192021222324252627282930
*Gerçek Görünüm
(1N4148)Diyot
x1
x2
Buzzer
Devre Elemanları
Push Buton
x2x1x1
DC Motor
x25
Potansiyometre
(Light Emitting Diode)
x10 x1
LED (5mm) +-
x30
330Ω Direnç
*Gerçek Görünüm
x10
10KΩ Direnç
x25 *Gerçek Görünüm
(TMP36)
x1
Sıcaklık Sensörü
ÖN
ARKA
(P2N2222AG)
x2
Transistor
P2N2
222A
A18
ÖN
ARKA
x1
x1
Foto Direnç(LDR)
Atlama KablosuÇeşitli Renklerde
a b c d e f g h i123456789101112131415161718192021222324252627282930
a b c d e f g h i
123456789101112131415161718192021222324252627282930
AREFGND
13121110
98
65
7
43210
3.3V5V
RESET
GNDGNDVIN
DIGITAL (PW
M )
WWW.ARDUINO.CC
POW
ER
RESET
RESET-EN
RX TX L
A1 A2
A0
A3A4A5
MADE
IN ITA
LY
ANALO
G IN
TXRX
a b c d e f g h i123456789101112131415161718192021222324252627282930
a b c d e f g h i
123456789101112131415161718192021222324252627282930
Arduino Kartı UNO
Röle
x1
x1
x1
Entegre (IC)
x1
Breadboard(Standart Lehimsiz)
Servo Motor
x1
3
1
2
4 5
7
8
9
6
10
// Pin Diyagramı
Arduino Uno
9-12V DC Güç Girişi( Barrel Jack) - 9V veya 12V güç bağlanabilen güç girişidir .1
USB Bağlantı Konnektörü(USB Port) - Arduino 'ya program yüklemek ve bilgisayar ile haberleşmek için kullanılan bağlantı konnekterörüdür.2
LED(RX: Receiving) - Seri haberleşme için kullanılan RX pininin durumunu gösteren LED'dir. Veri alışverişi olduğunda bu led yanar.3
LED(TX: Transmitting) - Seri haberleşme için kullanılan TX pininin durumunu gösteren LED'dir. Veri alışverişi olduğunda bu led yanar. 4
LED (Pin 13: Troubleshooting) - 13 Nolu dijital pine bağlı olan LED'dir. Programları test etmek için kullanılabilir.5
Dijital Giriş-Çıkış Pinleri- Dijital giriş-çıkış için kullanılan pinler burada bulunuyor.Yanında işareti bulunan pinler aynı zamanda analog çıkış(PWM) almak içinde kullanılıyor.
6
LED (Güç LED'i)-Kartımızın güç gösterge LED 'idir. Devrelerinizi kurarken kısa devre yapıp yapmadığınız bu LED 'e bakarak anlayabilirsiniz. 7
Reset Butonu -Arduinoyu yeniden başlatır.Programlarımız setup() fonksiyonundan itibaren yeniden başlar.8
Anolog Giriş Pinleri ve Güç Bağlantıları -Anolog giriş ve gerilim bağlantıları bu bölümde bulunuyor.Ayrıca analog-dijital çeviricinin referans giriş pini ve seri iletişim pinleri de (RX ve TX) burada bulunuyor.
10
Kart Üzerinde Programlama(ICSP) Pinleri - Atmega microdenetleyiciyi harici bir programlayıcı ile programlama pinleri.9
Power Out
Reset
IOREF
RFU
Power Out
Ground
Ground
Power In
Analog
Analog
Analog
Analog
Analog
Analog
Ground
ARef
SDA
SCL
Digital
Digital
Digital
Digital
Digital
Digital
Digital
Digital
Digital
Digital
Digital
Digital
TX - Out
RX - In
10
6
= PWM/Analog çıkış uyumlu (i.e. )
Header pinleri devreleri kurmak için en önemli yerlerdir. Biraz zaman ayırıp arduino uno üzerindeki giriş çıkışlara göz gezdirelim.
a b c d e f g h i123456789101112131415161718192021222324252627282930
a b c d e f g h i
123456789101112131415161718192021222324252627282930
Bu çizgi breadboardumuzu ikiye bölüyor,Her bölüm kendi içinde bağımsızdır.
1
2
Güç:
Her + işareti dikey sütundan güç geçişi sağlar.
Toprak:
Her - işareti dikey sütunda her yerde toprak görevi görür.
Yatay Satırlar:
1 den 30 a kadar numaralı satırların herbiri kendi içerisinde (abcde ve ya fghij) güç iletimi sağlar.
Dikey Bağlantı (+ Güç ve - Toprak //Aşağıdaki diyagrama Bakınız)1
Yatay Bağlantı (a-e & f-j // Aşağıdaki diyagrama Bakınız)2
Bağlantılar Nasıldır?
Breadboardın İç Görünümü
f g h ia b c d e123456789101112131415161718192021222324252627282930
a b c d e f g h i
123456789101112131415161718192021222324252627282930
Breadboard
Breadboardın üzerinde
LED
Bağlantı Şekli
Breadboardın İçinde
Bağlandı
Devreler #1 - İlk Devreniz
5V Akım Arduino 5V da çalışır. Arduino'yu bilgisayara bağladığınızda aldığınız güç kurduğunuz devreleri çalıştıracaktır.Bilgisayarınızı Arduino'ya bağlayarak doğru gerilimi alabilirsiniz. 5V size zarar vermez bu yüzden devre içerisinde dokunmaktan korkmayın.
Nasıl Çalıştıracağız;
Parçaları Birleştir Kodu Yaz
Arduino' ya Yükle
Breadboard hakkında genel bilgiler verildi, şimdi arduino ile breadboardu yanyana yerleştirelim ve talimatlara dikkat edelim.
a b c d e f g h i123456789101112131415161718192021222324252627282930
a b c d e f g h i
123456789101112131415161718192021222324252627282930
Arduino ve Breadboardı yanyana yerleştir
USB Kablosunu Bağla
Elem
anla
r: LED
1X
Kablo
3X
330ΩDirenç
1X Bu bölümde, devreyi tamamlamak için gereken parçalar listelenir.
Circuit 2
LED 'ler (light-emitting diodes) bir çok elektronik devrede kullanılan güçlü ışık kaynaklarıdır. Çalışmalarımıza ilk olarak her elektronik meraklısının yaptığı gibi led yakarak başlayacağız . Bir çoğunuz için çok basit olabilir ama hem devre kurma hem de programlama olarak bize katacakları şeyler daha komplex projeleri yapmak için bizlere birer basamak olacaktır.
LED YAKMAK 1
Bu bölümde devrelerimizi kurmadan önce kuracağımız devre ile ilgili kısa açıklamalar
yer alır.Bu LED yakma devremizin şemasıdır.
Arduino
LED(Light Emitting Diode)
GND(ground-toprak) (-)
Direnç (330ohm)(Turuncu-Turuncu-Kahverengi)
Devrenin nasıl kurulacağını gösteren şemadır. Özellikle yeni başlayan arkadaşların bağlantıları kurmak için şemayı dikkatle incelemesini tavsiye ediyoruz.
Direnç gibi devre elemanlarının breadboard ile bağlantısını sağlamak için bacaklarını 90 derecelik açıyla büküyoruz.
Pin 13
Dev
re 1
: Led
Yak
mak
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 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
LED:
(-) i
le iş
aret
lenm
iş k
ısa
baca
k LE
D' in
neg
atif
ucud
ur.
330Ω
Dire
nç: R
enk
band
ı kırm
ızı-
turu
ncu
-tur
uncu
-kah
vere
ngi-a
ltın
şekl
inde
dir D
irenc
in b
acak
ların
ı de
vrey
e ba
ğlar
ız.
Atla
ma
Kabl
osu:
Tüm
atla
ma
kabl
olar
ıbe
nzer
man
tıkla
çal
ışır.
İki f
arkl
ı bağ
lant
ı ye
rini b
irbiri
ne b
ağla
r. De
vrel
erim
izde
fa
rklı
renk
te a
tlam
a ka
blos
u gö
rülm
esin
in
sebe
bi d
evre
şem
asın
ın g
örün
ümün
ü ko
layl
aştır
mak
tır. K
ablo
lar a
ynı k
ablo
lard
ır.
Düz
ken
ar
Kıs
a Ba
cak
Elem
anla
r:G
erçe
k G
örün
ümle
ri:
LED
(5m
m)
+-
+-
c2c3
Atla
ma
Kab
losu
Pin
13e2
330Ω
Dir
enç
a3G
ND
a3
Atla
ma
Kab
losu
GN
D
Atla
ma
Kab
losu
5V5V+
Ardu
ino
üzer
inde
ki “
5V”
pini
ni b
read
boar
d üz
erin
deki
“+”
işar
etli
satır
a ba
ğlıy
oruz
.
Ardu
ino
üzer
inde
ki “
Pin
13”
pini
ni b
read
boar
d üz
erin
deki
“e2
” sö
ketin
e ba
ğlıy
oruz
.
Ardu
ino
üzer
inde
ki “
GN
D” p
inin
i bre
adbo
ard
üzer
inde
ki “
-” iş
aret
li sa
tıra
bağl
ıyor
uz.
LED'
i c2(
uzun
bac
ak) c
3(kı
sa b
acak
) şek
linde
bre
adbo
ard'
un sö
ketle
rine
takı
yoru
z.
Dire
nçle
r yal
nızc
a Br
eadb
oard
üze
rinde
ki so
ketle
re y
erle
ştiri
lir."
-" iş
aret
li sa
tıra
ve LE
D' in
bac
ağın
a ba
ğlıy
oruz
.
Brea
dboa
rd: B
eyaz
şerit
bre
adbo
ard
soke
t bağ
lant
ıların
ı tem
sil e
der
Ardu
ino:
Mav
i şer
it Ar
duin
o he
ader
pi
nler
ini t
emsil
ede
r.
Bilgisayarımızdaki Arduino IDE yazılımını açıyoruz. Daha sonra aşağıdaki şemayı takip ederek "examples" klasörü içerisindeki "Arduino Kod" bölümünden "Devre 1" kodunu seçiyoruz.
İlk Kodumuzu Açalım:
File Edit Sketch Tools Help
1.Basics2.Digital3.Analog4.Communication5.Control6.Sensors7.Displays8.StringsArduinoISP
Arduino Kod
EEPROMEthernetFirmataLiquid CrystalSDServoSoftwareSerialSPIStepperWire
Page SetupPrint
NewOpen...SketchbookExamplesCloseSaveSave As...UploadUpload Using Progammer
Devre #1Devre #2Devre #3Devre #4Devre #5Devre #6Devre #7Devre #8Devre #9Devre #10Devre #11Devre #12
Circuit #1
// Devre #1
/*Led Yakmak (Blink=Göz Kırpma)LED ' i bir saniye yakıp bir saniye söndüren program*/
int LEDcikis = 13;void setup() {
// Dijital Pini çıkış olarak ayarlayacağız.
pinMode(LEDcikis, OUTPUT);}void loop() {digitalWrite(LEDcikis, HIGH);delay(1000);digitalWrite(LEDcikis, LOW);delay(1000);}
//LED'i yak// 1 saniye bekle// LED'i söndür //1 saniye bekle
Derleme
Yükleme
// Verilen kod ile derledikten ve yüklendikten sonra breadboard üzerindeki LED yanıp sönmeye başlayacaktır
Kodu derliyoruz. Yazılım kodu arduino üzerindeki entegrenin anlayabileceği dile çeviriyor.
USB Kablo aracılığıyla kodu Arduino üzerindeki entegreye gönderiyoruz. Daha sonra devre otomatik olarak çalışmaya başlayacaktır.
Circuit 21
Sorun Giderme:
LED YanmıyorLED sadece tek yönlü çalışır. Bu tür sorunlar genelde LED in yanlış bacağının bağlanmasından kaynaklanıyor. Endişeye gerek yok Led in bacaklarını çevirin ve yeniden bağlayın.Program YüklenmiyorYükleme ile ilgili sorunlar genelde seri port'dadır. tools>serial port> sekmesinden portunuzu değiştirip tekrar yüklemeye çalışın.
Hâlâ Çalışmıyor mu?Tamamlayamadığınız her devreniz hakkında yardım almak için [email protected] adresine mail yollayabilirsiniz.
Yanıp sönen bir LED göreceksiniz. Eğer çalışmıyorsa kodu kontrol edin ve tekrar derleyin sonra yükleyin ve devreyi tekrar kontrol edin veya aşağıdaki sorun giderme ipuçlarını bakın.
Arduinoki pinleri kullanmadan önce pini INPUT (giriş) yada OUTPUT (çıkış) olarak tanımlamanız gerekmektedir . Bunu yapmak için pinMode() yerleşik fonksiyonunu kullanacağız.
Bir pini OUTPUT (çıkış) olarak tanımladığınızda, o pinin HIGH (output 5 Volts-5 Volts çıkış), veya LOW (output 0 Volts-0 Volt çıkış) olarak davranmasını sağlayabilirsiniz .
digitalWrite(13, HIGH);
pinMode(13, OUTPUT);
Kod notları:
Gerçek Hayatta Uygulamaları:
Hemen hemen tüm modern televizyon ve monitörlerde ürünün çalıştığını ya da standby
durumunda olduğunu gösteren LED ler bulunur.
Arduino IDE 'yi Aç // File > Examples > Arduino Kod > Devre # 1
Ne göreceğiz?
Tüm devrelerde kodların ne olduğunu açıklayan bölümdür.
Verilen Kodu derlemeyi(verify) ve yüklemeyi(upload) unutmayın
Devrenizi tamamladıysanız , aşağıdaki gibi LED yanıp sönecektir
Kodun nasıl çalıştığını anlamak için aşağıdaki açıklamarı inceleyin.
Bu bölüm devre montajı sırasında yapılan en yaygın hataları içerir.
Bu alan kurduğunuz devrenin ve devre elemanlarının gerçek hayattaki kullanımlarını içerir.
Pin 13
Pin AØ
19X1X
330Ω
8X8X
Bu devrede potansiyometrenin ne işe yaradığını öğreneceğiz. Potansiyometre değişken bir direnç olarak bilinir. İki çıkış pini 5 Volta bağlandığında ortadaki pin potansiyometredeki kontrol düğmesinin konumuna göre 0V ile 5V arasında çıkış verir. Bu devrede, LED parlaklığını kontrol etmek için potansiyometreyi nasıl kullanacağınızı öğreneceksiniz.
Potansiyometre
Elem
anla
r:
6X
Devre #2 2
1X
330Ω
1X
Arduino Potansiyometre Arduino
+5 Volt
LED
direnç (330ohm)
(turuncu-turuncu-kahverengi)
GND(toprak-ground) (-)
Potansiyometre
1X
p.10p.24
KabloDirenç
LED
Dev
re 2
: Pot
ansi
yom
etre
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:
Pota
nsiy
omet
re
e6A
tlam
a K
ablo
su
e8A
tlam
a K
ablo
su
GN
D
Atla
ma
Kab
losu
5VPi
n 13
j20
Atla
ma
Kab
losu
GN
D
Atla
ma
Kab
losu
5V5V+
+-
+-
h20
h21
LED
(5m
m)
330Ω
Dir
enç
i21
+
Atla
ma
Kab
losu
A0e7
+
a6 a7 a8
Eğer
Ard
uino
ya y
akın
dan
baka
rsan
ız b
azı p
inle
rin "D
igita
l" ba
zı p
inle
rin
ise "A
nalo
g" o
lduğ
unu
göre
ceks
iniz
. Pek
i am
a ne f
arkı
var
bu
pinl
erin
?
Ard
uino
üze
rinde
ki d
ijita
l pin
ler i
le d
ış dü
nyad
an si
nyal
alm
ak v
e dış
düny
aya s
inya
l ver
mek
çok
kola
ydır.
Hat
ta L
ED le
ri ço
k hı
zlı y
akıp
sö
ndür
erek
dim
serg
ilem
ek g
ibi n
umar
alar
ve s
eri i
letiş
im d
e "H
IGH
" ve
"LO
W" g
ibi k
alıp
lar i
le b
aşka
ciha
zlara
ver
i akt
arım
ında
kol
aylık
la
kulla
nıla
bilir
.
Am
a sa
dece
on
ya d
a of
f ola
rak
tanı
nmla
yam
ayac
ağım
ız b
irçok
şey
var
dır.
Sıca
klık
sevi
yele
ri, k
ontro
l düğ
mel
eri g
ibi b
irçok
şeyd
e pa
sif v
e ak
tif (H
IGH
ve
LO
W)
aras
ında
sür
ekli
deği
şebi
len
değe
rler
alab
ilirle
r. Bu
dur
umla
rda
Ard
uino
bir
giriş
vol
tajın
ı 0 (
0 vo
lt) il
e 10
23 (
5 vo
lt) a
rasın
da d
eğişe
bile
n sa
yıla
ra d
önüş
türe
bile
n al
tı an
alog
giri
ş sun
ar. A
nalo
g gi
rişle
r tüm
bu
gerç
ek
değe
rleri
ölçm
ekte
çok
iyid
irler
ve
bu ta
rz d
eğer
leri
Ard
uino
'ya a
ktar
man
ızı
sağl
arla
r.
Digi
tal V
Ana
log:
Diji
tal
0 vo
lt 0
5 vo
lt
1023
Ana
log
HIGH
on -
aktif
5 vo
lt
LOW
off -
pas
if
0 vo
lt
MP3 çalarlardaki ses kontrolü potansiyometre kullanımına bir örnektir.
Circuit 2 Arduino Kodu:2
Sorun Giderme:
Düzensiz Çalışma DurumuBüyük olasılıkla potansiyometrenin pinlerinin breadboarda tam oturmamasından kaynaklanabilir. Potansiyometreyi bastırarak bu sorunu çözebilirsiniz.
Çalışmama DurumuPotansiyometrenin 2. pinini analog pin yerine dijital pine bağlamadığınızdan emin olunuz.
Potansiyometrenin ayarını değiştirdikçe LED'nin hızlı ve yavaş bi şekilde yanıp söndüğünü göreceksiniz. Eğer çalışmıyorsa kodu kontrol edin ve tekrar derleyin sonra yükleyin ve devreyi tekrar kontrol edin veya aşağıdaki sorun giderme ipuçlarını bakın.
"Değişken" sizin isim verdiğiniz bir rakamdır. Değişkeni kullanmadan önce onu tanımlamalı veya bildirmelisiniz; burada sensorValue adında bir değişkeni "int" (integer-tamsayı) olarak bildiriyoruz. Bu değişken isimlerinin küçük-büyük harf duyarlı olduğunu unutmayınız.
int sensorValue;
Kod Notları:
Gerçek Hayatta Uygulamaları:
Arduino IDE 'yi Aç// File > Examples > Arduino Kod > Devre # 2
Ne göreceğiz?
Arduino her saniye binlerce satır kodu çalıştıracak kapasiteye sahip, çok hızlı bir yapıdır. Onu yavaşlatıp neler yaptığını gözlemlemek için bazen kodlar arasına ("delay")gecikmeler ekleriz. Delay() fonksiyonu milisaniye ile sayar; yani 1 s gecikme için parantez içine 1000ms yazılmalıdır.
delay(sensorValue);
Analog pindeki değeri okumak için analogRead() fonksiyonunu kullanırız. analogRead() kullanmak istediğiniz analog pindeki ("sensorPin") değeri okur ve bir rakama("sensorValue") dönüştürür, bu rakam 0 (0 Volt) ile 1023 (5 Volt) arasındadır.
sensorValue = analogRead(sensorPin);
Hâlâ Çalışmıyor mu?Tamamlayamadığınız her devreniz hakkında yardım almak için [email protected] adresine mail yollayabilirsiniz.
p.10
ICResistor
8X
LED
8X
Yanıp sönen bir LED’den daha eğlenceli şey nedir sizce? Tabi ki renkli LED'ler! RGB, yani red-blue-green LED'ler 3 adet renk barındıran ve her tür renk için kombin edilebilen bir diyot türüdür. Bu devrede Bir RGB LED kullanarak nasıl renk kombinasyonları oluşturabileceğinizi öğreneceksiniz. Her bir diyotun parlaklığına bağlı olarak neredeyse bütün renkleri elde etmeniz mümkün.
RGB LED
Elem
anla
r:Devre #3 3
p.28
Potentiometer TransistorP2N2222AG
1X
Pin 11 Pin 10 Pin 9
kırmızı
yeşil
mavi
Direnç(330ohm)(turuncu-turuncu-kahverengi)
GND(toprak-ground) (-)
6X
330Ω
3X
LED
kırmızı
commonyeşil
mavi
XX 11Direnç
Kablo
Dev
re 3
: RG
B LE
D
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
*U
zun
uç g
enel
de (g
nd)'d
ir. B
azen
ano
t, ka
tot d
eğiş
ebili
r di
kkat
edi
lmel
idir
.
Elem
anla
r:G
erçe
k G
örün
üm:
e7e1
15V
330Ω
Dir
enç
g4e4 e7
e11
5V33
0Ω D
iren
çg6
e6 e7e1
15V
330Ω
Dir
enç
g7e7
RGB
LED
(5m
m)
Atla
ma
Kab
losu
GN
D
Atla
ma
Kab
losu
5V5V+
Atla
ma
Kab
losu
Pin
9h4
Atla
ma
Kab
losu
Pin
10h6
Atla
ma
Kab
losu
Pin
11h7
e5A
tlam
a K
ablo
su
Şim
diye
kad
ar A
rdui
nonu
n an
olog
vol
tajla
rı (0
ve
5 vo
ltaj a
rasın
da k
i de
ğerle
ri) a
nalo
gRea
d() f
onks
iyon
u ku
llana
rak
okuy
abild
iğin
i gör
dük.
Pe
ki A
rdui
no'n
un a
nalo
g vo
ltaj ç
ıktıs
ı ver
mek
gib
i bir
imka
nı v
ar m
ı diy
e so
raca
k ol
ursa
k, ce
vabı
mız
hem
hay
ır he
m e
vet o
laca
ktır.
Ard
uino
ger
çek
bir a
nalo
g vo
ltaj ç
ıktıs
ına
sahi
p de
ğild
ir am
a A
rdui
no'n
un ço
k hı
zlı
olm
asın
dan
dola
yı P
WM
("Pu
lse-
Wid
th M
odul
atio
n") k
ulla
nara
k bu
çı
ktıy
ı uyd
urab
ilir*
Ard
uino
o k
adar
hız
lı ça
lışır
ki b
ir pi
ni sa
niye
de 1
000
kez a
çıp
kapa
tabi
lir.
PWM
HIG
H v
e LO
W o
lara
k ha
rcan
an za
man
ı kul
lanı
yor.
Eğer
HIG
H
konu
mun
da d
aha
fazl
a va
kit h
arca
nıyo
rsa
bu p
ine
bağl
ı ola
n LE
D p
arla
k ya
naca
ktır.
Fak
at L
OW
kon
umun
da d
aha
fazl
a va
kit h
arca
nmışs
a LE
D
daha
sönü
k ka
laca
ktır
çünk
ü pi
n gö
zün
göre
bile
ceği
nden
dah
a hı
zlı a
çıp
kapa
ma
yapa
cakt
ır. İş
te b
u A
rdun
inon
un “g
erçe
k” a
nalo
g çı
ktısı
için
ya
ptığ
ı bir
ilüzy
ondu
r.
anal
ogW
rite
() A
rkas
ında
ki Ş
ok E
dici
Ger
çek:
90%90
%
50%
50%
0.5
v
2.5
v
4.5
v
LOW
(0 v
olt)
HIG
H (5
vol
t)
LOW
(0 v
olt)
HIG
H (5
vol
t)
LOW
(0 v
olt)
HIG
H (5
vol
t)
10%
10%
a4a5
a6a7
Videogame konsolları gibi bir çok elektronikte RGB LED kullanılmaktadır. Bu LED'ler aynı bölgede farklı renkleri göstermek için kullanılıyor. Sıklıkla farklı renkler farklı çalışma şartlarını ifade eder
Circuit 2 Arduino Kodu:3
Sorun Giderme:
LED'in Işık Vermemesi veya Yanlış Renk VermesiLED'in dört pini birbirine çok yakın bulunmakta, kolaylıkla yerlerini karıştırabilirsiniz. Pinlerin nerede olması gerektiğini iki kez kontrol edin. Ayrıca uzun uç bazen GND olmayabilir, uzun ucu Arduino kartımızın 5v çıkışına bağlayıp tekrar deneyiniz.
Kırmızı Rengi GörmekRGB LED içersindeki kırmızı diyot diperlerinden daha parlak olabilir. Renklerinizi daha dengeli hale getirmek için daha yüksek bir direnç kullanın veya kodunuzda ayarlamalar yapın.analogWrite(RED_PIN, redIntensity);
to
analogWrite(RED_PIN, redIntensity/3);
LED'inizi çalışıyor olarak görmeniz lazım, fakat bu sefer LED'iniz sırayla farklı farklı renkler yayıyor olmalı. Eğer öyle değilse devrenizi doğru şekilde birleştirdiğinizden emin olun, kontrollerinizi yapın ve kartınıza yükleme yapın ve arıza tespiti kısmını kontrol edin.
Kod Notları:
Gerçek Hayatta Uygulamaları:
Arduino IDE 'yi Aç// File > Examples > Arduino Kod > Devre # 3
Ne göreceğiz?
Bir for() döngüsü bir aralıkta sayı yerleştirmek için kullanılır ve tekrarlayarak brackets{} içerisinde kodu çalıştırır. Değişken bir “x” 0 olarak başlıyor ve 767 sayısına kadar her adımda bir artarak ilerliyor ("x++")..
for (x = 0; x < 768; x++){}
Arduino çok hızlı çalışbilmektedir. Öyle ki her saniye binlerce kod satırını çalıştırabilecek kapasiteye sahiptir. Biz de cihazın ne yaptığını görebilmek için yavaşlatmak adına gecikmeler ekliyoruz. Delay() milisaniye olarka hesaplanıyor; 1 saniye 1000 milisaniye.
delay(sensorValue);
“If / else” ifadeleri programınızda seçim yapmak için kullanılır. Parantez () içerisindeki ifade değerlendirildiğinde, eğer ifadesiniz doğru ise ilk brackets{} içerisindeki ifade yürütülür. Şayet doğru değil ise ikince brackest {} içerisindeki ifade yürütülür.
if (x <= 255){}else{}
Elimizde yakıp söndürmek için bir LED var. Gelin şimdi SEKİZ LED'i anda bağlayarak çıtayı biraz yükseltelim. Böylece çeşitli renkler oluşturma konusunda Arduinomuzu da ufak bir teste tabi tutmuş olacağız. Bu devre kendi programınızı yazma pratikleri için güzel bir başlangıç adımı olacak. LED'leri kontrol aşamasında yazdığınız programı düzenli tutmanızı sağlayacak bir kaç ipucu öğrenceksiniz.
for() loops - Bu döngü birden fazla kez aynı kodu kullanmanızı sağlar.
arrays[ ] - Birden fazla değişkeni grup haline getirerek yönetilmelerini kolaylaştırır.
Çoklu LEDPin 2 Pin 3 Pin 4 Pin 5
GND
LEDLight Emitting Diode
LEDLight Emitting Diode
Direnç(330ohm)(turuncu-turuncu-kahverengi)
Direnç
(330ohm)(turuncu-turuncu-kahverengi)
Pin 6 Pin 7 Pin 8 Pin 9
GND(toprak-ground) (-)
p.32
Elem
anla
r: LED
8X
Kablo
10X
330ΩDirenç
8X
Devre #4 4Pin 2 Pin 3 Pin 4 Pin 5
Pin 6 Pin 7 Pin 8 Pin 9
Dev
re 4
: Çok
lu L
ED
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