Arduino Temel Bilgiler

Benzer belgeler
Arduino nedir? Arduino donanım ve yazılımın kolayca kullanılmasına dayalı bir açık kaynak elektronik platformdur.

PROJE RAPORU. Proje adı: Pedalmatik 1 Giriş 2 Yöntem 3 Bulgular 6 Sonuç ve tartışma 7 Öneriler 7 Kaynakça 7

Erzurum Teknik Üniversitesi RobETÜ Kulübü Robot Eğitimleri. ARDUİNO EĞİTİMLERİ I Arş. Gör. Nurullah Gülmüş

BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ

void setup() fonksiyonu: Bu fonksiyon program ilk açıldığında bir kere çalışır ve gerekli kalibrasyon, setup komutlarını buraya yazarız.

BİLGİSAYAR BİLİMİ DERSİ (KUR-2)

DOKUMANLAR

Melih Hilmi ULUDAĞ. Yazılım Mühendisi Mekatronik Mühendisi. a aittir.

Örnek. int analogpin = 3; int val = 0; void setup() { Serial.begin(9600); } void loop() { val = analogread(analogpin); Serial.

Bütün ümidim gençliktedir.

LED YAKMAK. Circuit 2. Kablo LED. Direnç. Arduino LED. Direnç (330ohm)

Arduino Uno ile Hc-Sr04 ve Lcd Ekran Kullanarak Mesafe Ölçmek

T.C. ERCİYES ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ MEKATRONİK MÜHENDİSLİĞİ BÖLÜMÜ ELEKTRONİK SİSTEMLER LABORATUVARI 1

Yedi Karat Kullanım Klavuzu. Yedi Karat nedir? Neden Karat?

Bilgisayar ile Nasıl İletişim Kurulur?

ARDUINO NEXTION UYGULAMASI. Bu makale, Arduino UNO kartı ile Nextion HMI ekranlarının nasıl kontrol edildiğini anlatmaktadır.

1- KULLANILACAK DEVRE ELEMANLARININ TANITILMASI

IOT UYGULAMALARINA GİRİŞ

Fırat Üniversitesi DENEY NO: 5 GÖMÜLÜ SİSTEM PROGRAMLAMA

KARADENİZ TEKNİK ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ TASARIM PROJESİ

GENEL KULLANIM İÇİN SABİT AKIM LED SÜRÜCÜLERİ. Uygulama Notları ACG-D350/500/700/1000 UYGULAMA NOTLARI. 1. LED adedi

4-Deney seti modüler yapıya sahiptir ve kabin içerisine tek bir board halinde monte edilmiştir.

WiFi RS232 Converter Sayfa 1 / 12. WiFi RS232 Converter. Teknik Döküman

1. PROGRAMLAMA. PDF created with pdffactory Pro trial version

BQ Modbus Analog Giriş Kartı 6 Kanal 4 20mA. Kullanım Kılavuzu. Doküman Versiyon: BQTEK

CUMHURİYET MESLEKİ VE TEKNİK ANADOLU LİSESİ BİLİŞİM TEKNOLOJİLERİNİN TEMELLERİ DERSİ DERS NOTLARI BELLEKLER

Endüstri 4.0 ve Nesnelerin Interneti

KARADENİZ TEKNİK ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ

Code Composer Studio İndirilmesi ve Kurulması

KARADENİZ TEKNİK ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ TASARIM PROJESİ

ARDUINO PROGRAMLAMA. Yrd.Doç.Dr. Bülent ÇOBANOĞLU

6. Osiloskop. Periyodik ve periyodik olmayan elektriksel işaretlerin gözlenmesi ve ölçülmesini sağlayan elektronik bir cihazdır.

ACD BİLGİ İŞLEM ACD KABLOSUZ VERİ TOPLAMA SİSTEMLERİ URT-V2 KABLOSUZ VERİ TOPLAMA TERMİNALİ DONANIM TEKNİK BELGESİ. URT-V2 Terminallerinin

PİC HAKKINDA KISA KISA BİLGİLER GİRİŞ/ÇIKIŞ PORTLARI

idea rsbasic KOMUTLARI

SAKARYA ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ GÖMÜLÜ SİSTEMLER DENEY FÖYÜ

İÇİNDEKİLER VII İÇİNDEKİLER 1 ARDUINONUN TEMELLERİ 1

İ İŞİ BÖLÜM ROBOTİK KODLAMA ÖĞRENME ALANLARI BASİT ELEKTRONİK DEVRELERE GİRİŞ AKILLI CİHAZ TASARIMINA GİRİŞ ROBOTİĞE GİRİŞ

DC motorların sürülmesi ve sürücü devreleri

KARADENİZ TEKNİK ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ TASARIM PROJESİ

BÖLÜM Mikrodenetleyicisine Giriş

PULSE ÇIKIŞI İLE SERVO MOTOR KONTROLÜ. Giriş PLS2 Komutunun Açıklanması CP1H ve Smart Step 2 Kablo Bağlantıları Sonuç

KARADENİZ TEKNİK ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ

web-sitesi : satış : teknik destek : tel : IM-SMO20 Ultrasonik Mesafe Sensörü Özellikler

İçİndekİler. 1. Bölüm - Mİkro Denetleyİcİ Nedİr? 2. Bölüm - MİkroDenetleyİcİlerİ Anlamak

MULTİMETRE. Şekil 1: Dijital Multimetre

PORTLAR Bilgisayar: VERİ:

IFD8520 ADRESLENEBİLİR RS-485/RS-422 İZOLELİ ÇEVİRİCİ KULLANIM KILAVUZU

TEKNOLOJİ FAKÜLTESİ BİLİŞİM SİSTEMLERİ MÜHENDİSLİĞİ MİKROBİLGİSAYAR TABANLI SİSTEM TASARIMI DERSİ

ATBRFN. Radyo Frekansı (RF) Tabanlı Dorse Takip Birimi. Bilgi Dokümanı (ATBRFN) 1

Hacettepe Robot Topluluğu

TEKNOMOBİL UYDU HABERLEŞME A.Ş. KULLANICI KILAVUZU Rev. 1.0 Satcom SCATEL

Strike 5.50 R Proximity Kart Okuyucu Kullanım Kılavuzu

UniGSM Arduino SHIELD (UniGSM-A) KURULUM ve KULLANIM KİTAPÇIĞI

SCRATCH İLE ARDUİNO PROGRAMLAMA

BQ Modbus Analog Giriş Kartı 6 Kanal PT100 - PT1000. Kullanım Kılavuzu. Doküman Versiyon: BQTEK

Doç. Dr. Cüneyt BAYILMIŞ

DİRENÇLER DĠRENÇLER. 1. Çalışması:

Dizi elemanları yukarıdaki gibi tek tek tanımlanabileceği gibi matematiksel ifadelerdeki diziler gibi de tanımlanabilir.

ALİ ÇETİNKAYA Tuğba SARAY DERS DANIŞMANI PROF. DR. MEHMET BAYRAK

FOUR FAİTH F2114 GPRS MODEM İLE ZR AUTOMATION KULLANIMI KILAVUZU

Horoz Programlanabilir Zaman Rölesi

idea Kontrol Kartı (idea Board jv2.1) Kullanım Kılavuzu

DĐRENÇ DEVRELERĐNDE KIRCHOFF UN GERĐLĐMLER ve AKIMLAR YASASI

HD Serisi Kart Kullanım Kılavuzu

WiFi Relay Sayfa 1 / 11. WiFi Relay. Teknik Döküman

ARDUINO NEDİR? Nasıl Kullanılır? Nasıl Programlanır?

V Daq Kurulum adımları

EasyPic 6 Deney Seti Tanıtımı

KARADENİZ TEKNİK ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ

S50 Parmak izi Cihazı Kullanım Kılavuzu. S50 Genel Tanıtım

Paralel ve Seri İletişim. Asenkron/Senkron İletişim. Şekil 2: İletişim Modları

Program Kodları. void main() { trisb=0; portb=0; while(1) { portb.b5=1; delay_ms(1000); portb.b5=0; delay_ms(1000); } }

Bölüm 4. Sistem Bileşenleri. Bilgisayarı. Discovering. Keşfediyorum Computers Living in a Digital World Dijital Dünyada Yaşamak

Sistem Programlama. Kesmeler(Interrupts): Kesme mikro işlemcinin üzerinde çalıştığı koda ara vererek başka bir kodu çalıştırması işlemidir.

Mikroişlemciler ve Programlama Dersi- ARDUINO. Sensörler ve Analog-Digital Çeviriciler İle Çalışma

İÇİNDEKİLER ÖZELLİKLER. 3-4 KONTROL PANELİ HARİCİ KONTROL ÜNİTESİ BAĞLANTILAR VE HABERLEŞMELER 23-24

DENEYLERDE KULLANILACAK LABORATUVAR EKİPMANLARI

Elif İLİKSİZ. Keziban TURAN. Radio Frekanslarla Hareket Eden Araç

DENEY-2 DEVRE KURMA. Şekil 1. DC Güç Kaynağı

ORKA BİLİŞİM ELEKTRONİĞİ

Bölüm 18 FBs-6AD Analog Giriş Modülü

IR Modülü. Kart Özellikleri Çalısma Frekansı: 38KHz Mesafe: 6 Metre Çalısma Voltajı: 3.3-5V Kart Boyutları: 20 mm x 20 mm

Bu dersimizde pic pinlerinin nasıl input yani giriş olarak ayarlandığını ve bu işlemin nerelerde kullanıldığını öğreneceğiz.

FULMATIC 7 GÜMÜŞ SERİSİ PLC PLC KULLANMA KLAVUZU

Bilgisayar ile Dijital Devrelerin Haberleşmesi. FT232R ve MAX232 Entegreleri. Çalışma Raporu

5-14 KURULUM AYARLARI CALIŞMA FONKSİYONLARI MEKANÝK KURULUM ARIZA DURUMLARI GÜVENLÝK UYARILARI TEKNÝK ÖZELLÝKLER

KARADENİZ TEKNİK ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ TASARIM PROJE ÇALIŞMASI

KARADENİZ TEKNİK ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ TASARIM ÇALIŞMASI AKILLI BEŞİK PROJE YÜRÜTÜCÜLERİ GRUP: 20 OĞUZHAN FARIZ YUSUF VANER DANIŞMAN

CPU ONE PLC KULLANMA KLAVUZU

ART S602W Standalone Kart Okuyucu

BQ351 Modbus Röle Kontrol Ünitesi. Kullanım Kılavuzu. Doküman Versiyon: BQTEK

1. PROGRAMLAMA. PDF created with pdffactory Pro trial version

ROKAY. Robot Operatör Kayıt Cihazı KULLANMA KILAVUZU V:1.0

BETİ GSM/GPRS MODEM KULLANIM KILAVUZU

GAZİ ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BM-404 BİLGİ GÜVENLİĞİ LABORATUVARI UYGULAMA FÖYÜ

Servo Motor ile 2-Eksenli Robot Kolunun Kontrolü

MCR02-AE Ethernet Temassız Kart Okuyucu

BQ101 GSM Access Kontrol Ünitesi Windows Programı. Kullanım Kılavuzu. Doküman Versiyon: BQTEK

2019

Transkript:

Bu e-kitap Arduino ile proje geliştirmek isteyenler için temel bilgiler içermektedir. Arduino Temel Bilgiler Şevket Yılmaz Yazılım Mühendisi sevket-yilmaz@windowslive.com

ARDUİNO NEDİR? Arduino bir mikro kontrol ünitesidir. Bilgisayarımızda bulunan işlemciye benzer. Üzerinde elektronik cihazlarımızı kontrol etmemize yarayan bir mikrodenetleyici vardır. Biz bu mikrodenetleyiciyi programlayarak istediğimiz işleri yapmasını sağlarız. Arduino ile yapabileceklerimiz hayli geniştir ve sizin hayal gücünüze kalmıştır. Örneğin engelleri algılayıp aşan bir robottan, toprağın kuruduğunu anlayıp çiçeğinizi sulayan sisteme kadar geniş bir yelpazede çalışmalar yapabilirsiniz. Arduino açık kaynak kodlu bir elektronik platformdur. Arduino işlemcileri atmel firmasının ürünleridir. Arduino tek başına çalışan nesneler geliştirmek için kullanılabileceği gibi bilgisayar üzerinde çalışan yazılımlara da bağlanabilir. Hazır üretilmiş kartlar satın alınabilir veya kendileri üretmek isteyenler için donanım tasarımı ile ilgili bilgiler mevcuttur. Arduino geliştirme kartı üzerindeki mikroişlemci (AtmegaXX) Arduino programlama dili (wiring tabanlı) ile programlanır ve bu program Processing tabanlı Arduino Yazılım Geliştirme Ortamı (IDE) yardımı ile karta yüklenir.

ARDUİNO İLE NE YAPILIR? NE YAPILMAZ? Kolay bir şekilde çevresiyle etkileşime girebilen sistemler tasarlayabilirsiniz Arduino kütüphaneleri ile mikrodenetleyicileri kolaylıkla programlayabilirsiniz Analog ve dijital girişleri sayesinde analog ve dijital verileri işleyebilirsiniz Sensörlerden gelen verileri kullanabilirsiniz Dış dünyaya çıktılar (ses, ışık, hareket vs ) üretebilirsiniz Sıfır programlama bilgisiyle Arduino ile projeler yapmanız zordur. Ama aynı zamanda Arduino programlama öğrenmek için de güzel bir platformdur Gerçek zamanlı sinyal işleme, kamera görüntüsü aktarma gibi ağır işleri yapamazsınız (Arduino Due ile bu kısmen mümkün hale geldi) Üzerinde Android, Windows CE, Linux gibi işletim sistemleri çalıştıramazsınız. Bu tür çalışmalar yapmak için Rasperry Pi, Beagle Bone vs.. gibi kartlara bakabilirsiniz ARDUİNO UNO (I/O) GİRİŞLER/ÇIKIŞLAR Arduino üzerinde ; Bilgisayar bağlantısını yapabilmemiz için bir USB girişi USB bağlı değilken güç sağlaması için bir güç girişi 5Volt ve 3.3Volt (+) güç çıkışı Topraklama (- ) çıkışları. (Üzerinde GND yazan 3 çıkış) 5 adet analog pin 14 adet digital pin mevcuttur.

ARDUİNO ÇEŞİTLERİ ARDUİNO UNO ATmega328 işlemci kullanan Arduino çeşididir. 14 dijital giriş/çıkış pini bulunur, bunlardan 6 sı PWM çıkışı olarak kullanılabilir. 6 analog giriş pinine sahiptir. 16 MHz kristal osilatörü, USb bağlantısı, 2.1mm güç girişi, ICSP başlığı ve reset butonu vardır. Mikroişlemciyi destekleyecek herşeye sahiptir. Çalıştırmak için DC 7~12V güç kaynağına bağlamak yeterlidir. ÖZELLİKLER Mikrodenetleyici ATmega328 Çalışma Gerilimi 5V Besleme Voltajı (Önerilen) 7-12V Besleme Voltajı (Limit) 6-20V Dijital I/O Pinleri 14 pin (6 sı PWM) Analog Giriş Pinleri 6 I/O Pinlerinin Akımı 40 ma

3.3V Pini Akımı 50 ma Flash Bellek SRAM EEPROM Clock Frekansı 32KB (0.5KB bootloader için kullanılır) 2 KB 1 KB 16 MHz Arduino UNO (Orijinal) Arduino UNO (Klon)

ARDUİNO MEGA 2560 ATmega2560 tabanlı bir Arduino kartıdır. 54 dijital I/O pini vardır. Bunların 14 tanesi PWM çıkışı olarak kullanıabilir. 16 analog girişi, 4 UART (serial port), 16 MHz kristal osilatörü, USB bağlantısı, adaptör girişi, ICSP çıkışı ve bir reset butonu vardır. Arduino Duemilanove ve Diecimila için tasarlanmış tüm eklentilere(shield) uyumludur. ÖZELLİKLER Arduino Mega 2560 Arduino Mega nın yerini alan gelişmiş versiyonudur. Mikrodenetleyici Çalışma Gerilimi ATmega2560 5V Besleme Voltajı (Önerilen) 7-12V Besleme Voltajı (Limit) 6-20V Dijital I/O Pinleri 54 (14ü PWM çıkışı) Analog Giriş Pinleri 16 I/O Pinlerinin Akımı 40 ma 3.3V Pini Akımı 50 ma Flash Bellek 256 KB (8kB ını bootloader kullanıyor) SRAM 8 KB EEPROM Clock Frekansı 4 KB 16 MHz Arduino MEGA

ARDUİNO NANO Breadboard üzerinde kullanılmak üzere tasarlanmış bir kompakt board. USB Mini-B kablosuyla bilgisayara bağlanıyor. ÖZELLİKLER Mikrodenetleyici ATmega328 Çalışma Gerilimi 5V Besleme Voltajı (Önerilen) 7-12V Besleme Voltajı (Limit) 6-20V Dijital I/O Pinleri 14 pin (6 sı PWM) Analog Giriş Pinleri 8 I/O Pinlerinin Akımı 40 ma 3.3V Pini Akımı 50 ma Flash Bellek 32KB (2KB bootloader için kullanılır) SRAM 2 KB EEPROM Clock Frekansı 1 KB 16 MHz Arduino NANO

ARDUİNO MINI En küçük Arduino board. Breadboardda ve kullanım boyutunun küçük olması istenen yerlerde tercih ediliyor. Bilgisayara mini USB adaptör ile bağlanabiliyor. ÖZELLİKLER Mikrodenetleyici ATmega328 Çalışma Gerilimi 5V Besleme Voltajı (Önerilen) 7-9V Besleme Voltajı (Limit) 6-20V Dijital I/O Pinleri 14 pin (6 sı PWM) Analog Giriş Pinleri 8 I/O Pinlerinin Akımı Flash Bellek SRAM EEPROM Clock Frekansı 40 ma 32KB (2KB bootloader için kullanılır) 2 KB 1 KB 16 MHz Arduino MINI

ARDUİNO LILYPAD LilyPad Arduino da diğer Arduino lar gibi bir geliştirme kartıdır. Kumaşa dikmek için özel olarak Leah Buechley ve SparkFun tarafından tasarlanmıştır. Giyilebilir teknoloji projeleri için kullanılır. ÖZELLİKLER Mikrodenetleyici Çalışma Gerilimi Besleme Voltajı (Önerilen) Dijital I/O Pinleri ATmega168V veya ATmega328V 2.7-5.5 V 2.7-5.5 V 14 pin (6 sı PWM) Analog Giriş Pinleri 6 I/O Pinlerinin Akımı Flash Bellek SRAM EEPROM Clock Frekansı 40 ma 16KB (2KB bootloader için kullanılır) 1 KB 512 byte 8 MHz Arduino LILYPAD Bunların dışında 20 den fazla Arduino çeşidi bulunmaktadır. Burada en çok kullanılanlardan birkaç tanesine yer verdik.

ARDUİNO KURULUM Arduino (IDE) geliştirme ortamını aşağıdaki linkten ücretsiz olarak indirebilirsiniz; https://www.arduino.cc/en/main/software Bilgisayara bağladığınız her donanımın nasıl çalışacağını tanıtan bazı dosyalar vardır. Biz bunlara driver(sürücü) dosyaları deriz. Orijinal Arduino için Arduino programını kurduğunuzda tüm sürücüler yüklenir ancak klon Arduino farklı bir usb haberleşme çipi kullanıyorsa sorun yaşarsınız. Bunun için o çipin sürücüsünü internette aratarak indirip kurabilirsiniz. Genellikle klon arduinolarda CH340 çipi bulunur. arduino ch340 driver kelimeleriyle arama yaptığınızda karşınıza çıkacaktır. Usb haberleşme çipi yazdığımız programları mikrodenetleyiciye yüklemek için kullanılır. Bu da Arduino muzun kullanımını çok kolay yapar. Programımızı yazarız ve Arduino muza yükleriz, bu kadar basit. ARDUİNO IDE ÖZELLİKLERİ Araçlar (Tools) menüsü: Buradan kullandığınız Arduino türünü ve Arduino'nun bağlı olduğu COM portunu seçiniz. Eğer Arduino'nun bağlı olduğu portu bilmiyorsanız, aygıt yöneticisinden bakabilirsiniz. Doğrula (Program Compile): Bu düğmeyle yazdığınız programı kontrol edebilirsiniz. Eğer kodda hata varsa alttaki siyah bölümde turuncu yazıyla yaptığınız hata ve satırı yazacaktır. Hatırlatma: Bulunduğumuz satırın sırası sol atta yazmaktadır. Doğrula ve Yükle (Program Compile & Upload): Bu düğmeyle önce yazdığınız kod derlenir. Eğer kodda hata yok ise yazılan kod Arduino'nun anlayacağı dile çevrilir ve otomatik olarak Arduino'ya atılır. İşlem sırasında ilerleme çubuğundan işlem durumunu görebilirsiniz. Ayrıca programın atılma sürecinde, Arduino üzerinde bulunan Tx ve Rx LED'leri hızlı bir şekilde yanıp söner. Programı bir kere Arduino'ya atmanız yeterli olacaktır. Arduino'ya yeni program atmak istediğinizde eskisini silmenize gerek yoktur. Yine bu düğmeyle her zaman yeni kod atabilirsiniz. Seri Port Ekranı (Serial Monitor): Yeni pencere açan bu düğmeyle Arduino'dan yolladığınız verileri görebilirsiniz. İlerleyen konularda bu düğme sıklıkla kullanılacaktır.

ARDUİNO İLK PROGRAM (BLINK) Arduino ile ilk uygulamanızı yapmak için birkaç tık yeterli; Dosya(File)>Örnekler(Examples)>Basics>Blink Bu kodları Arduino nuza yüklediğinizde Arduino üzerinde bulunun ledin bir saniye aralıklarla yanıp söndüğünü göreceksiniz.

BREADBOARD Breadboard (devre tahtası) ile projelerimizi lehim yapmadan kolayca kurabiliriz. Genel olarak içerisinde birbirine bağlı hatları barındıran devre tahtası üzerine elektronik bileşenleri yerleştirerek projelerimizi çalışır hale getirebiliriz. Bağlantılar sağdaki resimde gösterilmiştir.

DİJİTAL VE ANALOG SİNYALLER Sinyaller analog ve dijital olmak üzere ikiye ayrılır. Analog sinyaller devamlı sinyallerdir ve her değeri alabilirler. Dijital sinyaller ise devamlı değildir ve adım adım değişir. Arduino analog sinyalleri işleyemez, fakat doğadaki etkiler ve sensörler analog sinyal ile çalışır. Bu sinyallerin Arduino'da işlenebilmesi için dijital sinyale çevrilmesi gerekir. Bu çevirme işlemine analog dijital çevrim (ADC) denir. Arduino'nun çıkış pinleri sadece 0 veya 5 volt verebilmektedir. Eğer bu pinlerden analog çıkış almak isterseniz, yani 0 veya 5 volt arasında, dijital analog çevrim (DAC) yapmalısınız. ADC 10 bit (0-1023) DAC 8 bit (0-255) DİRENÇ Daha önce elektronikle çok az ilgilenmiş birinin bile bildiği direnç elemanı, hat üzerinden geçen akımı ayarlamak için kullanılır. V = I * R formülünden de anlaşıldığı gibi sabit bir gerilime sahip hat üzerinden geçen akım azaltılmak isteniyorsa, direncin değeri yani R değeri artırılmalıdır. Aynı hat üzerinde bulunan elektronik elemanlar üzerinden geçen akımların birbirine eşit olmasından dolayı bu hat üzerinden geçen akımı kontrol etmek için uygun direnci kullanırız. Örneğin, LED dediğimiz lambaların üzerinden fazla akım geçmesi bu lambalara zarar vermektedir. Bu lambaların fazla akım çekmesini engellemek için LED'in bağlantısından önce 220 ohm değerinde bir direnç takılır. Böylece LED üzerinden geçen akım azaltılmış olur. Eğer 220 ohm yerine daha büyük bir direnç bağlanırsa LED'in parlaklığında azalma olduğu görülür. Direncin değeri ne yazık ki direnç üzerinde sayısal olarak yazmamaktadır. Fakat direncin değerinin anlaşılması için, direnç üzerinde renkli şeritler vardır. POTANSİYOMETRE Besleme, toprak ve çıkış olmak üzere üç pini bulunur. 2. (ortadaki) pin genellikle çıkış pini olmaktadır. Geriye kalan pinler sırası önemli olmaksızın besleme ve toprak pinleridir. Potansiyometrenin başlığı çevrilerek çıkış gerilimi değiştirilebilir.

ARDUİNO'NUN BESLEME KAYNAKLARI Arduino'nun çalışması için gerekli olan enerji, Arduino'nun farklı besleme girişlerinden sağlanabilmektedir. Arduino'nun farklı besleme girişleri kullanılırken, bu girişe uygulanacak maksimum gerilimin bilinmesi gerekir. Eğer girişe uygulanması gereken gerilimden fazla bir gerilim uygulanırsa, Arduino zarar görebilir. ARDUİNO'NUN USB İLE BESLENMESİ Arduino'nun USB kablosunu bilgisayarınıza bağladığınızda, Arduino çalışması için gerekli enerjiyi bilgisayarınızdan almaktadır. Bu giriş, Arduino için gerekli enerjiyi sağlarken, aynı zamanda Arduino'nun bilgisayarla haberleşmesini, Arduino'ya yeni kod atılmasını da sağlar. Yukarıdaki görselde 1 numaralı giriş Arduino'nun USB girişidir. Görselde de görüldüğü gibi bu giriş, yazıcı kablosu olarak tarif edilen USB B girişidir. USB standartlarına uygun olarak tasarlanan bu girişe en fazla 5 Volt gerilim uygulanmalıdır. Eğer bu girişe 5 Volt üzeri bir gerilim uygulanırsa, Arduino zarar görebilir. ARDUİNO'NUN PİLLE ÇALIŞTIRILMASI Arduino harici besleme kaynaklarıyla da çalıştırılabilir. Bunun için Arduino üzerinde birbirine bağlı iki farklı giriş bulunmaktadır. Bu girişlerden ilki, yukarıdaki görselde 2 numara ile gösterilen jack girişidir. Bu girişe 7 ile 12 Volt (önerilen) arasındaki gerilimler uygulanabilir. Bu girişe bağlı regülatör (gerilim düzenleyicisi) ile girişe uygulanan gerilim, Arduino'nun çalışma gerilimine düşürülür.

Arduino üzerinde bulunan 'Vin' pini, Arduino'nun jack girişine bağlı bir pindir. Bu pine uygulanan gerilim, Arduino'ya ulaşmadan önce bu pine bağlı regülatör yardımıyla Arduino için uygun gerilime düşürülür. 'Vin' girişine 7 ile 12 Volt arasındaki gerilimler uygulanmalıdır. Pilin artı (+) ucu 'Vin' pinine bağlandıktan sonra, pilin eksi (-) ucu Arduino'nun 'GND' yani toprak ucuna bağlanmalıdır. 'Vin' pini yukarıdaki görselde 3 numara ile gösterilmiştir. Eğer bu girişlere uygulanması gereken gerilimden fazla bir gerilim uygulanırsa, Arduino zarar görebilir. ARDUİNO'NUN 5 VOLT PİNİNDEN BESLENMESİ Arduino üzerinde bulunan 5 Volt pini de Arduino'yu beslemek için kullanılabilir. Arduino yaygın olarak bu pinden beslenmese bile, buraya 5 Volt gerilim uygulandığında, Arduino'nun çalıştığı görülmektedir. Bu pine 5 Volt geriliminden fazla bir gerilim uygulanması, Arduino'nun bozulmasına neden olacaktır. Pek tercih edilmese bile, eğer elinizde düzenli olarak 5 Volt gerilim veren bir kaynak varsa, kaynağın artı (+) ucunu Arduino'nun 5 Volt, eksi (-) ucunu da Arduino'nun 'GND' yani toprak pinine bağlayarak kullanabilirsiniz. Bu pin yukarıdaki görselde 4 numara olarak gösterilmiştir. PWM NEDİR? PWM (Pulse with modulation) yani verilen sinyalin genişliğinin ayarlanması şekildeki resimde anlayabilirsiniz. PWM genellikle bir cihazi istediğimiz hızda,parlaklıkta vs.. kullanmak için tasarlanmıştır. Bilindiği gibi normalde devrede parlaklık ya da hız ayarlanmak istenildiğinde uygulanan voltaj değeri ayarlanarak sağlanır. Ama bu dijital devrelerde farklıdır çünkü çıkış ya 0 yada 5 volttur. Yani her bir clock pulse inde değer değişmez ya 0 yada 5 volt verir. Ama PWM çıkışları ile voltaj arttırılıyor ya da azaltılıyor hissi uyandırılabilir. PWMe verilen değere göre değişiklik gösterecektir. Yukardaki şekilden anlaşıldığı gibi eğer %25lik bir değer vermek istersek analogwrite(64) %50lik bir değer vermek istersek analogwrite(127) %75lik bir değer vermek istersek analogwrite(191) %100lik bir değer vermek istersek analogwrite(255) şeklinde komut veririz.

DÂHİLİ EEPROM NEDİR VE NASIL KULLANILIR? EEPROM, ihtiyacımız olan değişken verilerini tutabilen, elektriksel olarak bu verileri yazıp silebilen küçük depolama birimidir. Arduino'nun mikroişlemcisinde dâhili olarak bulunan EEPROM'a verilerimizi kaydedebilir, istediğimiz zaman bu verileri tekrar kullanabiliriz. Arduino'nun enerjisi kesilse dahi EEPROM'daki veriler silinmez. Bu özellikten dolayı Arduino'nun çalışmaya başladığında ilk olarak yapması gereken önemli işlerin verileri bu alanda depolanır. EEPROM depo alanı, Arduino'nun üzerinde bulunan mikroişlemcinin türüne göre değişmektedir. Bu alanlar projelerimiz için yeterli olacak. Yeterli olmadığı durumlarda hafıza alanının artırılması için harici EEPROM'lar da kullanılabilir. TEMEL ARDUİNO FONKSİYONLARI Fonksiyonların ne olduğunu daha önce öğrenmiştik. Arduino geliştiricileri tarafından yazılmış bazı hazır fonksiyonlar vardır. Bu fonksiyonların yardımıyla yapmak istediğimiz işlemleri daha kolay yapabiliriz. Bazı genel fonksiyonlar için herhangi bir kütüphaneye ihtiyaç yoktur. Daha özel görevler için yazılmış fonksiyonları kullanmak için, o fonksiyonun kütüphanesini dosyanıza eklemeniz gerekir. KÜTÜPHANE EKLEME Yeni bir kütüphane eklemek için kütüphane dosyalarını Arduino programını kurduğunuz dizinin altında bulunan 'libraries' klasörüne taşıyın. Eğer bu sırada Arduino programı açıksa, taşıma işlemi bittikten sonra, kapatıp yeniden açın. Dosyanın en başında kütüphaneyi projenize ekleyin. Bunun için aşağıdaki kodu kullanabilirsiniz. #include <kutuphaneadi.h> Artık kütüphanenin içerisinde bulunan fonksiyonları kullanabilirsiniz. SETUP VE LOOP FONKSİYONLARI Arduino projenizi ilk açtığınızda karşınıza iki fonksiyon çıkar. Bunlar setup ve loop fonksiyonlarıdır. Setup fonksiyonu, kod çalışmaya başladığında Arduino'nun ilk olarak okuduğu yerdir. Arduino bu kısmı okuduktan sonra diğer kısımları okumaya başlar. Bu kısım sadece bir kere okunur ve program esnasında yeniden okunmaz. Bu alanda, pinlerin çalışma modları gibi önemli ve bir kere yapılması yeterli olacak ayarlamalar yapılır.

Loop fonksiyonu, setup fonksiyonu okunduktan sonra okunur. Bu bir ana fonksiyondur ve yapılmasını istediğiniz görevler buraya yazılır. Loop fonksiyonu, sonsuz döngü şeklindedir, yani buradaki görevler tamamlandığında, program tekrar başa dönerek işlemleri yeniden yapar. Bu döngü, Arduino çalıştığı sürece devam eder. Arduino programlamadan önce kodlarınız ilk başta aşağıdaki gibi olmalıdır. void setup(){ /* Burası sadece bir kere çalışır Genel ayarlar buradan yapılır */ } void loop(){ /* Bu fonksiyon sonsuza kadar çalışır Arduino'nun yapması gereken işlemler buraya yazılır */ } PinMode: Arduino kartı üzerinde bulunan pinleri çıkış veya giriş olarak tanımlayabilirsiniz. Giriş olarak tanımlanmış pinler düğme gibi elemanlar için kullanılırken, çıkış olarak tanımlanmış pinler ise LED gibi elemanlar için kullanılır. Programın en başında (Setup içerisinde), kullanılacak pinler ayarlanmalıdır. Bunun için aşağıdaki kod kullanılır: pinmode(13,output); Böylece 13. Pin çıkış olarak tanımlanır. Giriş olarak tanımlanması için OUTPUT yerine INPUT yazılması gerekir. DigitalWrite: Çıkış olarak tanımlanmış pinlerden enerji vermek için veya enerji vermeyi durdurmak için kullanılır. Örneğin: digitalwrite(13,high); Böylece, daha önce çıkış olarak tanımlanmış 13 numaralı pinden enerji çıkışı sağlanır. Enerji çıkışı durdurulmak istenildiğinde HIGH yerine LOW yazılması yeterlidir.

AnalogWrite: Seçilen pinde PWM sinyalinin üretilmesini sağlar. PWM sinyalinin görev zamanı (Duty cycle) fonksiyona verilen değer ile belirlenir. Örneğin bu pine bağlanan bir LED ışığının parlaklığı verilen PWM sinyali ile ayarlanabilir. analogwrite(ledpin, 175); Seçilen pinlerde PWM desteği bulunmasına dikkat edilmelidir. Bu konu ilerleyen konularda daha detaylı olarak incelenecektir. DigitalRead: Daha önce giriş olarak tanımlanmış bir pinin girişindeki gerilimin yüksek (5 volta yakın) veya düşük (0 volta yakın) olduğu anlaşılır. Örneğin daha önceden giriş olarak tanımlanmış 13 nolu pindeki durumu daha önceden tanımlanmış 'durum' değişkenine yazdıralım durum = digitalread(13); 13 numaralı pindeki gerilim 5 volta yakın ise 'durum' değişkeni 1 (HIGH), 0 volta yakın ise 0 (LOW) olmuştur. AnalogRead: Bir önceki fonksiyon ile 13 numaralı pindeki gerilimin 5 veya 0 olmasını ölçtük. digitalread fonksiyonu, 0 ve 5 volt arasındaki gerilimlerin tam değerini ölçemez. 0 ve 5 volt arasındaki gerilimin tam değerinin ölçülmesi için analogread fonksiyonu kullanılmalıdır. Fakat bu fonksiyon, tüm pinler için kullanılamaz. Bu fonksiyonun kullanılabileceği özel pinler vardır. Bunlara analog pinler denir ve genellikle A harfi ile başlarlar: A0, A1, A2 gibi. Kullanılan Arduino türüne göre bu pinlerin sayısı değişiklik gösterir. Arduino Uno'da 6, Arduino Mega'da 16 tane analog giriş bulunur. Kullanılacak analog pin, öncelikle giriş olarak tanımlanmalıdır: pinmode(a0,input) Örneğin A0'daki değeri 'analogdeger' değişkenine kaydedelim. A0'daki gerilim 10 bit olarak kaydedilecektir. Bu durumu ilerleyen bölümlerde daha detaylı olarak göreceğiz. analogdeger = analogread(a0); Delay: İki kod arasında bir süre beklenmesi istenirse, delay fonksiyonu kullanılır. Örneğin yanıp sönen lamba uygulaması yapılmak istenirse, lamba yakıp söndürme kodları arasında bekleme amacıyla delay fonksiyonu kullanılır. Delay fonksiyonunun içerisine yazılan değer milisaniye düzeyindedir. Bir saniyelik bir bekleme için fonksiyona 1000 değeri verilmelidir. Örneğin yarım saniyelik bir bekleme kodu yazalım; delay(500);

KAYNAKLAR http://arduinoturkiye.com/ http://arduino.nedir.com Scratch ile Arduino Programlama E-Kitap (Mahmut BORA KARAKUŞ) https://gelecegiyazanlar.turkcell.com.tr/