SlideShare a Scribd company logo
1 of 35
ARDUINO ILE ROBOTIK KODLAMA (15 PROJE )
ARDUINO NEDIR ?
Arduino, açık kaynak kodlu bir mikrodenetleyici kartıdır. Ana MCU, Atmel tabanlıdır. Kart ile robotik ve
elektronik uygulamalarınızı kolayca gerçekleştirebilirsiniz.
ARDUINO ILE NE YAPABILIRIZ ?
1. Kolay bir şekilde çevresiyle etkileşime girebilen sistemler tasarlayabilirsiniz,
2. Arduino kütüphaneleri ile mikrodenetleyicileri kolaylıkla programlayabilirsiniz,
3. Analog ve dijital girişleri sayesinde analog ve dijital verileri işleyebilirsiniz,
4. Sensörlerden gelen verileri kullanabilirsiniz,
5. Dış dünyaya çıktılar (ses, ışık, hareket vs…) üretebilirsiniz
ARDUINO TEMEL DONANIM ÖZELLIKLERI
Bu donanım özellikleri board’a göre farklı özellikler göstermektir.
1. ATmega8, ATmega168, ATmega328 mikroişlemci
2. 5 voltluk regüle entegresi,
3. 16MHz kristal osilator yada seramik rezonatör,
ARDUİNO ÇEŞİTLERİ
Şuanda piyasada onlarca çeşiti mevcuttur, hatta isteyen olursa sitesinden baskı devre ve
şemasını indirerek kendisi hazırlayabilmektedir. En çok kullanılan arduino çeşitleri
1. Arduino Uno
2. Arduino Leonardo
3. Arduino Due
4. Arduino Mega 2560
5. Arduino Mini
6. LilyPad Arduino
7. Arduino Nano
8. Arduino Pro Mini
ARDUINO NASIL KULLANILIR?
Arduino ya da herhangi bir mikrodenetleyici sistemi kullanmak için ilk olarak düzgün
çalışma ortamını sağlamanız gerekir. Arduino grubu mikrodenetleyiciler için gerekenler:
• Arduino UNO, PRO Mini, Mega, Leonardo.. gibi bir Arduino kartınız.
• Karta uygun USB kablonuz. USB yazıcı kablosu ya da mikroUSB kablosu gerekecektir.
• Arduino IDE programı
• Ve tabi Arduino ile uyumlu çalışacak nazlanmayacak bir bilgisayar ya da cep telefonu 
ARDUINO’NUN PROGRAMLANMASI
• Geliştirme ortamı ile Arduino programlarının yazılıp derlenip kartlar üzerine
yüklenebiliyor
• Arduino programlamada C / C++ /Java temelli bir dil kullanılıyor.
ARDUINO PROGRAMLAMAYA GIRIŞ VE ÖRNEKLER
Programlamaya Giriş
Arduino programları 2 kısımdan oluşur.
void setup():  Arduino’ya enerji verildiğinde veya yeniden başlatıldığında bu bölüme yazılan
kodları program 1 kere okur. Mesela pinlerin giriş mi yoksa çıkış mı olacağı bir kere
buraya yazılır ve hafızada tutulur bir daha o kodun yazılmasına gerek kalmaz
void loop() :  Bu bölüme yazılan kodlar sürekli okunur ve kodlara göre pinlere çıkış
verir yada sensör okunur vs.
pinMode(pin ismi yada numarası , giriş yada çıkış olacağı);
digitalWrite(pin ismi yada pin numarası , HIGH yada LOW);  digitalWrite bir pinden gerilim çıkışını
sağlar.
delay();  komutu bu komut programı bekletir yani mesela ledi yaktınız 1 saniye bekledi ve sonra
söndürdünüz.
NOT: Delay komutu milisaniye cinsinden çalışır yani 100 ms 1 saniyedir.
ÖRNEK 1
LED YAKMA
LED, ışık yayan diyot anlamına gelen Light Emitting Diode sözcüğünün baş harflerinden oluşan bir
kısaltmadır.LED’lerin anot ve katot olmak üzere iki farklı bacağı vardır. Bunlardan anodu pozitif gerilime
yani + uca, katot ise negatif gerilime yani – uca ya da toprak hattına (GND, Ground) bağlanmalıdır.
Eğer LED’imizi Arduino’ya doğrudan bağlayacak olursak, LED üzerinden kartın sağlayabileceği
maksimum değerde akım geçecek ve LED’imiz veya kartımız bozulacaktır. Bunun için akım sınırlayıcı
bir direnci LED’imize seri olarak bağlamamız gerekmektedir. Peki bu direncin değeri nasıl belirlenecek?
İşte burada Ohm Kanunu dediğimiz denklem devreye giriyor:
V = i x R
Bu denklemde V bize gerilimi, i akımı ve R ise direnci temsil ediyor. Eğer 20 mA akıma ihtiyaç duyan
LED’i, Arduino’muzun 5V çıkış sağlayan pinlerinden birine bağlayacak olursak;
5V = 0,020A x R
Denklemini elde etmiş oluruz. Bu denklemden R’yi çekecek olursak sonucu 250 buluruz. Bu demek oluyor ki
LED’imizi 5V gerilimle kullanmak için 250 Ω (ohm) değerinde bir dirence ihtiyacımız var. Tam değeri doğru
tutturmamız çok önemli değil, elimizde mevcut olan 220 Ω’luk direnci kullanabiliriz.Aşağıda örneğimizin
autodesk circuits online simulasyon programı ile oluşturulmuş halini ve gerekli arduino programını
görebilirsiniz.
ÖRNEK 2
BUTON ILE LED YAKMA
Simulasyon görüntüsü ve programı aşağıdaki gibidir.
ARDUINO SERIAL MONITÖR KULLANIMI
Arduino ıde yi açtığımızda gelen kod ekranın sağ üst köşesinde serial monitör kısayolu bulunur.O
kısayola tıkladığımızda aşağıdaki ekran karşımıza gelir.
Üstte bulunan text e yazdığımız ifadeleri Send(gönder) butonuyla arduinoya gönderebiliriz.
Sağ alt köşede bulunan 9600 baud haberleşme hızı ile ilgilidir.Arduinoya yazdığımız baud rate oranı ile
burda seçili olan hızın aynı olması gerekir.Aksi takdirde iletişim bozulur ve verileri ekranda düzgün
görüntüleyemeyiz.
Serial monitörün kullanımı için arduinoda serial sınıfını kullanırız.Bu sınıfın içerisinden en çok
kullanacağımız 3 ifadeyi tanıyalım.
Serial.begin(9600); // Seri haberleşmeyi başlatıyoruz.9600 ifadesi veri hızını belirtir.Veri hızları
olarak ; 4800,9600,14400,19200,28800 gibi değerlerde kullanabiliriz.Ancak genelde 9600 kullanılır ve bu
değer saniyede 9600 bit gönderimine(yaklaşık 1000 karakter) karşılık gelir.
Serial.print(“merhaba”); //Tırnak içerisindeki ifade seri monitöre gönderilir.Veriler ekranda yan yana
yazdırlır.
Serial.println(“merhaba”); //Tırnak içerisindeki ifade seri monitöre gönderilir.İmleç bir alt satıra geçer.
Şimdi de yukarıda verilen bilgilerden yola çıkarak ilk uygulamamızı yapalım.
Arduinoyu bilgisayarımıza bağlayıp,aşağıdaki kodları arduinoya gönderelim.
Eğer Serial.print kullansaydık veriler ekranda yan yana yazılırdı.
Programın ekran çıktısı aşağıdaki gibi olur.
ARDUINO ANALOG SİNYAL OKUMA
Arduino UNO kartımızdaki işlemcide, 10-bit çözünürlüğe sahip analogdan dijitale dönüştürücü (ADC –
analog to digital converter) mecvuttur. Peki, bu 10-bit ne anlama geliyor? Bildiğimiz üzere
Arduino’muzun mikrokontrolcüsü 5V gerilimle çalışmakta. Bu mikrokontrolcüde sahip olduğunu
söylediğimiz 10-bit ADC, 0V ile 5V arası gerilimleri 210 = 1024 adım hassasiyet ile okuyabilir. Yani
analog input pinlerinden birine vereceğimiz 0V gerilim bize 0 değerini; aynı şekilde 5V gerilim ise 1023
değerine denk düşüyor.
Şimdiye kadar Arduino’nun hep dijital giriş/çıkış pinlerini kullandık.Fakat Arduino kartımızda bir de
“Analog Input” kısmı mevcut. Bu pinleri kullanarak dijitalden analoğa dönüşüm yaparak voltaj
okuyabiliriz.
ÖRNEK 3
POTANSIYOMETRE ILE ANALOG DEĞER OKUMA
Potansiyometre, aslında çevremizde her gün kullandığımız cihazların neredeyse hepsinde mevcut olan bir
devre elemanıdır. Örneğin, müzik setimizin ses seviyesini değiştirmek için çevirdiğimiz düğme bir
potansiyometredir. En basit açıklama ile potansiyometre, değerini elimizle çevirerek ayarladığımız bir
dirençtir.
Potansiyometreyi bir yöne çevirdiğimizde yan yana olan iki bacağının direnci değişir. Bunu bir
multimetreyle ölçerek görebiliriz. Biz bu uygulamamızda ise 0 ile 5V arasında voltaj değişimini sağlamak
için potansiyometre kullanacağız. Uygulamamızın ilk adımında sadece analog giriş pininden gelen
gerilimin sayısal karşılığını seri porttan okuma işlemini yapacağız. Devremizi bu şekilde kuruyoruz:
Bu yazdığımız kodu Arduino’muza yükledikten sonra seri port ekranını açıyoruz ve potansımızı çevirmeye
başlıyoruz. Değerlerdeki değişimi görebilirsiniz
ÖRNEK 4
ARDUINO LDR
LDR (Light Dependet Resistance – Foto Direnç) üzerine düşen ışığın şiddetine göre direnci değişen bir
sensördür. LDR üzerine ışık gelmediği durumlarda direnç çok yüksek olur ve üzerinden akım geçmez.
Otomatik gece ve sokak lambaları, kanın renk yoğunluğunu belirleyen tıbbi cihazlarda, kamera flaşların
da vs. gibi alanlarda kullanılır.
Not:Işık parlaklığının yüksek olması için direnç kullanılmadı gerçek devrede kulllanılması
tavsiye edilir.
ÖRNEK 5
PIR SENSÖRÜ
PIR sensörleri, bir ortamda oluşan canlı hareketini algılamak için kullanılan sensörlerdir. Bu minik
boyutlu sensör, çeşitli elektronik, robotik ve hobi uygulamalarında rahatça kullanabilir, Arduino başta
olmak üzere bir çok mikrodenetleyeci platformu ile beraber kullanılabilir modüldür.
Dijital çıkışlı olan bu modül, ortamda hareket algılamadığı zaman lojik 0, hareket algıladığı zaman ise
lojik 1 çıkışı vermektedir.
BUZZER
Buzzer verilen voltaja göre farklı ses sinyalleri sağlayan bir cihazdır. Maliyetleri az , üretimi basit , ve çok
hafif yapıda olmalarından dolayı kullanım alanı çok geniştir . Örneğin hırsız alarmları , araçlarda uyarı
veren çoğu sistem ,bazı zil sesleri gibi.
ÖRNEK 6
LM35 SICAKLIK SENSÖRÜ ILE SICAKLIK ÖLÇÜMÜ
LM35 sıcaklık sensörü, hassas sıcaklık ölçümü yapan analog çıkışlı bir sıcaklık sensörüdür.-55 ile 150 C
arası ölçüm yapabilen bu sensör, Arduino’muzun analog girişinden bağlayarak sıcaklık ölçümü
yapabiliriz.
Matematiksel ifadeyi kurabilmek için yani analog değeri sayısal değere çevirmek için LM35'in analog
çıkış yapısını bilmemiz gerekir.
Orta bacağından verilen mV mertebesindeki gerilim her °C için 10 mV üretir. Yani 25 °C için çıkış 250
mV olur.
Arduino'daki ADC 10 bitlik olduğu için ve en yüksek değerimiz 5000 mV olduğu için bu 5000 mV'u
1024 parçaya işlemcimiz ayıracaktır. Yani 1023.değer bize 5V'u verecek ve her 10 mV bize 1 °C 'yi
verecek şekilde programımızı yazıyoruz.
KAYNAKLAR
Bu notların hazırlanmasında aşağıda belirtilen kaynaklardan yararlanılmıştır.
https://mvaslan.blogspot.com.tr/
http://www.theorycircuit.com/
https://arduinomylifeup.com/
https://www.muhendisbilim.com/
http://maker.robotistan.com/
https://gelecegiyazanlar.turkcell.com.tr/
https://www.instructables.com/

