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

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

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

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

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

Bilgisayar ile Nasıl İletişim Kurulur?

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

Arduino Temel Bilgiler

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

IOT UYGULAMALARINA GİRİŞ

VTIY DERS-4 YARDIMCI NOTLARI -2018

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

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

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

BÖLÜM Mikrodenetleyicisine Giriş

DENEY-7. SABANCI ATL ÖĞRETMENLERİNDEN YAVUZ AYDIN ve UMUT MAYETİN'E VERDİKLERİ DESTEK İÇİN TEŞEKKÜR EDİYORUZ

Mikroişlemciler ve Mikrodenetleyiciler

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

1- KULLANILACAK DEVRE ELEMANLARININ TANITILMASI

DENEY-2. SABANCI ATL ÖĞRETMENLERİNDEN YAVUZ AYDIN ve UMUT MAYETİN'E VERDİKLERİ DESTEK İÇİN TEŞEKKÜR EDİYORUZ

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

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

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

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

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

Endüstri 4.0 ve Nesnelerin Interneti

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

EEM 419-Mikroişlemciler Güz 2017

Genişleme Modülleri. Dijital Çıkış Genişleme Modülü. Kullanım Kılavuzu. 1 Genişleme Modülleri Dijital Çıkış Genişleme Modülü

Mikroişlemciler. Microchip PIC

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

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

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

BESLEME KARTI RF ALICI KARTI

DENEY-1. SABANCI ATL ÖĞRETMENLERİNDEN YAVUZ AYDIN ve UMUT MAYETİN'E VERDİKLERİ DESTEK İÇİN TEŞEKKÜR EDİYORUZ

idea rsbasic KOMUTLARI

ARDUİNO PROGRAMLAMA 1.ARDUİNO YU TANIMAK

ADUC841 MİKRODENETLEYİCİ TABANLI GELİŞTİRME KARTININ TANITIMI:

Giyilebilir Teknolojiler ve Solar Enerjili Şapka Uygulaması

FPGA İLE UYGULAMA ÖRNEKLERİ

DENEY 10-A : PIC 16F877 ile DARBE GENİŞLİK MODÜLASYONU (PWM) SİNYAL KONTROL UYGULAMASI

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

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. ARDUINO LCD ve Sensör Uygulamaları

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

2019

DENEY 9-A : PIC 16F877 ve LM-35 ile SICAKLIK ÖLÇÜM UYGULAMASI

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

EasyPic 6 Deney Seti Tanıtımı

Haftalık Ders Saati Okul Eğitimi Süresi

İçindekiler FPGA GELİŞTİRME KARTI ENERJİ BESLEMESİ:... 5 ENERJİ SİSTEMİ ŞEMASI:... 5 FPGA GELİŞTİRME KARTINA PROGRAM YÜKLEME:... 6

Online Elektronik Devre Simülasyonu 123D Circuits

Mikroişlemci ile Analog-Sayısal Dönüştürücü (ADC)

MEB YÖK MESLEK YÜKSEKOKULLARI PROGRAM GELİŞTİRME PROJESİ

Analog Sayısal Dönüşüm

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

Fatih Üniversitesi Elektrik ve Elektronik Mühendisliği Bölümü EEM 316 Haberleşme I LAB SINAVI DARBE GENLİK MODÜLASYONU (PWM)

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

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

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

DOKUMANLAR

MİKROİŞLEMCİ İLE A/D DÖNÜŞÜMÜ

Deney 10: Analog - Dijital Dönüştürücüler (Analog to Digital Converters - ADC) Giriş

Algılayıcılar / Transmitter

Teknik Katalog [Avometre]

DERS 3 MİKROİŞLEMCİ SİSTEM MİMARİSİ. İçerik

ROBOTECH-10 ARDUINO UYGULAMA KARTI. SENSÖR ve ROBOT TEKNOLOJİLERİ GELİŞTİRME KARTI

8051 Ailesi MCS51 ailesinin orijinal bir üyesidir ve bu ailenin çekirdeğini oluşturur çekirdeğinin temel özellikkleri aşağıda verilmiştir:

6. DİJİTAL / ANALOG VE ANALOG /DİJİTAL ÇEVİRİCİLER 1

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

MikroiĢlemci ile Analog-Sayısal DönüĢtürücü (ADC)

Şekil-1. Dr. Özgür AKIN

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

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

Deneyde Gerekli olan Malzemeler: Arduino Uno, 8.2 k direnç, buton, bağlantı kabloları

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

TUŞ TAKIMI (KEYPAD) UYGULAMALARI

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

Hızlı ve Kolay Arduıno. Volkan Kanat

INVT IVC1. -Kompakt Tip PLC. Marketing 2014 HM

1. Ders Giriş. Mikroişlemcili Sistem Uygulamaları

