hazirlayanlar grafİk tasarim · 2017. 12. 20. · arduino ile yazılım geliştirmek ve...

74

Upload: others

Post on 10-Dec-2020

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: HAZIRLAYANLAR GRAFİK TASARIM · 2017. 12. 20. · Arduino ile yazılım geliştirmek ve çalıştırmak için ... Start Programs arduino examples Contents Resources Java examples

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 · 2017. 12. 20. · Arduino ile yazılım geliştirmek ve çalıştırmak için ... Start Programs arduino examples Contents Resources Java examples

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 · 2017. 12. 20. · Arduino ile yazılım geliştirmek ve çalıştırmak için ... Start Programs arduino examples Contents Resources Java examples

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 · 2017. 12. 20. · Arduino ile yazılım geliştirmek ve çalıştırmak için ... Start Programs arduino examples Contents Resources Java examples

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 · 2017. 12. 20. · Arduino ile yazılım geliştirmek ve çalıştırmak için ... Start Programs arduino examples Contents Resources Java examples

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 · 2017. 12. 20. · Arduino ile yazılım geliştirmek ve çalıştırmak için ... Start Programs arduino examples Contents Resources Java examples

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 · 2017. 12. 20. · Arduino ile yazılım geliştirmek ve çalıştırmak için ... Start Programs arduino examples Contents Resources Java examples

// 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 · 2017. 12. 20. · Arduino ile yazılım geliştirmek ve çalıştırmak için ... Start Programs arduino examples Contents Resources Java examples

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 · 2017. 12. 20. · Arduino ile yazılım geliştirmek ve çalıştırmak için ... Start Programs arduino examples Contents Resources Java examples

// 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 · 2017. 12. 20. · Arduino ile yazılım geliştirmek ve çalıştırmak için ... Start Programs arduino examples Contents Resources Java examples

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 · 2017. 12. 20. · Arduino ile yazılım geliştirmek ve çalıştırmak için ... Start Programs arduino examples Contents Resources Java examples

İ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 · 2017. 12. 20. · Arduino ile yazılım geliştirmek ve çalıştırmak için ... Start Programs arduino examples Contents Resources Java examples

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 · 2017. 12. 20. · Arduino ile yazılım geliştirmek ve çalıştırmak için ... Start Programs arduino examples Contents Resources Java examples
Page 14: HAZIRLAYANLAR GRAFİK TASARIM · 2017. 12. 20. · Arduino ile yazılım geliştirmek ve çalıştırmak için ... Start Programs arduino examples Contents Resources Java examples

*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 · 2017. 12. 20. · Arduino ile yazılım geliştirmek ve çalıştırmak için ... Start Programs arduino examples Contents Resources Java examples

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 · 2017. 12. 20. · Arduino ile yazılım geliştirmek ve çalıştırmak için ... Start Programs arduino examples Contents Resources Java examples

3

1

2

4 5

7

8

9

6

10

Page 17: HAZIRLAYANLAR GRAFİK TASARIM · 2017. 12. 20. · Arduino ile yazılım geliştirmek ve çalıştırmak için ... Start Programs arduino examples Contents Resources Java examples

// 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 · 2017. 12. 20. · Arduino ile yazılım geliştirmek ve çalıştırmak için ... Start Programs arduino examples Contents Resources Java examples

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 · 2017. 12. 20. · Arduino ile yazılım geliştirmek ve çalıştırmak için ... Start Programs arduino examples Contents Resources Java examples

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 · 2017. 12. 20. · Arduino ile yazılım geliştirmek ve çalıştırmak için ... Start Programs arduino examples Contents Resources Java examples

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 · 2017. 12. 20. · Arduino ile yazılım geliştirmek ve çalıştırmak için ... Start Programs arduino examples Contents Resources Java examples

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 · 2017. 12. 20. · Arduino ile yazılım geliştirmek ve çalıştırmak için ... Start Programs arduino examples Contents Resources Java examples

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 · 2017. 12. 20. · Arduino ile yazılım geliştirmek ve çalıştırmak için ... Start Programs arduino examples Contents Resources Java examples

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 · 2017. 12. 20. · Arduino ile yazılım geliştirmek ve çalıştırmak için ... Start Programs arduino examples Contents Resources Java examples

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 · 2017. 12. 20. · Arduino ile yazılım geliştirmek ve çalıştırmak için ... Start Programs arduino examples Contents Resources Java examples

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 · 2017. 12. 20. · Arduino ile yazılım geliştirmek ve çalıştırmak için ... Start Programs arduino examples Contents Resources Java examples

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 · 2017. 12. 20. · Arduino ile yazılım geliştirmek ve çalıştırmak için ... Start Programs arduino examples Contents Resources Java examples

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 · 2017. 12. 20. · Arduino ile yazılım geliştirmek ve çalıştırmak için ... Start Programs arduino examples Contents Resources Java examples

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 · 2017. 12. 20. · Arduino ile yazılım geliştirmek ve çalıştırmak için ... Start Programs arduino examples Contents Resources Java examples

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 · 2017. 12. 20. · Arduino ile yazılım geliştirmek ve çalıştırmak için ... Start Programs arduino examples Contents Resources Java examples

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 · 2017. 12. 20. · Arduino ile yazılım geliştirmek ve çalıştırmak için ... Start Programs arduino examples Contents Resources Java examples

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 · 2017. 12. 20. · Arduino ile yazılım geliştirmek ve çalıştırmak için ... Start Programs arduino examples Contents Resources Java examples

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 · 2017. 12. 20. · Arduino ile yazılım geliştirmek ve çalıştırmak için ... Start Programs arduino examples Contents Resources Java examples

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 · 2017. 12. 20. · Arduino ile yazılım geliştirmek ve çalıştırmak için ... Start Programs arduino examples Contents Resources Java examples

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 · 2017. 12. 20. · Arduino ile yazılım geliştirmek ve çalıştırmak için ... Start Programs arduino examples Contents Resources Java examples

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 · 2017. 12. 20. · Arduino ile yazılım geliştirmek ve çalıştırmak için ... Start Programs arduino examples Contents Resources Java examples

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

