Académique Documents
Professionnel Documents
Culture Documents
GR
Mikroilemci Nedir?
Mikroilemcileri Birbirinden Ayran zellikler
Mikroilemciyi Oluturan Birimler ve Grevleri
Bellekler
Mikrodenetleyiciler
Mikroilemci ve Mikrodenetleyiciler Arasndaki Farklar.
Mikrodenetleyici Seimi
ARDUINO nedir?
Neden ARDIUNO?
DONANIM
YAZILIM
rnek Uygulamalar
Mikroilemci Nedir?
lk mikroilemci 1971 ylnda hesap makinas amacyla retilen Intel firmasnn 4004
adl rndr. Bir defada ileyebilecei verinin 4bit olmasndan dolay 4bitlik
ilemci denilmekteydi.
ekil-2
3)Kontrol Birimi
Kontrol birimi, sistemin tm ileyiinden ve ilemin zamannda yaplmasndan sorumludur. Kontrol birimi,
bellekte program blmnde bulunan komut kodunun alnp getirilmesi, kodunun zlmesi, ALU tarafndan
ilenmesi ve sonucun geri bellee konulmas iin gerekli olan kontrol sinyalleri retir.
Bellekler
1)RAM Bellekler : Mikro ilemcinin almas esnasnda her trl deikenin zerinde yer ald ve
geici ilemlerin yapld birimi RAM belleklerdir. zel bir sra takip etmeden herhangi bir adrese
eriildii iin rastgele eriimli bellek (Random Access Memory)RAM olarak isimlendirilir. RAM tipi
entegreler hem yazmada hem okumada kullanldklarndan CPU, bu entegreleri kontrol ederken okuma R
(Okuma) ve W (yazma) sinyalleri gndermesi gerekir. Ayrca entegrenin istendii zaman aktif duruma
gemesinin salayacak entegre seimi (CS =Chip Select) pini bulunmaktadr ve active low (aktif dk, 0
Volt) ile alr. Her bir biti bir flip-flop devresi olan bu bellekler, yeni bir tetikleme iareti gelinceye
kadar iindeki bilgiyi (0 veya 1i) saklayabilme zellii sebebiyle ok dk g tketimi ile
almaktadr. Dardan devreye balanan bir pil yardmyla iindeki bilgileri ok uzun sreler boyunca
saklayabilme imkn vardr. Yksek maliyetli olmalar sebebiyle ok yksek kapasitelerde retilmez.
ekil-3
Bellekler
2)ROM Bellekler : Yalnz okunabilen birimlere ROM (Read Only Memory) bellekler denir. Bu bellek
elemanlarnn en byk zellii enerjisi kesildiinde iindeki bilgilerin silinmemesidir. ROM belleklere
bilgiler retim aamasnda yklenir. Kullanclarn bellek iindeki bilgileri deitirmesi mmkn deildir.
3)PROM (Programlanabilir ROM) Bellekler : PROMlar bir kez programlanabilir. Bu bellek eleman
entegre eklindedir. Kaydedilen bilgiler enerji kesildiinde silinmez. zerine program kodlarn veya
verileri yazmak iin PROM programlayc cihazlara ihtiya vardr. Bu bellek elemannn yapsnda kk
sigorta telleri bulunur. Bellek hcrelerinde hepsi salam durumda bulunan sigortalar 1i temsil eder.
Yazlacak olan bilginin bit dzeninde 0lara karlk gelen hcredeki sigorta, kk bir elektrik akm
ile aktarlr. Bu ekilde PROM programlanr.
4)EPROM (Silinebilir Programlanabilir ROM) Bellekler : EPROMlar bellek hcrelerine elektrik sinyali
uygulanarak programlama ilemi yaplr. Kaydedilen bilgiler enerji kesildiinde silinmez. EPROM
iindeki programn silinmemesi iin cam pencereli ksm k geirmeyen bantla rtlmelidir. EPROM
bellee yeniden yazma ilemi yapmak iin EPROM zerindeki bant kaldrlp ultraviyole altnda belirli
bir sre tutmak gerekir. Bu ekilde iindeki bilgiler silinebilir. Bylece tekrar programlanabilir hle
gelen rn tekrar tekrar farkl programlarn denenmesi ve cihazn altrlmas iin kullanlabilir.
5)EEPROM (Elektriksel Yolla Deitirilebilen ROM) Bellekler : zerindeki bilgiler, elektriksel olarak
yazlabilen ve silinebilen bellek elemanlardr. EEPROMu besleyen enerji kesildiinde zerindeki
bilgiler kaybolmaz. EEPROMdaki bilgilerin silinmesi ve yazlmas iin zel silme ve yazma cihazlarna
gerek yoktur. Programlayclar zerinden gnderilen elektriksel sinyalle programlanr. EEPROMla ayn
zellikleri tayan fakat yapsal olarak farkl ve daha hzl olan, elektriksel olarak deitirilebilir
"ROM"lara Flash Bellek denir.
Mikrodenetleyiciler
Bir mikroilemci ekirdeine ilave olarak, ortak bellek alanlarn kullanan, zelletirilmi grevler ile
donatlm evrebirimlerin eklenmesi ile ortaya kan yapya mikrodenetleyici denir. Denetim teknolojisi
gerektiren uygulamalarda kullanlmak zere tasarlanm olan mikrodenetleyiciler, mikro ilemcilere gre ok
daha basit ve ucuzdur.
Mikroilemcili sistemin tasarm ve kullanm mikrodenetleyicili sisteme gre daha karmak ve masrafldr.
Mikrodenetleyicili bir sistemin almas iin elemann kendisi ve bir osilatr kaynann olmas yeterlidir.
Mikrodenetleyicilerin kk ve ucuz olmalar, bunlarn tm elektronik kontrol devrelerinde kullanlmasn
salamaktadr.
ekil-4
ekil-5
Mikrodenetleyici Seimi
Mikrodenetleyiciler ile tasarm yapmadan nce tasarlanan sisteme uygun bir denetleyici semek
iin o denetleyicinin tad zelliklerin bilinmesi gereklidir. Mikrodenetleyicinin hangi zelliklere
sahip olduu kataloglarndan anlalabilir. Aada sralanan zellikler bunlardan bazlardr;
Programlanabilir dijital paralel giri/k.
Programlanabilir analog giri/k.
Seri giri/k (senkron, asenkron ve cihaz ynetimi).
Motor veya servo kontrol iin pals sinyali k.
Harici giri vastasyla kesme.
Harici bellek arabirimi.
Harici veri yolu arabirimi.
Dahili bellek tipi seenekleri (ROM, EPROM, PROM, EEPROM).
Dhil RAM seenei.
Kayan nokta hesaplamas.
ekil-6
ARDUINO Nedir?
Arduino, ak kaynak kodlu yazlm ve donanma sahip bir mikrodenetleyici
platformudur. Ak kelimesi ile gerek anlamda ak tasarm ifade
edilmektedir. Baskl devresi, ematik tasarm, PC zerinde alan derleyicisi,
ktphaneleri ve tm detaylar ile internet ortamnda paylalmaktadr.
ekil-7
Neden ARDUINO?
DONANIM
Arduino Uno
Arduino Leonardo
Arduino Due
Arduino Tre
Arduino Micro
Arduino Yun
Arduino Robot
Arduino Esplora
DONANIM
Arduino Ethernet
Arduino Mini
LilyPad Arduino SimpleSnap
LilyPad Arduino USB LilyPad Arduino Simple
LilyPad Arduino
Arduino Nano
DONANIM
Arduino Pro
Arduino Fio
DONANIM
ekil-8
YAZILIM
Serial
Monitr
Derleme
Kod Editr
Program
kts
ekil-9
YAZILIM
setup() : Programn balang ayarlar iindir sadece balangta tek seferlik alr.
Bu fonksiyon deikenler, pin modlar, seri iletiim, ktphaneler vb. iin kullanlr.
1//Tanmlamalar
2void setup() {
3// Kurulum kodlar buraya yazlr. (Bir defa alr)
4}
5void loop() {
6// Ana program kodlar buraya yazlr. (Srekli alr)
7}
YAZILIM
YAZILIM
if / else :
Arduino Programlama temel karar komutudur. if ten sonra verilen koul doru ise
bu "if" bloundaki ilemler, yanl ise else bloundaki ilemler yaplr.
1if (koul)
2{
3// Koul salanyor ise yaplacak ilem
4}
5else
6{
7// Koul salanmyor ise yaplacak ilem
8}
YAZILIM
for :
Arduino Programlama dilinde temel dng komutudur. for iinde yer alan koul
doru olduu srece, dngdeki ilemler gerekletirilir.
1for (balang deeri; koul; artm) {
2//ilemler
3}
while :
while ile belirtilen koul doru olduu srece, dng iindeki ilemler
gerekletirilir.
1while(koul){
2 // Koul doru olduu srece yaplacak ilemler
3}
do-while :
while ile belirtilen koul doru olduu srece, dngdeki ilemler yaplr.
1do
2{
3
// Koul doru olduu srece yaplacak ilemler
4} while (test koulu);
YAZILIM
switch / case:
Seim yaplarak program aknn istenilen bloklara atlamasn salar. switch
teki deiken, case teki hangi deeri alrsa, karlndaki ilem yaplr.
1switch (seim deikeni) {
2
case 1:
3
// Seim deikeni 1 olduunda yaplacak ilem
4
break;
5
case 2:
6
// Seim deikeni 2 olduunda yaplacak ilem
7
break;
8
default:
9
// Varsaylan bamsz ilem (istee bal)
10 }
YAZILIM
pinMode(pin no, pin tr);
Pinleri giri veya k olarak yaplandrma ilemi yapar.
digitalWrite(pin no, lojik deer);
k olarak ayarlanan pinlerin deerlerini, HIGH veya LOW olarak ayarlar.
digitalRead(Pin no);
Belirtilen digital pin deerini okur.
analogReference();
Analog giri iin referans gerilimini ayarlar.
analogRead(Pin no);
Belirtilen analog pin deerini okur.
rnek Uygulamalar
LED Uygulamas
1. #define LED 13
2. void setup()
3. {
4. pinMode(LED, OUTPUT);
5. }
6. void loop() {
7. digitalWrite(LED, HIGH);
8. delay(1000);
9. digitalWrite(LED, LOW);
10. delay(1000);
11.}
ekil-10
rnek Uygulamalar
Dijital Okuma-Seri letiim-LED uygulamas
1. int Buton = 10;
2. nt LED = 6;
3. void setup()
4. {
5. Serial.begin(9600);
6. pinMode(Buton, INPUT);
7. pinMode(LED, OUTPUT);
8. }
9. void loop()
10.{
11. int butonDurumu = digitalRead(Buton);
12. digitalWrite(LED, butonDurumu);
13. Serial.println(butonDurumu);
14. delay(1);
15.}
ekil-11
rnek Uygulamalar
Analog Okuma-Seri letiim-Analog Cikis ( PWM ) Uygulamas
ekil-12
rnek Uygulamalar
Seri letiim-LCD Uygulamas
ekil-13
1. #include <LiquidCrystal.h>
2. LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
3. void setup(){
4. lcd.begin(16, 2);
5. Serial.begin(9600);
6. lcd.write("AKINSOFT");
7. delay(2000);
8. }
9. void loop()
10.{
11. if (Serial.available()) {
12. delay(100);
13. lcd.clear();
14. while (Serial.available() > 0) {
15.
lcd.write(Serial.read());
16. }
17. }
18.}
rnek Uygulamalar
Servo Motor Uygulamas
ekil-14
1. #include <Servo.h>
2. Servo SERVO1;
3. int pozisyon = 0;
4. void setup()
5. {
6. SERVO1.attach(9);
7. }
8. void loop()
9. {
10. for(pozisyon = 0; pozisyon <= 180; pozisyon++)
11. {
12. SERVO1.write(pozisyon);
13. delay(15);
14. }
15. for(pozisyon = 180; pozisyon>=0; pozisyon--)
16. {
17. SERVO1.write(pozisyon);
18. delay(15);
19. }
20.}
Yararlanlan Kaynaklar
http://www.bilimania.com/bilisim-teknolojileri/35-bilisim-teknolojileri/2922-ilk-organik-mikroislemci-avrupa-dan (ekil-1)
http://elektrohobim.blogspot.com.tr/2012/06/mikrodenetleyicinedir.html (ekil-5)
http://commons.wikimedia.org/wiki/File:Arduino_Logo.svg (ekil-6)
http://www.internetnow.gr (ekil-7)
http://arduinoturkiye.com/, www.arduino.cc (Arduino Uno, Arduino Leonardo, Arduino Due, Arduino Yun, Arduino Tre, Arduino Micro, Arduino
Robot, Arduino Esplora, Arduino Mega ADK, Arduino Ethernet, Arduino Mega 2560, Arduino Mini, LilyPad Arduino USB, LilyPad Arduino Simple,
LilyPad Arduino SimpleSnap, LilyPad Arduino, Arduino Nano, Arduino Pro Mini, Arduino Pro, Arduino Fio)
http://cobanoglu.wikispaces.com/file/view/Arduino_Cobanoglu.pdf/495731668/Arduino_Cobanoglu.pdf (ekil-8)
http://yourduino.com/making-software-work.htm (ekil-10)
http://yourduino.com/making-software-work.htm (ekil-11)
http://rouvelle.com/rai_fa_12/ (ekil-12)
http://engineeringlearning.blogspot.com.tr/2013/10/interfacing-lcd-without-potentiometer.html (ekil-13)
http://arduino.cc/en/Tutorial/sweep (ekil-14)