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



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

2 PYTHON A GIRIŞ 13 PyCharm İle Python Projesi Oluşturma 15 Projenin Çalıştırılması 18 İlk Python Programımız 19 Açıklama Satırları 21

2 ALGORİTMA VE AKIŞ DİYAGRAMLARI

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

1 GİRİŞ 1 C# Hakkında Genel Bilgiler 1.Net Framework 1 CLR 2 CLR Ve CTS 2 Temel Sınıf Kütüphanesi 3 CIL 3 Algoritma Nedir? 4 Sözde Kod (Pseudocode) 5

=~ Metodu 92 Karakter Sınıfları 94 sub ve gsub metotları 101 Hızlı Tekrar 102 Kontrol Noktası 103 Düello 106 Sonraki Bölümde 109

2 VISUAL STUDIO 2012 GELİŞTİRME ORTAMI

ARDUINO PROGRAMLAMA KİTABI

KONTROL VE OTOMASYON KULÜBÜ

1 JAVASCRIPT NEDİR? 1

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

1 PROGRAMLAMAYA GİRİŞ

Görsel Programlama DERS 03. Görsel Programlama - Ders03/ 1

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

IOT UYGULAMALARINA GİRİŞ

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

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

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

EEM 419-Mikroişlemciler Güz 2017

Çoktan Seçmeli Değerlendirme Soruları Akış Şemaları İle Algoritma Geliştirme Örnekleri Giriş 39 1.Gündelik Hayattan Algoritma Örnekleri 39 2.Say

C# Yazım Kuralları ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 1 FEHİM KÖYLÜ

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

Bölüm 2 - C ile Programlamaya Giriş

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

Yazılım Nedir? 2. Yazılımın Tarihçesi 3. Yazılım Grupları 4 Sistem Yazılımları 4 Kullanıcı Yazılımları 5. Yazılımın Önemi 6

1. Direnç 2. Akım 3. Gerilim 4. Kapasitans 5. Endüktans 6. Frekans

Örnek 4: Örnek Özyinelemeli fonksiyon örneği Bölüm 9. C++ programlama dilinde Nesne ve sınıf

VTIY DERS-4 YARDIMCI NOTLARI -2018

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

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

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

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

Doç. Dr. Cüneyt BAYILMIŞ

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

1 NEDEN PROGRAMLAMA ÖĞRENMELIYIZ?

1 C#.NET GELİŞTİRME ORTAMI 1 Visual Studio 2015 Arayüzü 4 Menu Window 6 Solution Explorer 7 Properties Window 8 Server Explorer 8 Toolbox 9

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

BMT 101 Algoritma ve Programlama I 6. Hafta. Yük. Müh. Köksal Gündoğdu 1

Nesne Tabanlı Programlama

ARDUİNO PROGRAMLAMA 1.ARDUİNO YU TANIMAK