Page 37: HAZIRLAYANLAR GRAFİK TASARIM · 2017. 12. 20. · Arduino ile yazılım geliştirmek ve çalıştırmak için ... Start Programs arduino examples Contents Resources Java examples

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 +

Page 38: HAZIRLAYANLAR GRAFİK TASARIM · 2017. 12. 20. · Arduino ile yazılım geliştirmek ve çalıştırmak için ... Start Programs arduino examples Contents Resources Java examples

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

Page 39: HAZIRLAYANLAR GRAFİK TASARIM · 2017. 12. 20. · Arduino ile yazılım geliştirmek ve çalıştırmak için ... Start Programs arduino examples Contents Resources Java examples

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ç

Page 40: HAZIRLAYANLAR GRAFİK TASARIM · 2017. 12. 20. · Arduino ile yazılım geliştirmek ve çalıştırmak için ... Start Programs arduino examples Contents Resources Java examples

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

Page 41: HAZIRLAYANLAR GRAFİK TASARIM · 2017. 12. 20. · Arduino ile yazılım geliştirmek ve çalıştırmak için ... Start Programs arduino examples Contents Resources Java examples

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ü

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.

Page 42: HAZIRLAYANLAR GRAFİK TASARIM · 2017. 12. 20. · Arduino ile yazılım geliştirmek ve çalıştırmak için ... Start Programs arduino examples Contents Resources Java examples

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

Page 43: HAZIRLAYANLAR GRAFİK TASARIM · 2017. 12. 20. · Arduino ile yazılım geliştirmek ve çalıştırmak için ... Start Programs arduino examples Contents Resources Java examples

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

Page 44: HAZIRLAYANLAR GRAFİK TASARIM · 2017. 12. 20. · Arduino ile yazılım geliştirmek ve çalıştırmak için ... Start Programs arduino examples Contents Resources Java examples

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

Page 45: HAZIRLAYANLAR GRAFİK TASARIM · 2017. 12. 20. · Arduino ile yazılım geliştirmek ve çalıştırmak için ... Start Programs arduino examples Contents Resources Java examples

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

Page 46: HAZIRLAYANLAR GRAFİK TASARIM · 2017. 12. 20. · Arduino ile yazılım geliştirmek ve çalıştırmak için ... Start Programs arduino examples Contents Resources Java examples

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

Page 47: HAZIRLAYANLAR GRAFİK TASARIM · 2017. 12. 20. · Arduino ile yazılım geliştirmek ve çalıştırmak için ... Start Programs arduino examples Contents Resources Java examples

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

Page 48: HAZIRLAYANLAR GRAFİK TASARIM · 2017. 12. 20. · Arduino ile yazılım geliştirmek ve çalıştırmak için ... Start Programs arduino examples Contents Resources Java examples

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

Page 49: HAZIRLAYANLAR GRAFİK TASARIM · 2017. 12. 20. · Arduino ile yazılım geliştirmek ve çalıştırmak için ... Start Programs arduino examples Contents Resources Java examples

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

Page 50: HAZIRLAYANLAR GRAFİK TASARIM · 2017. 12. 20. · Arduino ile yazılım geliştirmek ve çalıştırmak için ... Start Programs arduino examples Contents Resources Java examples

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

Page 51: HAZIRLAYANLAR GRAFİK TASARIM · 2017. 12. 20. · Arduino ile yazılım geliştirmek ve çalıştırmak için ... Start Programs arduino examples Contents Resources Java examples

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

Page 52: HAZIRLAYANLAR GRAFİK TASARIM · 2017. 12. 20. · Arduino ile yazılım geliştirmek ve çalıştırmak için ... Start Programs arduino examples Contents Resources Java examples

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

Page 53: HAZIRLAYANLAR GRAFİK TASARIM · 2017. 12. 20. · Arduino ile yazılım geliştirmek ve çalıştırmak için ... Start Programs arduino examples Contents Resources Java examples

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

