pin 2 pin 3 pin 3 pin 4 pin 5 pin 6 pin 7 pin 8 pin 9 5v gnd · 2016. 6. 24. · voltage: 0.73 deg...

38
Elemanlar: Gerçek Görünüm: Elemanlar: Gerçek Görünüm: 330Ω Direnç 330Ω Direnç 330Ω Direnç Atlama Kablosu Atlama Kablosu Atlama Kablosu Atlama Kablosu Atlama Kablosu Atlama Kablosu Atlama Kablosu Atlama Kablosu Atlama Kablosu 5V Atlama Kablosu LED (5mm) + - + - c2 c3 e2 Pin 2 330Ω Direnç a15 GND 330Ω Direnç a12 GND 330Ω Direnç a9 GND 330Ω Direnç a6 GND 330Ω Direnç c23 c24 LED (5mm) + - + - c23 c24 LED (5mm) + - + - c20 c21 LED (5mm) + - + - c17 c18 LED (5mm) + - + - c14 c15 LED (5mm) + - + - c11 c12 LED (5mm) + - + - c8 c9 LED (5mm) + - + - c5 c6 a3 GND a24 GND a21 GND Pin 3 Pin 3 e5 GND - Pin 4 e8 Pin 5 e11 Pin 6 e14 Pin 7 e17 Pin 8 e20 Pin 9 e23 +

Upload: others

Post on 27-Jan-2021

46 views

Category:

Documents


0 download