More Related Content

What's hot

Redis勉強会資料(2015/06 update)
Redis勉強会資料(2015/06 update)Redis勉強会資料(2015/06 update)
Redis勉強会資料(2015/06 update)Yuji Otani
 
Introduction to the Arduino
Introduction to the ArduinoIntroduction to the Arduino
Introduction to the ArduinoWingston
 
Fundamentals of Practical Building Automation Systems
Fundamentals of Practical Building Automation SystemsFundamentals of Practical Building Automation Systems
Fundamentals of Practical Building Automation SystemsLiving Online
 
Design your career in VLSI
Design your career in VLSIDesign your career in VLSI
Design your career in VLSIM. Raja Reddy
 
What is it like to work at Microsoft?
What is it like to work at Microsoft?What is it like to work at Microsoft?
What is it like to work at Microsoft?James Serra
 
Architecture of 16C6X
Architecture of 16C6XArchitecture of 16C6X
Architecture of 16C6Xv Kalairajan
 
Hot Chips: AMD Next Gen 7nm Ryzen 4000 APU
Hot Chips: AMD Next Gen 7nm Ryzen 4000 APUHot Chips: AMD Next Gen 7nm Ryzen 4000 APU
Hot Chips: AMD Next Gen 7nm Ryzen 4000 APUAMD
 