KONTROL VE OTOMASYON KULÜBÜ

Mikroişlemci Nedir? Mikrodenetleyici Nedir? Mikroişlemci iç yapısı Ders Giriş. Mikroişlemcili Sistem Uygulamaları

KOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ

P-100 P-101. Bağlantı Şeması. İstanbul Yazılım ve Elektronik Teknolojileri

İSTANBUL TİCARET ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ MİKROİŞLEMCİLİ SİSTEM LABORATUARI MİKROİŞLEMCİLİ A/D DÖNÜŞTÜRÜCÜ

FPGA İLE UYGULAMA ÖRNEKLERİ FPGA ile Seri Haberleşme (RS232) Uygulaması

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

Ek bilgi Internet:.../cecx

DENEY NO : 4 DENEY ADI : Darbe Genişlik Demodülatörleri

RS 232 veya 485 seri port. Kapı manyetiği girişi

Terminal Üzerinden Led Kontrol Uygulaması

SAYISAL ELEKTRONİK. Ege Üniversitesi Ege MYO Mekatronik Programı

BMÜ-111 Algoritma ve Programlama. Bölüm 5. Tek Boyutlu Diziler

MİLLİ SAVUNMA ÜNİVERSİTESİ KARA HARP OKULU DEKANLIĞI BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ DERS TANITIM BİLGİLERİ

MİKROİŞLEMCİLER LABORATUVARI İÇİN PROGRAM DERLEME VE YÜKLEME DOKÜMANI

ELEKTRİK ELEKTRONİK MÜHENDİSLİĞİ SAYISAL TASARIM LABORATUVARI DENEY 6 ANALOG/DİGİTAL DÖNÜŞTÜRÜCÜ. Grup Numara Ad Soyad RAPORU HAZIRLAYAN:

ATB50. Bilgi Dokümanı. ATB50v1 GPRS / GPS Tabanlı Filo Yönetim Terminali. 1

ATB100. ATB100 GPRS / GPS Tabanlı Filo Yönetim Terminali. Bilgi Dokümanı. 1

5.Eğitim E205. PIC16F628 ve PIC16F877 Hakkında Genel Bilgi IF THEN ELSE ENDIF HIGH-LOW GOTO-END- PAUSE Komutları Tanıtımı ve Kullanımı PIC16F628:

Birol Çapa Özen Özkaya Güz Dönemi Eğitimleri

Transkript:

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

İÇERİK Arduino Nedir? Arduino IDE Yazılımı Arduino Donanım Yapısı Elektronik Bilgisi Arduino Programlama Yapısı

ARDUİNO NEDİR? Arduino, çok çeşitli uygulamalar için tasarlanmış, tekrar tekrar programlanabilen ve açık kaynak (open-source) yazılımlarla desteklenen bir fiziksel programlama (donanım + yazılım) platformudur. Arduino uygulamalarındaki genel amaç, bu platform ile kurulan bir sistemin giriş sinyalini (input), mikrodenetleyicideki yazılımla değerlendirerek bir çıkış sinyali (output) oluşturmaktır.

Arduino IDE Yazılımı Arduino IDE (Integrated Development Environment / Bütünleşik Geliştirme Ortamı), programcının bilgisayar ortamında oluşturacağı programı yazmasına, programda değişiklik yapmasına, programı derlemesine ve donanıma yüklemesine yardımcı olur.

ARDUİNO DONANIM YAPISI Arduino Mega2560 5 V giriş gerilimiyle çalışır. Bilgisayar USB bağlantısı, priz ya da harici bir DC kaynakla gerilim beslemesi yapılabilir. 54 adet dijital (14 adet PWM için), 16 adet analog giriş/çıkış ucu, 4 adet de seri haberleşme bağlantı ucu vardır 16 MHz kristal osilatör devresi bulunur (devre kartı üzerindeki her bir elemanın çalışması için gerekli türde ve sayıda sinyal üretmek için kullanılır). Ayrıca güç besleme ünitesi ve USB seri haberleşme dönüştürücü devresi bulunur.

ARDUİNO GİRİŞ/ÇIKIŞ UÇLARI 54 adet dijital uç, önceden belirlenmiş fonksiyonlarla giriş ya da çıkış olarak kullanılabilir. Her bir uç 5V ile çalışır ve maksimum 40 ma üretebilir. Özel amaçlı olarak kullanılan bazı dijital giriş çıkış uçları şunlardır:

ARDUİNO GİRİŞ/ÇIKIŞ UÇLARI RX TX Uçları Seri veri haberleşmesi için kullanılır. RX (Receive X), veri alan uç, TX (Transmit X) ise veriyi ileten uç olarak adlandırılır. Bu uçlar kart üzerinde sırasyıla 0. ve 1. pin (RX0 - TX0); 19. ve 18. pin (RX1 - TX1); 17. ve 16. pin (RX2 - TX2); 15. ve 14. pin (RX3 - TX3) üzerinde bulunmaktadır. Aynı zamanda USB-seri haberleşme dönüştürücü devresinde karşılık gelen uçlara da bağlıdır.