TRANSCRIPT

  • Elem

    anla

    r:G

    erçe

    k G

    örün

    üm:

    Elem

    anla

    r:G

    erçe

    k G

    örün

    üm:

    330Ω

    Dir

    enç

    a18

    GN

    D

    330Ω

    Dir

    enç

    330Ω

    Dir

    enç

    Atla

    ma

    Kab

    losu

    Atla

    ma

    Kab

    losu

    Atla

    ma

    Kab

    losu

    Atla

    ma

    Kab

    losu

    Atla

    ma

    Kab

    losu

    Atla

    ma

    Kab

    losu

    Atla

    ma

    Kab

    losu

    Atla

    ma

    Kab

    losu

    Atla

    ma

    Kab

    losu

    5V

    Atla

    ma

    Kab

    losu

    LED

    (5m

    m)

    +-

    +-

    c2c3

    e2Pi

    n 2

    330Ω

    Dir

    enç

    a15

    GN

    D

    330Ω

    Dir

    enç

    a12

    GN

    D

    330Ω

    Dir

    enç

    a9G

    ND

    330Ω

    Dir

    enç

    a6G

    ND

    330Ω

    Dir

    enç

    a3G

    ND

    c23

    c24

    LED

    (5m

    m)

    +-

    +-

    c23

    c24

    LED

    (5m

    m)

    +-

    +-

    c20

    c21

    LED

    (5m

    m)

    +-

    +-

    c17

    c18

    LED

    (5m

    m)

    +-

    +-

    c14

    c15

    LED

    (5m

    m)

    +-

    +-

    c11

    c12

    LED

    (5m

    m)

    +-

    +-

    c8c9

    LED

    (5m

    m)

    +-

    +-

    c5c6

    a3G

    ND

    a24

    GN

    D

    a21

    GN

    D

    Pin

    3

    Pin

    3

    e5

    GN

    D-

    Pin

    4e8

    Pin

    5e1

    1

    Pin

    6e1

    4

    Pin

    7e1

    7

    Pin

    8e2

    0

    Pin

    9e2

    3 +

  • Circuit 24

    Sorun Giderme:

    Bazı LED'ler Işık VermeyebilirLED'inizi ters takmış olabilirsiniz, sıkça karşılaşılan bir sorundur. Çalışmayan LEDinizin doğru bağlandığından emin olun.

    Sıralama DüzeniSekiz adet bağlantı ile çalıştığınız için karışıklıklar olması gayet doğal. İlk LED'i pin 2’ye yerleştirin ve diğer LED'leri devam edecek şekilde yerleştirin ve tekrar kontrol edin.Yeniden BaşlayınFarkında olmadan bağlantıyı yanlış yere kurabilirsiniz. Genelde her şeyi çıkarıp tekrar yerleştirmek, nerede hata yaptığınız aramaktan daha kolaydır.

    Tek LED yerine bütün LED'lerin yanıp söndüğünü görmeniz gerek. Eğer sorun varsa devreyi doğru şekilde kurduğunuzdan emin olduktan sonra kodunuzu kontrol edin ve arıza tespit kısmını inceleyin.

    Kod Notları:

    Gerçek Hayatta Uygulamaları:

    Kayan yazı ekranları genellikle önemli bilgiların kısa parçalarının yayınlanması şeklinde kulanılır. Bu ekranlar çok sayıda LED kullanılarak üretilir.

    Arduino Kodu:

    Arduino IDE 'yi Aç// File > Examples > Arduino Kod > Devre # 4

    Ne göreceğiz?

    “array” çok fazla değişkeni gruplar haline getirerek yönetilmesini kolaylaştıran en kullanışlı yöntemdir. Burada sekiz eleman içeren integer değerler için bir array oluşturuyoruz ve buna ledPins adını veriyoruz.

    Array içerisindeki bir elemana bulundukları adres yardımı ile ulaşırsınız. İlk elemanın adresi 0, ikinci elemanın adresi 1, vs. Bir elemana ulaşmak için “ledPins[x]” komutunu kullanarak x yerine o elamanın adresini yazarsınız. Burada dijital pin 2' yi HIGH yapıyoruz.

    int ledPins[] = {2,3,4,5,6,7,8,9};

    Bilgisayarlarlar çalışma sırasında aynı işlemleri gerçekleştirir fakat bazen bir şeylerin rastgele olmaısnı istersiniz, örneğin bir zar atma işleminde. Random() fonksiyonu bunu yapmak için en iyi yoldur. Daha fazla bilgi için adresi ziyaret ediniz. http://arduino.cc/en/Reference/Random

    index = random(8);

    digitalWrite(ledPins[0], HIGH);

  • Wire

    19X

    IC

    1X

    330Ω

    8X

    LED

    8X

    Şu ana kadar çıktı (output) üzerine yoğunlaşmıştık. Bundan sonraki projelerimize girdiler (inputs) ile devam ediyoruz. Bu devrede çok yaygın olan bir girdiye bakacağız push botton(buton). Bir butonun Arduino üzerindeki çalışma şekli şöyledir; ne zaman ki butona bastınız, voltaj LOW seviyesine geçer. Arduino bunu okur ve buna göre davranır. Bu devrede, bir adet pull-up direnç görüyoruz. Bu direnç temiz bir voltaj oluşmasını ve butondan gelecek yanlış okumaların önüne geçilmesini sağlar.

    Buton Kullanımı

    Elem

    anla

    r:: Kablo

    7X

    Devre #5 5Pin 2

    +5 Volt

    Direnç

    Pin 3

    LED

    GND(toprak-ground) (-)

    Direnç(turuncu-turuncu-kahverengi)

    (330ohm)

    Push Button

    2X

    LED

    1X

    330ΩDirenç

    1X

    10KΩ

    2X

    Pin 13

    Pin 2 Pin 3

    p.10p.36

    Direnç

  • Dev

    re 5

    : But

    on K

    ulla

    nım

    ı

    ab

    cd

    ef

    gh

    i1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

    ab

    cd

    ef

    gh

    i

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

  • Elem

    anla

    r:G

    erçe

    k G

    örün

    üm:

    LED

    (5m

    m)

    +-

    +-

    h20

    h21

    Push

    But

    ond4

    g4

    d6g6

    Push

    But

    ond9

    g9

    d11

    g11

    Atla

    ma

    Kab

    losu

    Pin

    2h6

    Atla

    ma

    Kab

    losu

    Pin

    3h1

    1

    Atla

    ma

    Kab

    losu

    Pin

    13j2

    0

    i4A

    tlam

    a K

    ablo

    su

    i9A

    tlam

    a K

    ablo

    su

    10K

    Ω D

    iren

    ça1

    5i6

    +

    10K

    Ω D

    iren

    çi1

    1+

    330Ω

    Dir

    enç

    j21

    +

    Ard

    uino

    ’yu

    kulla

    nışlı

    kıla

    n şe

    yler

    den

    biri

    de, g

    irdin

    izde

    ki b

    ilgile

    re d

    ayan

    an k

    arm

    aşık

    ey

    lem

    leri

    gerç

    ekle

    ştire

    bilir

    . Örn

    eğin

    hav

    a fa

    zla so

    ğuk

    oldu

    ğund

    a ısı

    tıcıy

    ı çal

    ıştıra

    bilir

    , sıc

    ak

    oldu

    ğund

    a va

    ntila

    törü

    abili

    r, bi

    tkile

    r ku

    rum

    aya

    başla

    dığı

    nda

    onla

    rı su

    laya

    bilir

    siniz

    . Bu

    eyle

    mle

    ri ye

    rine

    getir

    ebilm

    esi i

    çin,

    Ard

    uino

    “if”

    ile

    kurd

    uğun

    uz

    karm

    aşık

    yap

    ıları

    man

    tıklı

    işlem

    lerle

    ger

    çekl

    eştir

    ir.

    Kar

    maş

    ık b

    ir if(

    ) ifa

    desi

    oluş

    turm

    ak iç

    in b

    aşka

    fonk

    siyon

    ları

    kom

    binl

    eyeb

    ilirs

    iniz

    .

    Örneğin

    :

    if ((

    mod

    e ==

    hea

    t) &

    & ((

    tem

    pera

    ture

    < th

    resh

    old)

    || (o

    verr

    ide

    == tr

    ue))

    ){ di

    gita

    lWri

    te(H

    EAT

    ER, H

    IGH

    );} Eğ

    er ıs

    ıtma

    mod

    unda

    ysan

    ız v

    e sıc

    aklık

    düş

    ükse

    bu

    kod

    ısıtıc

    ıyı ç

    alışt

    ıraca

    ktır.

    Bu

    tarz

    işl

    emle

    rle A

    rdui

    noyu

    akı

    llı e

    ylem

    leri

    gerç

    ekle

    ştire

    bile

    cek

    şeki

    lde

    kodl

    ayab

    ilir

    ve d

    ış çe

    vrey

    i kon

    trol a

    ltına

    alab

    ilirs

    iniz

    .

    Iron

    Man

    Olm

    ak iç

    in A

    rdui

    no:

    ==

    Eşitl

    ikA

    ==

    B do

    ğru

    ise A

    ve B

    ayn

    ıdır

    .

    !=Fa

    rklıl

    ıkA

    != B

    doğ

    ru is

    e A

    ve

    B ay

    nı d

    eğild

    ir.

    &&

    Ve

    A &

    & B

    doğ

    ru is

    e A

    ve

    B 'n

    in ik

    isid

    e do

    ğrud

    ur.

    ||V

    eya

    A ||

    B d

    oğru

    ise

    A v

    eya

    B do

    ğrud

    ur.

    !D

    eğil

    !A d

    oğru

    ise

    A y

    anlış

    tır. Y

    anlış

    ise

    A d

    oğru

    dur.

  • Butonlar bir çok oyun konsolunda kontrolü sağlamak için kullanılır.

    Circuit 2 Arduino Kodu:5

    Sorun Giderme:

    Işık yanmıyorButonuzum kare olduğu için yanlış yerleştirilmiş olabilir. 90 derece çevirin ve çalışıyor mu tekrar kontrol edin.

    Işık sönmüyor

    Sıklıkla yaptığımız bir hatadır. Işığı kapatırken LED bağlantınızı pin 13' den pin 9' a getirmeyi unutmayın.

    Buttona bastığınızda LED'in yanıp söndüğünü görebilirsiniz. Eğer sorun varsa devreyi doğru şekilde kurduğunuzdan emin olduktan sonra kodunuzu kontrol edin ve arıza tespit kısmını inceleyin.

    Kod Notları:

    Gerçek Hayatta Uygulamaları:

    Arduino IDE 'yi Aç// File > Examples > Arduino Kod > Devre # 5

    Ne göreceğiz?

    Dijital pinler çıktılar gibi girdi olarak da kullanılabilir. Fakat bu işlemi yapmadan önce, Arduinoya kullandığınız yolu söylemeniz gerek.

    pinMode(button2Pin, INPUT);

    Çünkü butonumuzu GND’ye bağlıyoruz ve butona bastığınızda LOW olarak okunuyor. Buttonun basılmış durumda olup olmadığını görmek için (“==”) operatörünü kullanıyoruz.

    if (button1State == LOW)

    Dijital bir girdiyi okumak için digitalRead() fonksinonunu kullanırız. Eğer pinde 5V varsa HIGH, 0V ise LOW olacaktır.

    button1State = digitalRead(button1Pin);

  • Potansiyometreyi önceki projelerimizde direnci değiştirmek için kullanmıştık. Bu devrede sensöre ulaşan ışık miktarın göre direnci değişen foto dirençleri kullanacaksınız. Arduino direnci direkt olarak değerlendiremediği için foto direncimizi kullanmak için voltaj bölücü kullanacağız. Voltaj bölücü fazla ışık altında yüksek voltaj çıkışı, fazla ışık almadığı zamanda da düşük voltaj çıkışı verecek.

    Foto Direnç

    Elem

    anla

    r: Kablo

    6X

    Devre #6 6

    LED

    1X

    330ΩDirenç

    1X

    Foto Direnç

    1X

    LED

    GND(toprak-ground) (-)

    FotoDirenç

    +5 Volt

    Direnç(turuncu-turuncu-kahverengi)

    (330ohm)

    resistor(Kahverengi-Siyah-Turuncu)

    (10k ohm)

    10KΩDirenç

    1X

    Pin 9

    Pin AØ

    p.40

  • Dev

    re 6

    : Fot

    o D

    ireç

    ab

    cd

    ef

    gh

    i1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

    ab

    cd

    ef

    gh

    i

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

  • Elem

    anla

    r:G

    erçe

    k G

    örün

    üm:

    Foto

    Dir

    enç

    j1A

    tlam

    a Kab

    losu

    j6A

    tlam

    a Kab

    losu

    Atla

    ma K

    ablo

    suGN

    D

    Atla

    ma K

    ablo

    su5V5V

    +

    +-

    +-

    h20

    h21

    LED

    (5m

    m)

    330Ω

    Dire

    nç (s

    ensö

    r)i2

    1+

    10KΩ

    Dir

    enç

    i1i5

    Atla

    ma K

    ablo

    suA0

    j5

    +

    f5f6

    Atla

    ma

    Kab

    losu

    Pin

    9 j2

    0

    Gör

    düğü

    nüz b

    ütün

    bu

    sens

    örle

    rin (p

    otan

    siyom

    etre

    ler,

    foto

    dire

    nçle

    r vs.)

    he

    psi f

    arkl

    ı şek

    iller

    de g

    örün

    en d

    irenç

    lerd

    ir. D

    irenç

    değ

    eri a

    lgıla

    dıkl

    arı

    şeyi

    n de

    ğerin

    e gö

    re d

    eğişi

    r. (I

    şık se

    viye

    si vs

    .)

    Ard

    uino

    ana

    log

    giriş

    (inpu

    t) pi

    ni d

    irenc

    i değ

    il vo

    ltajı

    ölçe

    r. A

    ma

    biz

    Ard

    uino

    muz

    ile

    birli

    kte

    “vol

    taj b

    ölüc

    ü” o

    lara

    k ku

    llanı

    lan

    dire

    nçli

    sens

    örle

    r kul

    lana

    cağı

    z.

    Bir v

    olta

    j böl

    ücü

    iki a

    det d

    irenç

    ten

    mey

    dana

    gel

    ir. Ü

    st d

    irenc

    i 5 v

    olta

    ve

    alt d

    irenc

    i top

    rağa

    (GN

    D) b

    ağla

    dığı

    nızd

    a, o

    rta

    kısım

    iki d

    irenç

    değ

    erin

    e uy

    gun

    olan

    bir

    volt

    çıkı

    şı ve

    rir. D

    irenç

    lerd

    en b

    irini

    n de

    ğeri

    deği

    ştiğ

    inde

    (A

    lgıla

    dıkl

    arı b

    irim

    in d

    eğer

    i değ

    iştiğ

    inde

    ) dire

    nç d

    eğer

    i de

    deği

    şece

    ktir

    ve

    bu y

    üzde

    n çı

    kış v

    olta

    jı da

    bun

    a ba

    ğlı o

    lara

    k de

    ğişe

    cekt

    ir!

    Dir

    enç Ö

    lçüm

    Sen

    sörl

    eri:

    Pin

    3

    5 vo

    lt

    GN

    D(t

    opra

    k-gr

    ound

    ) (-)Pin

    3

  • Sokak lambaları geceleri aydınlatmak için bu tür sensörler kullanır.

    Circuit 2 Arduino Kodu:6

    Sorun Giderme:

    LED Işık VermiyorFoto Direnç ve LED in bağlantılarını tekrar kontrol edin.

    Işığın Değişimine Tepki VermiyorFotodirenç üzerinde bağlantılar standart değildir, bu yüzden bağlantıları karıştırmış olmanız mümkün. Doğru yerleştirildiğinden emin olmak için iki kez kontrol edin.

    Hala ÇalışmıyorAydınlatma olarak çok aydınlık veya karanlık bir odada olabilirsiniz. Işıkları duruma göre açın veya kapatın. Eğer yakınınızda flaş varsa bir de onu deneyin.

    Fotodirencinizin algıladığı ışık miktarına göre LEDininiz daha parlak veya sönük yandığını görebilirsiniz. Eğer çalışmıyorsa devrenizin doğru kurulduğundan emin olun, konudunuzu yeniden yükleyin ve arıza tespit kısmını konrol edin.

    Kod Notları:

    Gerçek Hayatta Uygulamaları:

    Arduino IDE 'yi Aç// File > Examples > Arduino Kod > Devre # 4

    Ne göreceğiz?

    analogRead() kullanarak okuduğumuz bir analog sinyal, 0-1023 arasında bir değer olacaktır. Fakat anologWrite() kullanarak bir PWM çalıştırmak istediğimizde, 0-255 arasında bir değer isteyecektir. Bu durumda map() fonksiyonunu kullanarak geniş alanları daha dar alanlar olacak şekilde sıkıştırabiliriz.

    lightLevel = map(lightLevel, 0, 1023, 0, 255);

    Kullandığımız map() fonksiyonu sınırı daraltır fakat biz bunu yanında constrain() komutu kullanarak sayıları bu sınır içerisinde tutacağız. Eğer sayı bu sınırı aşarsa daha büyük bir sayıya dönüşecek. Ama sınırın içerisindeyse aynı kalacak.

    lightLevel = constrain(lightLevel, 0, 255);

  • Sıcaklık sensörü adından da anlaşıldığı gibi ortam sıcaklığını ölçmek için kullanılır. Bu sensörümüzde 3 adet pin bulunuyor. Pozitif, toprak(GND) ve sinyal pinleri. Bu devremizde, sıcaklık sensörünü Arduino ile nasıl entegre edileceğini öğreneceğiz ve Arduino IDE'deki serial monitörde sıcaklık değerini göreceğiz.

    Sıcaklık Sensörü

    Devre #7 7

    p.44

    Pin AØ

    TMP36(precision

    temperaturesensor)

    GND(toprak-ground) (-)

    5 Volt

    +5vsignalgnd

    Elem

    anla

    r: Kablo

    5X

    Sıc. Sensör

    1

    Transistör ve Sıcaklık Sensörü birbirlerie çok benzeyen devre elemanlarıdır. Karıştırılmamaya dikkat edilmelidir.

    X

    Ön

    Arka

  • Dev

    re 7

    : Sıc

    aklık

    Sen

    sörü

    ab

    cd

    ef

    gh

    i1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

    ab

    cd

    ef

    gh

    i

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

  • Elem

    anla

    r:

    Sıca

    klık

    Sen

    sörü

    f5f7

    f6

    Ger

    çek

    Gör

    ünüm

    :

    j5A

    tlam

    a K

    ablo

    su

    j7A

    tlam

    a K

    ablo

    su

    Atla

    ma

    Kab

    losu

    GN

    D

    Atla

    ma

    Kab

    losu

    5V5V+

    Atla

    ma

    Kab

    losu

    A0j6

    +

    Bu d

    evre

    Ard

    uino

    IDE’

    nin

    seri

    mon

    itörü

    nü k

    ulla

    nıyo

    r. Bu

    nu a

    çmak

    için

    ön

    celik

    le p

    rogr

    amı u

    ploa

    d ed

    ip k

    are

    kutu

    içer

    isind

    e bü

    yüte

    ç gib

    i gör

    ünen

    bu

    tona

    bas

    ıyor

    uz.

    Seri

    al M

    onitö

    rü A

    çıyo

    ruz

    1

    2

    3

  • Klima sistemlerinde sıcaklığı takip etmek ve buna göre ayarları yapılandırmak için sıcaklık sensörleri kullanılır.

    Circuit 2 Arduino Kodu:7

    Sorun Giderme:

    Görünürde Çalışan Bir Şey YokProgramın çalıştığına dair bir gösterge yok mu? Sonuçları görmek için Arduino IDE seri monitörünü açmanız gerek. (Talimatlar önceki sayfada mevcut.)

    Anlamsız EkranBu tür şeylerin meydana gelmesinin sebebi seri monitörün beklenenden farklı hızda data almasından kaynaklanıyor. Düzeltmek için ise pull-down kutucuğuna tıklayıp “baud” yazan yeri “9600 baud” olarak düzeltmeniz gereklidir.

    Sıcaklık Değeri DeğişmiyorSensörünüzü parmağınızın arasına sıkıştırarak ısısını yükseltin veya buz torbası kullanarak soğutmayı deneyin.

    Sıcaklık sensörünüzün algıladığı sıcaklık değerini Arduino IDE seri monitöründe okunabiliyor olarak görebiliyor olmanız gerek. Eğer çalışmıyorsa devrenizin doğru kurulduğundan emin olun, kodunuzu yeniden yükleyin ve sorun giderme kısmını konrol edin.

    Kod Notları:

    Gerçek Hayatta Uygulamaları:

    Arduino IDE 'yi Aç// File > Examples > Arduino Kod > Devre # 7

    Ne göreceğiz?

    voltage: 0.73 deg C: 22.75 deg F: 72.96

    voltage: 0.73 deg C: 22.75 deg F: 72.96

    voltage: 0.73 deg C: 22.75 deg F: 72.96

    voltage: 0.73 deg C: 22.75 deg F: 72.96

    voltage: 0.73 deg C: 22.75 deg F: 72.96

    Seri monitörü kullanmadan önce, başlatmak için Serial.begin() komutunu çağırmanız gerek. Bağlantı hızı veya “Baud Hızı*” 9600'dır. İki cihaz birbiriyle bağlantı kurduğunda, ikisi de aynı hıza ayarlanmış olmalıdır.

    Serial.begin(9600);

    Serial.print() her şeyi aynı satır üzerinde yazdırır. Serial.println() diğer satıra geçiş yapar. Bu iki komutu birlikte kullanarak okunması kolay metin ve data çıktıları oluşturabilirsiniz.

    Serial.println(degreesF);

    Serial.print() komutu epey zekidir. İçine attığınız hemen hemen her şeyin çıktısını verebilir, buna her türlü değişkenler de dahildir.Baud: Veri iletiminde modülatör çıkışında bir saniyede meydana gelen semboldeğişikliğidir.Daha fazla bilgi için > http://arduino.cc/en/Serial/Print

    Serial.print(degreesC);

  • Servo motorlar gömülü elektronik uygulamalar için son derece idealdir çünkü dönen normal motorların aksine istenilen herhangi bir yönde dönebilir. Servoya ulaşan voltaj değişimine göre servoyu belirli bir pozisyona sokabilirsiniz. Örneğin 1.5 milisaniyelik bir değişim sevoyu 90 derece hareket ettirebilir. Bu devrede, servoyu kontrol edip yönlendirmek için PWM kullanmayı öğreneceğiz.

    Servo Motor

    Elem

    anla

    r: Kablo

    8X

    Devre #8 8

    p.48

    Servo

    1X

    Mini Servo

    +5 volt(5V)

    GND(toprak-ground) (-)

    gnd(Siyah)

    signal(beyaz)

    +5v(Kırmızı)

    Pin 9

  • Dev

    re 8

    : Ser

    vo M

    otor

    ab

    cd

    ef

    gh

    i1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

    ab

    cd

    ef

    gh

    i

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

  • Elem

    anla

    r:G

    erçe

    k G

    örün

    üm:

    Serv

    o M

    otor

    e5e7

    e6

    Atla

    ma

    Kab

    losu

    Atla

    ma

    Kab

    losu

    Atla

    ma

    Kab

    losu

    e6 e7e5

    5V

    Atla

    ma

    Kab

    losu

    Pin

    9a7

    Atla

    ma

    Kab

    losu

    Atla

    ma

    Kab

    losu

    Atla

    ma

    Kab

    losu

    Atla

    ma

    Kab

    losu

    GN

    D

    b5

    +

    a6+

    Ard

    uino

    sağl

    adığ

    ı kul

    lanı

    şlı d

    âhili

    kom

    utla

    rla; b

    asit

    giriş

    (inpu

    t) ve

    çıkı

    ş(ou

    tput

    ) işl

    emle

    ri ya

    pman

    ızı,

    man

    tık k

    ulla

    nara

    k ka

    rar v

    erm

    eniz

    i, m

    atem

    atik

    pro

    blem

    leri

    çözm

    eniz

    i sağ

    lar.

    Ard

    uino

    ’nun

    asıl

    gücü

    ise b

    u pl

    atfo

    rmu

    kulla

    nan

    deva

    sa

    topl

    uluk

    ların

    yap

    tıkla

    rı ça

    lışm

    alar

    ı pay

    laşm

    a iste

    ğidi

    r. A

    rdui

    no b

    ir ço

    k ku

    llanı

    şlı

    kütü

    phan

    eye s

    ahip

    tir. B

    u ör

    nekt

    e kul

    land

    ığım

    ız se

    rvo

    kütü

    phan

    esi b

    unla

    rdan

    biri

    dir.

    Stan

    dart

    kütü

    phan

    eler

    ve k

    ulla

    nım

    kıla

    vuzla

    rı iç

    in si

    teyi

    ziya

    ret e

    debi

    lirsin

    iz.

    http

    : //a

    rdui

    no.cc

    /en/

    Refe

    renc

    e/Li

    brar

    ies

    Her

    kes k

    endi

    küt

    üpha

    nesin

    i olu

    ştura

    bilir

    , eğe

    r yen

    i bir

    sens

    ör v

    eya ç

    ıktı(

    outp

    ut)

    ciha

    zı k

    ulla

    naca

    ksan

    ız y

    eni k

    ütüp

    hane

    yaz

    abili

    rsin

    iz, t

    abik

    i şan

    sınız

    a bağ

    lı ol

    arak

    dah

    a ön

    ce b

    unu

    biris

    i siz

    in iç

    in y

    apm

    ış ol

    abili

    r. Bi

    rçok

    Ard

    uino

    küt

    üpha

    nele

    rine u

    laşm

    ak

    için

    Goo

    gle v

    eya A

    rdui

    no P

    layg

    roun

    d’ı k

    ulla

    nabi

    lirsin

    iz.

    http

    ://ar

    duin

    o.cc

    /pla

    ygro

    und

    Ard

    uino

    ’nuz

    u al

    dığı

    nızd

    a yen

    i bir

    ciha

    zla k

    ulla

    naca

    ksan

    ız, k

    ütüp

    hane

    nizi

    olu

    şturu

    n ve

    bun

    u bü

    tün

    düny

    ayla

    pay

    laşın

    ! Küt

    üpha

    neyi

    tasla

    kta (

    sket

    ch) k

    ulla

    nmak

    için

    Sk

    etch

    > Im

    port

    Lib

    rary

    kısm

    ında

    n se

    çini

    z.

    Küt

    üpha

    nele

    r Kul

    lana

    rak

    Ufk

    unuz

    u G

    eniş

    letin

    File

    Edit

    Sket

    chTo

    ols

    Hel

    p

    EEP

    RO

    MEt

    her

    net

    Firm

    ata

    Liq

    uid

    Cry

    stal

    SD Serv

    oSo

    ftw

    areS

    eria

    lSP

    ISt

    epp

    erW

    ire

    Ver

    ify

    / C

    om

    pile

    Sho

    w S

    ketc

    h F

    old

    erA

    dd

    File

    ...Im

    po

    rt L

    ibra

    ry

  • Circuit 2 Arduino Kodu:8

    Sorun Giderme:

    Servo Dönmüyor: Farklı renkli kabloları olmasına rağmen şaşırtıcı şekilde motorun ters bağlanmış olması mümkün olabiliyor. Muhtemelen sorununuz bundan kaynaklıdır.

    Çalışmamakta Israr Ediyor: Muhtemelen (kırmızı ve kahverengi kablolar) 5 Volt ve toprak(gnd) bağlantısı yanlış yapılmıştır.

    Oldu Bitti : Servonuz çalışıyor fakat kesik hareketler gerçekleştiriyorsa ve Arduino üzerinde yanıp sönen bir ışık var ise muhtemelen enerjiniz yetersizdir. Usb yerine bir adaptör kullanmak bu sorunu çözecektir.

    Servo motorunuzun farklı hızlarda değişik konumlarda dönebildiğini görebilirsiniz. Şayet motorunuz hareket etmiyorsa bağlantılarınızı kontrol ettikten sonra kodunuzun doğru olduğundan emin olun ve upload edin. Hatanın kaynağını görmek için arıza tespit kısmına göz atın.

    Kod Notları:

    Gerçek Hayatta Uygulamaları:

    Karşılaştığınız robot kollarda servo motorlar kullanılmaktadır.

    Arduino IDE 'yi Aç// File > Examples > Arduino Kod > Devre # 8

    Ne göreceğiz?

    #include kütüphaneyi (veya başka bir dosya) taslağınıza (sketch) ekleyen özel bir önişlemcidir. Bu komutu kendiniz yazabilir veya hali hazırda yüklü olan bir kütüphaneyi "sketch / import library" menüsünden seçebilirsiniz.

    #include

    Servo kütüphanesinde write() komutunu kullanarak servonun döneceği derece aralığını (0-180) belirleyebiliriz. Şunu unutmayın, servo hareket için zaman ihtiyaç duyar, ihtiyacınıza göre delay() komutu kullanarak kısa zaman aralıkları tanımlayabilirsiniz.

    servo1.write(180);

    Servo kütüphanesi servoyu kontrol etmenizi sağlayan yeni komut imkanı sunar. Arduino’yu servo kontrolüne hazırlarken öncelikle her servo için Servo”object” oluşturmanız gereklidir. (Biz “servo1” olarak adlandırdık.) Ardından servoyu bir dijital pine eşleştirmeniz “attach” gereklidir. (Biz pin 9'u kullanıyoruz.)

    Servo servo1;

    servo1.attach(9);

  • Bu devremizde dijital dünya ve analog dünya arasında köprü kuracağız. Bunun için bir buzzer (speaker) kullanacağız. Tek başına çok heyecan verici bir şey olmasa da, bir saniyede yüzlerce kez voltajı açıp kapadığınızda buzzer ses üretecektir. Birden fazla üretilmiş sesi bir araya getirdiğinizde, kendi müziğinizi elde edebilirsiniz! Bu devre ve taslak klasik bir ses üretecektir. Sizi hayal kırıklığına uğratmayacağız.

    Buzzer

    Elem

    anla

    r: Kablo

    4X

    Devre #9 9

    p.52

    Buzzer

    1X

    Buzzer

    GND(toprak-ground) (-)

    Pin 9

    Buzzer kolayca breadboard deliklerine uymazsa, hafifçe döndürmeyi deneyin.

  • Dev

    re 9

    : Buz

    zer

    ab

    cd

    ef

    gh

    i1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

    ab

    cd

    ef

    gh

    i

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

  • Elem

    anla

    r:G

    erçe

    k G

    örün

    üm:

    Buzz

    er+

    -j9

    j7

    Atla

    ma

    Kab

    losu

    Pin

    9j9

    i7

    Atla

    ma

    Kab

    losu

    GN

    D

    Atla

    ma

    Kab

    losu

    Atla

    ma

    Kab

    losu

    5V5V+

    Ard

    uino

    içer

    sinde

    her

    türlü

    şey

    için

    kul

    lanı

    labi

    lece

    k ko

    cam

    an b

    ir se

    rvet

    ba

    rındı

    rıyor

    . (Bk

    nz: http

    ://ardu

    ino.cc/en/Re

    ference)

    Bun

    un y

    anı s

    ıra k

    endi

    fo

    nksiy

    onla

    rınız

    ı olu

    şturm

    ak d

    a old

    ukça

    bas

    it. Ö

    rnek

    ver

    ecek

    olu

    rsak

    “add

    ” iki

    sa

    yıyı

    bir

    topl

    ayıp

    size

    sonu

    cu v

    erir.

    Fonk

    siyon

    unuz

    bir

    değe

    ri al

    abili

    r. (‘’

    para

    met

    re”)

    ve b

    aşka

    bir

    değe

    re

    dönü

    ştüre

    bilir

    . Eğe

    r fon

    ksiy

    onun

    uza b

    ir pa

    ram

    etre

    atam

    ak is

    ters

    eniz

    , fo

    nksiy

    onda

    n so

    nra g

    elen

    par

    ante

    z içe

    risin

    e bu

    değe

    ri ya

    zabi

    lirsin

    iz. E

    ğer

    para

    met

    re v

    erm

    eyec

    ekse

    niz p

    aran

    tez i

    çeris

    ini b

    oş b

    ıraka

    bilir

    siniz

    . Eğe

    r fo

    nksiy

    onun

    uzda

    n bi

    r değ

    er çe

    kece

    ksen

    iz d

    eğer

    tipi

    ni fo

    nksiy

    on is

    min

    izin

    önü

    ne

    yazı

    n. D

    eğer

    i çek

    mey

    e haz

    ırsan

    ız re

    turn

    () k

    omut

    u ek

    leyi

    n. E

    ğer d

    eğer

    ndür

    mey

    ecek

    seni

    z fon

    ksiy

    on is

    min

    izin

    önü

    ne “v

    oid”

    ekle

    yin.

    ( se

    tup(

    ) ve

    loop

    () fo

    nksiy

    onla

    rında

    gör

    müş

    old

    uğun

    uz g

    ibi )

    Ken

    di fo

    nksiy

    onun

    uzu

    yazd

    ığın

    ızda

    kod

    unuz

    u dü

    zenl

    i ve k

    ulla

    nım

    ı kol

    ay b

    ir ha

    le g

    etiri

    n.

    Ken

    di F

    onks

    iyon

    ları

    Olu

    ştur

    ma

    int a

    dd(i

    nt p

    aram

    eter

    1, in

    t par

    amet

    er2)

    {in

    t x;

    x =

    para

    met

    er1

    + pa

    ram

    eter

    2;

    retu

    rn(x

    );}

  • Modern megafonlarda güçlendirilmiş buzzerlar kullanılıyor. Gerçekten fazla gürültülü olmalarına rağmen insanların ilgisini çekmekte yeterince etkili.

    Arduino Kodu:9

    Tabi bir şey duymuyor olmanızda mümkün. Eğer çalışmamışsa bağlantılarınızı kontrol ettikten ve kodunuzu gözden geçirdikten sonra tekrar upload edin ve hata devam ederse sorun giderme kısmına göz atın.

    Sorun Giderme:

    Ses YokBreadboard üzerindeki boşlukları karıştırmış olmanız mümkün. Cihaz yerleşimini tekrar kontrol edin.

    Müzik Çalarken DüşünemiyorumO halde düşünürken cihazınızı sökün, kullanacağınız zaman programı upload edip tekrar monte edin.

    Twinkle Twinkle Little Stars Şarkısından SıkıldımNasıl yapacağınızı öğrendiğinize göre artık kendi şarkılarınızı upload edebilirsiniz.

    Kod notları:

    Gerçek Hayatta Uygulamaları:

    Arduino IDE 'yi Aç// File > Examples > Arduino Kod > Devre # 9

    Ne göreceğiz?

    Şimdiye kadar sadece sayısal verilerle çalıştık ama Arduino aynı zamanda metinlerle de çalışabilir. Karakterlerin (tek karekterler, harfler, numaralar, semboller) kendilerine ait tipleri mevcuttur. Bu tipe “char” diyoruz. Bir karakter diziniz varsa çift tırnak içerisinde tanımlanabilir. “string” olarak tanımlarsanız tek tırnak içerisinde belirtilmelidir.

    char notes[] = "cdfda ag cdfdg gf ";

    char names[] = {'c','d','e','f','g','a','b','C'};

    Arduino'nun kullanışlı komutlarından biri de tone() fonksiyonudur. Bu fonksiyon bir çıkış pinini belirli bir frekansda çalıştırabiliyor, böylece buzzer ve speakerlar için ideal hale geliyor. Eğer belirli bir süre tanımlayacak olursanız(milisaniye cinsinden) o süre zarfından ses oluşturacak ve ardından suracaktır. Eğer süre belirmememişseniz, sonsuza kadar ses üretebilir.(Tabiki noTone() komutu kullanarak bunu sonlandırabilirsiniz.)

    tone(pin, frequency, duration);

  • Servo motorlarla oynadığınız zamanlardan öncesini hatırlayın. Şimdi biraz da motorun dönüşüyle uğraşacağız. Bunun için transistore ihtiyacımız var çünkü transistorler Arduino’nun yapabildiğinden daha büyük miktarlarda akım dönüştürebiliyor. Transistor kullandığınızda maximum seviyesine bakarak kullanımınız için yeterince uygun olup olmadığına karar verin. Bu devre için 40V ve 200 mA'lık transistor işimizi görür. Oyuncak moturumuz için yeter de artar!

    Motor Döndürmek

    Elem

    anla

    r: Kablo

    6X

    Devre #10 10

    1X

    DC Motor

    1X

    Diyot1N4148

    p.56

    TransistörP2N2222AG

    1X

    Transistör ve Sıcaklık Sensörü birbirlerie çok benzeyen devre elemanlarıdır. Karıştırılmamaya dikkat edilmelidir.

    330ΩDirenç

    1X

    P2N2

    222A

    A18

    P2N2

    222A

    A18

    FRONT

    BACK

    GND(toprak-ground) (-)

    basetransistör P2N2222AG

    collector

    mo

    tor

    Mul

    timet

    re

    Diyot

    emitter

    +5 volt(5V)

    Direnç(turuncu-turuncu-kahverengi)

    (330ohm)

    Pin 9

  • Dev

    re 1

    0: M

    otor

    Dön

    dürm

    ek

    ab

    cd

    ef

    gh

    i1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

    ab

    cd

    ef

    gh

    i

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

  • Elem

    anla

    r:G

    erçe

    k G

    örün

    üm:

    Tran

    sist

    or P

    2N22

    22A

    Ga1

    a3a2

    Atla

    ma

    Kab

    losu

    Atla

    ma

    Kab

    losu

    Pin

    9j2

    Atla

    ma

    Kab

    losu

    Atla

    ma

    Kab

    losu

    Atla

    ma

    Kab

    losu

    5V

    Atla

    ma

    Kab

    losu

    GN

    D

    Dio

    de 1

    N41

    48a3

    GN

    Db7

    b11

    e7e1

    1

    e7e1

    1

    DC

    Mot

    or

    5V33

    0Ω D

    iren

    ç g2

    e2 e1 a7+

    +

    e3d1

    1

    Muh

    tem

    elen

    bu

    nokt

    ada d

    evre

    niz i

    çin

    eğle

    ncel

    i bir

    fikrin

    iz v

    eya b

    ir so

    runu

    çö

    zmey

    e yön

    elik

    çözü

    m ö

    nerin

    iz o

    labi

    lir. H

    arik

    a! O

    hal

    de b

    iz d

    e siz

    e gen

    el

    prog

    ram

    lam

    a kon

    usun

    da b

    ir ka

    ç püf

    nok

    tası

    öner

    elim

    .

    Yazd

    ığın

    ı bir

    çok

    tasla

    k (s

    ketc

    h) aş

    ağıd

    akile

    rin b

    ir ka

    çını

    vey

    a hep

    sini i

    çere

    cek:

    1. in

    put d

    enem

    esi y

    apın

    .2.

    Baz

    ı hes

    apla

    mal

    ar y

    apın

    ve k

    arar

    ver

    in.

    3. O

    utpu

    t alm

    aya

    çalış

    ın.

    4. T

    ekra

    r edi

    n!(V

    eya

    etm

    eyin

    size

    kal

    mış

    .)

    Birç

    ok in

    put s

    ensö

    rü v

    e out

    put c

    ihaz

    ının

    nas

    ıl ça

    lıştığ

    ı hak

    kınd

    a epe

    y bi

    lgi

    verd

    ik. (

    Bir k

    aç ci

    hazı

    mız

    ve s

    ensö

    rüm

    üz d

    aha v

    ar ta

    bi) A

    rtık

    öğr

    endi

    kler

    iniz

    i ke

    ndi t

    asla

    ğını

    zda ö

    zgür

    ce k

    ulla

    nabi

    lirsin

    iz. İ

    şte b

    u “A

    çık

    Kay

    nak”

    akım

    ının

    ar

    dınd

    a yat

    an fi

    krin

    ta k

    endi

    sidir.

    Far

    klı t

    asla

    klar

    dan(

    sket

    ch) p

    arça

    lar t

    opla

    mak

    ve

    bun

    ları

    birle

    ştirip

    yen

    i şey

    ler ü

    retm

    ek fa

    zlasıy

    la k

    olay

    , tek

    yap

    man

    ız g

    erek

    en

    iki a

    det p

    ence

    re aç

    mak

    ve b

    irind

    en d

    iğer

    ine k

    opya

    layı

    p ya

    pıştı

    rmak

    . Bu

    yüzd

    en

    “iyi p

    rogr

    amla

    ma a

    lışka

    nlığ

    ı” fik

    rini a

    şılıy

    oruz

    . Ayn

    ı pin

    num

    aral

    arın

    ı ku

    llanm

    ak v

    e tas

    lağı

    nızı

    fonk

    siyon

    lara

    ayırm

    ak, k

    odun

    uzun

    yen

    iden

    ku

    llanı

    labi

    lirliğ

    ini k

    olay

    laştı

    rır. Ö

    rneğ

    in b

    ir ko

    dun

    iki b

    ölüm

    ü iç

    in ay

    nı p

    ini

    kulla

    nıyo

    rsan

    ız k

    olay

    lıkla

    ikisi

    nden

    biri

    nin

    pini

    ni d

    eğişt

    irebi

    lirsin

    iz.(Ş

    unu

    unut

    may

    ın k

    i büy

    ün p

    inle

    r ana

    logW

    rite(

    ) des

    teği

    ne sa

    hip

    deği

    l, uy

    umlu

    ola

    nlar

    de

    vre k

    artın

    ızda

    işar

    etli

    bulu

    nuyo

    r.)

    Eğer

    yar

    dım

    a iht

    iyaç

    duy

    arsa

    nız b

    unun

    için

    kul

    lana

    bile

    ceği

    niz i

    nter

    net

    foru

    mla

    rı va

    r. ar

    duin

    o.cc

    /foru

    m ad

    resin

    deki

    Ard

    uino

    foru

    mun

    u de

    neye

    bilir

    siniz

    . Bun

    un y

    anı s

    ıra fo

    rum

    .spar

    kfun

    .com

    adre

    sinde

    n ve

    fo

    rum

    .ardu

    inot

    urki

    ye.co

    m d

    a siz

    lere

    yar

    dım

    cı o

    laca

    ktır.

    İşi i

    lerle

    tmey

    e haz

    ır ol

    duğu

    nuzd

    a dah

    a ile

    ri se

    viye

    kon

    ular

    için

    ardu

    ino.

    cc/e

    n/Tu

    toria

    l say

    fasın

    dan

    A

    rdui

    no T

    utor

    ial s

    ayfa

    sına u

    ğray

    abili

    rsin

    iz. S

    onun

    da, h

    aval

    ı bir

    şeyl

    er

    üret

    tiğin

    iz v

    akit,

    bun

    u bü

    tün

    düny

    ayla

    pay

    laşın

    ki b

    ütün

    dün

    ya d

    ahili

    ğini

    zden

    fa

    ydal

    anab

    ilsin

    . (V

    e biz

    im b

    unda

    n ha

    berd

    ar o

    lmam

    ızı s

    ağal

    ayın

    ki b

    unu

    anas

    ayfa

    mız

    da p

    ayla

    şabi

    lelim

    !)

    Hep

    sini

    bir

    ara

    ya g

    etir

    irse

    k:

    P2N2222AA18

  • Arduino Kodu:10

    Sorun Giderme:

    Motor DönmüyorKendi transistörünüzü kullanıyorsanız, data sheeti iki kez kontrol ederek pinout’un P2N2222AG ile uyumlu olup olmadığını tespit edin.

    Çalışmamaya Devam Ediyor Kendi motorunuzu kullanıyorsanız motorunuzu 5V ile çalıştırmayı deneyin ve daha fazla güç çekip çekmediğini kontrol edin.

    Çalışmamakta IsrarcıBazen Arduino bilgisayarla bağlantısını koparabilir. USB girişinizi çıkarıp tekrar takın.

    Eğer bileşenleri doğru yerleştirmişseniz DC motorunuzun çalışması gerek. Eğer çalışmıyorsa arıza tespit kısmını kontrol edin.

    Kod Notları:

    Gerçek Hayatta Uygulamaları:

    Radio Kontrollü RC arabalar, DC motor kullanılar.

    Arduino IDE 'yi Aç// File > Examples > Arduino Kod > Devre # 10

    Ne göreceğiz?

    Arduino seri portları data gönderimi için olduğu gibi data alımı için de kullanılabilir çünkü herhangi bir zaman da data aktarımı olabilir. Arduino siz bu bilgiyi kullanana kadar depolar ve korur.The Serial.available() komutu portunuza ulaşmış fakat taslağınızda (sketch) henüz kullanılmamış olan karakter numaralarını geri getirir. Sıfır, ulaşmış data yok anlamına gelir.

    while (Serial.available() > 0)

    Portunuzda bekleyen hali hazırda datanız mevcut ise, kullanacabileceğiz bir kaç yöntem var. Port içerisine sayıları girmeye başladığımızdan beri Serial.parselnt() komutu ile ayırma ve integer numaraları kendisini oluşturan karakterlere ayrıştırmak için kulllanıyoruz. Eğer portunuza “1” ”0” ”0”yazarsanız, bu fonksiyon bu numaraları 100 olarak çevirecektir.

    speed = Serial.parseInt();

  • p.

    1X 8X

    Bu devrede, röle kontrolü için Devre#10' da öğrendiklerimizi kullanacağız. Röle basitçe söyleyecek olursak elektriksel olarak kontrol edilen mekanik bir anahtardır. Bu zararsız görünen plastik kutunun içerisinde elektromagnet bulunuyor. Ne zaman ki fazla enerji ile yüklenirse anahtarı açıyor. Bu devrede Arduino’nuza daha güçlü yetenekler kazandırmayı ve bir röleyi profesyonelce kullanmayı öğreneceksiniz.

    Röle

    Elem

    anla

    r:Devre #11

    p.60

    TransistörP2N2222AG

    1X

    Röle

    1X 1X

    Diyot1N4148

    Kablo

    14X

    330ΩDirenç

    2X

    LED

    2X

    GND(toprak-ground) (-)

    basetransistör P2N2222AG

    collector

    Diyotcoil

    NC

    NO

    com

    emitter

    5 volt

    5 volt

    Direnç(turuncu-turuncu-kahverengi)

    (330ohm)

    Direnç(turuncu-turuncu-kahverengi)

    (330ohm)

    LED LED Röle kapalıyken, COM(common) pini NC (Normally Closed) pinine bağlanır.Röle açıkken, COM(common) pini NO (Normally Open) pinine bağlanır.

    Pin 2 11

  • Dev

    re 1

    1: R

    öle

    ab

    cd

    ef

    gh

    i1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

    ab

    cd

    ef

    gh

    i

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

    Emre A.

  • Röle

    e9f9

    e15

    f15

    Elem

    anla

    r:G

    erçe

    k G

    örün

    üm:

    e2A

    tlam

    a K

    ablo

    su

    h9A

    tlam

    a K

    ablo

    su+

    f5f7

    f6

    Diy

    ot 1N

    4148

    a3G

    ND

    b7b1

    1

    Tran

    sist

    ör P2

    N222

    2AG

    a2a4

    a3

    e7e1

    15V

    330Ω

    Dir

    enç

    g3e3 e7

    e11

    5V33

    0Ω D

    iren

    çg2

    e2

    Elem

    anla

    r:G

    erçe

    k G

    örün

    üm:

    LED

    (5m

    m)

    +-

    +-

    c19

    c20

    LED

    (5m

    m)

    +-

    +-

    c22

    c23

    i13

    Atla

    ma

    Kab

    losu

    i13

    e22

    j5A

    tlam

    a K

    ablo

    suj7

    j9

    Atla

    ma

    Kab

    losu

    i15

    e19

    e15

    e19

    e15

    e19

    b14

    e19

    Atla

    ma

    Kab

    losu

    a7a9

    Atla

    ma

    Kab

    losu

    e4e9

    ++ +

    Atla

    ma

    Kab

    losu

    e15

    e19

    Atla

    ma

    Kab

    losu

    e15

    e19

    Atla

    ma

    Kab

    losu

    a23+

    Atla

    ma

    Kab

    losu

    GN

    D

    Atla

    ma

    Kab

    losu

    5V5V+

    Atla

    ma

    Kab

    losu

    Pin

    2j3

    Atla

    ma

    Kab

    losu

    a20

    P2N2222AA18

  • Garaj kapılarını açmak için röle kullanılır. Eğer dikkatli dinlerseniz klik sesini duyabilirsiniz.

    11

    Sorun Giderme:

    LED Işık VermiyorLEDi doğru taktığınızdan emin olun. Uzun olan uç pozitif uçtur.

    Klik Sesi GelmiyorTransistör veya bobin çalışmıyorsa transistörün doğru şekilde takılı olduğundan emin olun.

    Çalışmamakta Israrcı

    Röle breadboard ile kullanılmak için değil lehimlenmek için dizayn edilmiş olabilir. Breadboard deliklerine tam oturması için gerektiği kadar ittirmeyi deneyin.

    Röle bağlantı klik sesini duymuş olmanız gerek ve ardından 1 saniyelik aralıkta LED'leri aydınlıklarını kendi aralarında değiştirdiklerini görebilirsiniz. Eğer devreniz çalışmamışsa devre kurulumunuzu kontrol edin, kodlarınızı tekrar upload edin.

    Kod Notları:

    Gerçek Hayatta Uygulamaları:

    Arduino Kodu:

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

    Ne göreceğiz?

    Transistör çalışmaya başladığında röle bobinine enerji sağlar. Böylece röle anahtarı(switch) kapanır. Bu kapanma ile rölenin COM pini NO(Normally Open) pinine bağlanmış olur. Bağlantı sağlandıktan sonra pinler çalışmaya başlayacaktır. (Biz çalıştığını görmeniz için LED kullandık ama başka bir şey de kullanılabilir tabi ki.)

    digitalWrite(relayPin, HIGH);

    Röle NC denen ilave bir bağlantıya sahiptir. Röle kapalı olduğunda NC pini COM pini ile bağlantı kurar. Rölenin açık veya kapalı olmasına bağlı olarak iki pinden birini kullanabilirsiniz. Aynı zamanda bu iki pini iki cihazın enerjisini değiştirmek için de kullanabilirsiniz.

    digitalWrite(relayPin, LOW);

  • Shift Register

    Elem

    anla

    r: Kablo

    19X

    Devre #12 12

    p.64

    Şimdi de entegre devrelere adım atıyoruz. Bu devremizde shift register hakkında her şeyi öğreneceksiniz. Shift register Arduinonuza ilaveten 8 output verir ve Arduino'nun sadece 3 pini kullanılır. Bu devrede 8 adet LED 'i kontrol etmek için shift register kullanacağız.

    IC

    1X

    330ΩDirenç

    8X

    LED

    8X

    GND(toprak-ground) (-)

    +5 volt

    +5 volt

    15 1016

    1

    2

    3

    4

    5

    6

    78

    11

    12

    14

    13

    data

    clock

    latch

    Direnç(turuncu-turuncu-kahverengi)

    (330ohm) LED'ler

    4

    Pin 3

    Pin 4

    Pin 2

    Bacakları 90° bükün.

    Breadboard üzerinde “e5” ve “f5” arasında çentiği

    hizalayın.

    1

    2

    3

    4

    5

    6

    7

    8

    QBQCQDQEQFQGQH

    GND

    VCCQA

    SER

    OE

    RCLK

    SRCLK

    SRCLR

    QH’

    16

    15

    14

    13

    12

    11

    10

    9

  • Dev

    re 1

    4: S

    hift

    Regi

    ster

    ab

    cd

    ef

    gh

    i1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

    ab

    cd

    ef

    gh

    i

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

  • Elem

    anla

    r:G

    erçe

    k G

    örün

    üm:

    Elem

    anla

    r:G

    erçe

    k G

    örün

    üm:

    LED

    (5m

    m)

    +-

    +-

    c14

    c15

    LED

    (5m

    m)

    +-

    +-

    c17

    c18

    LED

    (5m

    m)

    +-

    +-

    c20

    c21

    LED

    (5m

    m)

    +-

    +-

    c23

    c24

    LED

    (5m

    m)

    +-

    +-

    h14

    h15

    LED

    (5m

    m)

    +-

    +-

    h17

    h18

    LED

    (5m

    m)

    +-

    +-

    h20

    h21

    LED

    (5m

    m)

    +-

    +-

    h23

    h24 a3a15

    330Ω

    Dir

    enç

    a3G

    ND

    c23

    a18

    330Ω

    Dir

    enç

    a3G

    ND

    c23

    a21

    330Ω

    Dir

    enç

    a3G

    ND

    c23

    a24

    330Ω

    Dir

    enç

    a3G

    ND

    j15

    c24

    330Ω

    Dir

    enç

    a3G

    ND

    j18

    c24

    330Ω

    Dir

    enç

    a3G

    ND

    j21

    c24

    330Ω

    Dir

    enç

    a3G

    ND

    j24

    c24

    330Ω

    Dir

    enç

    ICe5 f5

    e6 f6

    e7 f7

    e8 f8

    e9 f9

    e10

    f10

    e11

    f11

    e12

    f12 a3G

    ND

    Atla

    ma

    Kab

    losu

    ++

    a3G

    ND

    Atla

    ma

    Kab

    losu

    ++ a3

    GN

    DA

    tlam

    a K

    ablo

    suj5

    + a3G

    ND

    Atla

    ma

    Kab

    losu

    j6a1

    4

    Atla

    ma

    Kab

    losu

    a3G

    ND

    Atla

    ma

    Kab

    losu

    j8a1

    4

    Atla

    ma

    Kab

    losu

    Atla

    ma

    Kab

    losu

    a3G

    ND

    Atla

    ma

    Kab

    losu

    f14

    a8 a3G

    ND

    Atla

    ma

    Kab

    losu

    f17

    a9 a3G

    ND

    Atla

    ma

    Kab

    losu

    f20

    a10 a3

    GN

    DA

    tlam

    a K

    ablo

    suf2

    3a1

    1 a3G

    ND

    Atla

    ma

    Kab

    losu

    a23

    a7 a3G

    ND

    Atla

    ma

    Kab

    losu

    a20

    a6 a3G

    ND

    Atla

    ma

    Kab

    losu

    a17

    a5 a3G

    ND

    Atla

    ma

    Kab

    losu

    a14

    j6

    Atla

    ma

    Kab

    losu

    Atla

    ma

    Kab

    losu

    j7Pi

    n 2

    j9Pi

    n 4

    j10

    Pin

    3

    a3G

    ND

    Atla

    ma

    Kab

    losu

    j11

    a14+

    j10

    5V+

    GN

    D

  • Devre 4 mantığı ile, birden çok LED kullanarak kayan yazı ekranları yapabilirsiniz.

    12

    Sorun Giderme:

    Devre 4’ te olduğu gibi LED 'in yandığını görmeniz gerek (Tek fark shift register kullandık.) Eğer LED ışık vermiyorsa bağlantılarınızı kontrol edin ve kodunuzu tekrar upload edin.

    Kod Notları:

    Gerçek Hayatta Uygulamaları:

    Arduino Kodu:

    Arduino IDE 'yi Aç// File > Examples > Arduino Kod > Devre # 2

    Ne göreceğiz?

    SPI(Serial Peripheral Interface) arayüzünü kullanmak için shift register

    (ve birçok farklı parça) ile iletişim kuracaksınız. MSBFIRST parametresi

    bireysel bitlere gönderilen komutları belirler, bu durumda MSBFIRST

    gönderiyoruz.shiftOut(datapin, clockpin, MSBFIRST, data);

    Bitler bilgisayar hafızasının en küçük yapı taşlarıdır, her bit 1 veya 0

    depolayabilir. Daha büyük sayılar bitlerden oluşan dizilerle depolanır. Bazen

    bu bitler üzerinde oynama yapmak isteriz. Örneğin 8 biti shift register'a

    gönderiyoruz ve LED'i açıp kapatması için 1 veya 0 yapmasını istiyoruz.

    Arduino bitWrite() gibi basit komutlarıyla bu işlemi gerçekleştirebiliyor.

    bitWrite(data,desiredPin,desiredState);

    LED PatladıBu bir çok kez başımıza geldi. Sebebi entegrenin ters takılmasından kaynaklanıyor. Eğer hemendüzeltirseniz hiçbir şeyi bozmadan durumu kurtarabilirsiniz.

    Çalışmamaya Devam EdiyorSürekli aynı şeyi söylüyoruz ama muhtelemen kablolar yanlış takılmıştır.

  • Mühendisler, Teknik Elemanlar, Maker'lar, Hacker'lar, hobi elektronik seven herkes için açık kaynaklı bir çok yerli ve yabancı kaynaktan yararlanarak sizler "AkademikPort Arduino Başlangıç Projeleri" eğitimini hazırladık. Daha çok eğitim ve projelere ulaşmak için www.akademikport.com adresini ziyaret edebilirsiniz. Bir sonraki eğitimde görüşmek üzere.

    Emre ARSLAN

    Sitemizi ziyaret edebilirsiniz!

    Ve Sonuna Geldik.

    Kaynak

    AkademikPort Kurumsal İllişkiler Koordinatörü

    11

    NOTLAR

    Sparkfun SIK GUIDE

    Adafruit.comArduino - Coşkun Taşdemir

    Instructables.com

  • Mühendisler, Teknik Elemanlar, Maker'lar, Hacker'lar, hobi elektronik seven herkes için açık kaynaklı bir çok yerli ve yabancı kaynaktan yararlanarak sizler "AkademikPort Arduino Başlangıç Projeleri" eğitimini hazırladık. Daha çok eğitim ve projelere ulaşmak için www.akademikport.com adresini ziyaret edebilirsiniz. Bir sonraki eğitimde görüşmek üzere.

    Emre ARSLAN

    Sitemizi ziyaret edebilirsiniz!

    Ve Sonuna Geldik.

    Kaynak

    AkademikPort Kurumsal İllişkiler Koordinatörü

    11

    NOTLAR

    Sparkfun SIK GUIDE

    Adafruit.comArduino - Coşkun Taşdemir

    Instructables.com

  • AkademikPort Arduino Projeleri Son Hal.compressedAkademikPort ArduinoArduino ProjeleriAkademikPort Örnek ProjeleriCilt1Arduino Başlangıç5

    devamArduino Başlangıç6Arduino Başlangıç7Arduino Başlangıç8

    AkademikPort Elektronik Devre Elemanları Eğitimikapak-arka

    AkademikPort Elektronik Devre Elemanları Eğitimikapak-arka