içindekiler
Transkript
içindekiler
İÇİNDEKİLER VII İÇİNDEKİLER 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 2 KİTAPTA KULLANILAN PROGRAMLAR 7 C# 7 CCS C 11 Proteus 15 App Inventor Vırtual Serıal Port Drıver 19 25 3 MİKROİŞLEMCİLER VE MİKRODENETLEYİCİLER 31 Mikroişlemciler 31 Mikroişlemci Temel Yapısı 32 Merkezi İşlem Birimi (CPU) 32 Aritmetik Lojik Birimi (ALU) 33 Kaydediciler (Regısters) 33 Kontrol Birimi (Control Unit) 34 Hafıza (Memory) 35 RAM (Random Access Memory) 35 ROM (Ready Only Memory) 35 PROM (Programmable Ready Only Memory) 36 EPROM (Erasable Programmable Ready Only Memory) 36 EEPROM (Electrically Erasable Programmable Ready Only Memory) 37 İletişim Yolları 38 Adres Yolu (Adress Bus) 39 Veri Yolu (Data Bus) 39 Kontrol Yolu (Kontrol Bus) 39 Giriş - Çıkış (Input - Output) 40 VIII MİKRODENETLEYİCİLER İLE SERİ İLETİŞİM Mikroişlemci Mimarileri 40 Donanım Mimarileri - Bellek Organizasyonu 40 Von Neuman (Prınceton) Mimarisi 41 Harvard Mimarisi 41 Komut Tasarım Mimarisi 42 CISC (Complex Instruction Set Computer) 42 RISC (Reduced Instruction Set Computer) 43 Mikrodenetleyiciler 45 Mikroişlemciler ve Mikrodenetleyiciler Arasındaki Farklar 45 Mikrodenetleyici Seçilirken Dikkat Edilmesi Gerekenler 46 Mikrodenetleyici Üreticileri 47 PIC Denetleyicilerinin Seçilme Nedenleri 48 Microchip Technology Ve PIC Mikrodenetleyicisi 49 8-Bit Mikrodenetleyiciler 50 16-Bit Mikrodenetleyiciler 51 32-Bit Mikrodenetleyiciler 51 PIC Denetleyicilerinin Genel Özellikleri 51 Bellek Yapısı 51 Program Belleği 51 Veri Belleği 53 EEPROM Belleği 55 Besleme Gerilimleri 56 Osilatör Bağlantıları Kristal Osilatörler R/C Osilatörler 57 58 58 Reset’leme Devreleri 59 Kitap Boyunca Kullanılan Denetleyicilerin Genel Özellikleri 60 PIC16F628A 60 PIC16F877A 61 PIC18F4550 62 Mikrodenetleyici Programlamak için Gerekenler 63 İÇİNDEKİLER 4 SERİ İLETİŞİMİN TEMELLERİ 65 Seri İletişimin Nedenleri 65 Seri İletişim Temelleri 66 Sayı Sistemleri 66 Onlu (Decimal) Sayı Sistemi 66 İkili (Binary) Sayı Sistemi 66 On altılı (Hexadecimal-Hex) Sayı Sistemi 68 Bit ve Byte Kavramları 69 Kodlama Çeşitleri 70 ASCII 70 Hex Kodlama 72 Seri İletişim Türleri 72 Senkron Seri İletişim 72 Asenkron Seri İletişim 73 Seri İletişim Terimleri 74 Simplex 74 Half Dublex 74 Full Dublex 74 Baud Rate 75 Start, Stop, Parıty ve CRC Bitleri 75 5.1 UYGULAMALAR-1: LED YAKMA SÖNDÜRME 77 Led Yakma Söndürme 77 Amaç 78 Haberleşme Türü: RS232 78 Bağlantı Şeması 78 Veri Transfer Formatı 80 Elektronik Bağlantı 81 C# Kodu 82 Formun Tasarımı 82 Kodun İşleyişi 83 Program Kodları 83 Mikrodenetleyici Kodu 95 Kodun İşleyişi 95 IX X MİKRODENETLEYİCİLER İLE SERİ İLETİŞİM Program Kodları Günlük Hayatta Kullanımı Elektronik Bağlantı Android Blokları 95 99 99 100 5.2 UYGULAMALAR-2: MOTOR-PWM 103 Amaç 103 İletişim Türü 103 USB 103 USB 1.0 104 USB 2.0 104 USB 3.0 104 USB Tipleri 105 USB Protokol Yapısı 105 USB Terimleri 106 USB Paketleri 108 1. USB Paket İçerikleri 108 2. USB Paketleri 110 Veri Transferi 112 Bir USB Sınıfı: İnsan Arabirim Aygıtı - Human Interface Device Class (HID) 114 Elektronik Bağlantı 114 PWM Sinyali 115 PWM Modülasyon Teknikleri 116 Mikrodenetleyicilerle PWM Sinyali 119 DC Motor 120 DC Motor Kısımları 123 DC Motor Kontrolü 124 L293D Sürücü Entegresi 125 USB – TTL Çevirici Modül 125 C# Kodu 125 Formun Tasarımı 126 Kodun İşleyişi 127 Program Kodları 127 Mikrodenetleyici Kodu 134 İÇİNDEKİLER Kodun İşleyişi Program Kodları Android Blokları 134 135 137 5.3 UYGULAMALAR-3 VANTILATÖR UYGULAMASI 141 Amaç 141 İletişim Türleri: Usb ve Kızılötesi 141 Kızılötesi 141 Kızılötesi İletişim Protokolleri 145 Bağlantı Şeması 147 C# Kodu 153 Formun Tasarımı 153 Kodun İşleyişi 154 Mikrodenetleyici Kodları 163 Ara Devre Kodları 163 Kumanda Kodları 167 Ana Devre Kodları 172 5.4 UYGULAMALAR-4: SICAKLIK KONTROL UYGULAMASI 177 Amaç 177 İletişim Türleri: Bluetooth ve 1-Wire 177 Bluetooth 177 Bluetooth SIG 178 Bluetooth Tarihi 179 Bluetooth 1.0 179 Bluetooth 1.1 179 Bluetooth 1.2 179 Bluetooth 2.0+ EDR 180 Bluetooth 2.1 + EDR 180 Bluetooth 3.0 + HS 180 Bluetooth 4.0 180 Bluetooth 4.1 180 Bluetooth Çalışma Prensibi 181 Bluetooth Ağ Yapısı 182 XI XII MİKRODENETLEYİCİLER İLE SERİ İLETİŞİM Bluetooth Protokol Yapısı 183 1-Wire (Tek Hat) İletişim 186 Elektronik Bağlantı 189 7 Segment Display 189 LM35 Sıcaklık Sensörü 193 HC06 Bluetooth Modülü 194 C# Kodu 199 Formun Tasarımı 199 Kodun İşleyişi 200 Program Kodları 200 Mikrodenetleyici Kodu 208 Kodun İşleyişi 208 Program Kodları 208 Endüstride Kullanımı 215 DS18B20 215 1-Wire İletişim İçin Fonksiyon Oluşturma 221 Elektronik Bağlantı 225 Mikrodenetleyici Kodları 226 Android Kodları 230 5.5 UYGULAMALAR-5 PIYANO TASARIMI 233 Amaç 233 İletişim Türü: Radyo Frekansı (RF) - Bluetooth 233 Veri Transfer Formatı Elektronik Bağlantı C# Kodu User Kontrol Tasarımı User Kontrol İşleyişi User Kontrolün Forma Eklenmesi User Kontrol Kodları Formun Tasarımı Kodun İşleyişi Program Kodları Mikrodenetleyici Kodu 238 239 241 241 242 242 244 252 253 254 259 İÇİNDEKİLER Kodun İşleyişi Program Kodları 259 259 5.6 UYGULAMALAR-6: SES İLE STEP MOTOR KONTROLÜ 267 Amaç 267 İletişim Türleri: RS485 267 RS485 267 RS232 ve RS485 Arasındaki Farklar Elektronik Bağlantı MAX485 Entegresi L293D Entegresi Step Motor C# Kodu Formun Tasarımı Kodun İşleyişi Program Kodları Mikrodenetleyici Kodu Kodun İşleyişi Program Kodları Android Blokları 269 269 270 272 277 288 288 289 289 295 295 296 304 5.7 UYGULAMALAR-7: SPI VE I2C ILE EEPROM UYGULAMASI 309 Amaç 309 İletişim Türü 309 USB 309 SPI 309 I2C 313 Elektronik Bağlantı 319 24C32A EEPROM Bellek 321 25C040 EEPROM Bellek 325 DS1302 331 Termistör 333 C# Kodu 334 Formun Tasarımı 334 XIII XIV MİKRODENETLEYİCİLER İLE SERİ İLETİŞİM Kodun İşleyişi Program Kodları Mikrodenetleyici Kodu Kodun İşleyişi Program Kodları 335 335 340 340 341 5.8 UYGULAMALAR-8: SD KART UYGULAMASI 353 Amaç 353 SD Kart 353 Smart Media (SM) Kartı 353 Compact Flash (CF) 354 Memory Stick (MS) 355 Multı Media Kartı (MMC) 356 xD-Picture Card 357 SD Card 358 Uygulamada Kullanılan Programlar 362 Windows Hyper Termınal 362 CCS C Serial Monitor 364 WinHex Programı 366 Elektronik Bağlantı 367 Mikrodenetleyici Kodu 368 Kodun İşleyişi 368 CCS C Kodları 368 5.9 UYGULAMALAR-9: RFID UYGULAMASI 371 Amaç 371 RFID 371 RFID Okuyucu 372 RFID Etiketi (TAG) 372 Elektronik Bağlantı 374 RDM6300 RFID Kart Okuyucu/Yazıcı 375 C# Kodu 377 Form1 Formunun Tasarımı ve Kodun İşleyişi 377 Form1 - C# Kodu 379 İÇİNDEKİLER İletişim Ayarlar Formunun Tasarımı ve Kodun İşleyişi Program Kodları Mikrodenetleyici Kodu Kodun İşleyişi CCS C Kodu 383 384 384 384 385 5.10 UYGULAMALAR-10: MODBUS UYGULAMASI 387 Amaç 387 Modbus 387 Elektronik Bağlantı 389 Mikrodenetleyici Kodu 389 Kodun İşleyişi 390 Master - Program Kodları 390 Slave - Program Kodları 391 5.11 UYGULAMA-11: TCP/IP GÖRÜNTÜLÜ SOHBET UYGULAMASI 395 Amaç 395 TCP/IP ve OSI Protokolleri 395 Ağ Topolojileri 395 Yol (Bus) Topolojisi 395 Yıldız (Star) Topolojisi 396 Ağaç (Tree) Topolojisi 397 Halka (Ring) Topolojisi 397 Mesh Topolojisi 398 Ağ Bağlantı Türleri 399 Kablolu Bağlantı 399 Kablosuz Bağlantı 399 Ağ Çeşitleri 399 Kişisel Alan Ağı - Personal Area Network (PAN) 399 Ev Alan Ağı - Home Area Network (HAN) 399 Yerel Alan Ağı - Local Area Network (LAN) 399 Depolama Alan Ağı - Storage Area Network (SAN) 400 Geniş Alan Ağı - Wide Area Network (WAN) 400 Özel Sanal Ağlar (VPN) 400 XV XVI MİKRODENETLEYİCİLER İLE SERİ İLETİŞİM Ağ Cihazları 400 Ağ Arabirim Kartı - Network Interface Card (NIC) 401 HUB 401 Switch (Anahtar - Dağıtıcı) 402 Router (Yönlendirici) 402 Bridge (Köprü) 403 Repeater (Yineleyici - Tekrarlayıcı) 403 Modem 403 Özelleşmiş Bilgisayar AĞları 404 Intranet 404 Extranet 404 Internet 405 Darknet 405 Ağ Oluşturma Modelleri 406 OSI Modeli 406 TCP/IP Modeli 411 C# Kodu 421 Server - Form1 Formunun Tasarımı ve Kodun İşleyişi 421 Server - Form1 C# Kodu Server - SohbetSayfasi Formunun Tasarımı ve Kodun İşleyişi Server - SohbetSayfasi C# Kodu Client - Form1 Formunun Tasarımı ve Kodun İşleyişi 422 424 425 434 Client - Form1 C# Kodu Client - SohbetSayfasi Formunun Tasarımı ve Kodun İşleyişi Client - Sohbetsayfasi C# Kodu Uygulamanın Ekran Görüntüleri 435 437 438 444 5.12 UYGULAMA-12 AKILLI EV OTOMASYONU 447 Amaç 447 İletişim Türü 447 Uygulamada Kullanılan Ekipmanlar 447 MQ7 Gaz Sensörü 448 MZ80 Mesafe Sensörü 449 İÇİNDEKİLER Ateş Algılama Sensörü 449 DHT11 Sıcaklık-Nem Sensörü 450 Hareket Sensörü 451 Foto Direnç (LDR) 452 Güneş Paneli 452 Akü 453 4x4 Tuş Takımı 455 IP Kamera 456 Elektronik Bağlantı 457 C# Kodu 459 Server - Formun Tasarımı ve Kodun İşleyişi 459 Server - Form1 - C# Kodu 461 Server - IpkameraFormu - C# Kodu Client – Formun Tasarımı ve Kodun İşleyişi 468 471 Client - C# Kodu Kodun İşleyişi 472 476 Ana Denetleyici - CCS C Kodu Bahçe Denetleyici - CCS C Kodu Arka Denetleyici - CCS C Kodu 477 485 494 5.13 UYGULAMA-13 WIFI MODÜLÜ ILE ARABA KONTROLÜ 499 Amaç 499 Rn-117 Wifly Modülü Port Yönlendirme Gps Modülü Elektronik Bağlantı C# Kodu Form1 Tasarımı - Kodun İşleyişi Form1 - C# Kodu ArabaKontrolleri Tasarımı - Kodun İşleyişi Arabakontrolleri - C# Kodu Mikrodenetleyici Kodu Kodun İşleyişi CCS C Kodu 499 503 505 507 508 509 510 516 517 523 524 524 XVII XVIII MİKRODENETLEYİCİLER İLE SERİ İLETİŞİM 6 MATLAB, VB, WPF İLE SERİ İLETİŞİM 529 Matlab 532 Matlab M-Dosya İşlemleri 533 M-File ile Veri Gönderme 534 M-File ile Veri Okuma 534 Matlab GUI İşlemleri 535 GUI ile Veri Gönderme 536 GUI ile Veri Okuma 541 Visual Basic (VB) 546 VB ile Veri Gönderme 546 VB ile Veri Okuma 549 WPF 552 WPF ile Veri Gönderme 553 WPF ile Veri Okuma 556 7 CCS C FONKSİYONLARI Veri Türleri Ön İşlemci Komutları Karakter Fonksiyonları String Fonksiyonları Matematik Fonksiyonları Hafıza Fonksiyonları Standart C Özel Fonksiyonları Giriş-Çıkış Fonksiyonları Bit - Byte Fonksiyonları Kontrol Fonksiyonları Gecikme Fonksiyonları Analog Dijital Çevrim (ADC) Fonksiyonları Zamanlayıcı ve Sayıcı Fonksiyonları CCP (Capture/Compare/Pwm) Fonksiyonları RS232 Seri İletişim Fonksiyonları I2C Fonksiyonları SPI Fonksiyonları Lcd Fonksiyonları Dâhili ve Harici Hafıza Fonksiyonları 561 561 563 586 590 603 611 617 622 626 632 639 640 646 655 658 669 678 686 689 İÇİNDEKİLER 8 C# SERIALPORT SINIFI Port Bulma Bağlantı Özellikleri Akış Denetimi Bağlantıyı Açma Bağlantıyı Kapatma Veri Gönderme İşlemleri Byte Veri Tipinde Gönderme İşlemleri Char Veri Tipinde Gönderme İşlemleri String Veri Tipinde Gönderme İşlemleri Diğer Veri Tiplerinde Gönderme İşlemleri Asenkron Veri Gönderme İşlemleri Veri Okuma İşlemleri Byte Veri Tipinde Okuma İşlemleri Char Veri Tipinde Okuma İşlemleri String Veri Tipinde Okuma İşlemleri Diğer Veri Tiplerinde Okuma İşlemleri Hata Yakalama 697 697 699 703 704 706 706 709 710 712 713 714 717 723 725 727 728 729 XIX XX MİKRODENETLEYİCİLER İLE SERİ İLETİŞİM