FPGA Accelerated Computing Using Amazon EC2 F1 Instances - CMP308 - re:Invent...
FPGA Accelerated Computing Using Amazon EC2 F1 Instances - CMP308 - re:Invent...FPGA Accelerated Computing Using Amazon EC2 F1 Instances - CMP308 - re:Invent...
FPGA Accelerated Computing Using Amazon EC2 F1 Instances - CMP308 - re:Invent...Amazon Web Services
 
ASIC Design and Implementation
ASIC Design and ImplementationASIC Design and Implementation
ASIC Design and Implementationskerlj
 
VLSI Training presentation
VLSI Training presentationVLSI Training presentation
VLSI Training presentationDaola Khungur
 
最適なOpenJDKディストリビューションの選び方 #codetokyo19B3 #ccc_l5
最適なOpenJDKディストリビューションの選び方 #codetokyo19B3 #ccc_l5最適なOpenJDKディストリビューションの選び方 #codetokyo19B3 #ccc_l5
最適なOpenJDKディストリビューションの選び方 #codetokyo19B3 #ccc_l5Takahiro YAMADA
 

What's hot (20)

ASIC DESIGN FLOW
ASIC DESIGN FLOWASIC DESIGN FLOW
ASIC DESIGN FLOW
 
Floorplanning.pdf
Floorplanning.pdfFloorplanning.pdf
Floorplanning.pdf
 