/*int sayi1, sayi2,toplam=0;

İLERI MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı

BİLG Dr. Mustafa T. Babagil 1

Kodlanacak programlama dilinin kaynaklarından faydalanılarak kod yazımı yapılır.

1 RUBY HAKINDA 1 Ruby nin Gelişim Hikayesi 1 Neden Ruby? 1 Neden Bu Kadar Popüler? 2

1. Aşağıdaki program parçacığını çalıştırdığınızda result ve param değişkenlerinin aldığı en son değerleri ve programın çıktısını yazınız.

Programlama Dilleri. C Dili. Programlama Dilleri-ders02/ 1

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

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

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İ

Arduino Temel Bilgiler

3/7/2011. ENF-102 Jeoloji 1. Tekrar -- Değişken Tanımlamaları (Definition) ve Veri Türleri (Data Type) Veri Tanımları ve Mantıksal Đşlemler

Kodlanacak programlama dilinin kaynaklarından faydalanılarak kod yazımı yapılır.

1 GİRİŞ 1 Bu Kitap Kimlere Hitap Eder 1 Kitabın İşleyişi 2 Kitabın Konuları 3 Kitabı Takip Etmek İçin Gerekenler 6 Kaynak Kodu ve Simülasyonlar 6

BÖLÜM 1: MİKRODENETLEYİCİLER

YZM 2105 Nesneye Yönelik Programlama

1- KULLANILACAK DEVRE ELEMANLARININ TANITILMASI

Değişkenler. Geçerli değişken isimleri : baslamazamani, ad_soyad, x5 Geçersiz değişken isimleri : 3x, while

EBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA

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

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

WEB PROGRAMLAMA. PHP Temelleri 2. Dr. Erman Yukselturk

Operatör panelleri FED

Bilgisayar ile Nasıl İletişim Kurulur?

PIC MİKRODENETLEYİCİLER İÇİN. mikrobasic DERLEYİCİSİ

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

MEHMET AKİF ERSOY ÜNİVERSİTESİ EĞİTİM FAKÜLTESİ BİLGİSAYAR VE ÖĞRETİM TEKNOLOJİ- LERİ ÖĞRETMENLİĞİ PROJENIN ADI

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

FBs-serisi. Programlanabilir Kontrol Cihazı. Kullanım Kitabı - II [ İleri Düzey Uygulamalar. Önsöz, İçerik. FBs-PLC Interrupt Fonksiyonu 9

Görsel Programlama 1

BĠLGĠSAYAR PROGRAMLAMA II C++ Programlamaya GiriĢ Published by Juan Soulié

Nesne Tabanlı Programlama

PROGRAMLAMAYA GİRİŞ DERS 2

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

PIC Programlama. Devrim Çamoğlu

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

C++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK Kullanılacak kaynak: Published by Juan Soulié

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 2

JAVA DEĞİŞKEN VE OPERATÖRLER. M.İLKUÇAR - 1

B02.6 Karar Verme, Eşitlik ve Bağıntı Operatörleri

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

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

KURULUMU İşletim Sistemi kurulumlarını(win7,pardus) bilgisayar üzerinde uygulama Bilişim Teknolojilerinin Temelleri Dersi Egzersizleri

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

Akış Konrol Mekanizmaları

İ İŞİ 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İŞ

İLERI MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı

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

Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

Java da Program Denetimi ve Operatörler

TUŞ TAKIMI (KEYPAD) UYGULAMALARI

Önsöz. İçindekiler Algoritma Algoritma Nasıl Hazırlanır? Yazılımda Algoritma Mantığı Nedir? 1.2. Algoritma Örnekleri ve Sorular

Ruby. Prof.Dr.Timur Karaçay Başkent Üniversitesi

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

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

Programlama Dilleri 3

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-8 Değişken Tipleri ve Temel Giriş/Çıkış İşlemleri

DOKUMANLAR

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

Transkript:

İÇİNDEKİLER VII İÇİNDEKİLER 1 ARDUINONUN TEMELLERİ 1 Mikrodenetleyiciler ve Arduino 2 Mikrodenetleyiciler 2 Atmel AVR Mikrodenetleyicileri 3 Avr ve RISC Mimarisi 4 Neden Arduino? 5 Arduino Geliştirme Ortamı 7 Arduino Kartları 7 Arduinonun İşlevselliği 8 Arduino Uno Kartı 8 Atmel Mikrodenetleyicileri 8 Programlama Arayüzü 9 Genel Amaçlı Giriş/Çıkış Pinleri ve ADC 10 Güç Kaynakları 10 Arduino Bootloader ve Firmware Yükleme 10 Arduino IDE yi Çalıştırma ve Arduino Karta Bağlanma 16 File 18 Upload 19 Edit 19 Copy for Forum 19 Copy as Html 20 Sketch 20 Verify/Compile 20 Show Sketch Folder 20 Add File... 20 Import Library 21 Tools 21 Auto Format 21

VIII ARDUINO Archive Sketch 21 Board 21 Serial Port 21 Programmer 21 Burn Bootloader 22 Program (Sketch) Yazma ve Çalıştırma 22 2 C İLE ARDUINO PROGRAMLAMA 27 Programlamaya Giriş 27 Program nedir? 27 C Dili 29 Arduino Kütüphanesi ve Diğer Kütüphanelerin Kullanımı 31 Serial Monitörün Kullanılması 33 Baud Rate Kavramı 33 Arduino ile Seri İletişim 33 C nin Temelleri 36 Değişkenler 36 Veri Türleri 39 boolean 40 Char 41 unsigned char 41 byte 41 int 42 unsigned int 42 word 42 Long 42 unsigned Long 43 Short 43 float 43 double 43 string 44

İÇİNDEKİLER IX string dizileri 45 String Sınıfı 45 String Yapıcılar 46 String Birleştirme ve Ekleme Operatorü 46 String IndexOf 47 String Length() ve Trim() Metodları 48 String Case Değişim Metodları 48 String Replace Metodu 49 String Karakter Metodları 49 String StartsWith() ve EndsWith() Metodları 50 String Karşılaştırma Operatörleri 51 String Substring() Metodu 52 Diziler 52 Bir Dizinin Elemanlarına Ulaşmak 53 Dizi Elemanına Değer Verme 54 Dizi Elemanının Değerini Okuma 54 Diziler ve for Döngüsü 55 Tür Dönüşümleri 55 Açık ve Gizli Tür Dönüşümleri 56 Gizli Tür Dönüşümü 56 Açık Tür Dönüşümleri 57 char() 57 byte() 57 int() 57 word() 57 long() 58 float() 58 Niteleyiciler 59 Scope (Global) Değişkenler 59 Static Niteliyicisi 59

X ARDUINO const 60 #define yada const kullanmak 60 volatile 60 void 61 C de Yapılar(Structures) 62 Setup() 62 loop() 62 Kontrol Yapıları 63 İf Kontrol Yapısı 63 Karşılaştırma Operatörleri 64 if / else 65 For Döngüsü 66 Switch/case Yapısı 68 While Döngüsü 70 do-while döngüsü 71 Break, Return, GoTo, Continue Anahtar İfadeleri 71 Break 71 Continue 71 Return 72 Go to 73 Operatörler 73 Aritmetik Operatörler 74 Toplama, Çıkarma, Çarpma ve Bölme İşlemleri 74 % Mod Alma 74 Mantıksal Operatörler 75 &&(Mantıksal VE) 75 (Mantıksal VEYA) 75!(NOT-değil) 75 Bitsel Operatörler 75 VE (&) 75

İÇİNDEKİLER XI VEYA ( ) 76 ÖZEL VEYA -XOR-(^) 76 BİTSEL DEĞİL-NOT (~) 77 Birleşik Operatörler 78 Artırım ++ / Azaltım -- Operatörleri (+=, -=, *=, /=) 78 Bitsel AND (&=) 79 Fonksiyonlar (Functions) 79 Dijital Giriş/ Çıkış Metodları 81 PinMode() Metodu 81 DigitalWrite() 81 DigitalRead() 82 Analog Giriş/Çıkış Metodları 83 AnalogReference(type) 83 AnalogRead() 84 AnalogWrite()-PWM 85 Gelişmiş Giriş/Çıkış Metodları 87 Tone() 87 NoTone() 87 PulseIn() 87 Gecikme Fonsiyonları 88 Milis() 88 Micros() 89 Delay() 90 DelayMicroSeconds() 90 Matematiksel Metodlar 91 min(x,y) 91 max(x,y) 92 abs(x) 92 constrain(x, a, b) 92 Map 92

XII ARDUINO pow(base, exponent) 93 sqrt(x) 93 Trigonometrik Metodlar 93 sin(rad) 93 cos(rad) 93 tan(rad) 93 Random (Rasgele)Sayılar 94 Bit ve Byte Metodları 94 LowByte(x) 94 HighByte(x) 94 BitRead() 94 BitWrite(x,y,z) 95 BitSet(x,n) 95 BitClear(x,n) 95 3 DIGITAL GİRİŞ / ÇIKIŞ VE PWM 97 Dijital Çıkışlar 97 BreadBoard Üzerine Devre Kurulumu 98 Led Nedir? 98 Dijital Çıkışların Programlanması 101 Döngülerin Kullanımı 102 PWM (Pulse Width Modulation - Darbe Genişlikli Modulasyon) Kullanımı 105 Dijital Girişler 107 Dijital Girişlerin Pulldown Direnci Üzerinden Okunması 107 Butonlarla Çalışmak 109 Buton ile RGB Led Kontrolü 112 4 SENSÖRLER VE ANALOG-DİGİTAL ÇEVİRİCİLERLE ÇALIŞMAK 117 Analog ve Dijital Veriler 117 Analog ve Dijital Verilerin Karşılaştırılması 119 Analog Verilerin Dijitale Dönüştürülmesi 120

İÇİNDEKİLER XIII Sampling (Örnekleme-Örnek Alma) 121 Sample Rate (Örnekleme Oranı) 121 Çözünürlük 122 Analog Sensörler ve AnalogRead() 123 Sensör Çeşitleri 123 Ölçülen Değerin Veriye Dönüşmesi 123 Analog Sensörlerin Okunması 124 Potansiyometreden Değer Okumak 124 Analog Sensörlerin Kullanımı 127 Su Seviye Ölçümü 128 Sharp Sensör İle Nesne Algılama 131 3 Eksenli İvme Ölçer Kullanımı 135 Kendi Sensörümüzü Yapalım 140 NTC ile Sıcaklık Göstergesi 141 LDR ile Işık Seviyesi Algılama 144 5 ARDUINO İLE DC MOTOR UYGULAMALARI 149 DC Motorların Çalışması 149 Endüktif Yükler ve Yüksek Akım 151 Transistörün Anahtar Olarak Kullanılması 152 Koruma Diyotunun Kullanılması 153 Harici Güç Kaynağı İle Motor Kontrolü 153 PWM ile DC Motor Hız Kontrolü 154 H-Köprüsü Kullanarak DC Motor Yön Kontrolü 157 Step Motorların Kontrolü 162 Servo Motor Kontrolü 173 Sürekli Dönebilen ve Standart Servolar Arasındaki Fark 173 Servo Motor Kontrolü 174 6 ARDUINO VE SERİ PORT KULLANIMI 179 Arduino İle Seri İletişim 179

XIV ARDUINO Arduino Kartlarda USB-RS232 (Seri Port) Dönüştürmede FTDI Kullanımı 180 Arduino Kartlarda Mikrodenetleyici 182 Üzerinden USB-RS232 Dönüştürücü Kullanımı 182 Kendinden USB Destekli Arduino Kartları 183 Arduino Kartların USB-Host Yetenekleri 183 Arduino İle Bilgisayara Veri Gönderme 184 Print İfadesi Kullanımı 184 Özel Karakterlerin Kullanımı 186 Gönderilen Verinin Formatının Değiştirilmesi 188 Arduino ile Konuşan Uygulamalar 189 Bilgisayardan ya da Başka Serial Cihazdan Gelen Veriyi Okumak 189 Sayısal Veriler ve Char Türü Arasındaki Farklar 191 Tek Karakter Göndererek LED Kontrolü 192 C# İle Arduino İletişim 196 C# ile Seri Porta Veri Gönderme 197 C# ile Seri Port tan Veri Okuma 198 Arduino Leonardonun Kullanımı 202 Arduino Leonardo ile Klavye Emulatörü 202 Arduino Leonardo ile Tuş Kombinasyonu Göndermek 205 Leonardo ile Mouse Emulatorü 207 7 INTERRUPT (KESME) KULLANIMI 211 Donanım Interrupt larının Kullanımı 213 Timer Interrupt larının Kullanımı 216 Timer Çeşitleri 217 Timer Ayarları ve Çalıştırma 217 TimerOne Kütüphanesi İle Timer1 Kontrolü 224 8 I 2 C VERİ YOLU 225 I 2 C nin Tarihçesi 225 I 2 C Donanımı 226

İÇİNDEKİLER XV RTC ile Gerçek Zaman Bilgisini Almak ve Ayarlamak 229 Harici EEPROM la Çalışmak 236 9 SPI VERİYOLU KULLANIMI 243 SPI Veriyolunun Çalışması 243 SPI Donanımı 245 SPI Kullanarak LCD Ekran Veri Yazdırma 246 10 ARDUINO İLE LCD / TFT EKRAN UYGULAMALARI 253 LCD Ekran Ayarları 253 LCD Ekrana Veri Göndermek 255 Ekrana Veri Yazdırma 256 I 2 C ile Seri Olarak LCD Ekrana Veri Yazdırma 259 Arduino ile Dokunmatik TFT Ekran Kullanımı 266 Dokunmatik Ekran ile Port Kontrolü 273 SD Kart a Veri Yazma ve Okuma 279 11 ARDUINO İLE İNTERNET 289 ENC28J60 Ethernet Modülü Ve Network 289 IP ve Mac Adresini Yapılandırma 292 Web Sayfasında Veri Görüntüleme 300 Web Sayfasından Veri Okuma 303 İnternetten Kontrol 307 12 ARDUINO VE BLUETOOTH 309 HC-05 Modülünün Kullanımı 312 Bluetooth ile Termometre Uygulaması 315 13 ARDUINO İLE GPS UYGULAMALARI 323 GPS in Çalışması 323 Koordinatları Elde Etmek 326 F() Fonksiyonu Ne Yapar? 333

XVI ARDUINO 14 PROCESSING İLE ANDROID PROGRAMLAMA 335 Processing Development IDE nin Kurulumu 336 Processing IDE ve Kod Yapısı 341 Dokunmatik Ekran ve Renklerle Çalışmak 346 Koordinat Sistemi ve Şekil Çizimi 350 Renklerin Kullanımı 354 GriSkala, RGB ve HSB Renklerinin Kullanımı 355 Strıng İfade Oluşturma 359 Strıng İfadelerin Görüntülenmesi 360 Buton Kullanımı 363 Ketaı Kütüphanesi ile Android Donanımlarını Kullanmak 366 Cihaz Donanımı ve Yazılım Katmanları 367 Sık Kullanılan Android Sensörleri 368 KetaiSensor Sınıfı 369 Android Cihazdaki Sensörleri Görüntüleme 369 İvme Ölçer Kullanımı 371 Çoklu Sensör Kullanımı 372 KetaiBluetooth Sınıfı ile Bluetooth Kullanımı 374 Android Aktivitelerinin Yaşam Döngüsü 377 Bluetooth Aktifleştirme 378 15 RF ID KART İLE PERSONEL TAKİP UYGULAMASI 385