ARDUİNO GİRİŞ/ÇIKIŞ UÇLARI Harici Kesme (Interrupt) Kesme (interrupt), mikroişlemcinin, sistemin girişinde anden oluşabilecek bir değişiklikte vermesi gereken tepkiyi belirleyen program kesitidir. Kesme 0-5 uçları sırasıyla 2,3,21,20,19 ve 18, uçlarda bulunmaktadır.

ARDUİNO GİRİŞ/ÇIKIŞ UÇLARI PWM Uçları PWM (Pulse Width Modulation - Darbe Genişlik Modülasyonu) sinyali, periyodik bir kare dalga sinyalin bir periyot içerisinde 1 ve 0 olma sürelerinin (duty cycle görev döngüsü / doluluk oranı) değiştirilmesi tekniğiyle elde edilen bir sinyaldir. PWM uçları devre üzerinde 0 13 pinleri üzerinde bulunmaktadır.

ARDUİNO GİRİŞ/ÇIKIŞ UÇLARI Diğer Dijital Giriş/Çıkış Uçları Devre kartı üzerinde ayrıca, devrenin bir ya da daha fazla çevresel aygıtla en kısa yoldan seri haberleşmesini sağlayan SPI uçları, 13 numaralı pine bağlı bir LED ucu ve bir den fazla çevresel aygıtın (LCD ekran, hafıza kartı, sensörler vb.) devre kartına tek bir kanaldan paralel olarak bağlanmasını sağlayan bir de I2C uçları bulunmaktadır.

ARDUİNO GİRİŞ/ÇIKIŞ UÇLARI Analog Giriş/Çıkış Uçları Mega 2560'ın her biri 10 bitlik (2^10 = 1024 adet veri) kapasitesinde olan 16 adet analog giriş/çıkış ucu vardır. Bu pinler genellikle dış ortamdaki sensör bilgisini ölçmek için kullanılır. Her bir uç girişindeki 0 5V arası gerilim değerini ölçer (her bir bit 5/1024 ~= 4,88 mv değerine karşılık gelir).

ELEKTRONİK BİLGİSİ Devre Bağlantı Şemaları LED Bağlantısı

ELEKTRONİK BİLGİSİ Devre Bağlantı Şemaları Buton Bağlantısı

ELEKTRONİK BİLGİSİ Devre Bağlantı Şemaları Potansiyometre Bağlantısı

ARDUİNO PROGRAMLAMA YAPISI Program Ana Yapısı C tabanlıdır ve birçok özelliğiyle bu programlama diline benzerlik gösterir. Arduino'nun programlama dili oldukça basit ve kullanımı kolaydır. Program yapısı, temel olarak setup ve loop adında iki zorunlu kısımdan oluşur. Bu iki fonsiyon olmadan Arduino IDE ile programlama yapılamaz.