Redis勉強会資料(2015/06 update)
Redis勉強会資料(2015/06 update)Redis勉強会資料(2015/06 update)
Redis勉強会資料(2015/06 update)
 
Introduction to the Arduino
Introduction to the ArduinoIntroduction to the Arduino
Introduction to the Arduino
 
Fundamentals of Practical Building Automation Systems
Fundamentals of Practical Building Automation SystemsFundamentals of Practical Building Automation Systems
Fundamentals of Practical Building Automation Systems
 
Introduction to RISC-V
Introduction to RISC-VIntroduction to RISC-V
Introduction to RISC-V
 
Deep learning with FPGA
Deep learning with FPGADeep learning with FPGA
Deep learning with FPGA
 
Power Measurement with IoT
Power Measurement with IoTPower Measurement with IoT
Power Measurement with IoT
 
Design your career in VLSI
Design your career in VLSIDesign your career in VLSI
Design your career in VLSI
 
What is it like to work at Microsoft?
What is it like to work at Microsoft?What is it like to work at Microsoft?
What is it like to work at Microsoft?
 
Architecture of 16C6X
Architecture of 16C6XArchitecture of 16C6X
Architecture of 16C6X
 
Hot Chips: AMD Next Gen 7nm Ryzen 4000 APU
Hot Chips: AMD Next Gen 7nm Ryzen 4000 APUHot Chips: AMD Next Gen 7nm Ryzen 4000 APU
Hot Chips: AMD Next Gen 7nm Ryzen 4000 APU
 
FPGA Accelerated Computing Using Amazon EC2 F1 Instances - CMP308 - re:Invent...
FPGA Accelerated Computing Using Amazon EC2 F1 Instances - CMP308 - re:Invent...FPGA Accelerated Computing Using Amazon EC2 F1 Instances - CMP308 - re:Invent...
FPGA Accelerated Computing Using Amazon EC2 F1 Instances - CMP308 - re:Invent...
 
ASIC Design and Implementation
ASIC Design and ImplementationASIC Design and Implementation
ASIC Design and Implementation
 
VLSI Training presentation
VLSI Training presentationVLSI Training presentation
VLSI Training presentation
 
IO-Summary-for-IBMS-Service.pdf
IO-Summary-for-IBMS-Service.pdfIO-Summary-for-IBMS-Service.pdf
IO-Summary-for-IBMS-Service.pdf
 
FPGAs and Machine Learning
FPGAs and Machine LearningFPGAs and Machine Learning
FPGAs and Machine Learning
 
Introduction to EDA Tools
Introduction to EDA ToolsIntroduction to EDA Tools
Introduction to EDA Tools
 
Infinidat InfiniBox
Infinidat InfiniBoxInfinidat InfiniBox
Infinidat InfiniBox
 
最適なOpenJDKディストリビューションの選び方 #codetokyo19B3 #ccc_l5
最適なOpenJDKディストリビューションの選び方 #codetokyo19B3 #ccc_l5最適なOpenJDKディストリビューションの選び方 #codetokyo19B3 #ccc_l5
最適なOpenJDKディストリビューションの選び方 #codetokyo19B3 #ccc_l5
 

Similar to Arduino sunum1

micropressesor
micropressesormicropressesor
micropressesorordulu1
 
mikrodenetleyici sensör uygulamaları.pptx
mikrodenetleyici sensör uygulamaları.pptxmikrodenetleyici sensör uygulamaları.pptx
mikrodenetleyici sensör uygulamaları.pptxordulu1
 
Arduinoİle Programlama
Arduinoİle ProgramlamaArduinoİle Programlama
Arduinoİle ProgramlamaHARUN PEHLIVAN
 
MİKRODENETLEYİCİLER İLE MOTOR UYGULAMALARI2.pptx
MİKRODENETLEYİCİLER İLE MOTOR UYGULAMALARI2.pptxMİKRODENETLEYİCİLER İLE MOTOR UYGULAMALARI2.pptx
MİKRODENETLEYİCİLER İLE MOTOR UYGULAMALARI2.pptxordulu1
 
Arduino ve Kablosuz Haberleşme Modülleri
Arduino ve Kablosuz Haberleşme ModülleriArduino ve Kablosuz Haberleşme Modülleri
Arduino ve Kablosuz Haberleşme ModülleriResul Rıza Dolaner
 
Arduino ve Kablosuz Haberleşme Modülleri
Arduino ve Kablosuz Haberleşme ModülleriArduino ve Kablosuz Haberleşme Modülleri
Arduino ve Kablosuz Haberleşme ModülleriResul Rıza Dolaner
 