Page 54: HAZIRLAYANLAR GRAFİK TASARIM · 2017. 12. 20. · Arduino ile yazılım geliştirmek ve çalıştırmak için ... Start Programs arduino examples Contents Resources Java examples

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

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

Page 55: HAZIRLAYANLAR GRAFİK TASARIM · 2017. 12. 20. · Arduino ile yazılım geliştirmek ve çalıştırmak için ... Start Programs arduino examples Contents Resources Java examples

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.

Page 56: HAZIRLAYANLAR GRAFİK TASARIM · 2017. 12. 20. · Arduino ile yazılım geliştirmek ve çalıştırmak için ... Start Programs arduino examples Contents Resources Java examples

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

Page 57: HAZIRLAYANLAR GRAFİK TASARIM · 2017. 12. 20. · Arduino ile yazılım geliştirmek ve çalıştırmak için ... Start Programs arduino examples Contents Resources Java examples

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

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

);}

Page 58: HAZIRLAYANLAR GRAFİK TASARIM · 2017. 12. 20. · Arduino ile yazılım geliştirmek ve çalıştırmak için ... Start Programs arduino examples Contents Resources Java examples

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

Page 59: HAZIRLAYANLAR GRAFİK TASARIM · 2017. 12. 20. · Arduino ile yazılım geliştirmek ve çalıştırmak için ... Start Programs arduino examples Contents Resources Java examples

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

Page 60: HAZIRLAYANLAR GRAFİK TASARIM · 2017. 12. 20. · Arduino ile yazılım geliştirmek ve çalıştırmak için ... Start Programs arduino examples Contents Resources Java examples

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

Page 61: HAZIRLAYANLAR GRAFİK TASARIM · 2017. 12. 20. · Arduino ile yazılım geliştirmek ve çalıştırmak için ... Start Programs arduino examples Contents Resources Java examples

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

Page 62: HAZIRLAYANLAR GRAFİK TASARIM · 2017. 12. 20. · Arduino ile yazılım geliştirmek ve çalıştırmak için ... Start Programs arduino examples Contents Resources Java examples

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

Page 63: HAZIRLAYANLAR GRAFİK TASARIM · 2017. 12. 20. · Arduino ile yazılım geliştirmek ve çalıştırmak için ... Start Programs arduino examples Contents Resources Java examples

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

Page 64: HAZIRLAYANLAR GRAFİK TASARIM · 2017. 12. 20. · Arduino ile yazılım geliştirmek ve çalıştırmak için ... Start Programs arduino examples Contents Resources Java examples

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.

Page 65: HAZIRLAYANLAR GRAFİK TASARIM · 2017. 12. 20. · Arduino ile yazılım geliştirmek ve çalıştırmak için ... Start Programs arduino examples Contents Resources Java examples

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

Page 66: HAZIRLAYANLAR GRAFİK TASARIM · 2017. 12. 20. · Arduino ile yazılım geliştirmek ve çalıştırmak için ... Start Programs arduino examples Contents Resources Java examples

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

Page 67: HAZIRLAYANLAR GRAFİK TASARIM · 2017. 12. 20. · Arduino ile yazılım geliştirmek ve çalıştırmak için ... Start Programs arduino examples Contents Resources Java examples

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

QB

QC

QD

QE

QF

QG

QH

GND

VCC

QA

SER

OE

RCLK

SRCLK

SRCLR

QH’

16

15

14

13

12

11

10

9

Page 68: HAZIRLAYANLAR GRAFİK TASARIM · 2017. 12. 20. · Arduino ile yazılım geliştirmek ve çalıştırmak için ... Start Programs arduino examples Contents Resources Java examples

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

Page 69: HAZIRLAYANLAR GRAFİK TASARIM · 2017. 12. 20. · Arduino ile yazılım geliştirmek ve çalıştırmak için ... Start Programs arduino examples Contents Resources Java examples

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

Page 70: HAZIRLAYANLAR GRAFİK TASARIM · 2017. 12. 20. · Arduino ile yazılım geliştirmek ve çalıştırmak için ... Start Programs arduino examples Contents Resources Java examples

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.

Page 71: HAZIRLAYANLAR GRAFİK TASARIM · 2017. 12. 20. · Arduino ile yazılım geliştirmek ve çalıştırmak için ... Start Programs arduino examples Contents Resources Java examples

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

Page 72: HAZIRLAYANLAR GRAFİK TASARIM · 2017. 12. 20. · Arduino ile yazılım geliştirmek ve çalıştırmak için ... Start Programs arduino examples Contents Resources Java examples
Page 73: HAZIRLAYANLAR GRAFİK TASARIM · 2017. 12. 20. · Arduino ile yazılım geliştirmek ve çalıştırmak için ... Start Programs arduino examples Contents Resources Java examples

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

Page 74: HAZIRLAYANLAR GRAFİK TASARIM · 2017. 12. 20. · Arduino ile yazılım geliştirmek ve çalıştırmak için ... Start Programs arduino examples Contents Resources Java examples