ARDUİNO PROGRAMLAMA YAPISI void setup() { //Kodu buraya yazınız } void loop() { //Kodu buraya yazınız }

ARDUİNO PROGRAMLAMA YAPISI setup() fonksiyonu Döngüye girecek program için gerekli hazırlıkların yapıldığı kısımdır ve program yürütüldüğü süre boyunca bir defa çalıştırılır. Uç ataması, seri haberleşmenin başlatılması veya kütüphanelerin kullanılmaya başlanması bu kısımda gerçekleştirilir.

ARDUİNO PROGRAMLAMA YAPISI setup() fonksiyonu Bu fonksiyon içinde hiçbirşey yazılmasa bile programda bulundurulması zorunludur. Örneğin aşağıdaki satırlar 13 numaralı pini çıkış olarak belirler ve program çalıştırıldığı andan itibaren bir defa çalıştırılır. } void setup() { pinmode(13, OUTPUT); //13 numaralı pini çıkış olarak atar

ARDUİNO PROGRAMLAMA YAPISI loop() fonksiyonu Program işlevinin asıl yürütüldüğü kısımdır ve setup() fonksiyonunu aksine bir döngü içerisinde sürekli çalıştırılır. Örneğin analog giriş olarak atanmış bir uçtaki sinyal girişinin beklenmesi ve okunması veya dijital çıkış olarak atanmış bir uçta, okunan analog sinyale göre bir çıkış oluşturulması loop() fonksiyonu içinde gerçekleştirilir.

ARDUİNO PROGRAMLAMA YAPISI loop() fonksiyonu Aşağıdaki program satırları bir önceki örnekte atanan çıkış ucuna 1 (HIGH) ve 0 (LOW) değerlerini yazdırır. int ledpini = 13; void loop() { } digitalwrite(ledpini, HIGH); // LED'i yakar delay(1000); // 1 sn bekler digitalwrite(ledpini, HIGH); // LED'i söndürür delay(1000); // 1 sn bekler

ARDUİNO PROGRAMLAMA YAPISI Bazı Fonksiyonlar Dijital G/Ç Fonksiyonları Dijital çıkışları atama, okuma ve çıkışlara yazma işlevlerinin yapıldığı Arduino fonksiyonlarıdır. Bazı fonksiyonlar şunlardır; pinmode() fonksiyonu: Parantez içinde belirtilen pini, giriş (INPUT), pull-up dirençli giriş (INPUT_PULLUP) ya da çıkış (OUTPUT) olarak atamak için kullanılır. pinmode(pin, durum);

ARDUİNO PROGRAMLAMA YAPISI Bazı Fonksiyonlar digitalread() fonksiyonu: Parantez içinde belirtilen pinin değerini okur. HIGH ya da LOW sonucunu verir. digitalread(pin); digitalwrite() fonksiyonu: Parantez içinde belirtilen dijital pine HIGH ya da LOW değerini yazar. digitalwrite(pin, deger);

ARDUİNO PROGRAMLAMA YAPISI Bazı Fonksiyonlar Analog G/Ç Fonksiyonları Analog pinlerden değer okuma, pinlere değer yazma ya da referans analog değer oluşturma işlevlerinin yapıldığı Arduino fonksiyonlarıdır. Bazı fonksiyonlar şunlardır; analogread() fonksiyonu: Parantez içinde belirtilen pindeki gerilimi okur. analogread(pin);

ARDUİNO PROGRAMLAMA YAPISI Bazı Fonksiyonlar NOT: Mega2560'da 16 adet analog giriş ve bir adet 10 bitlik ADC bulunur. ADC sayesinde 0-5V arası gerilim değerleri ikilik değerlere dönüştürülür. ADC 10 bitlik olduğu için değer aralığı 0 ile 2^10 1 arasındadır. İki değer arası 4,88 mv dir. ADC hesaplaması şu şekildedir: Dijital_deger ~= (Analog/5)*1023

ARDUİNO PROGRAMLAMA YAPISI - İşlemler

ARDUİNO PROGRAMLAMA YAPISI - İşlemler

ARDUİNO PROGRAMLAMA YAPISI - İşlemler

ARDUİNO PROGRAMLAMA YAPISI - İşlemler

ARDUİNO PROGRAMLAMA YAPISI - İşlemler

KONTROL YAPILARI Arduino'da kullanılan bazı kontrol yapıları şu şekildedir; if (koşul) Yapısı Bu yapı, programcılıkta sıklıkla kullanılır. Parantez içindeki ifadenin doğruluğunu kontrol eder ve bu ifadenin doğruluğuna göre sonuç oluşturur. Kullanımı aşağıdaki gibidir; if(kosul ifadesi) { } //ifadenin dogru olmasi durumunda calistirilacak kisim

KONTROL YAPILARI İf yapısı birden fazla koşul ifadeleriyle birlikte de kullanılır; if(birinci kosul ifadesi) { //birinci ifadenin dogru olma durumu } else if(ikinci kosul ifadesi) { //ikinci ifadenin dogru olma durumu } Else{ } //yukaridaki iki ifadenin de dogru olmadigi tum durumlar

KONTROL YAPILARI for Döngüsü Programcılıkta sıklıkla kullanılan diğer bir yapıdır. for döngüsü belli bir algoritmayı (iki küme parantezi ({}) içinde kalan kod bloğu) parantez içinde belirtilen ifadeye göre tekrar eden bir döngü türüdür. Kullanımı şöyledir; for (sayac_baslangic_degeri; kosul ifadesi; artma/azalma_miktari) { //kod blogu }

KONTROL YAPILARI Örneğin aşağıdaki programda for döngüsü kullanılarak 10 numaralı PWM girişine bağlı bir LED'in parklaklığını kademeli olarak değiştirilmektedir. int PWMpin = 10; void setup() { //bu ornek icin setup fonksiyonuna gerek yoktur } void loop() { for (int i=0; i <= 255; i++){ analogwrite(pwmpin, i); delay(10); } }

KONTROL YAPILARI while Döngüsü Yaygın olarak kullanılan diğer bir döngü türüdür. Parantez içindeki parantez içinde belirlenen koşullu ifadenin doğruluğu müddetince kodlanan algoritma çalışmaya devam eder. Kullanımı şöyledir; while (kosul_ifadesi) { //kosul_ifadesini dogrulugu aninda calistiracak kisim }