Arduino' nun temel kavramları
Arduino' nun  temel kavramlarıArduino' nun  temel kavramları
Arduino' nun temel kavramlarıFatma Cnblt
 
Arduino- Potansiyometre
Arduino- PotansiyometreArduino- Potansiyometre
Arduino- PotansiyometreFatma Cnblt
 
Analog Sayısal ve Sayısal Analog Çeviriciler
Analog Sayısal ve Sayısal Analog ÇeviricilerAnalog Sayısal ve Sayısal Analog Çeviriciler
Analog Sayısal ve Sayısal Analog ÇeviricilerŞahabettin Akca
 
Java, android ve arduino ile gömülü programlama
Java, android ve arduino ile gömülü programlamaJava, android ve arduino ile gömülü programlama
Java, android ve arduino ile gömülü programlamaborasayiner
 
Bcd 7 Segment Kod Cozucu proteus
Bcd 7 Segment Kod Cozucu proteusBcd 7 Segment Kod Cozucu proteus
Bcd 7 Segment Kod Cozucu proteusyeniceliyim
 
Arduino ile LDR Uygulaması
Arduino ile LDR UygulamasıArduino ile LDR Uygulaması
Arduino ile LDR UygulamasıEmre COBAN
 
MyAlarm Yangın Alarm ve Güvenlik Sistemi
MyAlarm Yangın Alarm ve Güvenlik SistemiMyAlarm Yangın Alarm ve Güvenlik Sistemi
MyAlarm Yangın Alarm ve Güvenlik SistemiPCCElektronik1
 
2015705021 enver karabulut
2015705021 enver karabulut2015705021 enver karabulut
2015705021 enver karabulutEnver Karabulut
 
SUNNY Elektronik Ürünler Kataloğu 2013
SUNNY Elektronik Ürünler Kataloğu 2013SUNNY Elektronik Ürünler Kataloğu 2013
SUNNY Elektronik Ürünler Kataloğu 2013Sunny Elektronik
 
Sayısal- Analog Dönüştürücüler
Sayısal- Analog DönüştürücülerSayısal- Analog Dönüştürücüler
Sayısal- Analog Dönüştürücülerhasannyilmazz
 
Sayisal - Analog Dönüştürücüler
Sayisal - Analog DönüştürücülerSayisal - Analog Dönüştürücüler
Sayisal - Analog Dönüştürücülerhasannyilmazz
 
Kodlayiclar Proteus
Kodlayiclar ProteusKodlayiclar Proteus
Kodlayiclar Proteusyeniceliyim
 
Güneş Takip Sistemleri ve Güneşli Pişiriciler
Güneş Takip Sistemleri ve Güneşli PişiricilerGüneş Takip Sistemleri ve Güneşli Pişiriciler
Güneş Takip Sistemleri ve Güneşli PişiricilerMuhammed Hatal
 

Similar to Arduino sunum1 (20)

micropressesor
micropressesormicropressesor
micropressesor
 
mikrodenetleyici sensör uygulamaları.pptx
mikrodenetleyici sensör uygulamaları.pptxmikrodenetleyici sensör uygulamaları.pptx
mikrodenetleyici sensör uygulamaları.pptx
 
Arduinoİle Programlama
Arduinoİle ProgramlamaArduinoİle Programlama
Arduinoİle Programlama
 
MİKRODENETLEYİCİLER İLE MOTOR UYGULAMALARI2.pptx
MİKRODENETLEYİCİLER İLE MOTOR UYGULAMALARI2.pptxMİKRODENETLEYİCİLER İLE MOTOR UYGULAMALARI2.pptx
MİKRODENETLEYİCİLER İLE MOTOR UYGULAMALARI2.pptx
 
Arduino ve Kablosuz Haberleşme Modülleri
Arduino ve Kablosuz Haberleşme ModülleriArduino ve Kablosuz Haberleşme Modülleri
Arduino ve Kablosuz Haberleşme Modülleri
 
Arduino ve Kablosuz Haberleşme Modülleri
Arduino ve Kablosuz Haberleşme ModülleriArduino ve Kablosuz Haberleşme Modülleri
Arduino ve Kablosuz Haberleşme Modülleri
 
Arduino' nun temel kavramları
Arduino' nun  temel kavramlarıArduino' nun  temel kavramları
Arduino' nun temel kavramları
 
Arduino- Potansiyometre
Arduino- PotansiyometreArduino- Potansiyometre
Arduino- Potansiyometre
 
Analog Sayısal ve Sayısal Analog Çeviriciler
Analog Sayısal ve Sayısal Analog ÇeviricilerAnalog Sayısal ve Sayısal Analog Çeviriciler
Analog Sayısal ve Sayısal Analog Çeviriciler
 
Java, android ve arduino ile gömülü programlama
Java, android ve arduino ile gömülü programlamaJava, android ve arduino ile gömülü programlama
Java, android ve arduino ile gömülü programlama
 
