Deneylerle Elektronik

advertisement
İstanbul-Eylül 2016
DENEYLERLE ELEKTRONİK
OĞUZHAN ÇİFTÇİ
Marmara Üniversitesi
Elektrik- Elektronik Mühendisliği #3
İÇİNDEKİLER
sayfa no
1. Giriş
3
2. Kod Yazmak Nedir ?
4
3. Temel Devre Elemanları
6
3.1 Direnç Nedir ?
6
3.2 Kondansatör Nedir ?
7
3.3 Bobin Nedir ?
8
3.4 Transistör Nedir ?
9
3.5 Led Nedir ?
10
3.6 LDR, NTC, PTC Nedir ?
11
4. Multimetre ve Breadboard Nedir ?
12
4.1 Multimetre Nedir ?
12
4.2 Breadboard Nedir ?
13
5. Servo Motor Nedir ?
14
6. UNO ile Deneyler
15
6.1 Led Yakma
15
6.2 Buton ile Kontrol ve Serial Port
17
6.3 Serial Port Kullanma
19
6.4 Pot Kullanma
21
6.5 LDR Kullanma
23
6.6 Termometre Yapalım
25
6.7 Flip-Flop Devresi
28
6.8 Sıcaklık ile Fan Kontrolü
30
6.9 Servo Motor Kontrolü
32
7. Bitirme Projesi
34
2
1. Giriş
Bu föyde elektronik ve robotik uygulamalar için bilinmesi gereken temel bilgileri
bulacaksınız. Bu bilgiler elbetteki elektronik hakkındaki her şeyi içermiyor. Amacım temel
olan şeyleri göstermek ve bunların sizde merak uyandırmasını sağlamak. Çünkü
internette yapacağınız araştırmalar sizi daha fazla geliştirecektir. Ve küçük bir tavsiye,
hiç bir zaman bir konu hakkında yalnızca tek bir kaynaktan bilgi edinmeyin. Çünkü,
ancak derinlemesine bir araştırmayla yeni şeyler öğrenebilirsiniz.
Bu föyde bulacağınız tek şey kitabi bilgi olmayacak. Burada Robotik
uygulamaların vazgeçilmezi olan Arduino nun asıl kahraman olduğu bir takım deneyler
bulacaksınız. Bu deneyler elektronik bilginizi sıfırdan başlayıp artık büyük bir proje
yapabileceğiniz aşamaya taşıyacak. Başlığın en sonundaki bitirme projesiyle artık siz de
bir “elektronikçi” olabileceksiniz.
Arduino ve bu föyde bulunan tüm başlıklar için açıklama videolarını Scientific Uno
isimli Youtube Kanalından izleyebilirsiniz.
Link : https://www.youtube.com/watch?v=TCFFpXkE5h0
Deneylerimizin büyük bölümünde Arduino kullanacağız ve bu microişlemcinin
bilgisayarda programlanabilmesi için kullanılan arayüz yazılımını alttaki linkten
indirebilirsiniz. Ayrıca bu siteyi incelemenizi de tavsiye ederim.
Link : https://www.arduino.cc/en/Main/Software
Arduino kart ile yapmayı planladığınız devre kartlarının tasarımını bilgisayar
üzerinden yapmanıza imkan sağlayan fritzing isimli yazılım programını da alttaki linkten
indirebilirsiniz. Bu tabi ki ilk etapta pek kullanacağınız bir program değil ama
bulunmasında fayda var.
Link : http://fritzing.org/download/
Deneylerde kullanılacak olan malzemelerin (bitirme projesi dahil) genel listesini
alttaki linkte bulabilirsiniz. Fiyatlar listenin üstünde yazan tarih için geçerlidir ve tüm
liste direnc.net isimli siteden alınmıştır. Diğer elektronik malzeme satan sitelerden de
fiyat karşılaştırması yapabilirsiniz. Örn. robotistan , robotus , robotpark gibi.
Toplam 9 deneyle elektronik ve kod yazma konusunda az çok yorum yapabilir
konuma geleceğinizi düşünüyorum. Umarım her şey gönlünüzce olur. Başarılar ve kolay
gelsin…
3
2. Kod Yazmak Nedir ?
Bu konu hakkında aslında söylenebilecek çok fazla şey var. Kod yazmak kişilerin
zihinlerinde oluşturdukları herhangi bir şeyi bilgisayar ortamında gerçekleştiğini
görebilmelerini sağlamanın en basit yoludur. Bugün kod yazarak yani yazılım
programlarıyla hem endüstri sektöründe hem eğlence,oyun sektörlerinde ve hatta akla
gelmeyen bir çok sektörde daha istenilen her şeyi yapabiliyoruz. İsterseniz bu konu
hakkında günümüzde bu alanda dev diye nitelendirebileceğimiz insanların yorumlarını
izleyelim. Bu yorumlar aslında kitaplara sığmayacak olan anlatımın küçük bir tezahürü ve
özeti. Videoya Scientific Uno isimli Youtube kanalından erişim sağlayabilirsiniz.
Video'nun ismi; "Kod Yazmak Nedir ?".
Videonun başında Steve Jobs'un söylediği söz gerçekten üzerinde düşünülmesi
ve uğraşılması gereken bir konuya parmak basıyor. Ülkedeki herkesin bilgisayar
programlamayı öğrenmesi gerekiyor. Çünkü bu insana düşünmeyi öğretiyor. Bunu kendi
ülkesi için söylemiş olsa da kendi ülkemiz içinde bunun böyle olması gerektiği
kanaatindeyim. İleride hangi meslekle uğraşıyor olursak olalım, artık bilgisayarlar her an
her yerde önümüze çıkıyor. Bilgisayar programlayıcılığı ise yaptığımız işlerdeki iş
yükümüzü inanılmaz derece hafifletiyor ve vakitten tasarruf etmemize imkan sağlıyor.
Günümüzde kod yazmak için kullanılan yüzlerce dil var. Bu diller aslında gerçek
manada bir dil gibidirler. İnsanlar nasıl Türkçe, İngilizce, Arapça gibi dilleri öğrenmeye
can atıyorsa aslında bu dilleri öğrenmeye de bir o kadar istekli olmalılar. Çünkü esasen
bu dillerin çoğu birbirine benziyorlar ve bazı gramatik farklılıklar haricinde neredeyse
hepsinde aynı mantık hakim. Pseudo Coding aslında tüm programlama dillerinin temeli
denebilir. Çünkü pseudo code sayesinde günlük yaşantımızda kullandığımız dil ile neyi
anlatmak istiyorsak anlatabiliriz. Aslında mantık çok basittir. Bilinmesi gereken bir kaç
tane yapı vardır. Bu yapıların kısaltmaları ingilizceden geçmiştir. Mesela "if-else". "If"
ingilizcedeki kelime manasıyla türkçede "eğer" demektir. Yani bir koşul bildirir. Bunu bir
örnekle açıklayalım. Örneğin, eğer yaşın 18 in üstündeyse Türkiyede ehliyet alabilirsin.
Bu türkçe ifade pseudo coding sayesinde şu hale dönüşür:
if (yaş > 18)
write (ehliyet alabilirsin)
Üst paragrafta bahsettiğim bir diğer yapı ise "else" di. Bu kelimede ingilizce
kökenlidir ve manası Türkçede "aksi koşulda" olarak çevirilebilir. Bunu da yine üstteki
aynı örnek cümle üzerinden pseudo code a çevirelim:
4
if (yaş > 18)
write (ehliyet alabilirsin)
else
write (ehliyet alamazsın)
Kod yazarken sıkça kullanılan bir diğer yapı ise döngülerdir. Döngülerin mantığı
ise bilgisayara bir işlemi istediğiniz sıklıkta yaptırmaktır. Bunu kod yazarak yaptırabilmek
için "while" veya "for" anahtar kelimeleri kullanılır. "While" kelime manası gereği
"belirlenen koşul devam ettikçe" demektir. "for" ise bildiğimiz gibi "için" demektir ve yine
"belirlenen koşullar için" demektir. Örneğin, bilgisayarın art arda 10 defa bir oyunu
açmasını istiyorsunuz. Bunun için pseudo kodunuz şu şekilde olmalıdır :
kacdefa 10
while (kacdefa > 0)
open (oyun)
kacdefa - 1
Pseudo kodumuzu kısaca açıklamak gerekirse, "kacdefa" diye bir değişken
oluşturmuş olduk ve ilk baştaki değerini "10" yaptık. "While" döngüsü içerisindeki
kontrolümüz ise bu "kacdefa" isimli değişkenin "0" dan büyük olmasını inceliyor. Eğer
"kacdefa" isimli değişkenimiz sıfırdan büyük olursa "open" anahtar kelimesiyle
oyunumuz bilgisayara açtırmış oluyoruz. Ancak şöyle bir sorunumuz var. Eğer "kacdefa"
isimli değişkenin tuttuğu değeri döngünü içine her gittikten sonra 1 azaltmazsak
döngümüz sonsuz olur ve eğer uzun süre farketmezsek bilgisayarımızın RAM ini aşırı
yüklenme sonucu yakabiliriz. Bu en çok dikkat edilmesi gereken mevzulardan biridir. Bu
1 azaltma işlemini de bildiğimiz ve matematikte kullandığımız eksi "-" işaretiyle
yapıyoruz. Böylece "kacdefa" isimli değişkenimiz her döngüye girdikten ve oyun
açıldıktan sonra 1 azalmış oluyor ve değeri 0 a ulaştığında döngümüzün koşulu artık
sağlanmadığı için oyun bir daha açılmıyor.
While döngüsündeki temel mantığı kavradıysak, for döngüsü içinde temelde aynı
mantık olduğunu söyleyebiliriz. Ancak for döngüsü biraz daha farklı kullanım alanlarına
sahip. Bununla ilgili geniş bilgiye şu an için çok ihtiyacınız olmayacaktır.
5
3. Temel Devre Elemanları
3.1 Direnç Nedir ?
Direncin kelime anlamı, birşeye karşı gösterilen zorluktur. Devre elemanı olan dirençte
devrede akıma karşı bir zorluk göstererek akım sınırlaması yapar. Elektrik enerjisi direnç
üzerinde ısıya dönüşerek harcanır. Direncin birimi ''Ohm'' 'dur. Ohm 'un ast katları;
pikoohm, nanoohm, mikroohm, miliohm, üst katları ise; kiloohm, megaohm ve gigaohm
'dur.
Dirençlerin devrelerdeki görevleri:





Devreden geçen akımı sınırlayarak belli bir değerde tutmak,
Devrenin besleme gerilimini bölüp küçülterek diğer elemanların çalışmasını
sağlamak,
Hassas devre elemanlarının yüksek akımdan zarar görmesini engellemek,
Yük (alıcı) görevi yapmak ve
Isı enerjisi elde etmek gibi amaçlarla kullanılır.
Devrelerde kullanacağımız direncin değerini hesapladıktan sonra dirençlerin
üstlerinde bulunan renk kodlarından karşılaştırma yaparak doğru direnci seçebiliriz. Renk
kodları ve okuma yöntemi şöyledir:
* "Scientific Uno" isimli Youtube kanalından ilgili video'ya ulaşabilirsiniz.
6
3.2 Kondansatör Nedir?
Kondansatörler elektrik yüklerini kısa süreliğine depo etmeye yarayan devre
elemanlarıdır. Diğer bir isimleri de Kapasitördür. Kondansatörlerin sembolü c, birimi ise
faraddır. Kondansatörler yapısal olarak iki iletken levha arasına konulmuş bir yalıtkandan
oluşur. İletken levhalar arasında bulanan maddeye elektriği geçirmeyen anlamaında
dielektrik adı verilir. Kondansatörlerde dielektrik madde olarak; mika, kağıt, polyester,
metal kağıt, seramik, tantal vb. maddeler kullanılabilir. Elektrolitik ve tantal
kondansatörler kutupludur ve bu nedenle sadece DC ile çalışan devrelerde
kullanılabilirler. Kutupsuz kondansatörler ise DC veya AC devrelerinde kullanılabilir.
Kondansatörlerin elektrik depolama kapasitesi; plakaların yüzey alanına, plakalar
arasındaki uzaklığa ve kullanılan dielektrik maddenin cinsine bağlı olarak değişir.
Kondansatörler elektriği piller gibi uzun süre depolayamaz, herhangi bir devreye bağlı
olmasalar da zamanla boşalırlar. Yandaki resimde kutuplu ve kutupsuz kondansatör
sembolleri gösterilmiştir.
Kondansatörün devre içindeki özelliklerinden birisi yük depolamaktır. Bunun
yanısıra yük depolarken içinden akım geçirirken, kapasitesi dolunca içinden yük
geçirmez. Böylece tamamen boşalmadan devrenin kendi üzerinden akım geçirmesine
imkan vermez.
Kondansatörün birimi olan farad çok büyük bir kapasite değerine karşılık
geldiğinden, uygulamalarda çoğunlukla faradın ast katları olan; pikofarad, nanofarad,
mikrofarad ve milifarad kullanılır. Mesela 5 Faradlık bir kapasitör bir buzdolabı
büyüklüğüne kadar ulaşabilir.
* "Scientific Uno" isimli Youtube kanalından ilgili video'ya ulaşabilirsiniz.
7
3.3 Bobin Nedir ?
Bobin bir iletken telin üst üste ya da yanyana sarılması ile üretilen devre
elemanıdır. Bobinin birimi henry (H), simgesi ise L dir. Bobine AC akım uygulandığında,
akımın yönü sürekli değiştiğinden dolayı bobin etrafında bir manyetik alan oluşur. Bu
manyetik alan akıma karşı ek bir direnç gösterdiğinden, AC devrelerde bobinin akıma
gösterdiği direnç artar. DC devrelerde ise bobinin akıma karşı gösterdiği direnç, sadece
bobinin üretildiği metalden kaynaklanan omik dirençtir.
Bobinlerin üzerine sarıldığı kısma makara, mandren ya da karkas, iletken
mandren üzerinde bir tur yapışına ise spir, tur ya da sarım denir. Bobin sarımlarında
genellikle üzeri vernikli (izoleli) bakır tel kullanılır. İndüktans, bobinin kendi kendini
etkileme derecesidir. İndüktans birimi henry 'dir. Bir henry, bobin üzerinden geçen 1 A
değerindeki AC akımın 1 saniyedeki değişimi, 1 voltluk zıt elektromotor kuvveti (EMK)
oluşturuyorsa bu bobinin indüktansına karşılık gelen miktardır. Henry, indüktans değeri
bakımında çok yüksek bir değere karşılık geldiği için uygulamalarda çoğunlukla henry
'nin ast katları kullanılır.
Bobinler ile kondansatörler arasındaki benzerlik her iki devre elemanının da
elektrik enerjisini harcamayan reaktif devre elemanları olmalarıdır. Kondansatörlerin
elektrik yüklerini depolayabildikleri gibi, bobinler de elektrik enerjisini kısa süreliğine
manyetik alan olarak depo ederler. Bu iki devre elemanı arasındaki önemli fark ise;
kondansatörler devreye bağlıyken gerilimi geri bırakırken (faz farkı), bobinlerin gerilimi
ileri kaydırmasıdır. Bobin ve kondansatörlerin gerilim ve akım arasında yarattığı faz farkı
uygulamalarda farklı şekillerde fayda ve zararlara neden olur.
Bobinlere akım verilince etraflarında
oluşturdukları kuvvete manyetik kuvvet
denir. Doğal bir mıknatısı demir tozu
içine koyduğumuzda gördüğümüz şeklin
aynı biçimde ,etraflarında bir manyetik
alan oluşur.
"Scientific Uno" isimli Youtube
kanalından ilgili video'ya ulaşabilirsiniz.
8
3.4 Transistör Nedir ?
Transistör yan yana birleştirilmiş iki PN diyodundan oluşan, girişine uygulanan
sinyali yükselterek akım ve gerilim kazancı sağlayan, gerektiğinde anahtarlama elemanı
olarak kullanılan yarı iletken bir devre elemanıdır. Transistör kelimesi transfer ve
rezistans kelimelerinin birleşiminden doğmuştur. Uygulamada 100000 'e yakın çeşidi
bulunan ve her geçen gün yeni özelliklerde üretilen transistörler temel olarak bipolar ve
unipolar olmak üzere iki gruba ayrılır. Bipolar transistörler NPN ve PNP olmak üzere iki
tiptir. Üç kutuplu devre elemanları olan transistörlerin kutupları; Emiter (E), Beyz (B) ve
Kollektör (C) olarak adlandırılır. Emiter (yayıcı); akım taşıyıcıların harekete başladığı
bölge, Beyz (taban); transistörün çalışmasını etkileyen bölge ve Kollektör (toplayıcı);
akım taşıyıcıların toplandığı bölgedir.
Çalışma mekanizması kabaca şöyledir: Transistörler NPN veya PNP biçiminde
yerleştirilmiş üç yarı iletken maddenin bileşiminden oluşmaktadır. Beyz kutbu tetiklendiği
zaman kollektör ve emiter arasında direnç değeri azalır ve akım geçirir hale gelir.
Kollektör ve emiter arasından geçen akımın miktarı beyz kutbuna uygulanan akımın
miktarına bağlıdır.
Transistörler elektronik sistemlerde anahtarlama görevini üstlenirler.
Ancak anahtarlama için kullanılan tek devre elemanı değildir.
Tristor, Mosfet, Jfet gibi daha başka anahtarlama görevinde
kullanılan devre elemanları mevcuttur. Matematikte mantık olarak
bilinen şey aslında elektroniğin temeli oluşturur. Elektronik
cihazların tümü 0 ve 1 lerle çalışır. Bu 0 ve 1 ler, elektrik akımının o
devreden geçip geçmediğini ifade eder. Mantıksal Kapılar ismi
verilen bir takım sistemler vardır. Bu sistemler yine matematik
mantık konusundaki "ve, veya" gibi işlemleri temsil ederler. Bu
mantıksal kapıların fiziksel karşılığı olan entegre devreler ise büyük
oranda transistörler kullanılarak oluşturulur. Hesap makinemizin bir
toplama işlemini yapabilmesi için öncelikle girdiğimiz iki sayıyı
öncelikle "binary" ikilik sisteme dönüştür yani 2 ye göre mod unu
alır. Bu çıkan değer girdiğimiz sayıları "ve,veya" gibi mantık
şemalarındaki sonuçlarına göre tek tek hesaplar. Bulduğu bu
sonucu ise tekrar 10 luk sisteme dönüştürerek sonucu bize verir.
Şemada görülen şekiller "ve" ile
"veya" işlemlerini temsil ediyor. Bu
entegrenin kurulmasında ise transistörler
kullanılır. Çok karışık gibi görülen bu
işlemler hesap makineleri tarafından
yalnızca bir kaç milisaniyede yapılabilir.
*"Scientific Uno" isimli Youtube
kanalından ilgili video'ya ulaşabilirsiniz.
9
3.5 Led Nedir?
Işık yayan diyotlardır. LED (Light Emitting Diode) kelimesinin kısaltmasıdır.
LED'ler elektrik enerjisini ışık enerjisine çevirmektedir. LED'lerin normal diyotlardan farkı
ışık yaymasıdır. LED'ler soğuk ışık yayar, dokunduğunuzda ısınmadığını hissedersiniz.
İçerisindeki katkı maddeleri nedeni ile farklı renklerde ışık yayarlar.
LED'ler doğru akımla (DC) çalışır. Genellikle 1,6 V - 4 V gerilimle çalışmaktadır.
Yarı iletken özelliği gösterir, bu nedenle devreye bağlanırken + ve – uçlarına dikkat
etmek gerekmektedir. LED in iki ucu vardır. Bunlardan uzun olanı (+), kısa olanı (-) dir.
Ters bağlı olarak 5-10 Volt verildiğinde bozulabilir. Fazla voltaj vermek LED in verdiği
ışığın artmasına neden olur, fakat kullanım ömrü de azalır. Aşırı Volt verilmesinde ise
patlayabilir. LED'ler genellikle seri bağlanır. Seri bağlı LED'ler 10, 12, 24, 48 Volt doğru
akım (DC) veren güç kaynakları veya batarya ile çalıştırılır.
LED'ler isminden de anlaşılacağı üzere bir çeşit diyotturlar. Diyotlar bilindiği üzere
akımı yalnızca belirli bir yönde geçirirler(eser miktardaki kaçak akım gözardı edilirse). Bu
yüzden + ve - kutuplarının voltaj kaynaklarına bağlanma yönleri oldukça önemlidir. Ters
bağlanırlarsa Led'ler ışık vermeyeceklerdir.
Robotik uygulamalarında oldukça sık kullanılan ledler, programların ilgili yerlerinin
çalışıp çalışmadıklarının fiziksel olarak görebilme olanağı sağlar. Genellikle kontrol
amacıyla kullanıldığını söyleyebiliriz. Bizim yapacağımız deneylerde de öncelikli olarak
yine kontrol amacıyla kullanacağız.
*"Scientific Uno" isimli Youtube kanalından ilgili video'ya ulaşabilirsiniz.
10
3.6 LDR, PTC, NTC Nedir ?
Bunların üçü de aslında temel mana da birer dirençtirler. Ancak bazı özellikleri
birbirlerinden ayrılmalarına sebep olur. LDR denilen cihazın isminin açılımı Light
Dependent Resistor olup Türkçe meali Işığa Bağımlı Direnç demektir. Çalışma mantığı
ise üstünde bulunan bir malzemenin ışığın şiddetinin artmasıyla LDR nin direnci azalır.
Yani ters orantılıdır. Aynı şekilde ışık şiddeti azaldıkça da direnci artacaktır. Aslında
temel mana da bir sensördür ancak özellikle endüstri de tercih edilmez. Bunun yerine
küçük elektronik ve robotik deneylerde kullanılır.
NTC denilen malzeme ise sıcaklığa bağlı olarak direncini değiştiren birnevi
sensördür. Açılım Negative Temperature Coefficient olup, literatürde Negatif Isı
Katsayılı Termistör diye geçer. Çalışma prensibi ise, bulunduğu ortamın veya temas
ettiği yüzeyin sıcaklığı arttıkça elektriksel direncinin azalmasıdır.
PTC nin açılımı ise Positive Temperature Coefficient olup ,Pozitif Isı Katsayılı
Termistör olarak Türkçeye çevrilebilir. Çalışma prensibi ise NTC nin tersi
olarak, bulunduğu ortamın veya temas ettiği yüzeyin sıcaklığı arttıkça elektriksel
direncinin de artmasıdır.
*"Scientific Uno" isimli Youtube kanalından ilgili video'ya ulaşabilirsiniz.
11
4. Multimetre ve Breadboard Nedir ?
4.1 Multimetre Nedir ?
Multimetre(Avometre); doğru ve alternatif akım, doğru ve alternatif gerilim ve
direnç ölçmeye yarayan ölçme aletidir. Analog ve digital olarak bulunan günümüzdeki
multimetreler ile direnç dışında frekans, sıcaklık, kapasitans, hfe, duty cycle ölçümü ve
transistör, diyot, bobin, transformatör ve sigorta, kısa devre testleri de yapılır.
Multimetrelerde ölçüm prob adı verilen ve multimetreye takılan siyah ve kırmızı olmak
üzere iki kabloyla yapılmaktadır. Probe adı verilen bu kablolar bakır ve alüminyum gibi
iletken malzemelerden yapılır ve dirençleri oldukça küçüktür ( Genelde 5 ohm’ dan küçük
). Ölçüme başlamadan önce bu kabloların sağlamlığı da kontrol edilmelidir. Multimetre
buzzer () konumuna alınıp kablolar birbirine dokundurulduğu anda ses gelmektedir.
Sesin gelmesi kabloların sağlam olduğunu göstermektedir. Multimetrede kablolar,
ölçülecek olan fonksiyona göre uygun girişlere takılmalıdır. 4 farklı fonksiyonlara uç
bulunmaktadır ve bunlar COM, VΩHz (volt, ohm, frekans), mA (miliamper) ve
A(Amper) uçlarıdır.
Yukarıdaki resimde de görüldüğü gibi COM ucu ortak uçtur ve bütün işlemlerde
siyah kablo bu uca takılır. Ölçülecek fonksiyona göre kırmızı kablo da diğer girişlere
takılır. Örneğin; direnç ölçümü yapacak isek Ω simgesinin olduğu uca kırmızı kabloyu
takmamız gerekmektedir. Ölçeceğimiz akım değeri mA mertebelerinde ise ‘mA’ ucuna,
amper mertebelerinde ise şekildeki ‘20A’ ucuna takılmalıdır. Bu multimetre de en büyük
ölçülecek değer 20A olarak belirtilmiştir. Multimetrenin kullanımında bu değer üzerinde
belirtilir.Ayrıca dikkat edilmesi gereken bir diğer hususta, ölçüm yapılacak akım ya da
gerilimin ölçümünü AC ya da DC olarak yapacağımızı seçmemizdir. AC olarak ölçülecek
bir büyüklük DC kademesinde ölçülürse multimetremiz kullanılamaz hale gelebilir ve
ciddi sorunlar çıkarabilir.
Mutimetreler; ölçüm sonucunu en yakın değerde okumak için mertebelere
ayrılmıştır. 200Ω, 2k,20k,200k 2M,20M v.b. gibi. Ölçeceğimiz değer hangi aralıkta
bulunmaktaysa o mertebe ayarlanmalıdır. Örneğin; ölçeceğimiz değer 1.5k civarı ise 2k
mertebesini ayarlamak bize kolaylık sağlar. 2k mertebesinde 2k ‘dan büyük direnç
değeri ölçülmez. Bilmediğimiz bir değer için en yüksek mertebeden başlayarak mertebeyi
düşüre düşüre doğru aralığı bulabiliriz.
* "Scientific Uno" isimli Youtube kanalından ilgili video'ya ulaşabilirsiniz.
12
4.2 Breadboard Nedir ?
Breadboard devreleri tak çıkar mantığı ile oluşturmamıza yarayan, belli satır ve
sütunları kendi aralarında iletken edilmiş devre tahtasıdır. Ayrıca birden fazla breadboard
kendi aralarında çentikleri sayesinde birleşetirerek daha büyük devre tahtası elde etmiş
oluruz. Breadboard sayesinde devreleri daha hızlı şekilde oluşturarak test etme imkanı
sunar. Bu sayede lehimleme, baskı devre gibi işlemler ile uğraşarak vakit kaybını önler.
Üzerinde beşerli satır ve sütunlarla oluşturulmuş devre elemanlarının bacak
yuvaları mevcuttur.
Satır ve Sütunlardaki bağlantılar:
Bu satır ve sütunlar yandaki görselde nasıl bir bağlantı kurdukları
gösterilmiştir. A, B, C, D, E breadboardu yatay olarak
tuttuğumuzda dikey sütunlar kendi aralarında birbirleri ile
bağlanmıştır. en altta ve en üstte bulunan “+”,”-” olarak belirlenmiş
kısımlarda yatay olarak kendi aralarında iletken edilmiştir.
Paralel ve Seri Bağlantı
Seri: Resimde belirtilen kırmızı ile dikey sütunlar breadboard yuvaları arasındaki bağlantıyı
simge eder. Sol direncin bitiş noktası ile sağ direnci başlangıç noktası aynı dikey sütuna
denk getirilmiştir bu sayede birbirleri ile bağlantı sağlanıp seri bağlantı oluşturulmuştur.
Paralel: Resimde görüldüğü üzere dikey olarak belirtilen flu kırmızı çizgiler breadboard
yuvaları arasındaki bağlantıyı gösterir. İki direnç bu dikey sütunda birbiri ile paralel bağlanmış
olur. Bu olayı birbirlerine lehimleme olarak düşünebiliriz. Bu sayede lehimleme yapılmadan
dirençler yuvalara oturtularak paralel bağlantı sağlanmış olur.
* "Scientific Uno" isimli Youtube kanalından ilgili video'ya ulaşabilirsiniz.
13
5. Servo Motor Nedir ?
Motorlar elektrik enerjisini hareket enerjisine çeviren aygıtlardır. Piyasada bir çok
motor çeşidi bulunabilir. Bunlardan bir kaçı DC motorlar, AC motorlar, Step
motorlar,Servo Motorlar, RC servo motorlar olarak örnek gösterilebilir. Servo motorlar
aslında endüstride en çok kullanılan motor çeşididirler ve çok yüksek enerjilerle çalışıp
çok yüksek verimle çok yüksek miktarda hareket enerjisi açığa çıkartabilirler. Servo
motorların en büyük avantajları geri bildirim yapabilmeleridir. Ayrıca encoder denilen
harici veya bazen dahili cihazlarla anlık veri takibi yapılabilmektedir.
Bizim devrelerimizde kullanacağımız servolar ise RC Servo motor olarak
isimlendiriliyor ve daha küçük çaplı işlerde kullanılıyor. Ancak ne kadar küçük olarak
nitelendirsem de kibrit kutusu büyüklüğünde bir RC Servo motoru tam verimle
kullanabilirsek eğer kimi modellerinde cm^2 başına 15 kg hatta bazen daha fazla yükleri
kaldırabilecek bir enerji sağlayabiliyorlar. Endüstriyel Servolar da bu rakam tonlara kadar
çıkabiliyor. Ayrıca RC Servo motorların bir özellikleri de 0-180 derece arası dönüş
yapabilmeleri. Ama bazı özel modellerinde 0-360 derece arasında çalışanları da
mevcuttur.
Motor seçimini her motorun kendi seri numarasına göre inceleyebileceğiniz
datasheet lere bakarak yapıyoruz. Datasheet okumak mühendislikte en mühim şeylerden
biridir. Çünkü her malzemenin seri numarasını veya bütün özelliklerini bilmek mümkün
değildir. O yüzden internetten bir kaç datasheet örneği incelemek de fayda var. Mesele
şimdilik anlamak değil de görmüş olmak diyebiliriz.
* "Scientific Uno" isimli Youtube kanalından ilgili video'ya ulaşabilirsiniz.
14
6. UNO ile Deneyler
6.1 Deney #1 Led Yakma
Kazanım: İlk deney olmasıyla birlikte Arduino nun çalışma biçimine alışmak için daha öncede
bahsettiğim ledleri kullanacağız. Arduino'nun kod yazma arayüzüne aşinalık kazanılmış olacak.
Kullanılacak Malzemeler:







1 adet Led
1 adet 100 Ω (ohm) direnç
Arduino UNO
Jumper
9V pil
Breadboard
Digital Multimetre
Deneyin Yapılışı:
Arduino ile kod yazımına geçmeden evvel breadboard üzerinden devreyi kurmamız daha
avantajlı olacaktır. Öncelikle deneyde kullacağımız direncin değerini multimetre ile ölçerek bu aletin
kullanımını da biraz incelemek faydalı olur. 9 V pilimizi Arduino kitinde bulunan pil başıyla beraber
Arduino Uno ya enerji sağlamak için kullanacağız. Ama kodu bilgisayarımızdan Arduino ya yükledikten
sonra data kablosunu çıkartmadan da Arduino ve devreyi beslemeye devam edebiliriz. Bu durumda
harici bir pile ihtiyaç olmayacaktır.
Deney şeması:
15
Arduino Kodu:
16
6.2 Deney #2 Buton ile Kontrol ve Serial Port
Kazanım:
Bu deneyde Buton kullanarak Arduino'ya veri gönderip ledleri yakıp söndüreceğiz.
Kullanılacak Malzemeler:








2 adet Led
1 adet buton
3 adet 150 Ω (ohm) direnç
Arduino UNO
Jumper
9V pil
Breadboard
Digital Multimetre
Deneyin Yapılışı:
Elimizde bulunan buton, led ve dirençleri alttaki deney şemasına uygun olarak breadboard
üzerine yerleştirelim. Ardından kodumuzu buton'a bir kere basıldığında soldaki ledin yanacağı ve
ikinci defa basıldığında sağdaki ledin yanıp ilkinin söneceği şekilde ayarlayalım. Böyle if kavramına
giriş yapmış olacağız. Ayrıca kod yazarken sürekli kullanılan "değişkenler" nedir bunu görmüş olacağız.
Deney Şeması:
fd
17
Arduino Kodu:
18
6.3 Deney #3 Serial Port Kullanma
Kazanım:
Bu deneyimizde 3 ayrı ledi farklı zamanlamalarla sırayla yakacağız. Böylece birden fazla
veriyi Arduino ile işlemeyi öğrenmiş olacağız.
Kullanılacak Malzemeler:







3 adet Led
3 adet 100 Ω (ohm) direnç
Arduino UNO
Jumper
9V pil
Breadboard
Digital Multimetre
Deneyin Yapılışı:
3 led ve 3 direnci alttaki deney şemasına göre breadboard üzerine yerleştirin. Daha sonra
Arduino kodunu yazın. Bu sefer bir önceki deneyden farklı olarak ledin ne kadar süreyle ne zaman
yanacağına anlık olarak biz karar vereceğiz. Bunu da kod üzerinde "if" yapısını kullanarak yapacağız.
Kodumuzda Serial Porttan veri girişi istiyor bizden. Her bir ledin kendine ait bir ismi olacak. Örneğin
ilk ledin ismi "a" olsun. Bu "a" harfi Serial Porttan girildiğinde ilk led yanmaya başlayak. Sönmesi için
de "s" harfine basılması yeterli olacak. Bu harfleri sistem yazılım dünyasında "char" -diye
nitelendirilen- karakter olarak algılıyor ve porttan okunan değer ile "if" içerisindeki değeri
karşılaştırıyor. Doğru ise "if" içinde yapılmasını istediğimiz şeyi yapıyor.
Deney şeması:
19
Arduino Kodu:
20
6.4 Deney #4 Pot Kullanma
Kazanım: Potansiyometreden aldığımız analog veriyi ledin parlaklığını nasıl
değiştirdiğini göreceğiz
Kullanılacak Malzemeler:








1 adet Led
1 adet 150 Ω (ohm) direnç
1 adet Pot
Arduino UNO
Jumper
9V pil
Breadboard
Digital Multimetre
Deneyin Yapılışı:
Deneyin başında ledi, direnci ve Potu jumperlar ile alttaki deney şemasına uygun
olarak breadboard üzerine yerleştirin. Deneyde potansiyometreden Arduino'ya analog
veri vererek ledi yakacağız. Ancak Pottan alınan değeri Arduino 0 ile 1023 arası bir
değerle ilişkilendirir. Pot bildiğiniz gibi bir nevi dirençtir ve 0 değeri direncin olmadığını
1023 değeri ise potun maksimum dirençte olduğunu bize gösterir. Öncelikle bu değerlere
Serial portdan bakınız.(Kodda yorum içine alınmış kısmı çalıştırın.) Ledler ise 0 ile 255
arası bir değere göre parlaklıklarını değiştirirler. Yani 0 da iken yanmayıp 255 değerinde
iken en yüksek parlaklıkta yanarlar. Ama bu 0-1023 ile 0-255 olan iki aralık birbiriyle
örtüşmediğinden Arduino'nun yazılım kütüphanesinde bulunan bir foksiyondan yardım
alacağız. Böylece pottan aldığımız 0-1023 arası değer, 0-255 arasında bir değere
dönüştürülüp led'e veri gönderilecek. Bu fonksiyonun ismi map() dir.
Deney Şeması:
21
Arduino Kodu:
22
6.5 Deney #5 LDR Kullanma
Kazanım: LDR kullanarak if yapısıyla birlikte led yakma
Kullanılacak Malzemeler:









4 adet Led
4 adet 150 Ω (ohm) direnç
1 adet 10k Ω (ohm) direnç
1 adet LDR
Arduino UNO
Jumper
9V pil
Breadboard
Digital Multimetre
Deneyin Yapılışı:
Deneyin başında ledi, direnci ve Potu jumperlar ile alttaki deney şemasına uygun
olarak breadboard üzerine yerleştirin. Deneyde LDR den okunan ortam ışık şiddetine
bağlı olarak ledlerin yanmasını sağlayacağız. Ortam ne kadar aydınlık ise o kadar led
fazla led yanacak ve aynı şekilde ortamın ışık şiddeti azaldıkça da yanan led sayısı
azalacak. Bunu daha öncede gördüğümüz "if" koşul yapısıyla yapacağız. LDR lerden
Arduino'ya veri analog olarak gider. Bu yüzden de LDR 'yi Arduinonumuzun Analog
pinlerinden birine bağlayacağız. Ve bunun bir sonucu olarak alacağımız değerler 0-1023
arasında olacak. Bu değerleri de 4 ayrı kategoride sınıflandırarak hangi aralıkta kaç tane
ledimizin yanmasını istiyorsak onları belirledik.
Deney Şeması:
23
Arduino Kodu:
24
6.6 Deney #6 Termometre Yapalım
Kazanım: DS18B20 isimli sıcaklık sensörünü kullanarak hem Serial Porttan anlık
sıcaklık takibi hem de ledler yardımıyla sıcaklık artış ve azalışını inceleyeceğiz.
Kullanılacak Malzemeler:









4 adet Led
4 adet 150 Ω (ohm) direnç
1 adet 4.7k Ω (ohm) direnç
1 adet DS18B20 Sıcaklık Sensörü
Arduino UNO
Jumper
9V pil
Breadboard
Digital Multimetre
Deneyin Yapılışı:
Deneyin başında ledi, direnci ve DS18B20 sıcaklık sensörünü, jumperlar ile alttaki
deney şemasına uygun olarak breadboard üzerine yerleştirin. Bu deneyde
kullanacağımız kod, biraz daha karmaşık ve başlangıç aşamasında çok da bilinmesi
gereken şeyler değil. Yani C ve C++ dillerini ayrıca kendiniz öğrenmek isterseniz bunlarla
ilgili hem youtube da hem normal internet sitelerinde çeşitli eğitim setleri bulunabilir.
Şimdilik bilinmesi gereken Arduino nun yazılım kütüphanesine iki tane kütüphane
yüklenmesi gerektiği. Bunları yazının en altındaki linklerden indirebilirsiniz. Sensörümüz
digital veri verir ve bu kütüphaneler bize bu verileri bildiğimiz Santigrat derece olarak
çevirir. Biz de bu dereceleri "if" yapısı kullanarak ledleri yakmakta kullanacağız. Koddaki
yorum kısımları kaldırılarak, Serial Porttan da sıcaklık değerleri görünebilir.
Deney Şeması:
25
Sensörün Açık Bağlantı Gösterimi:
Arduino Kodu:
26
(Kodun çalışabilmesi için OneWire.h ve DallasTemperature isimli kütüphanelerin Arduino
kütüphanesine koyulması gerekiyor. Bunları isimlerini internette aratıp indirerek
kurabilirsiniz.)
27
6.7 Deney #7 Flip-Flop Devresi
Kazanım: Transistör ve kondansatörlerin devredeki görevleri incelenmiş olacak.
Kullanılacak Malzemeler:









2 adet Led
2 adet 470 Ω (ohm) direnç
2 adet 10k Ω (ohm) direnç
2 adet BC 547 NPN Transistör
2 adet 100uF kondansatör
Jumper
9V pil
Breadboard
Digital Multimetre
Deneyin Yapılışı:
Bu deneyimiz öncekilerden biraz daha farklı olacak. Kontrol için yine ledlerden
faydalanacağız ancak bu sefer Arduino gibi bir microcontroller'a ihtiyaç duymayacağız.
Onun yerine transistör ve kondansatör kullanıp ledlerin sırayla yanmasını sağlayacağız.
Çalışma mantığı ise şöyle: Devremize ledler üzerinden gelen 9V luk beslememiz
transistörden geçer ve devreyi ilk kondansatör ve ikinci transistör üzerinden tamamlayıp,
led yanar. Önemli bir bilgi, kondansatörler üzerinden geçen akımla dolarlar ve dolduktan
sonra üzerlerinden akım geçirmezler. Bu yüzden kondansatör dolana kadar yanan led,
daha sonrasında sönecektir. Bu sefer ilk transistör den geçmeye çalışan akım, ikici
transistör üzerinden biraz önceki yolu izleyerek devreyi tamamlar ve ikinci led yanar. Bu
devir daimdir. Yani kondansatörler sürekli dolup boşalırlar ve ledler sürekli yanıp
sönerler. Ta ki bataryamız bitene kadar.
Deney Şeması:
28
Hatırlatma: Devre şemasında kullanılan transistör modeliyle, asıl devrede kullanılan
modeller birbirinden farklı. O yüzden bu dizilimi esas alıp transistörü ters çevirin.
29
6.8 Deney #8 Sıcaklık ile Fan Kontrolü
Kazanım: Bu deneyimizde NTC kullanarak ortamın sıcaklığının artışı ve azalışına göre
fanımızı çalıştıracağız.
Kullanılacak Malzemeler:













1 adet 10k NTC
1 adet 330 Ω (ohm) direnç
1 adet 4.7k Ω (ohm) direnç
1 adet 100k Ω (ohm) direnç
1 adet 3.2k Ω (ohm) direnç
1 adet 47k trimpot
1 adet 12V Fan
2 adet C945 NPN Transistör
22uF Kondansatör
Jumper
12V pil
Breadboard
Digital Multimetre
Deneyin Yapılışı:
Deneyin başında ledi, direnci,kondansatörü, transistörleri ve fanı jumperlar ile
alttaki deney şemasına uygun olarak breadboard üzerine yerleştirin. Bu deney aslında
öğrenme deneyinde ziyade biraz uygulama deneyi. O yüzden kimi bağlantıları
anlatmakta biraz güçlük çekilebilir. Bu tür devreleri yapmak zamanla kolaylaşır. Ve yine
Arduino kullanmadan kendi kendini programlayan bir sistem olarak düşünebilirsiniz. NTC
den alınan sıcaklık verisine göre fanın dönme hızı artıp azalacak. (Fan yerine yine ledler
kullanılabilir. Ancak bu sefer batarya, kondansatör, direnç değerleri azaltılarak
ayarlanmalıdır. Aksi halde devreye fazla yükleme yapılarak led patlatılabilir.) Bu deney
hakkını vererek yapabilirseniz, sizin elektronik hakkındaki bilgi ve deneyiminizi gerçekten
artıracak bir deney olacaktır. O yüzden bütün bağlantıları büyük bir dikkatle yapınız.
Deney Şeması:
30
31
6.9 Deney #9 Servo Motor Kontrolü
Kazanım: Potansiyometreden aldığımız analog veriyle Servo motor kontrolü yapacağız.
Kullanılacak Malzemeler:







1 adet Pot
1 adet Servo Motor
Arduino UNO
Jumper
9V pil
Breadboard
Digital Multimetre
Deneyin Yapılışı:
Deneyin başında Servo Motoru ve Potu jumperlar ile alttaki deney şemasına
uygun olarak breadboard üzerine yerleştirin. Bu devre sayesinde pottan aldığımız analog
veriyle servo motorun dönmesini sağlayacağız.
Deney Şeması:
32
Arduino Kodu:
33
7. Bitirme Projesi
Föyümüzü gerek bilgi kısmıyla gerek deneyler kısmıyla bitirmiş bulunmaktayız. Bu
yüzden bunu bir Bitirme Projesiyle kutlamalıyız !!
Bu projede, yaptığımız 9 deneyde de sık sık kullandığımız Arduino tekrar sahneye
çıkıyor. Bu bölümde, projenin yapım aşamasında kullanmanız gereken malzemeler ,sayı
belirtilmeden ve projenin konusu verilecek. Ancak örnek şema ve kod verilmeyecektir.
Çünkü elektronik hayal gücünüzle gelişir. Malzemeleri breadboard üzerinde istediğiniz
gibi yerleştirebilirsiniz. Ayrıca daha önce de belirttiğim gibi yazılım konusunda kopyalayapıştır ne kadar çok işe yarasa da, öğrenme aşamasındayken kolaya kaçmak hiç de
akıl kârı değildir. Bu yüzden projenin kodu da sizin tarafınızdan yazılacak. Eğer
takıldığınız ve sormak istediğiniz bir şey olursa, çekinmeden alta yorum bırakabilirsiniz.
En yakın zamanda cevaplamaya çalışacağımdan emin olabilirsiniz. Hepinize kolay
gelsin.
Konu: Öncelikle tüm sistem LDR'ye bağlı olmalı. Yani ortam karanlık olursa sistem
çalışmayı durduracak ve belirli bir ışık şiddetinin üstüne çıktığında ancak sistem
çalışmaya başlayacak. Ama ortamın karanlık olduğu ve sistemin durduğu ledler
yardımıyla kullanıcıya bildirilecek. Bununla birlikte ortamın sıcaklığı da bir diğer belirleyici
etken olacak ve eğer çalışır durumdaki Servo Motor durup Fan çalışmaya başlayacak ve
motoru ve ortamı soğutmaya başlayacak. Ve elbette Motorun durup-çalışması ve fanın
durup-çalışması ledler ve buzzer yardımıyla kullanıcıya bildirilecek. Ayrıca kullanıcı pot
yardımıyla servo motora hareket verebilmeli ve potun en yüksek değerinde en çok, en alt
değerinde de hiç led yanmayacak şekilde bir düzenek olmalı. Böyle kullanıcı motorun
hızını ledler yardımıyla kontrol edebilmeli. Ve tüm bu sistemden bağımsız olarak
Transistör kullanarak Arduino ile led yakmanız gerekiyor.
Malzemeler:












Ledler
Dirençler
Pot
DS18B20 Sıcaklık Sensörü
Servo Motor
Fan
LDR
Transistör
Buzzer
Multimetre
Breadboard
12 V pil
34
Download