hazirlayanlar grafİk tasarim - github pages

36

Upload: others

Post on 27-Nov-2021

24 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: HAZIRLAYANLAR GRAFİK TASARIM - GitHub Pages

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

Page 2: HAZIRLAYANLAR GRAFİK TASARIM - GitHub Pages

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

Page 3: HAZIRLAYANLAR GRAFİK TASARIM - GitHub Pages

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

Page 4: HAZIRLAYANLAR GRAFİK TASARIM - GitHub Pages

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.

Page 5: HAZIRLAYANLAR GRAFİK TASARIM - GitHub Pages

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

Page 6: HAZIRLAYANLAR GRAFİK TASARIM - GitHub Pages

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.

Page 7: HAZIRLAYANLAR GRAFİK TASARIM - GitHub Pages

// 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

Page 8: HAZIRLAYANLAR GRAFİK TASARIM - GitHub Pages

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:

Page 9: HAZIRLAYANLAR GRAFİK TASARIM - GitHub Pages

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

Page 10: HAZIRLAYANLAR GRAFİK TASARIM - GitHub Pages

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

Page 11: HAZIRLAYANLAR GRAFİK TASARIM - GitHub Pages

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

Page 12: HAZIRLAYANLAR GRAFİK TASARIM - GitHub Pages

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

Page 13: HAZIRLAYANLAR GRAFİK TASARIM - GitHub Pages
Page 14: HAZIRLAYANLAR GRAFİK TASARIM - GitHub Pages

*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

Page 15: HAZIRLAYANLAR GRAFİK TASARIM - GitHub Pages

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

Page 16: HAZIRLAYANLAR GRAFİK TASARIM - GitHub Pages

3

1

2

4 5

7

8

9

6

10

Page 17: HAZIRLAYANLAR GRAFİK TASARIM - GitHub Pages

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

Page 18: HAZIRLAYANLAR GRAFİK TASARIM - GitHub Pages

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

Page 19: HAZIRLAYANLAR GRAFİK TASARIM - GitHub Pages

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ı

Page 20: HAZIRLAYANLAR GRAFİK TASARIM - GitHub Pages

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

Page 21: HAZIRLAYANLAR GRAFİK TASARIM - GitHub Pages

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

Page 22: HAZIRLAYANLAR GRAFİK TASARIM - GitHub Pages

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

Page 23: HAZIRLAYANLAR GRAFİK TASARIM - GitHub Pages

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.

Page 24: HAZIRLAYANLAR GRAFİK TASARIM - GitHub Pages

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

Page 25: HAZIRLAYANLAR GRAFİK TASARIM - GitHub Pages

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.

Page 26: HAZIRLAYANLAR GRAFİK TASARIM - GitHub Pages

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.

Page 27: HAZIRLAYANLAR GRAFİK TASARIM - GitHub Pages

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

Page 28: HAZIRLAYANLAR GRAFİK TASARIM - GitHub Pages

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

Page 29: HAZIRLAYANLAR GRAFİK TASARIM - GitHub Pages

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

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

Page 30: HAZIRLAYANLAR GRAFİK TASARIM - GitHub Pages

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.

Page 31: HAZIRLAYANLAR GRAFİK TASARIM - GitHub Pages

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

Page 32: HAZIRLAYANLAR GRAFİK TASARIM - GitHub Pages

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

.

Page 33: HAZIRLAYANLAR GRAFİK TASARIM - GitHub Pages

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

Page 34: HAZIRLAYANLAR GRAFİK TASARIM - GitHub Pages

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{}

Page 35: HAZIRLAYANLAR GRAFİK TASARIM - GitHub Pages

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

Page 36: HAZIRLAYANLAR GRAFİK TASARIM - GitHub Pages

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