Bcd 7 Segment Kod Cozucu proteus
Bcd 7 Segment Kod Cozucu proteusBcd 7 Segment Kod Cozucu proteus
Bcd 7 Segment Kod Cozucu proteus
 
Arduino ile LDR Uygulaması
Arduino ile LDR UygulamasıArduino ile LDR Uygulaması
Arduino ile LDR Uygulaması
 
MyAlarm Yangın Alarm ve Güvenlik Sistemi
MyAlarm Yangın Alarm ve Güvenlik SistemiMyAlarm Yangın Alarm ve Güvenlik Sistemi
MyAlarm Yangın Alarm ve Güvenlik Sistemi
 
mBot - mCore Donanım Özellikleri
mBot - mCore Donanım ÖzelliklerimBot - mCore Donanım Özellikleri
mBot - mCore Donanım Özellikleri
 
2015705021 enver karabulut
2015705021 enver karabulut2015705021 enver karabulut
2015705021 enver karabulut
 
SUNNY Elektronik Ürünler Kataloğu 2013
SUNNY Elektronik Ürünler Kataloğu 2013SUNNY Elektronik Ürünler Kataloğu 2013
SUNNY Elektronik Ürünler Kataloğu 2013
 
Sayısal- Analog Dönüştürücüler
Sayısal- Analog DönüştürücülerSayısal- Analog Dönüştürücüler
Sayısal- Analog Dönüştürücüler
 
Sayisal - Analog Dönüştürücüler
Sayisal - Analog DönüştürücülerSayisal - Analog Dönüştürücüler
Sayisal - Analog Dönüştürücüler
 
Kodlayiclar Proteus
Kodlayiclar ProteusKodlayiclar Proteus
Kodlayiclar Proteus
 
Güneş Takip Sistemleri ve Güneşli Pişiriciler
Güneş Takip Sistemleri ve Güneşli PişiricilerGüneş Takip Sistemleri ve Güneşli Pişiriciler
Güneş Takip Sistemleri ve Güneşli Pişiriciler
 

Arduino sunum1

  • 1. ARDUINO ILE ROBOTIK KODLAMA (15 PROJE )
  • 2. ARDUINO NEDIR ? Arduino, açık kaynak kodlu bir mikrodenetleyici kartıdır. Ana MCU, Atmel tabanlıdır. Kart ile robotik ve elektronik uygulamalarınızı kolayca gerçekleştirebilirsiniz.
  • 3. ARDUINO ILE NE YAPABILIRIZ ? 1. Kolay bir şekilde çevresiyle etkileşime girebilen sistemler tasarlayabilirsiniz, 2. Arduino kütüphaneleri ile mikrodenetleyicileri kolaylıkla programlayabilirsiniz, 3. Analog ve dijital girişleri sayesinde analog ve dijital verileri işleyebilirsiniz, 4. Sensörlerden gelen verileri kullanabilirsiniz, 5. Dış dünyaya çıktılar (ses, ışık, hareket vs…) üretebilirsiniz
  • 4. ARDUINO TEMEL DONANIM ÖZELLIKLERI Bu donanım özellikleri board’a göre farklı özellikler göstermektir. 1. ATmega8, ATmega168, ATmega328 mikroişlemci 2. 5 voltluk regüle entegresi, 3. 16MHz kristal osilator yada seramik rezonatör,
  • 5. ARDUİNO ÇEŞİTLERİ Şuanda piyasada onlarca çeşiti mevcuttur, hatta isteyen olursa sitesinden baskı devre ve şemasını indirerek kendisi hazırlayabilmektedir. En çok kullanılan arduino çeşitleri 1. Arduino Uno 2. Arduino Leonardo 3. Arduino Due 4. Arduino Mega 2560 5. Arduino Mini 6. LilyPad Arduino 7. Arduino Nano 8. Arduino Pro Mini
  • 6. ARDUINO NASIL KULLANILIR? Arduino ya da herhangi bir mikrodenetleyici sistemi kullanmak için ilk olarak düzgün çalışma ortamını sağlamanız gerekir. Arduino grubu mikrodenetleyiciler için gerekenler: • Arduino UNO, PRO Mini, Mega, Leonardo.. gibi bir Arduino kartınız. • Karta uygun USB kablonuz. USB yazıcı kablosu ya da mikroUSB kablosu gerekecektir. • Arduino IDE programı • Ve tabi Arduino ile uyumlu çalışacak nazlanmayacak bir bilgisayar ya da cep telefonu 
  • 7. ARDUINO’NUN PROGRAMLANMASI • Geliştirme ortamı ile Arduino programlarının yazılıp derlenip kartlar üzerine yüklenebiliyor • Arduino programlamada C / C++ /Java temelli bir dil kullanılıyor.
  • 8. ARDUINO PROGRAMLAMAYA GIRIŞ VE ÖRNEKLER Programlamaya Giriş
  • 9. Arduino programları 2 kısımdan oluşur. void setup():  Arduino’ya enerji verildiğinde veya yeniden başlatıldığında bu bölüme yazılan kodları program 1 kere okur. Mesela pinlerin giriş mi yoksa çıkış mı olacağı bir kere buraya yazılır ve hafızada tutulur bir daha o kodun yazılmasına gerek kalmaz void loop() :  Bu bölüme yazılan kodlar sürekli okunur ve kodlara göre pinlere çıkış verir yada sensör okunur vs.
  • 10. pinMode(pin ismi yada numarası , giriş yada çıkış olacağı); digitalWrite(pin ismi yada pin numarası , HIGH yada LOW);  digitalWrite bir pinden gerilim çıkışını sağlar. delay();  komutu bu komut programı bekletir yani mesela ledi yaktınız 1 saniye bekledi ve sonra söndürdünüz. NOT: Delay komutu milisaniye cinsinden çalışır yani 100 ms 1 saniyedir.
  • 11. ÖRNEK 1 LED YAKMA LED, ışık yayan diyot anlamına gelen Light Emitting Diode sözcüğünün baş harflerinden oluşan bir kısaltmadır.LED’lerin anot ve katot olmak üzere iki farklı bacağı vardır. Bunlardan anodu pozitif gerilime yani + uca, katot ise negatif gerilime yani – uca ya da toprak hattına (GND, Ground) bağlanmalıdır. Eğer LED’imizi Arduino’ya doğrudan bağlayacak olursak, LED üzerinden kartın sağlayabileceği maksimum değerde akım geçecek ve LED’imiz veya kartımız bozulacaktır. Bunun için akım sınırlayıcı bir direnci LED’imize seri olarak bağlamamız gerekmektedir. Peki bu direncin değeri nasıl belirlenecek? İşte burada Ohm Kanunu dediğimiz denklem devreye giriyor: V = i x R
  • 12. Bu denklemde V bize gerilimi, i akımı ve R ise direnci temsil ediyor. Eğer 20 mA akıma ihtiyaç duyan LED’i, Arduino’muzun 5V çıkış sağlayan pinlerinden birine bağlayacak olursak; 5V = 0,020A x R Denklemini elde etmiş oluruz. Bu denklemden R’yi çekecek olursak sonucu 250 buluruz. Bu demek oluyor ki LED’imizi 5V gerilimle kullanmak için 250 Ω (ohm) değerinde bir dirence ihtiyacımız var. Tam değeri doğru tutturmamız çok önemli değil, elimizde mevcut olan 220 Ω’luk direnci kullanabiliriz.Aşağıda örneğimizin autodesk circuits online simulasyon programı ile oluşturulmuş halini ve gerekli arduino programını görebilirsiniz.
  • 13.
  • 14. ÖRNEK 2 BUTON ILE LED YAKMA Simulasyon görüntüsü ve programı aşağıdaki gibidir.
  • 15.
  • 16. ARDUINO SERIAL MONITÖR KULLANIMI Arduino ıde yi açtığımızda gelen kod ekranın sağ üst köşesinde serial monitör kısayolu bulunur.O kısayola tıkladığımızda aşağıdaki ekran karşımıza gelir.
  • 17. Üstte bulunan text e yazdığımız ifadeleri Send(gönder) butonuyla arduinoya gönderebiliriz. Sağ alt köşede bulunan 9600 baud haberleşme hızı ile ilgilidir.Arduinoya yazdığımız baud rate oranı ile burda seçili olan hızın aynı olması gerekir.Aksi takdirde iletişim bozulur ve verileri ekranda düzgün görüntüleyemeyiz. Serial monitörün kullanımı için arduinoda serial sınıfını kullanırız.Bu sınıfın içerisinden en çok kullanacağımız 3 ifadeyi tanıyalım. Serial.begin(9600); // Seri haberleşmeyi başlatıyoruz.9600 ifadesi veri hızını belirtir.Veri hızları olarak ; 4800,9600,14400,19200,28800 gibi değerlerde kullanabiliriz.Ancak genelde 9600 kullanılır ve bu değer saniyede 9600 bit gönderimine(yaklaşık 1000 karakter) karşılık gelir. Serial.print(“merhaba”); //Tırnak içerisindeki ifade seri monitöre gönderilir.Veriler ekranda yan yana yazdırlır. Serial.println(“merhaba”); //Tırnak içerisindeki ifade seri monitöre gönderilir.İmleç bir alt satıra geçer. Şimdi de yukarıda verilen bilgilerden yola çıkarak ilk uygulamamızı yapalım.
  • 18. Arduinoyu bilgisayarımıza bağlayıp,aşağıdaki kodları arduinoya gönderelim.
  • 19. Eğer Serial.print kullansaydık veriler ekranda yan yana yazılırdı. Programın ekran çıktısı aşağıdaki gibi olur.
  • 20. ARDUINO ANALOG SİNYAL OKUMA Arduino UNO kartımızdaki işlemcide, 10-bit çözünürlüğe sahip analogdan dijitale dönüştürücü (ADC – analog to digital converter) mecvuttur. Peki, bu 10-bit ne anlama geliyor? Bildiğimiz üzere Arduino’muzun mikrokontrolcüsü 5V gerilimle çalışmakta. Bu mikrokontrolcüde sahip olduğunu söylediğimiz 10-bit ADC, 0V ile 5V arası gerilimleri 210 = 1024 adım hassasiyet ile okuyabilir. Yani analog input pinlerinden birine vereceğimiz 0V gerilim bize 0 değerini; aynı şekilde 5V gerilim ise 1023 değerine denk düşüyor. Şimdiye kadar Arduino’nun hep dijital giriş/çıkış pinlerini kullandık.Fakat Arduino kartımızda bir de “Analog Input” kısmı mevcut. Bu pinleri kullanarak dijitalden analoğa dönüşüm yaparak voltaj okuyabiliriz.
  • 21. ÖRNEK 3 POTANSIYOMETRE ILE ANALOG DEĞER OKUMA Potansiyometre, aslında çevremizde her gün kullandığımız cihazların neredeyse hepsinde mevcut olan bir devre elemanıdır. Örneğin, müzik setimizin ses seviyesini değiştirmek için çevirdiğimiz düğme bir potansiyometredir. En basit açıklama ile potansiyometre, değerini elimizle çevirerek ayarladığımız bir dirençtir.
  • 22. Potansiyometreyi bir yöne çevirdiğimizde yan yana olan iki bacağının direnci değişir. Bunu bir multimetreyle ölçerek görebiliriz. Biz bu uygulamamızda ise 0 ile 5V arasında voltaj değişimini sağlamak için potansiyometre kullanacağız. Uygulamamızın ilk adımında sadece analog giriş pininden gelen gerilimin sayısal karşılığını seri porttan okuma işlemini yapacağız. Devremizi bu şekilde kuruyoruz:
  • 23.
  • 24. Bu yazdığımız kodu Arduino’muza yükledikten sonra seri port ekranını açıyoruz ve potansımızı çevirmeye başlıyoruz. Değerlerdeki değişimi görebilirsiniz
  • 25. ÖRNEK 4 ARDUINO LDR LDR (Light Dependet Resistance – Foto Direnç) üzerine düşen ışığın şiddetine göre direnci değişen bir sensördür. LDR üzerine ışık gelmediği durumlarda direnç çok yüksek olur ve üzerinden akım geçmez. Otomatik gece ve sokak lambaları, kanın renk yoğunluğunu belirleyen tıbbi cihazlarda, kamera flaşların da vs. gibi alanlarda kullanılır.
  • 26. Not:Işık parlaklığının yüksek olması için direnç kullanılmadı gerçek devrede kulllanılması tavsiye edilir.
  • 27.
  • 28. ÖRNEK 5 PIR SENSÖRÜ PIR sensörleri, bir ortamda oluşan canlı hareketini algılamak için kullanılan sensörlerdir. Bu minik boyutlu sensör, çeşitli elektronik, robotik ve hobi uygulamalarında rahatça kullanabilir, Arduino başta olmak üzere bir çok mikrodenetleyeci platformu ile beraber kullanılabilir modüldür. Dijital çıkışlı olan bu modül, ortamda hareket algılamadığı zaman lojik 0, hareket algıladığı zaman ise lojik 1 çıkışı vermektedir.
  • 29. BUZZER Buzzer verilen voltaja göre farklı ses sinyalleri sağlayan bir cihazdır. Maliyetleri az , üretimi basit , ve çok hafif yapıda olmalarından dolayı kullanım alanı çok geniştir . Örneğin hırsız alarmları , araçlarda uyarı veren çoğu sistem ,bazı zil sesleri gibi.
  • 30.
  • 31.
  • 32. ÖRNEK 6 LM35 SICAKLIK SENSÖRÜ ILE SICAKLIK ÖLÇÜMÜ LM35 sıcaklık sensörü, hassas sıcaklık ölçümü yapan analog çıkışlı bir sıcaklık sensörüdür.-55 ile 150 C arası ölçüm yapabilen bu sensör, Arduino’muzun analog girişinden bağlayarak sıcaklık ölçümü yapabiliriz.
  • 33. Matematiksel ifadeyi kurabilmek için yani analog değeri sayısal değere çevirmek için LM35'in analog çıkış yapısını bilmemiz gerekir. Orta bacağından verilen mV mertebesindeki gerilim her °C için 10 mV üretir. Yani 25 °C için çıkış 250 mV olur. Arduino'daki ADC 10 bitlik olduğu için ve en yüksek değerimiz 5000 mV olduğu için bu 5000 mV'u 1024 parçaya işlemcimiz ayıracaktır. Yani 1023.değer bize 5V'u verecek ve her 10 mV bize 1 °C 'yi verecek şekilde programımızı yazıyoruz.
  • 34.
  • 35. KAYNAKLAR Bu notların hazırlanmasında aşağıda belirtilen kaynaklardan yararlanılmıştır. https://mvaslan.blogspot.com.tr/ http://www.theorycircuit.com/ https://arduinomylifeup.com/ https://www.muhendisbilim.com/ http://maker.robotistan.com/ https://gelecegiyazanlar.turkcell.com.tr/ https://www.instructables.com/