├── ArduinoKitabiProjeResimleri └── Kitap Resimler │ ├── Bölüm 10 - LCD Kullanımı │ ├── LCD_LM35_sayfa211.png │ ├── LCD_potansiyometreli_sayfa201.png │ ├── LCD_sayfa201.png │ └── LCD_voltmetre_sayfa218.png │ ├── Bölüm11 - Kalıcı Hafıza Kullanımı │ ├── 24C02EEPROM_sayfa233.png │ └── LCD24C02EEPROM_sayfa235.png │ ├── Bölüm7 - Dijital Giriş Çıkış İşlemleri │ ├── 7Segment_Sayfa161.png │ ├── butonLed_sayfa143.png │ ├── elektronikZar_sayfa156.png │ └── karasimsek_sayfa146.png │ ├── Bölüm8 - Analog Giriş Çıkış İşlemleri │ ├── BC547Motor_sayfa181.png │ ├── LM35_sayfa171.png │ ├── RGBLED_sayfa177.png │ ├── potansiyometreOkuma_174.png │ └── potansiyometreOkuma_Sayfa169.png │ ├── Bölüm9 - Seri Haberleşme │ └── SeriHaberlesme4LED_sayfa193.png │ └── Fritzing │ ├── Bölüm 10 │ ├── LCD24C02EEPROM.fzz │ ├── LCD_LM35.fzz │ └── LCD_potansiyometreli.fzz │ ├── Bölüm 11 │ └── 24C02EEPROM.fzz │ ├── Bölüm 8 │ ├── BC547Motor.fzz │ ├── LM35.fzz │ ├── RGBLED.fzz │ ├── SeriHaberlesme4LED.fzz │ ├── potansiyometreOkuma.fzz │ └── potansiyometrePWM.fzz │ └── Bölüm7 │ ├── 7Segment_Sayfa171.fzz │ ├── butonLed_sayfa143.fzz │ ├── elektronikZarBreadboard_sayfa156.fzz │ └── karasimsek_Sayfa146.fzz ├── Datasheet ├── HD44780.pdf ├── at24c02.pdf ├── bc547.pdf └── lm35.pdf ├── Programlar ├── Bölüm 10 - Programlar │ ├── LCDKullanimi1 │ │ └── LCDKullanimi1.ino │ ├── LCDKullanimi10 │ │ └── LCDKullanimi10.ino │ ├── LCDKullanimi2 │ │ └── LCDKullanimi2.ino │ ├── LCDKullanimi3 │ │ └── LCDKullanimi3.ino │ ├── LCDKullanimi4 │ │ └── LCDKullanimi4.ino │ ├── LCDKullanimi5 │ │ └── LCDKullanimi5.ino │ ├── LCDKullanimi6 │ │ └── LCDKullanimi6.ino │ ├── LCDKullanimi7 │ │ └── LCDKullanimi7.ino │ ├── LCDKullanimi8 │ │ └── LCDKullanimi8.ino │ └── LCDKullanimi9 │ │ └── LCDKullanimi9.ino ├── Bölüm 11 - Programlar │ ├── DahiliEEPROM │ │ └── DahiliEEPROM.ino │ ├── EEPROM_Islemleri_1 │ │ └── EEPROM_Islemleri_1.ino │ ├── EEPROM_Islemleri_2 │ │ └── EEPROM_Islemleri_2.ino │ ├── EEPROM_Islemleri_3 │ │ └── EEPROM_Islemleri_3.ino │ └── IC2EEPROM │ │ └── IC2EEPROM.ino ├── Bölüm 3 - Programlar │ ├── degiskenler1 │ │ └── degiskenler1.ino │ ├── degiskenler10 │ │ └── degiskenler10.ino │ ├── degiskenler2 │ │ └── degiskenler2.ino │ ├── degiskenler3 │ │ └── degiskenler3.ino │ ├── degiskenler3_2 │ │ └── degiskenler3_2.ino │ ├── degiskenler4 │ │ └── degiskenler4.ino │ ├── degiskenler5 │ │ └── degiskenler5.ino │ ├── degiskenler6 │ │ └── degiskenler6.ino │ ├── degiskenler7 │ │ └── degiskenler7.ino │ ├── degiskenler8 │ │ └── degiskenler8.ino │ └── degiskenler9 │ │ └── degiskenler9.ino ├── Bölüm 4 - Programlar │ ├── bitIslem1 │ │ └── bitIslem1.ino │ ├── matematikIslemler1 │ │ └── matematikIslemler1.ino │ ├── matematikIslemler2 │ │ └── matematikIslemler2.ino │ ├── matematikIslemler3 │ │ └── matematikIslemler3.ino │ ├── matematikIslemler4 │ │ └── matematikIslemler4.ino │ ├── matematikIslemler5 │ │ └── matematikIslemler5.ino │ ├── matematikIslemler6 │ │ └── matematikIslemler6.ino │ └── matematikIslemler7 │ │ └── matematikIslemler7.ino ├── Bölüm 5 - Programlar │ ├── break_kullanimi │ │ └── break_kullanimi.ino │ ├── continue_kullanimi │ │ └── continue_kullanimi.ino │ ├── do_while_kullanimi │ │ └── do_while_kullanimi.ino │ ├── fonksiyon_kullanimi │ │ └── fonksiyon_kullanimi.ino │ ├── forKullanimi │ │ └── forKullanimi.ino │ ├── gecikmesizLEDyakma │ │ └── gecikmesizLEDyakma.ino │ ├── ifKullanimi │ │ └── ifKullanimi.ino │ └── while_kullanimi │ │ └── while_kullanimi.ino ├── Bölüm 6 - Programlar │ ├── stringler1 │ │ └── stringler1.ino │ ├── stringler10 │ │ └── stringler10.ino │ ├── stringler11 │ │ └── stringler11.ino │ ├── stringler12 │ │ └── stringler12.ino │ ├── stringler2 │ │ └── stringler2.ino │ ├── stringler3 │ │ └── stringler3.ino │ ├── stringler4 │ │ └── stringler4.ino │ ├── stringler5 │ │ └── stringler5.ino │ ├── stringler6 │ │ └── stringler6.ino │ ├── stringler7 │ │ └── stringler7.ino │ ├── stringler8 │ │ └── stringler8.ino │ └── stringler9 │ │ └── stringler9.ino ├── Bölüm 7 - Programlar │ ├── Dijital_GirisCikis1 │ │ └── Dijital_GirisCikis1.ino │ ├── Dijital_GirisCikis1_2 │ │ └── Dijital_GirisCikis1_2.ino │ ├── Dijital_GirisCikis2 │ │ └── Dijital_GirisCikis2.ino │ ├── Dijital_GirisCikis3 │ │ └── Dijital_GirisCikis3.ino │ ├── Dijital_GirisCikis4 │ │ └── Dijital_GirisCikis4.ino │ ├── Dijital_GirisCikis5 │ │ └── Dijital_GirisCikis5.ino │ ├── Dijital_GirisCikis6 │ │ └── Dijital_GirisCikis6.ino │ └── Dijital_GirisCikis7 │ │ └── Dijital_GirisCikis7.ino ├── Bölüm 8 - Programlar │ ├── Analog_GirisCikis1 │ │ └── Analog_GirisCikis1.ino │ ├── Analog_GirisCikis2 │ │ └── Analog_GirisCikis2.ino │ ├── Analog_GirisCikis3 │ │ └── Analog_GirisCikis3.ino │ ├── Analog_GirisCikis4 │ │ └── Analog_GirisCikis4.ino │ └── Analog_GirisCikis5 │ │ └── Analog_GirisCikis5.ino └── Bölüm 9 - Programlar │ ├── SeriHaberlesme1 │ └── SeriHaberlesme1.ino │ ├── SeriHaberlesme2 │ └── SeriHaberlesme2.ino │ └── SeriHaberlesme3 │ └── SeriHaberlesme3.ino └── README.md /ArduinoKitabiProjeResimleri/Kitap Resimler/Bölüm 10 - LCD Kullanımı/LCD_LM35_sayfa211.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ctasdemir/ArduinoKitabiKodlar/2fb320dd7064dd8097d567ce3c3d6b613b680d68/ArduinoKitabiProjeResimleri/Kitap Resimler/Bölüm 10 - LCD Kullanımı/LCD_LM35_sayfa211.png -------------------------------------------------------------------------------- /ArduinoKitabiProjeResimleri/Kitap Resimler/Bölüm 10 - LCD Kullanımı/LCD_potansiyometreli_sayfa201.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ctasdemir/ArduinoKitabiKodlar/2fb320dd7064dd8097d567ce3c3d6b613b680d68/ArduinoKitabiProjeResimleri/Kitap Resimler/Bölüm 10 - LCD Kullanımı/LCD_potansiyometreli_sayfa201.png -------------------------------------------------------------------------------- /ArduinoKitabiProjeResimleri/Kitap Resimler/Bölüm 10 - LCD Kullanımı/LCD_sayfa201.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ctasdemir/ArduinoKitabiKodlar/2fb320dd7064dd8097d567ce3c3d6b613b680d68/ArduinoKitabiProjeResimleri/Kitap Resimler/Bölüm 10 - LCD Kullanımı/LCD_sayfa201.png -------------------------------------------------------------------------------- /ArduinoKitabiProjeResimleri/Kitap Resimler/Bölüm 10 - LCD Kullanımı/LCD_voltmetre_sayfa218.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ctasdemir/ArduinoKitabiKodlar/2fb320dd7064dd8097d567ce3c3d6b613b680d68/ArduinoKitabiProjeResimleri/Kitap Resimler/Bölüm 10 - LCD Kullanımı/LCD_voltmetre_sayfa218.png -------------------------------------------------------------------------------- /ArduinoKitabiProjeResimleri/Kitap Resimler/Bölüm11 - Kalıcı Hafıza Kullanımı/24C02EEPROM_sayfa233.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ctasdemir/ArduinoKitabiKodlar/2fb320dd7064dd8097d567ce3c3d6b613b680d68/ArduinoKitabiProjeResimleri/Kitap Resimler/Bölüm11 - Kalıcı Hafıza Kullanımı/24C02EEPROM_sayfa233.png -------------------------------------------------------------------------------- /ArduinoKitabiProjeResimleri/Kitap Resimler/Bölüm11 - Kalıcı Hafıza Kullanımı/LCD24C02EEPROM_sayfa235.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ctasdemir/ArduinoKitabiKodlar/2fb320dd7064dd8097d567ce3c3d6b613b680d68/ArduinoKitabiProjeResimleri/Kitap Resimler/Bölüm11 - Kalıcı Hafıza Kullanımı/LCD24C02EEPROM_sayfa235.png -------------------------------------------------------------------------------- /ArduinoKitabiProjeResimleri/Kitap Resimler/Bölüm7 - Dijital Giriş Çıkış İşlemleri/7Segment_Sayfa161.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ctasdemir/ArduinoKitabiKodlar/2fb320dd7064dd8097d567ce3c3d6b613b680d68/ArduinoKitabiProjeResimleri/Kitap Resimler/Bölüm7 - Dijital Giriş Çıkış İşlemleri/7Segment_Sayfa161.png -------------------------------------------------------------------------------- /ArduinoKitabiProjeResimleri/Kitap Resimler/Bölüm7 - Dijital Giriş Çıkış İşlemleri/butonLed_sayfa143.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ctasdemir/ArduinoKitabiKodlar/2fb320dd7064dd8097d567ce3c3d6b613b680d68/ArduinoKitabiProjeResimleri/Kitap Resimler/Bölüm7 - Dijital Giriş Çıkış İşlemleri/butonLed_sayfa143.png -------------------------------------------------------------------------------- /ArduinoKitabiProjeResimleri/Kitap Resimler/Bölüm7 - Dijital Giriş Çıkış İşlemleri/elektronikZar_sayfa156.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ctasdemir/ArduinoKitabiKodlar/2fb320dd7064dd8097d567ce3c3d6b613b680d68/ArduinoKitabiProjeResimleri/Kitap Resimler/Bölüm7 - Dijital Giriş Çıkış İşlemleri/elektronikZar_sayfa156.png -------------------------------------------------------------------------------- /ArduinoKitabiProjeResimleri/Kitap Resimler/Bölüm7 - Dijital Giriş Çıkış İşlemleri/karasimsek_sayfa146.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ctasdemir/ArduinoKitabiKodlar/2fb320dd7064dd8097d567ce3c3d6b613b680d68/ArduinoKitabiProjeResimleri/Kitap Resimler/Bölüm7 - Dijital Giriş Çıkış İşlemleri/karasimsek_sayfa146.png -------------------------------------------------------------------------------- /ArduinoKitabiProjeResimleri/Kitap Resimler/Bölüm8 - Analog Giriş Çıkış İşlemleri/BC547Motor_sayfa181.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ctasdemir/ArduinoKitabiKodlar/2fb320dd7064dd8097d567ce3c3d6b613b680d68/ArduinoKitabiProjeResimleri/Kitap Resimler/Bölüm8 - Analog Giriş Çıkış İşlemleri/BC547Motor_sayfa181.png -------------------------------------------------------------------------------- /ArduinoKitabiProjeResimleri/Kitap Resimler/Bölüm8 - Analog Giriş Çıkış İşlemleri/LM35_sayfa171.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ctasdemir/ArduinoKitabiKodlar/2fb320dd7064dd8097d567ce3c3d6b613b680d68/ArduinoKitabiProjeResimleri/Kitap Resimler/Bölüm8 - Analog Giriş Çıkış İşlemleri/LM35_sayfa171.png -------------------------------------------------------------------------------- /ArduinoKitabiProjeResimleri/Kitap Resimler/Bölüm8 - Analog Giriş Çıkış İşlemleri/RGBLED_sayfa177.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ctasdemir/ArduinoKitabiKodlar/2fb320dd7064dd8097d567ce3c3d6b613b680d68/ArduinoKitabiProjeResimleri/Kitap Resimler/Bölüm8 - Analog Giriş Çıkış İşlemleri/RGBLED_sayfa177.png -------------------------------------------------------------------------------- /ArduinoKitabiProjeResimleri/Kitap Resimler/Bölüm8 - Analog Giriş Çıkış İşlemleri/potansiyometreOkuma_174.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ctasdemir/ArduinoKitabiKodlar/2fb320dd7064dd8097d567ce3c3d6b613b680d68/ArduinoKitabiProjeResimleri/Kitap Resimler/Bölüm8 - Analog Giriş Çıkış İşlemleri/potansiyometreOkuma_174.png -------------------------------------------------------------------------------- /ArduinoKitabiProjeResimleri/Kitap Resimler/Bölüm8 - Analog Giriş Çıkış İşlemleri/potansiyometreOkuma_Sayfa169.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ctasdemir/ArduinoKitabiKodlar/2fb320dd7064dd8097d567ce3c3d6b613b680d68/ArduinoKitabiProjeResimleri/Kitap Resimler/Bölüm8 - Analog Giriş Çıkış İşlemleri/potansiyometreOkuma_Sayfa169.png -------------------------------------------------------------------------------- /ArduinoKitabiProjeResimleri/Kitap Resimler/Bölüm9 - Seri Haberleşme/SeriHaberlesme4LED_sayfa193.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ctasdemir/ArduinoKitabiKodlar/2fb320dd7064dd8097d567ce3c3d6b613b680d68/ArduinoKitabiProjeResimleri/Kitap Resimler/Bölüm9 - Seri Haberleşme/SeriHaberlesme4LED_sayfa193.png -------------------------------------------------------------------------------- /ArduinoKitabiProjeResimleri/Kitap Resimler/Fritzing/Bölüm 10/LCD24C02EEPROM.fzz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ctasdemir/ArduinoKitabiKodlar/2fb320dd7064dd8097d567ce3c3d6b613b680d68/ArduinoKitabiProjeResimleri/Kitap Resimler/Fritzing/Bölüm 10/LCD24C02EEPROM.fzz -------------------------------------------------------------------------------- /ArduinoKitabiProjeResimleri/Kitap Resimler/Fritzing/Bölüm 10/LCD_LM35.fzz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ctasdemir/ArduinoKitabiKodlar/2fb320dd7064dd8097d567ce3c3d6b613b680d68/ArduinoKitabiProjeResimleri/Kitap Resimler/Fritzing/Bölüm 10/LCD_LM35.fzz -------------------------------------------------------------------------------- /ArduinoKitabiProjeResimleri/Kitap Resimler/Fritzing/Bölüm 10/LCD_potansiyometreli.fzz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ctasdemir/ArduinoKitabiKodlar/2fb320dd7064dd8097d567ce3c3d6b613b680d68/ArduinoKitabiProjeResimleri/Kitap Resimler/Fritzing/Bölüm 10/LCD_potansiyometreli.fzz -------------------------------------------------------------------------------- /ArduinoKitabiProjeResimleri/Kitap Resimler/Fritzing/Bölüm 11/24C02EEPROM.fzz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ctasdemir/ArduinoKitabiKodlar/2fb320dd7064dd8097d567ce3c3d6b613b680d68/ArduinoKitabiProjeResimleri/Kitap Resimler/Fritzing/Bölüm 11/24C02EEPROM.fzz -------------------------------------------------------------------------------- /ArduinoKitabiProjeResimleri/Kitap Resimler/Fritzing/Bölüm 8/BC547Motor.fzz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ctasdemir/ArduinoKitabiKodlar/2fb320dd7064dd8097d567ce3c3d6b613b680d68/ArduinoKitabiProjeResimleri/Kitap Resimler/Fritzing/Bölüm 8/BC547Motor.fzz -------------------------------------------------------------------------------- /ArduinoKitabiProjeResimleri/Kitap Resimler/Fritzing/Bölüm 8/LM35.fzz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ctasdemir/ArduinoKitabiKodlar/2fb320dd7064dd8097d567ce3c3d6b613b680d68/ArduinoKitabiProjeResimleri/Kitap Resimler/Fritzing/Bölüm 8/LM35.fzz -------------------------------------------------------------------------------- /ArduinoKitabiProjeResimleri/Kitap Resimler/Fritzing/Bölüm 8/RGBLED.fzz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ctasdemir/ArduinoKitabiKodlar/2fb320dd7064dd8097d567ce3c3d6b613b680d68/ArduinoKitabiProjeResimleri/Kitap Resimler/Fritzing/Bölüm 8/RGBLED.fzz -------------------------------------------------------------------------------- /ArduinoKitabiProjeResimleri/Kitap Resimler/Fritzing/Bölüm 8/SeriHaberlesme4LED.fzz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ctasdemir/ArduinoKitabiKodlar/2fb320dd7064dd8097d567ce3c3d6b613b680d68/ArduinoKitabiProjeResimleri/Kitap Resimler/Fritzing/Bölüm 8/SeriHaberlesme4LED.fzz -------------------------------------------------------------------------------- /ArduinoKitabiProjeResimleri/Kitap Resimler/Fritzing/Bölüm 8/potansiyometreOkuma.fzz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ctasdemir/ArduinoKitabiKodlar/2fb320dd7064dd8097d567ce3c3d6b613b680d68/ArduinoKitabiProjeResimleri/Kitap Resimler/Fritzing/Bölüm 8/potansiyometreOkuma.fzz -------------------------------------------------------------------------------- /ArduinoKitabiProjeResimleri/Kitap Resimler/Fritzing/Bölüm 8/potansiyometrePWM.fzz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ctasdemir/ArduinoKitabiKodlar/2fb320dd7064dd8097d567ce3c3d6b613b680d68/ArduinoKitabiProjeResimleri/Kitap Resimler/Fritzing/Bölüm 8/potansiyometrePWM.fzz -------------------------------------------------------------------------------- /ArduinoKitabiProjeResimleri/Kitap Resimler/Fritzing/Bölüm7/7Segment_Sayfa171.fzz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ctasdemir/ArduinoKitabiKodlar/2fb320dd7064dd8097d567ce3c3d6b613b680d68/ArduinoKitabiProjeResimleri/Kitap Resimler/Fritzing/Bölüm7/7Segment_Sayfa171.fzz -------------------------------------------------------------------------------- /ArduinoKitabiProjeResimleri/Kitap Resimler/Fritzing/Bölüm7/butonLed_sayfa143.fzz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ctasdemir/ArduinoKitabiKodlar/2fb320dd7064dd8097d567ce3c3d6b613b680d68/ArduinoKitabiProjeResimleri/Kitap Resimler/Fritzing/Bölüm7/butonLed_sayfa143.fzz -------------------------------------------------------------------------------- /ArduinoKitabiProjeResimleri/Kitap Resimler/Fritzing/Bölüm7/elektronikZarBreadboard_sayfa156.fzz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ctasdemir/ArduinoKitabiKodlar/2fb320dd7064dd8097d567ce3c3d6b613b680d68/ArduinoKitabiProjeResimleri/Kitap Resimler/Fritzing/Bölüm7/elektronikZarBreadboard_sayfa156.fzz -------------------------------------------------------------------------------- /ArduinoKitabiProjeResimleri/Kitap Resimler/Fritzing/Bölüm7/karasimsek_Sayfa146.fzz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ctasdemir/ArduinoKitabiKodlar/2fb320dd7064dd8097d567ce3c3d6b613b680d68/ArduinoKitabiProjeResimleri/Kitap Resimler/Fritzing/Bölüm7/karasimsek_Sayfa146.fzz -------------------------------------------------------------------------------- /Datasheet/HD44780.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ctasdemir/ArduinoKitabiKodlar/2fb320dd7064dd8097d567ce3c3d6b613b680d68/Datasheet/HD44780.pdf -------------------------------------------------------------------------------- /Datasheet/at24c02.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ctasdemir/ArduinoKitabiKodlar/2fb320dd7064dd8097d567ce3c3d6b613b680d68/Datasheet/at24c02.pdf -------------------------------------------------------------------------------- /Datasheet/bc547.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ctasdemir/ArduinoKitabiKodlar/2fb320dd7064dd8097d567ce3c3d6b613b680d68/Datasheet/bc547.pdf -------------------------------------------------------------------------------- /Datasheet/lm35.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ctasdemir/ArduinoKitabiKodlar/2fb320dd7064dd8097d567ce3c3d6b613b680d68/Datasheet/lm35.pdf -------------------------------------------------------------------------------- /Programlar/Bölüm 10 - Programlar/LCDKullanimi1/LCDKullanimi1.ino: -------------------------------------------------------------------------------- 1 | /*************************************************************** 2 | Arduino Kitabı - Coşkun Taşdemir 3 | Dikeyeksen Yayınları 4 | http://www.dikeyeksen.com/muhendislik/arduino.html 5 | 6 | Bölüm 10 - LCD Kullanımı 7 | 8 | LCD Ekran Kullanımı - Örnek 1 9 | Arduino ile LCD ekran arasındaki bağlantılar 10 | * LCD RS ==> digital-12 11 | * LCD Enable ==> digital-11 12 | * LCD D4 ==> digital-5 13 | * LCD D5 ==> digital-4 14 | * LCD D6 ==> digital-3 15 | * LCD D7 ==> digital-2 16 | * LCD R/W ==> toprak (GND) 17 | * 10K potansiyometre 0-5V bağlantı: 18 | * orta ucu LCD'nin V0 pinine(pin 3) 19 | ****************************************************************/ 20 | 21 | // LCD kütüphenesini programımıza ekliyoruz: 22 | #include 23 | // LCD bağlantılarımız ile LCD nesnesi yaratıyoruz 24 | LiquidCrystal lcd(12, 11, 5, 4, 3, 2); 25 | void setup() { 26 | // LCD’miz 2x16 tipinde 27 | lcd.begin(16, 2); 28 | } 29 | void loop() { 30 | } 31 | 32 | -------------------------------------------------------------------------------- /Programlar/Bölüm 10 - Programlar/LCDKullanimi10/LCDKullanimi10.ino: -------------------------------------------------------------------------------- 1 | /*************************************************************** 2 | Arduino Kitabı - Coşkun Taşdemir 3 | Dikeyeksen Yayınları 4 | http://www.dikeyeksen.com/muhendislik/arduino.html 5 | 6 | Bölüm 10 - LCD Kullanımı 7 | 8 | LCD Ekran Kullanımı - Örnek 10 9 | LCD ekran üzerinde giriş gerilimlerini görüntüleme 10 | ve kutucuklar içerisinde seviyeyi gösterme uygulaması 11 | Analog0 ve analog1 giriş gerilimleri hem Volt cinsinden LCD 12 | üzerinde gösteriliyor hem de kutucuk içerisinde seviyesi görüntüleniyor. 13 | 14 | Arduino ile LCD ekran arasındaki bağlantılar 15 | * LCD RS ==> digital-12 16 | * LCD Enable ==> digital-11 17 | * LCD D4 ==> digital-5 18 | * LCD D5 ==> digital-4 19 | * LCD D6 ==> digital-3 20 | * LCD D7 ==> digital-2 21 | * LCD R/W ==> toprak (GND) 22 | * 10K potansiyometre 0-5V bağlantı: 23 | * orta ucu LCD'nin V0 pinine(pin 3) 24 | 25 | analog0 ve analog1 girişlerine potansiyometrelerin 26 | orta uçları bağlı. 27 | 28 | ****************************************************************/ 29 | 30 | #include 31 | LiquidCrystal lcd(12, 11, 5, 4, 3, 2); 32 | 33 | byte basamak[7][8] = {{B00000, B00000, B00000, B00000, B00000,B00000, B11111,B11111}, 34 | {B00000, B00000, B00000, B00000, B00000,B11111, B11111,B11111}, 35 | {B00000, B00000, B00000, B00000, B11111,B11111, B11111,B11111}, 36 | {B00000, B00000, B00000, B11111, B11111,B11111, B11111,B11111}, 37 | {B00000, B00000, B11111, B11111, B11111,B11111, B11111,B11111}, 38 | {B00000, B11111, B11111, B11111, B11111,B11111, B11111,B11111}, 39 | {B11111, B11111, B11111, B11111, B11111,B11111, B11111,B11111}}; 40 | int i; 41 | int analogGiris1; 42 | int analogGiris2; 43 | float gerilim1; 44 | float gerilim2; 45 | void setup() { 46 | lcd.begin(16,2); 47 | for(i = 0; i<7;i++){ 48 | lcd.createChar(i,basamak[i]); 49 | } 50 | lcd.clear(); 51 | lcd.home(); 52 | 53 | } 54 | 55 | void loop() { 56 | 57 | analogGiris1 = analogRead(0); 58 | analogGiris2 = analogRead(1); 59 | 60 | gerilim1 = (analogGiris1 / 1023.0) * 5.0; 61 | gerilim2 = (analogGiris2 / 1023.0) * 5.0; 62 | 63 | analogGiris1 = map(analogGiris1,0,1023,1,7); 64 | analogGiris2 = map(analogGiris2,0,1023,1,7); 65 | 66 | gosterge(0,analogGiris1); 67 | gosterge(1,analogGiris2); 68 | 69 | lcd.setCursor(1,0); 70 | lcd.print(" Giris-1:"); 71 | lcd.print(gerilim1); 72 | lcd.print("V"); 73 | lcd.setCursor(1,1); 74 | lcd.print(" Giris-2:"); 75 | lcd.print(gerilim2); 76 | lcd.print("V"); 77 | 78 | } 79 | 80 | 81 | void gosterge(int satir,int giris) 82 | { 83 | lcd.setCursor(0,satir); 84 | lcd.write(byte(giris-1)); 85 | } 86 | 87 | 88 | 89 | -------------------------------------------------------------------------------- /Programlar/Bölüm 10 - Programlar/LCDKullanimi2/LCDKullanimi2.ino: -------------------------------------------------------------------------------- 1 | /*************************************************************** 2 | Arduino Kitabı - Coşkun Taşdemir 3 | Dikeyeksen Yayınları 4 | http://www.dikeyeksen.com/muhendislik/arduino.html 5 | 6 | Bölüm 10 - LCD Kullanımı 7 | 8 | LCD Ekran Kullanımı - Örnek 2 9 | Arduino ile LCD ekran arasındaki bağlantılar 10 | * LCD RS ==> digital-12 11 | * LCD Enable ==> digital-11 12 | * LCD D4 ==> digital-5 13 | * LCD D5 ==> digital-4 14 | * LCD D6 ==> digital-3 15 | * LCD D7 ==> digital-2 16 | * LCD R/W ==> toprak (GND) 17 | * 10K potansiyometre 0-5V bağlantı: 18 | * orta ucu LCD'nin V0 pinine(pin 3) 19 | *****************************************************************/ 20 | 21 | // LCD kütüphenesini programımıza ekliyoruz: 22 | #include 23 | // LCD bağlantılarımız ile LCD nesnesi yaratıyoruz 24 | LiquidCrystal lcd(12, 11, 5, 4, 3, 2); 25 | int sayac = 0; 26 | void setup() { 27 | // LCD’miz 2x16 tipinde 28 | lcd.begin(16, 2); 29 | // Birinci satıra Arduino 30 | // İkinci satıra “ile LCD kullanımı” yazdırıyoruz 31 | lcd.print("Arduino"); 32 | } 33 | void loop() { 34 | lcd.setCursor(0,1); 35 | delay(1000); // 1 sn’lik gecikme 36 | lcd.print(sayac); 37 | sayac++; 38 | } 39 | 40 | -------------------------------------------------------------------------------- /Programlar/Bölüm 10 - Programlar/LCDKullanimi3/LCDKullanimi3.ino: -------------------------------------------------------------------------------- 1 | /*************************************************************** 2 | Arduino Kitabı - Coşkun Taşdemir 3 | Dikeyeksen Yayınları 4 | http://www.dikeyeksen.com/muhendislik/arduino.html 5 | 6 | Bölüm 10 - LCD Kullanımı 7 | 8 | LCD Ekran Kullanımı - Örnek 3 9 | Arduino ile LCD ekran arasındaki bağlantılar 10 | * LCD RS ==> digital-12 11 | * LCD Enable ==> digital-11 12 | * LCD D4 ==> digital-5 13 | * LCD D5 ==> digital-4 14 | * LCD D6 ==> digital-3 15 | * LCD D7 ==> digital-2 16 | * LCD R/W ==> toprak (GND) 17 | * 10K potansiyometre 0-5V bağlantı: 18 | * orta ucu LCD'nin V0 pinine(pin 3) 19 | *****************************************************************/ 20 | 21 | // LCD kütüphanesini programımıza ekliyoruz: 22 | #include 23 | //LCD bağlantılarımız ile bir LCD nesnesi oluşturuyoruz. 24 | //lcd(RS,EN,D4,D5,D6,D7) 25 | LiquidCrystal lcd(12, 11, 5, 4, 3, 2); 26 | int bekleme = 3000; 27 | 28 | void setup() { 29 | // LCD’nin ekran değerlerini vererek başlatıyoruz 30 | // 2 satır 16 karakter 31 | lcd.begin(16, 2); 32 | // LCD’ye mesaj yazdırıyoruz 33 | lcd.print("MERHABA DUNYA!"); 34 | } 35 | void loop() { 36 | delay(bekleme); 37 | // Ekranı temizle 38 | lcd.clear(); 39 | //imleci en başa al 40 | lcd.home(); 41 | lcd.print("SAYI YAZDIRMA:"); 42 | // imleci 2. satırın başına al(suton 0, satir 1) 43 | lcd.setCursor(0,1); 44 | lcd.print(1250); 45 | delay(bekleme); 46 | 47 | //16'lı tabanda 48 | lcd.clear(); 49 | lcd.home(); 50 | lcd.print("16'LI TABANDA:"); 51 | lcd.setCursor(0,1); 52 | lcd.print(1250,HEX); 53 | 54 | //8'li tabanda 55 | delay(bekleme); 56 | lcd.clear(); 57 | lcd.home(); 58 | lcd.print("8'LI TABANDA:"); 59 | lcd.setCursor(0,1); 60 | lcd.print(1250,OCT); 61 | 62 | //2'lı tabanda 63 | delay(bekleme); 64 | lcd.clear(); 65 | lcd.home(); 66 | lcd.print("2'LI TABANDA:"); 67 | lcd.setCursor(0,1); 68 | lcd.print(1250,BIN); 69 | 70 | // Ondalık sayı yazdırma 71 | delay(bekleme); 72 | lcd.clear(); 73 | lcd.home(); 74 | lcd.print("ONDALIK SAYI:"); 75 | lcd.setCursor(0,1); 76 | lcd.print(11.2345); 77 | 78 | //Virgülden sonra 4 hane 79 | delay(bekleme); 80 | lcd.clear(); 81 | lcd.home(); 82 | lcd.print("ONDALIK SAYI,4H "); 83 | lcd.setCursor(0,1); 84 | lcd.print(11.2345,4); 85 | } 86 | 87 | -------------------------------------------------------------------------------- /Programlar/Bölüm 10 - Programlar/LCDKullanimi4/LCDKullanimi4.ino: -------------------------------------------------------------------------------- 1 | /*************************************************************** 2 | Arduino Kitabı - Coşkun Taşdemir 3 | Dikeyeksen Yayınları 4 | http://www.dikeyeksen.com/muhendislik/arduino.html 5 | 6 | Bölüm 10 - LCD Kullanımı 7 | 8 | LCD Ekran Kullanımı - Örnek 4 9 | 10 | Arduino ile LCD ekran arasındaki bağlantılar 11 | * LCD RS ==> digital-12 12 | * LCD Enable ==> digital-11 13 | * LCD D4 ==> digital-5 14 | * LCD D5 ==> digital-4 15 | * LCD D6 ==> digital-3 16 | * LCD D7 ==> digital-2 17 | * LCD R/W ==> toprak (GND) 18 | * 10K potansiyometre 0-5V bağlantı: 19 | * orta ucu LCD'nin V0 pinine(pin 3) 20 | ****************************************************************/ 21 | 22 | // LCD kütüphanesini programımıza ekliyoruz: 23 | #include 24 | //LCD bağlantılarımız ile bir LCD nesnesi oluşturuyoruz. 25 | //lcd(RS,EN,D4,D5,D6,D7) 26 | LiquidCrystal lcd(12, 11, 5, 4, 3, 2); 27 | int bekleme = 3000; 28 | void setup() { 29 | // LCD’nin ekran değerlerini vererek başlatıyoruz 30 | // 2 satır 16 karakter 31 | lcd.begin(16, 2); 32 | // LCD’ye mesaj yazdırıyoruz 33 | lcd.print("LCD EKRAN "); 34 | lcd.setCursor(0,1); 35 | lcd.print("AYARLARI"); 36 | } 37 | void loop() { 38 | delay(bekleme); 39 | // Ekranı temizle 40 | lcd.clear(); 41 | //imleci en başa al 42 | lcd.home(); 43 | lcd.print("IMLEC - ACIK"); 44 | lcd.cursor(); 45 | delay(bekleme); 46 | lcd.clear(); 47 | lcd.home(); 48 | lcd.print("IMLEC - KAPALI"); 49 | lcd.noCursor(); 50 | delay(bekleme); 51 | 52 | lcd.clear(); 53 | lcd.home(); 54 | lcd.print("BLINK - ACIK"); 55 | lcd.blink(); 56 | delay(bekleme); 57 | 58 | lcd.clear(); 59 | lcd.home(); 60 | lcd.print("BLINK - KAPALI"); 61 | lcd.noBlink(); 62 | delay(bekleme); 63 | 64 | lcd.clear(); 65 | lcd.home(); 66 | lcd.print("EKRAN KAPANIYOR!"); 67 | delay(bekleme); 68 | lcd.noDisplay(); 69 | delay(bekleme); 70 | lcd.clear(); 71 | lcd.home(); 72 | lcd.display(); 73 | lcd.print("EKRAN ACILDI!"); 74 | delay(bekleme); 75 | } 76 | 77 | 78 | -------------------------------------------------------------------------------- /Programlar/Bölüm 10 - Programlar/LCDKullanimi5/LCDKullanimi5.ino: -------------------------------------------------------------------------------- 1 | /*************************************************************** 2 | Arduino Kitabı - Coşkun Taşdemir 3 | Dikeyeksen Yayınları 4 | http://www.dikeyeksen.com/muhendislik/arduino.html 5 | 6 | Bölüm 10 - LCD Kullanımı 7 | 8 | LCD Ekran Kullanımı - Örnek 5 9 | 10 | LCD ekran Üzerindeki yazıları kaydırma 11 | Arduino ile LCD ekran arasındaki bağlantılar 12 | * LCD RS ==> digital-12 13 | * LCD Enable ==> digital-11 14 | * LCD D4 ==> digital-5 15 | * LCD D5 ==> digital-4 16 | * LCD D6 ==> digital-3 17 | * LCD D7 ==> digital-2 18 | * LCD R/W ==> toprak (GND) 19 | * 10K potansiyometre 0-5V bağlantı: 20 | * orta ucu LCD'nin V0 pinine(pin 3) 21 | ****************************************************************/ 22 | 23 | // LCD kütüphanesini programımıza ekliyoruz: 24 | #include 25 | //LCD bağlantılarımız ile bir LCD nesnesi oluşturuyoruz. 26 | /* 27 | LCD Ekran Sürme 28 | 29 | Arduino ile LCD ekran arasındaki bağlantılar 30 | * LCD RS ==> digital-12 31 | * LCD Enable ==> digital-11 32 | * LCD D4 ==> digital-5 33 | * LCD D5 ==> digital-4 34 | * LCD D6 ==> digital-3 35 | * LCD D7 ==> digital-2 36 | * LCD R/W ==> toprak (GND) 37 | * 10K potansiyometre 0-5V bağlantı: 38 | * orta ucu LCD'nin V0 pinine(pin 3) 39 | */ 40 | // LCD kütüphanesini programımıza ekliyoruz: 41 | #include 42 | // LCD bağlantılarımızı ile LCD'yi başlatıyoruz 43 | LiquidCrystal lcd(12, 11, 5, 4, 3, 2); 44 | 45 | void setup() { 46 | // LCD’mizin başlangıç ayarı 16 karakter x 2 satır 47 | lcd.begin(16, 2); 48 | lcd.print("ARDUINO!"); 49 | //İmleci 2. satırın başına alıyoruz 50 | lcd.setCursor(0, 1); 51 | lcd.print("PROGRAMLAMA"); 52 | } 53 | void loop() { 54 | int i = 0; 55 | //Ekranı 16 kere sağa kaydırıyoruz 56 | for(i=0;i<16;i++){ 57 | lcd.scrollDisplayRight(); 58 | delay(200); 59 | } 60 | //Ekranı 16 kere sola kaydırıyoruz 61 | for(i=0;i<16;i++){ 62 | lcd.scrollDisplayLeft(); 63 | delay(200); 64 | } 65 | } 66 | 67 | -------------------------------------------------------------------------------- /Programlar/Bölüm 10 - Programlar/LCDKullanimi6/LCDKullanimi6.ino: -------------------------------------------------------------------------------- 1 | /*************************************************************** 2 | Arduino Kitabı - Coşkun Taşdemir 3 | Dikeyeksen Yayınları 4 | http://www.dikeyeksen.com/muhendislik/arduino.html 5 | 6 | Bölüm 10 - LCD Kullanımı 7 | 8 | LCD Ekran Kullanımı - Örnek 6 9 | 10 | LM35 sensörü ile sıcaklık ölçümü ve 11 | LCD ekranda görüntüleme 12 | Bu sensör derece başına 10 mV çıkış verir. 13 | 20 ºC => için 20 * 10 mV = 200 mV 14 | LM35 çıkışı analog 0 girişine bağlı. 15 | Arduino ile LCD ekran arasındaki bağlantılar 16 | * LCD RS ==> digital-12 17 | * LCD Enable ==> digital-11 18 | * LCD D4 ==> digital-5 19 | * LCD D5 ==> digital-4 20 | * LCD D6 ==> digital-3 21 | * LCD D7 ==> digital-2 22 | * LCD R/W ==> toprak (GND) 23 | * 10K potansiyometre 0-5V bağlantı: 24 | * orta ucu LCD'nin V0 pinine(pin 3) 25 | ****************************************************************/ 26 | 27 | #include 28 | //Değişkenleri tanımlıyoruz 29 | float sicaklik; 30 | float gerilim; 31 | int sicaklikPin = 0; 32 | 33 | // LCD bağlantılarımızı ile LCD'yi başlatıyoruz 34 | LiquidCrystal lcd(12, 11, 5, 4, 3, 2); 35 | void setup() 36 | { 37 | Serial.begin(9600); //Seri haberleşmeyi başlat (9600 bps) 38 | // LCD’mizin başlangıç ayarı 16 karakter x 2 satır 39 | lcd.begin(16, 2); 40 | } 41 | void loop() 42 | { 43 | gerilim = analogRead(sicaklikPin); // Sensörden gelen değeri oku 44 | gerilim = (gerilim / 1023) * 5000; // mV cinsinden gerilimi buluyoruz 45 | sicaklik = gerilim / 10.0; // Gerilim değerini sıcaklığa çeviriyoruz 46 | 47 | lcd.setCursor(0,0); 48 | lcd.print("Sicaklik:"); 49 | lcd.setCursor(0,1); 50 | lcd.print(sicaklik); 51 | delay(1000); //Saniyede bir ölçüm gönderiyoruz 52 | } 53 | 54 | 55 | 56 | -------------------------------------------------------------------------------- /Programlar/Bölüm 10 - Programlar/LCDKullanimi7/LCDKullanimi7.ino: -------------------------------------------------------------------------------- 1 | /*************************************************************** 2 | Arduino Kitabı - Coşkun Taşdemir 3 | Dikeyeksen Yayınları 4 | http://www.dikeyeksen.com/muhendislik/arduino.html 5 | 6 | Bölüm 10 - LCD Kullanımı 7 | 8 | LCD Ekran Kullanımı - Örnek 7 9 | Serial Monitor'den gönderilen verileri 10 | LCD ekran üzerinde görüntüleme örneği 11 | 12 | Arduino ile LCD ekran arasındaki bağlantılar 13 | * LCD RS ==> digital-12 14 | * LCD Enable ==> digital-11 15 | * LCD D4 ==> digital-5 16 | * LCD D5 ==> digital-4 17 | * LCD D6 ==> digital-3 18 | * LCD D7 ==> digital-2 19 | * LCD R/W ==> toprak (GND) 20 | * 10K potansiyometre 0-5V bağlantı: 21 | * orta ucu LCD'nin V0 pinine(pin 3) 22 | ****************************************************************/ 23 | 24 | #include 25 | //Değişkenleri tanımlıyoruz 26 | char gelenKarakter; 27 | int gelenKarakterSayisi; 28 | int i; 29 | String yazi = ""; 30 | String kaydirilacakYazi = ""; 31 | // LCD bağlantılarımızı ile LCD'yi başlatıyoruz 32 | LiquidCrystal lcd(12, 11, 5, 4, 3, 2); 33 | void setup() 34 | { 35 | Serial.begin(9600); //Seri haberleşmeyi başlat (9600 bps) 36 | // LCD’mizin başlangıç ayarı 16 karakter x 2 satır 37 | lcd.begin(16, 2); 38 | lcd.home(); 39 | } 40 | 41 | void loop() 42 | { 43 | /* Seriporttan gelen karakterler alınarak string'e çevriliyor 44 | eğer satır sonu karakteri (\n) alındıysa o ana kadar 45 | alınmış veriler LCD'de görüntüleniyor 46 | */ 47 | gelenKarakterSayisi = Serial.available(); 48 | if(gelenKarakterSayisi >0 ) 49 | { 50 | while(Serial.available()>0) 51 | { 52 | gelenKarakter = Serial.read(); 53 | 54 | if(gelenKarakter !='\n') 55 | { 56 | yazi +=gelenKarakter; 57 | } 58 | else 59 | { 60 | kaydirilacakYazi = yazi; 61 | lcd.clear(); 62 | lcd.print(yazi); 63 | yazi = ""; 64 | } 65 | } 66 | } 67 | YaziKaydir(kaydirilacakYazi); 68 | } 69 | 70 | /* 71 | YaziKaydir fonksiyonu 72 | String olarak verilen verileri ekranda sağa doğru 73 | kaydırarak görüntüler 74 | */ 75 | void YaziKaydir(String yazi) 76 | { 77 | int sayac; 78 | for (sayac = 0; sayac < 13; sayac++) { 79 | //her seferine ekranı sağa kaydır 80 | lcd.scrollDisplayRight(); 81 | //kaydırmalar arası gecikme 82 | delay(150); 83 | } 84 | } 85 | 86 | -------------------------------------------------------------------------------- /Programlar/Bölüm 10 - Programlar/LCDKullanimi8/LCDKullanimi8.ino: -------------------------------------------------------------------------------- 1 | /*************************************************************** 2 | Arduino Kitabı - Coşkun Taşdemir 3 | Dikeyeksen Yayınları 4 | http://www.dikeyeksen.com/muhendislik/arduino.html 5 | 6 | Bölüm 10 - LCD Kullanımı 7 | 8 | LCD Ekran Kullanımı - Örnek 8 9 | Serial Monitor'den gönderilen verileri 10 | LCD ekran üzerinde görüntüleme örneği 11 | 12 | Arduino ile LCD ekran arasındaki bağlantılar 13 | * LCD RS ==> digital-12 14 | * LCD Enable ==> digital-11 15 | * LCD D4 ==> digital-5 16 | * LCD D5 ==> digital-4 17 | * LCD D6 ==> digital-3 18 | * LCD D7 ==> digital-2 19 | * LCD R/W ==> toprak (GND) 20 | * 10K potansiyometre 0-5V bağlantı: 21 | * orta ucu LCD'nin V0 pinine(pin 3) 22 | ****************************************************************/ 23 | 24 | #include 25 | //Değişkenleri tanımlıyoruz 26 | char gelenKarakter; 27 | int gelenKarakterSayisi; 28 | int i; 29 | String yazi = ""; 30 | String kaydirilacakYazi = ""; 31 | // LCD bağlantılarımızı ile LCD'yi başlatıyoruz 32 | LiquidCrystal lcd(12, 11, 5, 4, 3, 2); 33 | void setup() 34 | { 35 | Serial.begin(9600); //Seri haberleşmeyi başlat (9600 bps) 36 | // LCD’mizin başlangıç ayarı 16 karakter x 2 satır 37 | lcd.begin(16, 2); 38 | lcd.home(); 39 | } 40 | 41 | void loop() 42 | { 43 | lcd.write((B01111110)); 44 | delay(1000); 45 | 46 | } 47 | 48 | 49 | -------------------------------------------------------------------------------- /Programlar/Bölüm 10 - Programlar/LCDKullanimi9/LCDKullanimi9.ino: -------------------------------------------------------------------------------- 1 | /*************************************************************** 2 | Arduino Kitabı - Coşkun Taşdemir 3 | Dikeyeksen Yayınları 4 | http://www.dikeyeksen.com/muhendislik/arduino.html 5 | 6 | Bölüm 10 - LCD Kullanımı 7 | 8 | LCD Ekran Kullanımı - Örnek 9 9 | LCD üzerinde özel karakterler görüntüleme 10 | Görüntülemek istediğimiz karaktere ait 11 | 8x5 piksel değerlerini dizilerle tanımlayıp 12 | createChar() fonksiyonu ile LCD'ye yüklüyoruz 13 | 7 adet özel karakter LCD'ye yüklenebilmektedir. 14 | ****************************************************************/ 15 | 16 | #include 17 | LiquidCrystal lcd(12, 11, 5, 4, 3, 2); 18 | 19 | byte gulenSurat[8] = {B00000, 20 | B01010, 21 | B00000, 22 | B10001, 23 | B01110, 24 | B00000, 25 | B00000, 26 | B00000}; 27 | 28 | byte uzgunSurat[8] = {B00000, 29 | B01010, 30 | B00000, 31 | B01110, 32 | B10001, 33 | B00000, 34 | B00000, 35 | B00000}; 36 | byte kalp[8] = { B00000, 37 | B01010, 38 | B11111, 39 | B11111, 40 | B11111, 41 | B01110, 42 | B00100, 43 | B00000}; 44 | 45 | byte okisaretleri[8] = { B00100, 46 | B01110, 47 | B11111, 48 | B00000, 49 | B00000, 50 | B11111, 51 | B01110, 52 | B00100}; 53 | 54 | 55 | void setup() { 56 | lcd.begin(16,2); 57 | lcd.createChar(0, gulenSurat); 58 | lcd.createChar(1, uzgunSurat); 59 | lcd.createChar(2, kalp); 60 | lcd.createChar(3, okisaretleri); 61 | 62 | lcd.clear(); 63 | lcd.home(); 64 | lcd.setCursor(0,0); 65 | lcd.write(byte(2)); 66 | lcd.setCursor(1,0); 67 | lcd.write(byte(3)); 68 | 69 | } 70 | void loop() { 71 | delay(1000); 72 | lcd.setCursor(2,0); 73 | lcd.write(byte(0)); 74 | delay(1000); 75 | lcd.setCursor(2,0); 76 | lcd.write(byte(1)); 77 | } 78 | 79 | 80 | -------------------------------------------------------------------------------- /Programlar/Bölüm 11 - Programlar/DahiliEEPROM/DahiliEEPROM.ino: -------------------------------------------------------------------------------- 1 | /*************************************************************** 2 | Arduino Kitabı - Coşkun Taşdemir 3 | Dikeyeksen Yayınları 4 | http://www.dikeyeksen.com/muhendislik/arduino.html 5 | 6 | Bölüm 11 - Kalıcı Hafıza Kullanımı 7 | 8 | Dahili EEPROM kullanımı 9 | Serial Monitor'den gönderilen veriler 10 | LCD ekran üzerinde görüntüleniyor. 11 | Gönderilen veriler dahili EEPROM'a 12 | kaydediliyor 13 | Arduino ile LCD ekran arasındaki bağlantılar 14 | * LCD RS ==> digital-12 15 | * LCD Enable ==> digital-11 16 | * LCD D4 ==> digital-5 17 | * LCD D5 ==> digital-4 18 | * LCD D6 ==> digital-3 19 | * LCD D7 ==> digital-2 20 | * LCD R/W ==> toprak (GND) 21 | * 10K potansiyometre 0-5V bağlantı: 22 | * orta ucu LCD'nin V0 pinine(pin 3) 23 | ***************************************************************/ 24 | 25 | #include //LCD kütüphanesi 26 | #include 27 | 28 | //Değişkenleri tanımlıyoruz 29 | char gelenKarakter; // Serial Monitorden gelen karakter 30 | int gelenKarakterSayisi; 31 | String yazi = ""; 32 | String baslangicYazi = ""; 33 | // LCD bağlantılarımızı ile LCD'yi başlatıyoruz 34 | LiquidCrystal lcd(12, 11, 5, 4, 3, 2); 35 | 36 | void setup() 37 | { 38 | Serial.begin(9600); //Seri haberleşmeyi başlat (9600 bps) 39 | // LCD’mizin başlangıç ayarı 16 karakter x 2 satır 40 | lcd.begin(16, 2); 41 | lcd.home(); 42 | // Program başladığında EEPROM'a daha önceden kaydedilmiş olan 43 | // string okunur ve LCD'de görüntülenir. 44 | baslangicYazi = EEPROMdan_String_Oku(); 45 | lcd.print(baslangicYazi); 46 | } 47 | void loop() 48 | { 49 | /* Seriporttan gelen karakterler alınarak string'e çevriliyor 50 | eğer satır sonu karakteri (\n) alındıysa o ana kadar 51 | alınmış veriler LCD'de görüntüleniyor 52 | */ 53 | gelenKarakterSayisi = Serial.available(); 54 | if(gelenKarakterSayisi > 0 ) 55 | { 56 | while(Serial.available()>0) 57 | { 58 | gelenKarakter = Serial.read(); 59 | // Satır sonu karakteri (\n) gelene kadar gelen karakterleri 60 | // string'e ekliyoruz 61 | if(gelenKarakter !='\n') 62 | { 63 | yazi +=gelenKarakter; 64 | } 65 | else 66 | { 67 | // Satır sonu geldi artık LCD'ye yazdırmaya geçebiliriz. 68 | lcd.clear(); 69 | lcd.print(yazi); 70 | EEPROMa_String_Yaz(yazi); 71 | yazi = ""; 72 | } 73 | } 74 | } 75 | YaziKaydir(); 76 | } 77 | /* 78 | YaziKaydir fonksiyonu 79 | String olarak verilen verileri ekranda sağa doğru 80 | kaydırarak görüntüler 81 | */ 82 | void YaziKaydir() 83 | { 84 | for (int i = 0; i < 16; i++) { 85 | //her seferine ekranı sola kaydır 86 | lcd.scrollDisplayLeft(); 87 | //kaydırmalar arası gecikme 88 | delay(150); 89 | } 90 | } 91 | /* EEPROM'dan String Okuma fonksiyonu 92 | EEPROM'un 0. gözünden string uzunluğu okunur. 93 | Sonra string uzunluğu kadar karakter okunarak 94 | String oluşturulur ve bu string döndürülür. 95 | */ 96 | String EEPROMdan_String_Oku(){ 97 | byte bayt1; 98 | char karakter; 99 | String baslangicYazisi = ""; 100 | bayt1 = EEPROM.read(0); 101 | 102 | for(int i = 1; i<(bayt1+1);i++) 103 | { 104 | karakter = (char)EEPROM.read(i); 105 | baslangicYazisi = baslangicYazisi + karakter; 106 | } 107 | return baslangicYazisi; 108 | } 109 | /* EEPROM'a String Yazma fonksiyonu 110 | Verilen strin'i EEPROM'a yazar. 111 | 0. göze String boyutu yazılır. 112 | */ 113 | void EEPROMa_String_Yaz(String EEPROMString) 114 | { 115 | EEPROM.write(0,EEPROMString.length()); 116 | for(int i = 0; i 15 | 16 | // EEPROM'da kayıt yapılacak bellek gözünün adresini tutan değişken 17 | int addr = 0; 18 | // EEPROM'a kaydedilecek olan karakteri tutan değişken 19 | char kar = 0; 20 | void setup() 21 | { 22 | Serial.begin(9600); 23 | } 24 | void loop() 25 | { 26 | if(Serial.available() > 0) 27 | { 28 | kar = Serial.read(); 29 | EEPROM.write(addr,kar); 30 | Serial.print("Karakter kaydedildi:"); 31 | Serial.println(kar); 32 | addr++; // Yeni bellek gözüne geç 33 | } 34 | } 35 | 36 | -------------------------------------------------------------------------------- /Programlar/Bölüm 11 - Programlar/EEPROM_Islemleri_2/EEPROM_Islemleri_2.ino: -------------------------------------------------------------------------------- 1 | /*************************************************************** 2 | Arduino Kitabı - Coşkun Taşdemir 3 | Dikeyeksen Yayınları 4 | http://www.dikeyeksen.com/muhendislik/arduino.html 5 | 6 | Bölüm 11 - Kalıcı Hafıza Kullanımı 7 | 8 | EEPROM İşlemleri - Örnek 2 9 | EEPROM Read fonksiyonu 10 | EEPROM bellekteki verileri okuyarak bilgisaraya gönderir 11 | ****************************************************************/ 12 | 13 | #include 14 | // EEPROM'un 0 nolu bellek gözünden itibaren okumaya başla 15 | int adres = 0; 16 | // EEPROM'dan okunan karakteri tutan değişken 17 | char kar; 18 | void setup() 19 | { 20 | Serial.begin(9600); 21 | } 22 | 23 | void loop() 24 | { 25 | // EEPROM'da şu anki adreste bulunan karakteri oku 26 | kar = EEPROM.read(adres); 27 | Serial.print(adres); 28 | Serial.print("\t"); // TAB işareti ekle 29 | Serial.print(kar); 30 | Serial.print("\t"); // TAB işareti ekle 31 | Serial.print("Desimal:"); 32 | Serial.println(byte(kar)); 33 | 34 | // Bir sonraki adrese geç 35 | adres++; 36 | // EEPROM'un boyutu 1024 bayt 37 | if (adres == 1024) 38 | adres = 0; 39 | delay(500); 40 | } 41 | 42 | -------------------------------------------------------------------------------- /Programlar/Bölüm 11 - Programlar/EEPROM_Islemleri_3/EEPROM_Islemleri_3.ino: -------------------------------------------------------------------------------- 1 | /*************************************************************** 2 | Arduino Kitabı - Coşkun Taşdemir 3 | Dikeyeksen Yayınları 4 | http://www.dikeyeksen.com/muhendislik/arduino.html 5 | 6 | Bölüm 11 - Kalıcı Hafıza Kullanımı 7 | 8 | EEPROM İşlemleri - Örnek 3 9 | EEPROM'a int değişken kaydetme ve okuma 10 | Int değişkeni iki bayta (düşük ve yüksek) ayrılarak 11 | EEPROM’a kaydediliyor. 12 | 13 | ****************************************************************/ 14 | #include 15 | // EEPROM'da kayıt yapılacak bellek gözünün adresini tutan değişken 16 | int addr = 0; 17 | // EEPROM'a kaydedilecek olan değişken tutan değişken 18 | int sayi = 0; 19 | void setup() 20 | { 21 | Serial.begin(9600); 22 | } 23 | void loop() 24 | { 25 | EEPROMaIntYaz(0,1111); 26 | EEPROMaIntYaz(2,2222); 27 | EEPROMaIntYaz(4,3456); 28 | EEPROMaIntYaz(6,9876); 29 | Serial.println(EEPROMdanIntOku(0)); 30 | Serial.println(EEPROMdanIntOku(2)); 31 | Serial.println(EEPROMdanIntOku(4)); 32 | Serial.println(EEPROMdanIntOku(6)); 33 | //Programı burada kilitliyoruz 34 | while(1); 35 | } 36 | /* EEPROM’a int kaydeden fonksiyon 37 | int değeri iki bayta ayrılarak EEPROM’a kaydediliyor 38 | düşük Bayt => Adres gözüne 39 | yüksek Bayt => Adres + 1 gözüne kaydediliyor 40 | */ 41 | void EEPROMaIntYaz(int adres, int yazilacakSayi) 42 | { 43 | byte dusukBayt = lowByte(yazilacakSayi); 44 | byte yuksekBayt = highByte(yazilacakSayi); 45 | 46 | EEPROM.write(adres,dusukBayt); 47 | EEPROM.write(adres+1,yuksekBayt); 48 | } 49 | /* EEPROM’dan int okuyan fonksiyon 50 | int değeri EEPROM’dan okunan iki 51 | bayttan oluşturuluyor 52 | düşük Bayt => Adres gözünden 53 | yüksek Bayt => Adres + 1 gözünden okunuyor */ 54 | int EEPROMdanIntOku(int adres) 55 | { 56 | int dusukBayt = EEPROM.read(adres); 57 | int yuksekBayt = EEPROM.read(adres+1); 58 | int sayi = dusukBayt + (yuksekBayt<<8); 59 | return sayi; 60 | } 61 | 62 | -------------------------------------------------------------------------------- /Programlar/Bölüm 11 - Programlar/IC2EEPROM/IC2EEPROM.ino: -------------------------------------------------------------------------------- 1 | /*************************************************************** 2 | Arduino Kitabı - Coşkun Taşdemir 3 | Dikeyeksen Yayınları 4 | http://www.dikeyeksen.com/muhendislik/arduino.html 5 | 6 | Bölüm 11 - Kalıcı Hafıza Kullanımı 7 | I2C Örneği 8 | I2C üzerinden 24C02 EEPROM kullanımı 9 | Serial Monitor'den gönderilen verileri 10 | LCD ekran üzerinde görüntüleniyor. 11 | Gönderilen veriler I2C üzerinden 24C02 EEPROM'a 12 | kaydediliyor 13 | 14 | Arduino ile LCD ekran arasındaki bağlantılar 15 | * LCD RS ==> digital-12 16 | * LCD Enable ==> digital-11 17 | * LCD D4 ==> digital-5 18 | * LCD D5 ==> digital-4 19 | * LCD D6 ==> digital-3 20 | * LCD D7 ==> digital-2 21 | * LCD R/W ==> toprak (GND) 22 | * 10K potansiyometre 0-5V bağlantı: 23 | * orta ucu LCD'nin V0 pinine(pin 3) 24 | ****************************************************************/ 25 | 26 | #include //LCD kütüphanesi 27 | #include //I2C kütüphanesi 28 | 29 | #define EEPROM_ADRES 80 // EEPROM Adresi B1010000 30 | //Değişkenleri tanımlıyoruz 31 | char gelenKarakter; // Serial Monitorden gelen karakter 32 | int gelenKarakterSayisi; 33 | String yazi = ""; 34 | String baslangicYazi = ""; 35 | 36 | 37 | 38 | // LCD bağlantılarımızı ile LCD'yi başlatıyoruz 39 | LiquidCrystal lcd(12, 11, 5, 4, 3, 2); 40 | 41 | void setup() 42 | { 43 | Serial.begin(9600); //Seri haberleşmeyi başlat (9600 bps) 44 | Wire.begin(); // I2C haberleşmesini başlat 45 | 46 | // LCD’mizin başlangıç ayarı 16 karakter x 2 satır 47 | lcd.begin(16, 2); 48 | lcd.home(); 49 | // Program başladığında EEPROM'a daha önceden kaydedilmiş olan 50 | // string okunur ve LCD'de görüntülenir. 51 | baslangicYazi = EEPROMdan_String_Oku(); 52 | lcd.print(baslangicYazi); 53 | 54 | } 55 | 56 | void loop() 57 | { 58 | /* Seriporttan gelen karakterler alınarak string'e çevriliyor 59 | eğer satır sonu karakteri (\n) alındıysa o ana kadar 60 | alınmış veriler LCD'de görüntüleniyor 61 | */ 62 | gelenKarakterSayisi = Serial.available(); 63 | if(gelenKarakterSayisi > 0 ) 64 | { 65 | while(Serial.available()>0) 66 | { 67 | gelenKarakter = Serial.read(); 68 | 69 | // Satır sonu karakteri (\n) gelene kadar gelen karakterleri 70 | // string'e ekliyoruz 71 | if(gelenKarakter !='\n') 72 | { 73 | yazi +=gelenKarakter; 74 | } 75 | else 76 | { 77 | // Satır sonu geldi artık LCD'ye yazdırmaya geçebiliriz. 78 | lcd.clear(); 79 | lcd.print(yazi); 80 | EEPROMa_String_Yaz(yazi); 81 | 82 | yazi = ""; 83 | } 84 | } 85 | } 86 | YaziKaydir(); 87 | } 88 | 89 | /* 90 | YaziKaydir fonksiyonu 91 | String olarak verilen verileri ekranda sağa doğru 92 | kaydırarak görüntüler 93 | */ 94 | void YaziKaydir() 95 | { 96 | for (int i = 0; i < 16; i++) { 97 | //her seferine ekranı sola kaydır 98 | lcd.scrollDisplayLeft(); 99 | //kaydırmalar arası gecikme 100 | delay(150); 101 | } 102 | } 103 | 104 | /* EEPROM'a Bayt Yazma fonksiyonu 105 | EEPROM'un adresi verilen gözüne verilen baytı yazar. 106 | */ 107 | void i2c_EEPROM_bayt_yaz(byte veriAdres, byte veri ) { 108 | int yazilacakVeri = veri; 109 | Wire.beginTransmission(EEPROM_ADRES); 110 | Wire.write(veriAdres); 111 | Wire.write(yazilacakVeri); 112 | Wire.endTransmission(); 113 | } 114 | 115 | /* EEPROM'dan Bayt Okuma fonksiyonu 116 | EEPROM'un adresi verilen gözünden bir bayt okunur 117 | ve bu döndürülür. 118 | */ 119 | byte i2c_EEPROM_bayt_oku(byte veriAdres) { 120 | byte sonuc = 0; 121 | int i; 122 | Wire.beginTransmission(EEPROM_ADRES); 123 | Wire.write(veriAdres); 124 | Wire.endTransmission(); 125 | Wire.requestFrom(EEPROM_ADRES, 1); 126 | while(!Wire.available()){} 127 | sonuc = Wire.read(); 128 | Wire.endTransmission(); 129 | return sonuc; 130 | } 131 | 132 | /* EEPROM'dan String Okuma fonksiyonu 133 | EEPROM'un 0. gözünden string uzunluğu okunur. 134 | Sonra string uzunluğu kadar karakter okunarak 135 | String oluşturulur ve bu string döndürülür. 136 | */ 137 | String EEPROMdan_String_Oku(){ 138 | byte bayt1; 139 | char karakter; 140 | String baslangicYazisi = ""; 141 | 142 | bayt1 = i2c_EEPROM_bayt_oku(0); 143 | 144 | for(int i = 1; i<(bayt1+1);i++) 145 | { 146 | karakter = (char)i2c_EEPROM_bayt_oku(i); 147 | baslangicYazisi = baslangicYazisi + karakter; 148 | } 149 | return baslangicYazisi; 150 | } 151 | 152 | /* EEPROM'a String Yazma fonksiyonu 153 | Verilen strin'i EEPROM'a yazar. 154 | 0. göze String boyutu yazılır. 155 | */ 156 | void EEPROMa_String_Yaz(String EEPROMString) 157 | { 158 | i2c_EEPROM_bayt_yaz(0,EEPROMString.length()); 159 | 160 | for(int i = 0; i yanmaAraligi) { 40 | //Su anki zamanı bir sonraki çevrim için kaydediyoruz 41 | oncekiZamanDegeri = zamanDegeri; 42 | 43 | // LED'in durumunu değiştiriyoruz 44 | if (ledDurumu == LOW) 45 | ledDurumu = HIGH; 46 | else 47 | ledDurumu = LOW; 48 | // LED durumunu güncelle 49 | digitalWrite(ledPini, ledDurumu); 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /Programlar/Bölüm 5 - Programlar/ifKullanimi/ifKullanimi.ino: -------------------------------------------------------------------------------- 1 | /*************************************************************** 2 | Arduino Kitabı - Coşkun Taşdemir 3 | Dikeyeksen Yayınları 4 | http://www.dikeyeksen.com/muhendislik/arduino.html 5 | 6 | 7 | Bölüm 5 - Kontrol Yapıları ve Fonksiyonlar 8 | 9 | if yapısı kullanımı örneği 10 | 11 | 2 nolu dijital pine pull-down direnci ile bağlı butona 12 | basıldığında 13 nolu pine bağlı olan (Arduino üzerindeki) 13 | LED yakılıyor 14 | ***************************************************************/ 15 | 16 | int buttonPini = 2; // butonun bağlı olduğu pin 17 | int ledPini = 13; // LED’in bağlı olduğu pin 18 | int buttonDurumu = 0; // buton durumunu tutan değişken 19 | 20 | void setup() { 21 | pinMode(ledPini, OUTPUT); 22 | pinMode(buttonPini, INPUT); 23 | } 24 | void loop(){ 25 | buttonDurumu = digitalRead(buttonPini); // buton girişini oku 26 | // Buton girişi 1 (HIGH) ise LED çıkışını 1 (HIGH) yap 27 | if (buttonDurumu == HIGH) { 28 | digitalWrite(ledPini, HIGH); 29 | } 30 | else { 31 | // turn LED off: 32 | digitalWrite(ledPini, LOW); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /Programlar/Bölüm 5 - Programlar/while_kullanimi/while_kullanimi.ino: -------------------------------------------------------------------------------- 1 | /*************************************************************** 2 | Arduino Kitabı - Coşkun Taşdemir 3 | Dikeyeksen Yayınları 4 | http://www.dikeyeksen.com/muhendislik/arduino.html 5 | 6 | Bölüm 5 - Kontrol Yapıları ve Fonksiyonlar 7 | 8 | while döngüsü kullanımı örneği 9 | 10 | */ 11 | 12 | void setup() { 13 | // seriportu 9600 bps hızına ayarla 14 | Serial.begin(9600); 15 | } 16 | void loop() { 17 | int a = 0; 18 | while (a < 100) 19 | { 20 | a = a + 1; 21 | Serial.println(a); 22 | delay(100); 23 | } 24 | Serial.println("Donguden Cikildi!"); 25 | 26 | while(1); // Programı burada kilitliyoruz 27 | } 28 | 29 | -------------------------------------------------------------------------------- /Programlar/Bölüm 6 - Programlar/stringler1/stringler1.ino: -------------------------------------------------------------------------------- 1 | /************************************************************** 2 | Arduino Kitabı - Coşkun Taşdemir 3 | Dikeyeksen Yayınları 4 | http://www.dikeyeksen.com/muhendislik/arduino.html 5 | 6 | String'ler ile ile işlemler - Örnek 1 7 | Karakter Dizileri 8 | *************************************************************/ 9 | 10 | char karakterDizisi[] = "Arduino"; 11 | int i = 0; 12 | 13 | void setup() { 14 | // Seri haberleşmeyi başlatıyoruz 15 | Serial.begin(9600); 16 | Serial.println("Karakter \t ASCII Kodu"); 17 | } 18 | void loop() { 19 | 20 | for(i = 0; i<8;i++){ 21 | Serial.print(karakterDizisi[i]); 22 | Serial.print("-"); 23 | Serial.println(byte(karakterDizisi[i])); 24 | 25 | 26 | } 27 | 28 | //Programı burada kilitliyoruz 29 | while(1); 30 | } 31 | 32 | 33 | -------------------------------------------------------------------------------- /Programlar/Bölüm 6 - Programlar/stringler10/stringler10.ino: -------------------------------------------------------------------------------- 1 | /*************************************************************** 2 | Arduino Kitabı - Coşkun Taşdemir 3 | Dikeyeksen Yayınları 4 | http://www.dikeyeksen.com/muhendislik/arduino.html 5 | 6 | String'ler ile ile işlemler - Örnek 10 7 | 8 | Trim() fonksiyonu ile string başında ve sonundaki boşlukların 9 | kaldırılması 10 | ***************************************************************/ 11 | 12 | String a = " Arduino string fonksiyonlari "; 13 | String b; 14 | 15 | void setup() { 16 | Serial.begin(9600); 17 | } 18 | 19 | void loop() { 20 | Serial.println(a); // Orjinal string 21 | a.trim(); 22 | Serial.println(a); // String başında ve sonundaki boşluklar kaldırılmış hali 23 | 24 | // programı burada kilitliyoruz (sonsuz döngüde kalıyor) 25 | while(true); 26 | } 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /Programlar/Bölüm 6 - Programlar/stringler11/stringler11.ino: -------------------------------------------------------------------------------- 1 | /*************************************************************** 2 | Arduino Kitabı - Coşkun Taşdemir 3 | Dikeyeksen Yayınları 4 | http://www.dikeyeksen.com/muhendislik/arduino.html 5 | 6 | String'ler ile ile işlemler - Örnek 11 7 | 8 | indexOf() fonksiyonu ile bir string içinde 9 | başka bir karakter veya string'in bulunduğu yerin indisinin 10 | elde edilmesi 11 | ****************************************************************/ 12 | 13 | 14 | void setup() { 15 | Serial.begin(9600); 16 | Serial.println("String indexOf() ve lastIndexOf() fonksiyonlari"); 17 | 18 | } 19 | 20 | void loop() { 21 | // indexOf() fonksiyonu belirli bir karakterin string içindeki yerinin indis değerini döndürür. 22 | 23 | String ornekString = "Arduino ile programlama yapmak cok kolay!"; 24 | int birinciIndisDegeri; 25 | int ikinciIndisDegeri; 26 | 27 | birinciIndisDegeri = ornekString.indexOf('o'); 28 | Serial.print("o karakterinin "); 29 | Serial.println(ornekString); 30 | Serial.print(" icinde ilk bulundugu yerin indisi:"); 31 | Serial.println(birinciIndisDegeri); 32 | 33 | 34 | ikinciIndisDegeri = ornekString.indexOf('o',birinciIndisDegeri + 1); 35 | Serial.print("o karakterinin "); 36 | Serial.println(ornekString); 37 | Serial.print(" icinde 2.kez bulundugu yerin indisi:"); 38 | Serial.println(ikinciIndisDegeri); 39 | 40 | 41 | birinciIndisDegeri = ornekString.indexOf("ma"); 42 | Serial.print("ma stringinin "); 43 | Serial.println(ornekString); 44 | Serial.print(" icinde ilk bulundugu yerin indisi:"); 45 | Serial.println(birinciIndisDegeri); 46 | 47 | ikinciIndisDegeri = ornekString.indexOf("ma",birinciIndisDegeri + 1); 48 | Serial.print("ma stringinin "); 49 | Serial.println(ornekString); 50 | Serial.print(" icinde 2. kez bulundugu yerin indisi:"); 51 | Serial.println(ikinciIndisDegeri); 52 | 53 | 54 | // Programı burada kitliyoruz (sonsuz döngü) 55 | while(true); 56 | } 57 | 58 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /Programlar/Bölüm 6 - Programlar/stringler12/stringler12.ino: -------------------------------------------------------------------------------- 1 | /*************************************************************** 2 | Arduino Kitabı - Coşkun Taşdemir 3 | Dikeyeksen Yayınları 4 | http://www.dikeyeksen.com/muhendislik/arduino.html 5 | 6 | String'ler ile ile işlemler - Örnek 12 7 | 8 | Replace() fonksiyonu ile içerisindeki belirli bir karakter 9 | bir başkası ile değiştirilebilir 10 | ****************************************************************/ 11 | 12 | void setup() { 13 | Serial.begin(9600); 14 | } 15 | 16 | void loop() { 17 | 18 | String ornekString1 = "aaBdCDe.eFg.h.i.A.B.Y.."; 19 | 20 | Serial.println(ornekString1); 21 | ornekString1.replace('.',',');// nokta işaretleri, virgül işaretine çevriliyor 22 | Serial.println(ornekString1); 23 | 24 | // programı burada kilitliyoruz (sonsuz döngüde kalıyor) 25 | while(true); 26 | } 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /Programlar/Bölüm 6 - Programlar/stringler2/stringler2.ino: -------------------------------------------------------------------------------- 1 | /************************************************************** 2 | Arduino Kitabı - Coşkun Taşdemir 3 | Dikeyeksen Yayınları 4 | http://www.dikeyeksen.com/muhendislik/arduino.html 5 | 6 | String'ler ile ile işlemler - Örnek 2 7 | Temel String İşlemleri 8 | Stringlerin tanımlanması ve birbirine eklenmesi 9 | ****************************************************************/ 10 | 11 | // String bildirimleri 12 | String string1, string2, string3,stringToplam; 13 | 14 | 15 | void setup() { 16 | Serial.begin(9600); 17 | string1 = String(13); 18 | string2 = String(12,HEX); 19 | string3 = String (15,BIN); 20 | Serial.println("String islemleri"); // 21 | } 22 | 23 | void loop() { 24 | Serial.print("1.string:"); 25 | Serial.println(string1); 26 | Serial.print("2.string:"); 27 | Serial.println(string2); 28 | Serial.print("3.string:"); 29 | Serial.println(string3); 30 | 31 | stringToplam = "String birlestirme - 1. string:" + string1 + " 2. string:" + string2 32 | + " 3. string:" + string3; 33 | Serial.println("String'lerin birlestirilmesi:"); 34 | Serial.println(stringToplam); 35 | 36 | // programı burada kilitliyoruz (sonsuz döngüde kalıyor) 37 | while(true); 38 | } 39 | 40 | -------------------------------------------------------------------------------- /Programlar/Bölüm 6 - Programlar/stringler3/stringler3.ino: -------------------------------------------------------------------------------- 1 | /************************************************************** 2 | Arduino Kitabı - Coşkun Taşdemir 3 | Dikeyeksen Yayınları 4 | http://www.dikeyeksen.com/muhendislik/arduino.html 5 | 6 | 7 | 8 | String'ler ile ile işlemler - Örnek 3 9 | Temel String İşlemleri 10 | Stringlerin tanımlanması ve birbirine eklenmesi 11 | ***************************************************************/ 12 | 13 | // String bildirimleri 14 | String ornekString1 = "Arduino"; 15 | String ornekString2 = "ile programlama"; 16 | String ornekString3 = "cok zevkli!"; 17 | 18 | void setup() { 19 | Serial.begin(9600); 20 | 21 | } 22 | 23 | void loop() { 24 | Serial.print(ornekString1); 25 | Serial.print(" string'inin boyutu:"); 26 | Serial.println(ornekString1.length()); 27 | 28 | Serial.print(ornekString2); 29 | Serial.print(" string'inin boyutu:"); 30 | Serial.println(ornekString2.length()); 31 | 32 | Serial.print(ornekString3); 33 | Serial.print(" stringi'nin boyutu:"); 34 | Serial.println(ornekString3.length()); 35 | 36 | 37 | // programı burada kilitliyoruz (sonsuz döngüde kalıyor) 38 | while(true); 39 | } 40 | 41 | -------------------------------------------------------------------------------- /Programlar/Bölüm 6 - Programlar/stringler4/stringler4.ino: -------------------------------------------------------------------------------- 1 | /************************************************************** 2 | Arduino Kitabı - Coşkun Taşdemir 3 | Dikeyeksen Yayınları 4 | http://www.dikeyeksen.com/muhendislik/arduino.html 5 | 6 | String'ler ile ile işlemler - Örnek 4 7 | String toplama operatörü kullanımı 8 | 9 | String'ler ile sabitler de ve değişkenler 10 | toplanabilir. 11 | ***************************************************************/ 12 | 13 | // String bildirimleri 14 | String string1 = "String Ornegi"; 15 | String string2 = "String Ornegi-2"; 16 | String string3; 17 | int tamSayi = 4567; 18 | char karakter = 'C'; 19 | 20 | void setup() { 21 | Serial.begin(9600); 22 | } 23 | 24 | void loop() { 25 | // Bir string'in tam sayı sabitle toplanması 26 | Serial.println("String + sabit sayi:"); 27 | string3 = string1 + 123; 28 | Serial.println(string3); 29 | 30 | Serial.println("String + int degisken:"); 31 | string3 = string1 + tamSayi; 32 | Serial.println(string3); 33 | 34 | // Bir string'in long tam sayı sabitle toplanması: 35 | Serial.println("String + buyuk sabit sayi:"); 36 | string3 = string1 + 123456789; 37 | Serial.println(string3); 38 | 39 | 40 | //Bir stringin karakter sabitiyle toplanması: 41 | Serial.println("String + karakter sabiti"); 42 | string3 = string1 + 'A'; 43 | Serial.println(string3); 44 | 45 | //Bir stringin karakter degişkeni ile toplanması: 46 | Serial.println("String + karakter degiskeni"); 47 | string3 = string1 + karakter; 48 | Serial.println(string3); 49 | 50 | // Bir string'in başka bir string sabitiyle toplanması 51 | Serial.println("String + sabit string"); 52 | string3 = string1 + "abc"; 53 | Serial.println(string3); 54 | 55 | // İki string'in toplanması 56 | Serial.println("String + String"); 57 | string3 = string1 + string2; 58 | Serial.println(string3); 59 | 60 | // Programımızı burada kilitliyoruz. 61 | while(true); 62 | } 63 | 64 | -------------------------------------------------------------------------------- /Programlar/Bölüm 6 - Programlar/stringler5/stringler5.ino: -------------------------------------------------------------------------------- 1 | /*************************************************************** 2 | Arduino Kitabı - Coşkun Taşdemir 3 | Dikeyeksen Yayınları 4 | http://www.dikeyeksen.com/muhendislik/arduino.html 5 | 6 | String'ler ile ile işlemler - Örnek 5 7 | String içerisinde belirli bir karakterin değiştirilmesi 8 | 9 | charAt() ve setCharAt() fonksiyonları ile string içerisinde 10 | belirli bir karakter değiştirilebilir. 11 | ****************************************************************/ 12 | 13 | // String bildirimleri 14 | String ornekString = "Arduino ile String islemleri"; 15 | char karakter; 16 | void setup() { 17 | Serial.begin(9600); 18 | } 19 | 20 | void loop() { 21 | Serial.print("Orjinal string: "); 22 | Serial.println(ornekString); 23 | karakter = ornekString.charAt(6); 24 | ornekString.setCharAt(6,'a'); 25 | Serial.print("6. karakteri 'a' yapilmis string: "); 26 | Serial.println(ornekString); 27 | // Programımızı burada kilitliyoruz. 28 | while(true); 29 | } 30 | 31 | -------------------------------------------------------------------------------- /Programlar/Bölüm 6 - Programlar/stringler6/stringler6.ino: -------------------------------------------------------------------------------- 1 | /*************************************************************** 2 | Arduino Kitabı - Coşkun Taşdemir 3 | Dikeyeksen Yayınları 4 | http://www.dikeyeksen.com/muhendislik/arduino.html 5 | 6 | String'ler ile ile işlemler - Örnek 6 7 | String'ler arasında karşılaştırma yapılması 8 | 9 | compareTo() fonksiyonu ile string'ler karşılıştırılıyor 10 | ****************************************************************/ 11 | 12 | // String bildirimleri 13 | String ornekString1; 14 | String ornekString2; 15 | String ornekString3; 16 | int sonuc; 17 | void setup() { 18 | Serial.begin(9600); 19 | } 20 | 21 | void loop() { 22 | ornekString1 = "Kedi"; 23 | ornekString2 = "Kopek"; 24 | ornekString3 = "Kopek"; 25 | sonuc = ornekString2.compareTo(ornekString1); 26 | Serial.print(sonuc); 27 | sonuc = ornekString3.compareTo(ornekString2); 28 | Serial.print(sonuc); 29 | 30 | 31 | 32 | // Programımızı burada kilitliyoruz. 33 | while(true); 34 | } 35 | 36 | -------------------------------------------------------------------------------- /Programlar/Bölüm 6 - Programlar/stringler7/stringler7.ino: -------------------------------------------------------------------------------- 1 | /*************************************************************** 2 | Arduino Kitabı - Coşkun Taşdemir 3 | Dikeyeksen Yayınları 4 | http://www.dikeyeksen.com/muhendislik/arduino.html 5 | 6 | String'ler ile ile işlemler - Örnek 7 7 | 8 | String’lerde startsWith() ve endsWith() fonskiyonlarının 9 | kullanımı 10 | 11 | ****************************************************************/ 12 | 13 | void setup() { 14 | Serial.begin(9600); 15 | } 16 | 17 | void loop() { 18 | // startsWith() fonksiyonu ile bir string’in başlangıcında 19 | // başka bir string’in varlığını arayabiliriz 20 | String string1 = "Arduino ile string islemleri"; 21 | int sayi1 = 12; 22 | int sayi2 = 15; 23 | Serial.println(string1); 24 | 25 | if (string1.startsWith("Arduino")) { 26 | Serial.println("String Arduino ile basliyor!"); 27 | } 28 | 29 | // Belirli bir indisten sonra da string1 içerisinde string2’nin varlığı 30 | // kontrol edilebilir 31 | string1 = "string ve arduino"; 32 | if (string1.startsWith("arduino", 10)) { 33 | Serial.println("Arduino kelimesi string icinde bulundu!"); 34 | } 35 | 36 | // String sonuna eklediğimiz sayının 0 veya 5 rakamıyla bitip bitmediğine göre 37 | // 5'e bölünüp bölünemediğini kontrol ediyoruz 38 | string1 = "Tam sayi="; 39 | string1 = string1 + sayi1; 40 | Serial.println(string1); 41 | 42 | if (string1.endsWith("5") || string1.endsWith("0")){ 43 | Serial.println("5'e bolunebilir"); 44 | } 45 | else { 46 | Serial.println("5'e bolunemez1"); 47 | 48 | } 49 | 50 | string1 = "Tam sayi="; 51 | string1 = string1 + sayi2; 52 | Serial.println(string1); 53 | 54 | if (string1.endsWith("5") || string1.endsWith("0")) { 55 | Serial.println("5'e bolunebilir"); 56 | } 57 | else { 58 | Serial.println("5'e bolunemez1"); 59 | 60 | } 61 | 62 | 63 | // Programı burada kilitliyoruz. 64 | while(true); 65 | 66 | } 67 | 68 | -------------------------------------------------------------------------------- /Programlar/Bölüm 6 - Programlar/stringler8/stringler8.ino: -------------------------------------------------------------------------------- 1 | /*************************************************************** 2 | Arduino Kitabı - Coşkun Taşdemir 3 | Dikeyeksen Yayınları 4 | http://www.dikeyeksen.com/muhendislik/arduino.html 5 | 6 | String'ler ile ile işlemler - Örnek 8 7 | 8 | Substring() fonksiyonu ile string'lerin parçalara 9 | ayrılması 10 | ****************************************************************/ 11 | 12 | void setup() { 13 | Serial.begin(9600); 14 | } 15 | 16 | void loop() { 17 | String a = "Arduino string fonksiyonlari"; 18 | String b = a.substring(8); // b stringine "string fonksiyonlari" yazılır 19 | String c = a.substring(8,14); // c stringine "string" yazılır 20 | 21 | Serial.print("Orjinal String: "); 22 | Serial.println(a); 23 | 24 | Serial.print("8. indisten sonrasi: "); 25 | Serial.println(b); 26 | 27 | Serial.print("8. indis ile 14. indis arasi: "); 28 | Serial.println(c); 29 | 30 | // programı burada kilitliyoruz (sonsuz döngüde kalıyor) 31 | while(true); 32 | } 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /Programlar/Bölüm 6 - Programlar/stringler9/stringler9.ino: -------------------------------------------------------------------------------- 1 | /*************************************************************** 2 | Arduino Kitabı - Coşkun Taşdemir 3 | Dikeyeksen Yayınları 4 | http://www.dikeyeksen.com/muhendislik/arduino.html 5 | 6 | String'ler ile ile işlemler - Örnek 9 7 | 8 | toLowerCase() ve toUpperCase ile string'lerdeki karakterlerin 9 | küçük veya büyük harflere çevrilmesi 10 | ****************************************************************/ 11 | 12 | String ornekString = "BUYUK ve kucuk HaRfLeR"; 13 | 14 | 15 | void setup() { 16 | Serial.begin(9600); 17 | } 18 | 19 | void loop() { 20 | Serial.println(ornekString); 21 | ornekString.toLowerCase(); // ornekString “buyuk ve kucuk harfler” olur 22 | Serial.println(ornekString); 23 | ornekString.toUpperCase(); // ornekString “BUYUK VE KUCUK HARFLER” olur 24 | Serial.println(ornekString); 25 | 26 | // programı burada kilitliyoruz (sonsuz döngüde kalıyor) 27 | while(true); 28 | } 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /Programlar/Bölüm 7 - Programlar/Dijital_GirisCikis1/Dijital_GirisCikis1.ino: -------------------------------------------------------------------------------- 1 | /********************************************************************** 2 | Arduino Kitabı - Coşkun Taşdemir 3 | Dikeyeksen Yayınları 4 | http://www.dikeyeksen.com/muhendislik/arduino.html 5 | 6 | Dijital Giriş - Çıkış İşlemleri - Örnek 1 7 | 1 buton ile LED yakılması 8 | 9 | Bağlantılar: 10 | Dijital - 12 : Buton 2. ucu 11 | Dijital - 13 : LED Anot ucu 12 | 13 | ***********************************************************************/ 14 | 15 | 16 | // pin numaralarını sabit olarak tanımlıyoruz 17 | const int butonPin = 12; // butonun bağlı olduğu pin numarası 18 | const int ledPin = 13; // LED'in bağlı olduğu pin numarası 19 | 20 | // Değişkenler 21 | int buttonDurumu = 0; // Buton girişinin durumu (HIGH veya LOW) 22 | 23 | void setup() { 24 | // Buton pinini giriş olarak ayarlıyoruz: 25 | pinMode(butonPin, INPUT); 26 | // LED pinini çıkış olarak ayarlıyoruz 27 | pinMode(ledPin, OUTPUT); 28 | } 29 | 30 | 31 | void loop() { 32 | // Buton durumunu oku 33 | buttonDurumu = digitalRead(butonPin); 34 | 35 | /* Butona basıldığında butonun durumu HIGH olacaktır. Bu durumda 36 | LED çıkışını HIGH yapıyoruz. Tersi durumda ise LOW yapıyoruz 37 | */ 38 | if (buttonDurumu == HIGH) { 39 | digitalWrite(ledPin, HIGH); 40 | } 41 | else { 42 | digitalWrite(ledPin, LOW); 43 | } 44 | } 45 | 46 | 47 | -------------------------------------------------------------------------------- /Programlar/Bölüm 7 - Programlar/Dijital_GirisCikis1_2/Dijital_GirisCikis1_2.ino: -------------------------------------------------------------------------------- 1 | /********************************************************************** 2 | Arduino Kitabı - Coşkun Taşdemir 3 | Dikeyeksen Yayınları 4 | http://www.dikeyeksen.com/muhendislik/arduino.html 5 | 6 | Dijital Giriş - Çıkış İşlemleri - Örnek 1.2 7 | 1 buton ile LED yakılması 8 | Dahili pull-up direnci kullanılıyor. 9 | 10 | Bağlantılar: 11 | Dijital - 12 : Buton 2. ucu 12 | Dijital - 13 : LED Anot ucu 13 | 14 | **********************************************************************/ 15 | 16 | 17 | // pin numaralarını sabit olarak tanımlıyoruz 18 | const int butonPin = 12; // butonun bağlı olduğu pin numarası 19 | const int ledPin = 13; // LED'in bağlı olduğu pin numarası 20 | 21 | // Değişkenler 22 | int buttonDurumu = 0; // Buton girişinin durumu (HIGH veya LOW) 23 | 24 | void setup() { 25 | // Buton pinini giriş olarak ayarlıyoruz: 26 | pinMode(butonPin, INPUT); 27 | // Dahili pull-up direncini aktif hale getiriyoruz 28 | digitalWrite(butonPin, HIGH); 29 | // LED pinini çıkış olarak ayarlıyoruz 30 | pinMode(ledPin, OUTPUT); 31 | } 32 | 33 | 34 | void loop() { 35 | // Buton durumunu oku 36 | buttonDurumu = digitalRead(butonPin); 37 | 38 | /* Butona basıldığında butonun durumu LOW olacaktır. Bu durumda 39 | LED çıkışını HIGH yapıyoruz. Tersi durumda ise LOW yapıyoruz 40 | */ 41 | if (buttonDurumu == LOW) { 42 | digitalWrite(ledPin, HIGH); 43 | } 44 | else { 45 | digitalWrite(ledPin, LOW); 46 | } 47 | } 48 | 49 | 50 | -------------------------------------------------------------------------------- /Programlar/Bölüm 7 - Programlar/Dijital_GirisCikis2/Dijital_GirisCikis2.ino: -------------------------------------------------------------------------------- 1 | /********************************************************************** 2 | Arduino Kitabı - Coşkun Taşdemir 3 | Dikeyeksen Yayınları 4 | http://www.dikeyeksen.com/muhendislik/arduino.html 5 | 6 | Dijital Giriş - Çıkış İşlemleri - Örnek 2 7 | LED'lerle Karaşimşek Efekti 8 | 9 | Bağlantılar: 10 | Dijital - 8,9,10,11,12,13 pinleri LED'lerin anot uçlarına 11 | bağlı. 12 | LED'ler'in katot uçları 470 ohm'luk dirençler ile 13 | toprağa bağlı (GND) 14 | ***********************************************************************/ 15 | 16 | 17 | /* 18 | Karaşimşek Efekti 19 | 20 | */ 21 | const int ledPinleri[] = {8, 9, 10, 11, 12, 13}; 22 | const int beklemeSuresi = 30; // ms cinsinden bekleme süresi 23 | 24 | void setup(){ 25 | // 6 LED pinini de çıkış olarak ayarlıyoruz 26 | for (int led = 0; led < 6; led++) 27 | { 28 | pinMode(ledPinleri[led], OUTPUT); 29 | } 30 | } 31 | 32 | void loop() { 33 | for (int led = 0; led < 5 ; led++) 34 | { 35 | digitalWrite(ledPinleri[led], HIGH); 36 | delay(beklemeSuresi); 37 | digitalWrite(ledPinleri[led + 1], HIGH); 38 | delay(beklemeSuresi); 39 | digitalWrite(ledPinleri[led], LOW); 40 | delay(beklemeSuresi *2); 41 | } 42 | 43 | for (int led = 5; led > 0; led--) 44 | { 45 | digitalWrite(ledPinleri[led], HIGH); 46 | delay(beklemeSuresi); 47 | digitalWrite(ledPinleri[led - 1], HIGH); 48 | delay(beklemeSuresi); 49 | digitalWrite(ledPinleri[led], LOW); 50 | delay(beklemeSuresi*2); 51 | } 52 | } 53 | 54 | -------------------------------------------------------------------------------- /Programlar/Bölüm 7 - Programlar/Dijital_GirisCikis3/Dijital_GirisCikis3.ino: -------------------------------------------------------------------------------- 1 | /********************************************************************* 2 | Arduino Kitabı - Coşkun Taşdemir 3 | Dikeyeksen Yayınları 4 | http://www.dikeyeksen.com/muhendislik/arduino.html 5 | 6 | Dijital Giriş - Çıkış İşlemleri - 3 7 | LED'lerle Karaşimşek Efekti 8 | (For döngüsü kullaılmadan) 9 | 10 | Bağlantılar: 11 | Dijital - 8,9,10,11,12,13 pinleri LED'lerin anot uçlarına 12 | bağlı. 13 | LED'ler'in katot uçları 470 ohm'luk dirençler ile 14 | toprağa bağlı (GND) 15 | **********************************************************************/ 16 | 17 | 18 | 19 | const int ledPinleri[] = {8, 9, 10, 11, 12, 13}; 20 | const int beklemeSuresi = 30; // ms cinsinden bekleme süresi 21 | 22 | void setup(){ 23 | // 6 LED pinini de çıkış olarak ayarlıyoruz 24 | pinMode(ledPinleri[0], OUTPUT); 25 | pinMode(ledPinleri[1], OUTPUT); 26 | pinMode(ledPinleri[2], OUTPUT); 27 | pinMode(ledPinleri[3], OUTPUT); 28 | pinMode(ledPinleri[4], OUTPUT); 29 | pinMode(ledPinleri[5], OUTPUT); 30 | } 31 | 32 | void loop() { 33 | digitalWrite(ledPinleri[0], HIGH); 34 | delay(beklemeSuresi); 35 | digitalWrite(ledPinleri[1], HIGH); 36 | delay(beklemeSuresi); 37 | digitalWrite(ledPinleri[0], LOW); 38 | delay(beklemeSuresi *2); 39 | 40 | digitalWrite(ledPinleri[1], HIGH); 41 | delay(beklemeSuresi); 42 | digitalWrite(ledPinleri[2], HIGH); 43 | delay(beklemeSuresi); 44 | digitalWrite(ledPinleri[1], LOW); 45 | delay(beklemeSuresi *2); 46 | 47 | digitalWrite(ledPinleri[2], HIGH); 48 | delay(beklemeSuresi); 49 | digitalWrite(ledPinleri[3], HIGH); 50 | delay(beklemeSuresi); 51 | digitalWrite(ledPinleri[2], LOW); 52 | delay(beklemeSuresi *2); 53 | 54 | digitalWrite(ledPinleri[3], HIGH); 55 | delay(beklemeSuresi); 56 | digitalWrite(ledPinleri[4], HIGH); 57 | delay(beklemeSuresi); 58 | digitalWrite(ledPinleri[3], LOW); 59 | delay(beklemeSuresi *2); 60 | 61 | digitalWrite(ledPinleri[4], HIGH); 62 | delay(beklemeSuresi); 63 | digitalWrite(ledPinleri[5], HIGH); 64 | delay(beklemeSuresi); 65 | digitalWrite(ledPinleri[4], LOW); 66 | delay(beklemeSuresi *2); 67 | 68 | // Sağdan sola 69 | 70 | digitalWrite(ledPinleri[5], HIGH); 71 | delay(beklemeSuresi); 72 | digitalWrite(ledPinleri[4], HIGH); 73 | delay(beklemeSuresi); 74 | digitalWrite(ledPinleri[5], LOW); 75 | delay(beklemeSuresi*2); 76 | 77 | digitalWrite(ledPinleri[4], HIGH); 78 | delay(beklemeSuresi); 79 | digitalWrite(ledPinleri[3], HIGH); 80 | delay(beklemeSuresi); 81 | digitalWrite(ledPinleri[4], LOW); 82 | delay(beklemeSuresi*2); 83 | 84 | digitalWrite(ledPinleri[3], HIGH); 85 | delay(beklemeSuresi); 86 | digitalWrite(ledPinleri[2], HIGH); 87 | delay(beklemeSuresi); 88 | digitalWrite(ledPinleri[3], LOW); 89 | delay(beklemeSuresi*2); 90 | 91 | digitalWrite(ledPinleri[2], HIGH); 92 | delay(beklemeSuresi); 93 | digitalWrite(ledPinleri[1], HIGH); 94 | delay(beklemeSuresi); 95 | digitalWrite(ledPinleri[2], LOW); 96 | delay(beklemeSuresi*2); 97 | 98 | digitalWrite(ledPinleri[1], HIGH); 99 | delay(beklemeSuresi); 100 | digitalWrite(ledPinleri[0], HIGH); 101 | delay(beklemeSuresi); 102 | digitalWrite(ledPinleri[1], LOW); 103 | delay(beklemeSuresi*2); 104 | } 105 | 106 | -------------------------------------------------------------------------------- /Programlar/Bölüm 7 - Programlar/Dijital_GirisCikis4/Dijital_GirisCikis4.ino: -------------------------------------------------------------------------------- 1 | /********************************************************************* 2 | Arduino Kitabı - Coşkun Taşdemir 3 | Dikeyeksen Yayınları 4 | http://www.dikeyeksen.com/muhendislik/arduino.html 5 | 6 | Dijital Giriş - Çıkış İşlemleri - Örnek 4 7 | Buton sıçramasını giderme örneği 8 | 9 | Butona her basıldığında LED’in durumu değiştiriliyor. 10 | D12: Buton girişi 11 | D13: Led Çıkışı 12 | ********************************************************************/ 13 | 14 | const int butonPin = 12; // buton pin numarası 15 | const int ledPin = 13; // LED pint numarası 16 | 17 | // LED’in durumunu tutan değişken (1 – Yanıyor, 0 – yanmıyor) 18 | int LEDDurumu = 0; 19 | // Okunan buton degerini tutan değişken (1 – buton basılı, 0 – basılı değil) 20 | int okunanDurum = 0; 21 | 22 | void setup() { 23 | pinMode(butonPin, INPUT); 24 | pinMode(ledPin, OUTPUT); 25 | } 26 | void loop() { 27 | // buton durumunu okuyup ilgili değişkene atıyoruz 28 | okunanDurum = ButonOku(butonPin); 29 | 30 | //okunanDurum değişkeninin değerine göre LED durumunu değiştiriyoruz 31 | if (okunanDurum == 1) 32 | { 33 | // LED sönükse yak 34 | if (LEDDurumu == 0) 35 | { 36 | digitalWrite(ledPin, HIGH); 37 | LEDDurumu = 1; 38 | } 39 | // LED yanıksa söndür 40 | else 41 | { 42 | digitalWrite(ledPin, LOW); 43 | LEDDurumu = 0; 44 | } 45 | } 46 | 47 | delay(500); 48 | } 49 | 50 | /* 51 | Buton okuma fonksiyonu 52 | Butonun sönümlenmesi için buton okunduktan sonra gecikme koyuluyor 53 | ve butonun değeri yeniden okunuyor 54 | */ 55 | boolean ButonOku(int butonPin) 56 | { 57 | int okunanDeger = digitalRead(butonPin); 58 | delay(30); 59 | if ( okunanDeger == digitalRead(butonPin) ) 60 | { 61 | return okunanDeger; 62 | } 63 | else 64 | { 65 | return false; 66 | } 67 | } 68 | 69 | -------------------------------------------------------------------------------- /Programlar/Bölüm 7 - Programlar/Dijital_GirisCikis5/Dijital_GirisCikis5.ino: -------------------------------------------------------------------------------- 1 | /********************************************************************* 2 | Arduino Kitabı - Coşkun Taşdemir 3 | Dikeyeksen Yayınları 4 | http://www.dikeyeksen.com/muhendislik/arduino.html 5 | 6 | Dijital Giriş - Çıkış İşlemleri - Örnek 5 7 | 8 | Rastgele Sayı Üreten Program 9 | Rand()fonksiyonu ile üretilen rastgele sayi 10 | seriporttan gönderiliyor 11 | 12 | **********************************************************************/ 13 | 14 | // Rastgele üretilen sayıyı saklayacak değişken 15 | int rastgeleSayi; 16 | void setup() { 17 | 18 | // Seri iletişimi başlatıyoruz 19 | Serial.begin(9600); 20 | //Analog giriş 0 boşta bırakılarak elde edilen 21 | // gürültülü giriş değerlerinden rand() fonksiyonunun 22 | // rastgele sayılar üretmesi sağlanıyor 23 | randomSeed(analogRead(0)); 24 | } 25 | 26 | void loop() { 27 | //0 ile 300 arasında rastgele sayı üretiliyor 28 | rastgeleSayi = random(300); 29 | Serial.println(rastgeleSayi); 30 | delay(1000); 31 | } 32 | 33 | -------------------------------------------------------------------------------- /Programlar/Bölüm 7 - Programlar/Dijital_GirisCikis6/Dijital_GirisCikis6.ino: -------------------------------------------------------------------------------- 1 | /********************************************************************* 2 | Arduino Kitabı - Coşkun Taşdemir 3 | Dikeyeksen Yayınları 4 | http://www.dikeyeksen.com/muhendislik/arduino.html 5 | 6 | Dijital Giriş - Çıkış İşlemleri - Örnek 6 7 | 8 | Dijital 2,3,4,5,6,7,8 nolu pinlere 9 | bağlı LED'ler dijital 9 pinindeki butona 10 | her basıldığında 1 ile 6 arasında bir sayıyı 11 | gösterecek şekilde yakılıyor 12 | *********************************************************************/ 13 | 14 | const int ledPinleri[] = { 2, 3, 4, 5, 6, 7, 8}; 15 | const int butonPini = 9; 16 | 17 | void setup(){ 18 | // 6 LED pinini de çıkış olarak ayarlıyoruz 19 | pinMode(ledPinleri[0], OUTPUT); 20 | pinMode(ledPinleri[1], OUTPUT); 21 | pinMode(ledPinleri[2], OUTPUT); 22 | pinMode(ledPinleri[3], OUTPUT); 23 | pinMode(ledPinleri[4], OUTPUT); 24 | pinMode(ledPinleri[5], OUTPUT); 25 | pinMode(ledPinleri[6], OUTPUT); 26 | pinMode(butonPini,INPUT); 27 | } 28 | 29 | /* Butona her basıldığinda zar atıyoruz */ 30 | void loop() { 31 | if(ButonOku(butonPini) == true) 32 | { 33 | ZarSalla(); 34 | } 35 | delay(1); 36 | } 37 | /* 38 | ZarSayiGoster Fonksiyonu 39 | parametre olarak verilen sayıya göre 40 | LED'lerin yakılmasını sağlıyor 41 | */ 42 | void ZarSayiGoster(int sayi) 43 | { 44 | int i; 45 | for(i = 0; i<7;i++) 46 | { 47 | digitalWrite(ledPinleri[i],LOW); 48 | } 49 | switch(sayi) 50 | { 51 | case 1: 52 | digitalWrite(ledPinleri[3],HIGH); 53 | break; 54 | case 2: 55 | digitalWrite(ledPinleri[1],HIGH); 56 | digitalWrite(ledPinleri[5],HIGH); 57 | break; 58 | case 3: 59 | digitalWrite(ledPinleri[1],HIGH); 60 | digitalWrite(ledPinleri[3],HIGH); 61 | digitalWrite(ledPinleri[5],HIGH); 62 | break; 63 | case 4: 64 | digitalWrite(ledPinleri[0],HIGH); 65 | digitalWrite(ledPinleri[1],HIGH); 66 | digitalWrite(ledPinleri[5],HIGH); 67 | digitalWrite(ledPinleri[6],HIGH); 68 | break; 69 | case 5: 70 | digitalWrite(ledPinleri[0],HIGH); 71 | digitalWrite(ledPinleri[1],HIGH); 72 | digitalWrite(ledPinleri[3],HIGH); 73 | digitalWrite(ledPinleri[5],HIGH); 74 | digitalWrite(ledPinleri[6],HIGH); 75 | break; 76 | case 6: 77 | digitalWrite(ledPinleri[0],HIGH); 78 | digitalWrite(ledPinleri[1],HIGH); 79 | digitalWrite(ledPinleri[2],HIGH); 80 | digitalWrite(ledPinleri[4],HIGH); 81 | digitalWrite(ledPinleri[5],HIGH); 82 | digitalWrite(ledPinleri[6],HIGH); 83 | break; 84 | } 85 | } 86 | 87 | /* 88 | ZarSalla fonksiyonunda 1 ile 6 arasında 89 | rastgele bir sayı üretiliyor. Belirli bir animasyon 90 | geçişinden sonra üretilen sayı LED'lerle gösteriliyor. 91 | */ 92 | void ZarSalla() 93 | { 94 | int zar; 95 | int i; 96 | randomSeed(analogRead(0)); // Rastgele sayı üretmek için analog 0 girişini kullanıyoruz 97 | zar = random(1,7); // 1 ile 7 (dahil değil) arasında bir sayı üretiyoruz 98 | 99 | /* Zar geçişleri arasındaki bekleme her periyotta 50 ms 100 | artırılarak animasyonun yavaşlaması sağlanıyor */ 101 | 102 | for(i = 0; i<250;i=i+50) 103 | { 104 | ZarSayiGoster(1); 105 | delay(i); 106 | ZarSayiGoster(2); 107 | delay(i); 108 | ZarSayiGoster(3); 109 | delay(i); 110 | ZarSayiGoster(4); 111 | delay(i); 112 | ZarSayiGoster(5); 113 | delay(i); 114 | ZarSayiGoster(6); 115 | delay(i); 116 | } 117 | ZarSayiGoster(zar); // Gelen zar sayısını gösteriyoruz 118 | } 119 | boolean ButonOku(int butonPin) 120 | { 121 | int okunanDeger = digitalRead(butonPin); 122 | delay(25); 123 | if ( okunanDeger == digitalRead(butonPin) ) 124 | { 125 | return okunanDeger; 126 | } 127 | else 128 | { 129 | return false; 130 | } 131 | } 132 | 133 | 134 | -------------------------------------------------------------------------------- /Programlar/Bölüm 7 - Programlar/Dijital_GirisCikis7/Dijital_GirisCikis7.ino: -------------------------------------------------------------------------------- 1 | /********************************************************************* 2 | Arduino Kitabı - Coşkun Taşdemir 3 | Dikeyeksen Yayınları 4 | http://www.dikeyeksen.com/muhendislik/arduino.html 5 | 6 | Dijital Giriş - Çıkış İşlemleri - Örnek 7 7 | 8 | 7 Segment Gösterge sürme 9 | Arduino ile 7 segment gösterge 10 | sürüyoruz. Program 0 ile 9 11 | otomatik olarak sayarak 12 | 7 segment üzerinde gösteriyor. 13 | Bağlantılar 14 | ---------------------- 15 | 7-Segment - a ==> D0 16 | 7-Segment - b ==> D1 17 | 7-Segment - c ==> D2 18 | 7-Segment - d ==> D3 19 | 7-Segment - e ==> D4 20 | 7-Segment - f ==> D5 21 | 7-Segment - g ==> D6 22 | **********************************************************************/ 23 | 24 | void setup() { 25 | pinMode(0,OUTPUT); //a 26 | pinMode(1,OUTPUT); //b 27 | pinMode(2,OUTPUT); //c 28 | pinMode(3,OUTPUT); //d 29 | pinMode(4,OUTPUT); //e 30 | pinMode(5,OUTPUT); //f 31 | pinMode(6,OUTPUT); //g 32 | } 33 | 34 | void loop() { 35 | int i; 36 | for(i = 0;i<10;i++) 37 | { 38 | RakamGoster(i); 39 | delay(500); 40 | } 41 | } 42 | void RakamGoster(int rakam) 43 | { 44 | switch(rakam) 45 | { 46 | case 0: 47 | digitalWrite(0,LOW); 48 | digitalWrite(1,LOW); 49 | digitalWrite(2,LOW); 50 | digitalWrite(3,LOW); 51 | digitalWrite(4,LOW); 52 | digitalWrite(5,LOW); 53 | digitalWrite(6,HIGH); 54 | break; 55 | case 1: 56 | digitalWrite(0,HIGH); 57 | digitalWrite(1,LOW); 58 | digitalWrite(2,LOW); 59 | digitalWrite(3,HIGH); 60 | digitalWrite(4,HIGH); 61 | digitalWrite(5,HIGH); 62 | digitalWrite(6,HIGH); 63 | break; 64 | case 2: 65 | digitalWrite(0,LOW); 66 | digitalWrite(1,LOW); 67 | digitalWrite(2,HIGH); 68 | digitalWrite(3,LOW); 69 | digitalWrite(4,LOW); 70 | digitalWrite(5,HIGH); 71 | digitalWrite(6,LOW); 72 | break; 73 | case 3: 74 | digitalWrite(0,LOW); 75 | digitalWrite(1,LOW); 76 | digitalWrite(2,LOW); 77 | digitalWrite(3,LOW); 78 | digitalWrite(4,HIGH); 79 | digitalWrite(5,HIGH); 80 | digitalWrite(6,LOW); 81 | break; 82 | 83 | case 4: 84 | digitalWrite(0,HIGH); 85 | digitalWrite(1,LOW); 86 | digitalWrite(2,LOW); 87 | digitalWrite(3,HIGH); 88 | digitalWrite(4,HIGH); 89 | digitalWrite(5,LOW); 90 | digitalWrite(6,LOW); 91 | break; 92 | case 5: 93 | digitalWrite(0,LOW); 94 | digitalWrite(1,HIGH); 95 | digitalWrite(2,LOW); 96 | digitalWrite(3,LOW); 97 | digitalWrite(4,HIGH); 98 | digitalWrite(5,LOW); 99 | digitalWrite(6,LOW); 100 | break; 101 | 102 | case 6: 103 | digitalWrite(0,LOW); 104 | digitalWrite(1,HIGH); 105 | digitalWrite(2,LOW); 106 | digitalWrite(3,LOW); 107 | digitalWrite(4,LOW); 108 | digitalWrite(5,LOW); 109 | digitalWrite(6,LOW); 110 | break; 111 | case 7: 112 | digitalWrite(0,LOW); 113 | digitalWrite(1,LOW); 114 | digitalWrite(2,LOW); 115 | digitalWrite(3,HIGH); 116 | digitalWrite(4,HIGH); 117 | digitalWrite(5,HIGH); 118 | digitalWrite(6,HIGH); 119 | break; 120 | case 8: 121 | digitalWrite(0,LOW); 122 | digitalWrite(1,LOW); 123 | digitalWrite(2,LOW); 124 | digitalWrite(3,LOW); 125 | digitalWrite(4,LOW); 126 | digitalWrite(5,LOW); 127 | digitalWrite(6,LOW); 128 | break; 129 | case 9: 130 | digitalWrite(0,LOW); 131 | digitalWrite(1,LOW); 132 | digitalWrite(2,LOW); 133 | digitalWrite(3,HIGH); 134 | digitalWrite(4,HIGH); 135 | digitalWrite(5,LOW); 136 | digitalWrite(6,LOW); 137 | digitalWrite(7,HIGH); 138 | break; 139 | } 140 | } 141 | 142 | -------------------------------------------------------------------------------- /Programlar/Bölüm 8 - Programlar/Analog_GirisCikis1/Analog_GirisCikis1.ino: -------------------------------------------------------------------------------- 1 | /********************************************************************** 2 | Arduino Kitabı - Coşkun Taşdemir 3 | Dikeyeksen Yayınları 4 | http://www.dikeyeksen.com/muhendislik/arduino.html 5 | 6 | Analog Giriş - Çıkış İşlemleri - Örnek 1 7 | Analog - Dijital Çevrim Örneği 8 | A0 pinine bağlı olan potansiyemetrenin gerilim 9 | değeri okunuyor ve seriporttan gönderiliyor. 10 | ***********************************************************************/ 11 | 12 | // Analog giriş pini olarak A0 pinini kullanıyoruz 13 | const int analogGirisPini = A0; // Potansiyometrenin girişi bu pine bağlanacak. 14 | int potansDegeri = 0; // Potansiyometreden okunan değer 15 | float gerilimDegeri = 0; // Gerilim değeri 16 | void setup() { 17 | 18 | // Seri iletişimi başlatıyoruz 19 | Serial.begin(9600); 20 | } 21 | 22 | void loop() { 23 | // Analog giriş değerini okuyoruz 24 | potansDegeri = analogRead(analogGirisPini); 25 | gerilimDegeri = (potansDegeri / 1023.0) * 5.0; // Dijital değer gerilim değerine çevriliyor 26 | 27 | // Sonuçları seriporttan yolluyoruz 28 | Serial.print("Sensor Degeri = " ); 29 | Serial.println(potansDegeri); 30 | Serial.print("Gerilim = "); 31 | Serial.println(gerilimDegeri); 32 | 33 | delay(500); 34 | } 35 | 36 | 37 | -------------------------------------------------------------------------------- /Programlar/Bölüm 8 - Programlar/Analog_GirisCikis2/Analog_GirisCikis2.ino: -------------------------------------------------------------------------------- 1 | /********************************************************************** 2 | Arduino Kitabı - Coşkun Taşdemir 3 | Dikeyeksen Yayınları 4 | http://www.dikeyeksen.com/muhendislik/arduino.html 5 | 6 | Analog Giriş - Çıkış İşlemleri - Örnek 2 7 | LM35 sensörü ile sıcaklık ölçümü 8 | Bu sensör derece başına 10 mV çıkış verir. 9 | 20 ºC => için 20 * 10 mV = 200 mV 10 | 25 ºC 11 | ***********************************************************************/ 12 | 13 | //Değişkenleri tanımlıyoruz 14 | float sicaklik; 15 | float gerilim; 16 | int sicaklikPin = 0; 17 | 18 | void setup() 19 | { 20 | Serial.begin(9600); //Seri haberleşmeyi başlat (9600 bps) 21 | } 22 | 23 | void loop() 24 | { 25 | gerilim = analogRead(sicaklikPin); // Sensörden gelen değeri oku 26 | gerilim = (gerilim / 1023) * 5000; // mV cinsinden gerilimi buluyoruz 27 | sicaklik = gerilim / 10.0;// Gerilim değerini sıcaklığa çeviriyoruz 28 | 29 | Serial.print("Sicaklik degeri:"); //Sonucu gönder 30 | Serial.print(sicaklik); 31 | Serial.println(" derece"); 32 | delay(1000); //Saniyede bir ölçüm gönderiyoruz 33 | } 34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /Programlar/Bölüm 8 - Programlar/Analog_GirisCikis3/Analog_GirisCikis3.ino: -------------------------------------------------------------------------------- 1 | /********************************************************************** 2 | Arduino Kitabı - Coşkun Taşdemir 3 | Dikeyeksen Yayınları 4 | http://www.dikeyeksen.com/muhendislik/arduino.html 5 | 6 | Analog Giriş - Çıkış İşlemleri - Örnek 3 7 | Analog - Dijital Çevrim ile LED Parlaklığı kontrolü 8 | 9 | A0 pinine bağlı olan potansiyemetrenin gerilim 10 | değeri okunuyor ve seriporttan gönderiliyor. 11 | D3 Pinine bağlı olan LED'in parlaklığı potansiyometre 12 | giriş değerine göre ayarlanıyor 13 | ***********************************************************************/ 14 | 15 | // Analog giriş pini olarak A0 pinini kullanıyoruz 16 | // Potansiyometrenin girişi bu pine bağlanacak. 17 | 18 | const int analogGirisPini = A0; 19 | const int LEDpini = 3; 20 | int potansDegeri = 0; // Potansiyometreden okunan değer 21 | float gerilimDegeri = 0; // Gerilim değeri 22 | int LEDSonuc = 0; 23 | void setup() { 24 | // Seri iletişimi başlatıyoruz 25 | Serial.begin(9600); 26 | } 27 | void loop() { 28 | // Analog giriş değerini okuyoruz 29 | potansDegeri = analogRead(analogGirisPini); 30 | 31 | gerilimDegeri = (potansDegeri / 1023.0) * 5.0; 32 | LEDSonuc = map( potansDegeri,0,1023, 0, 255); 33 | 34 | analogWrite(LEDpini,LEDSonuc); 35 | // Sonuçları seriporttan yolluyoruz 36 | Serial.print("Sensor Degeri = " ); 37 | Serial.println(potansDegeri); 38 | Serial.print("Gerilim = "); 39 | Serial.println(gerilimDegeri); 40 | Serial.print("LED Sonuc = "); 41 | Serial.println(LEDSonuc); 42 | 43 | delay(200); 44 | } 45 | 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /Programlar/Bölüm 8 - Programlar/Analog_GirisCikis4/Analog_GirisCikis4.ino: -------------------------------------------------------------------------------- 1 | /********************************************************************** 2 | Arduino Kitabı - Coşkun Taşdemir 3 | Dikeyeksen Yayınları 4 | http://www.dikeyeksen.com/muhendislik/arduino.html 5 | 6 | Analog Giriş - Çıkış İşlemleri - 4 7 | RGB (red-green-blue) LED kontrolü 8 | 9 | 3 renkli LED ile çeşitli renk örnekleri oluşturuluyor. 10 | hue2rgb fonksiyonu kendisine verilen 0-1 aralığındaki 11 | değere göre renk skalasındaki karşılığının kırmızı, yeşil 12 | ve mavi tonlarına ait değerleri veriyor (0-255 arasında). 13 | Bu değerler analogWrite fonksiyonu ile LED'e uygulanarak 14 | bütün renk skalası geziliyor. 15 | Kullanılan LED tipine göre ilgili bölümü kullanabilirsiniz 16 | (ortak anot veya ortak katot) 17 | ***********************************************************************/ 18 | 19 | // LED bağlatı pinleri 20 | int rpin = 11; // kırmızı 21 | int gpin = 10; // yeşil 22 | int bpin = 9; // mavi 23 | float h = 0; //hue (ton) değeri 24 | int r=0, g=0, b=0; // renk değerleri 25 | void setup() 26 | { 27 | } 28 | void loop() 29 | { 30 | // Her seferinde hue değeri 0.001 artırılıyor ve 1 olduğunda başa dönülüyor 31 | h = h + 0.001; 32 | if(h >= 1.0){ 33 | h = 0; 34 | } 35 | // hue değeri r,g,b bileşenlerine çevriliyor 36 | h2rgb(h,r,g,b); 37 | 38 | // Ortak anot RGB LED 39 | analogWrite(rpin, 255 - r); 40 | analogWrite(gpin, 255 - g); 41 | analogWrite(bpin, 255 - b); 42 | 43 | /* Ortak katot için aşağıdaki kodları kullanabilirsiniz 44 | analogWrite(rpin, r); 45 | analogWrite(gpin, g); 46 | analogWrite(bpin, b); 47 | */ 48 | 49 | delay(20); 50 | } 51 | 52 | /* h2rgb 53 | 0 ile 1 arasında verilen renk tonu (hue) değerine göre 54 | Kırmızı (R), yeşil(G) ve mavi (B) değerlerini verir. 55 | Giriş: H => Hue değeri (0-1 arasında) 56 | Çıkış: R, G, B (0-255 arasında) 57 | */ 58 | void h2rgb(float H, int& R, int& G, int& B) { 59 | int var_i; 60 | float S=1, V=1, var_1, var_2, var_3, var_h, var_r, var_g, var_b; 61 | 62 | if ( S == 0 ) 63 | { 64 | R = V * 255; 65 | G = V * 255; 66 | B = V * 255; 67 | } 68 | else 69 | { 70 | var_h = H * 6; 71 | if ( var_h == 6 ) var_h = 0; 72 | var_i = int( var_h ) ; 73 | var_1 = V * ( 1 - S ); 74 | var_2 = V * ( 1 - S * ( var_h - var_i ) ); 75 | var_3 = V * ( 1 - S * ( 1 - ( var_h - var_i ) ) ); 76 | if ( var_i == 0 ) { 77 | var_r = V ; 78 | var_g = var_3 ; 79 | var_b = var_1 ; 80 | } 81 | else if ( var_i == 1 ) { 82 | var_r = var_2 ; 83 | var_g = V; 84 | var_b = var_1 ; 85 | } 86 | else if ( var_i == 2 ) { 87 | var_r = var_1 ; 88 | var_g = V; 89 | var_b = var_3 ; 90 | } 91 | else if ( var_i == 3 ) { 92 | var_r = var_1 ; 93 | var_g = var_2 ; 94 | var_b = V; 95 | } 96 | else if ( var_i == 4 ) { 97 | var_r = var_3 ; 98 | var_g = var_1 ; 99 | var_b = V; 100 | } 101 | else { 102 | var_r = V; 103 | var_g = var_1 ; 104 | var_b = var_2 ; 105 | } 106 | R = (1-var_r) * 255; 107 | G = (1-var_g) * 255; 108 | B = (1-var_b) * 255; 109 | } 110 | } 111 | 112 | -------------------------------------------------------------------------------- /Programlar/Bölüm 8 - Programlar/Analog_GirisCikis5/Analog_GirisCikis5.ino: -------------------------------------------------------------------------------- 1 | /********************************************************************** 2 | Arduino Kitabı - Coşkun Taşdemir 3 | Dikeyeksen Yayınları 4 | http://www.dikeyeksen.com/muhendislik/arduino.html 5 | 6 | Analog Giriş - Çıkış Örneği 5 7 | Analog - Dijital Çevrim ile DC Motor Hız kontrolü 8 | 9 | A0 pinine bağlı olan potansiyemetre ile 10 | D11 Pinine bağlı olan DC motorun hızı 11 | kontrol ediliyor 12 | *********************************************************************/ 13 | // Analog giriş pini olarak A0 pinini kullanıyoruz 14 | // Potansiyometrenin girişi bu pine bağlanacak. 15 | // Motor çıkışı D11 nolu pinden sağlanacak. 16 | 17 | const int analogGirisPini = A0; 18 | const int motorPini = 11; // PWM Çıkışı 19 | int potansDegeri = 0; // Potansiyometreden okunan değer 20 | 21 | void setup() { 22 | 23 | } 24 | void loop() { 25 | // Analog giriş değerini okuyoruz 26 | potansDegeri = analogRead(analogGirisPini); 27 | potansDegeri = map( potansDegeri,0,1023, 0, 255); 28 | analogWrite(motorPini, potansDegeri); 29 | delay(200); 30 | } 31 | 32 | -------------------------------------------------------------------------------- /Programlar/Bölüm 9 - Programlar/SeriHaberlesme1/SeriHaberlesme1.ino: -------------------------------------------------------------------------------- 1 | /*************************************************************** 2 | Arduino Kitabı - Coşkun Taşdemir 3 | Dikeyeksen Yayınları 4 | http://www.dikeyeksen.com/muhendislik/arduino.html 5 | 6 | Bölüm 9 - Seri Haberleşme 7 | 8 | Seri Haberlesme - Örnek 1 9 | Print ve Println fonksiyonları ile 10 | seriport üzerinden çıktı alma örneği 11 | ***************************************************************/ 12 | 13 | float ondalikSayi = 1234.123456; 14 | int tamsayi = 12; 15 | void setup() { 16 | // Seri iletişimi başlatıyoruz (9600 bps) 17 | Serial.begin(9600); 18 | } 19 | void loop() { 20 | Serial.println("Seri Haberlesme Fonksiyonlari"); 21 | Serial.println("Ondalik Sayi:"); 22 | Serial.println(ondalikSayi); 23 | Serial.println(ondalikSayi,3); 24 | Serial.println(ondalikSayi,4); 25 | 26 | Serial.print("Karakter:"); 27 | Serial.println('A'); 28 | Serial.print("Karakterin ASCII karsiligi:"); 29 | Serial.println('A',DEC); 30 | 31 | Serial.print("Tam sayi:"); 32 | Serial.println(tamsayi); 33 | Serial.print("2'li tabanda:"); 34 | Serial.println(tamsayi,BIN); 35 | Serial.print("8'li tabanda:"); 36 | Serial.println(tamsayi,OCT); 37 | Serial.print("16'li tabanda:"); 38 | Serial.println(tamsayi,HEX); 39 | 40 | // Programı burada kilitliyoruz 41 | while(1); 42 | } 43 | 44 | 45 | -------------------------------------------------------------------------------- /Programlar/Bölüm 9 - Programlar/SeriHaberlesme2/SeriHaberlesme2.ino: -------------------------------------------------------------------------------- 1 | /*************************************************************** 2 | Arduino Kitabı - Coşkun Taşdemir 3 | Dikeyeksen Yayınları 4 | http://www.dikeyeksen.com/muhendislik/arduino.html 5 | 6 | Bölüm 9 - Seri Haberleşme 7 | 8 | Seri Haberlesme - Örnek 2 9 | 10 | Serial Monitor üzerinden gönderilen 11 | karakterlere göre 4 LED'den birisinin durumu 12 | değiştirilir. 13 | 14 | Bağlantılar: 15 | Arduino Dijital 9 - LED1 16 | Arduino Dijital 10 - LED2 17 | Arduino Dijital 11 - LED3 18 | Arduino Dijital 12 - LED4 19 | 20 | Gönderilecek Karakterler: 21 | A => 1.LED 22 | B => 2.LED 23 | C => 3.LED 24 | D => 4.LED 25 | ***************************************************************/ 26 | 27 | // Gelen verinin aktarılacağı karakter değişkeni 28 | char karakter = 0; 29 | //LED Pinlerinin numaralari 30 | const byte LEDpinleri[4] ={ 9,10,11,12}; 31 | 32 | // LED'lerin durumlarını tutan değişkenler 33 | // true = LED Yanık, false = LED Sönük 34 | boolean LEDDurum[4] ={ false,false,false,false}; 35 | 36 | void setup() { 37 | Serial.begin(9600); // Seri haberleşmeyi başlatıyoruz(9600 bps) 38 | pinMode(LEDpinleri[0],OUTPUT); 39 | pinMode(LEDpinleri[1],OUTPUT); 40 | pinMode(LEDpinleri[2],OUTPUT); 41 | pinMode(LEDpinleri[3],OUTPUT); 42 | } 43 | void loop() { 44 | // Veri gelmiş mi? 45 | if (Serial.available() > 0) { 46 | // gelen veriyi oku 47 | karakter = Serial.read(); 48 | // Gelen karakteri yazdır 49 | Serial.print("Gelen karakter: "); 50 | Serial.println(karakter); 51 | 52 | //Gelen Karakterler göre ilgili LED'i yakıyoruz 53 | switch(karakter) 54 | { 55 | case 'A': 56 | LEDDurumDegistir(0); 57 | break; 58 | 59 | case 'B': 60 | LEDDurumDegistir(1); 61 | break; 62 | 63 | case 'C': 64 | LEDDurumDegistir(2); 65 | break; 66 | 67 | case 'D': 68 | LEDDurumDegistir(3); 69 | break; 70 | 71 | default: 72 | Serial.println("Gecersiz bir karakter gonderildi!"); 73 | break; 74 | } 75 | } 76 | } 77 | 78 | /* Fonksiyona girilen LEDno değerine göre 79 | ilgili LED'in durumunu değiştirir. 80 | (LED Yanıyorsa söndürür, sönükse yakar). 81 | */ 82 | void LEDDurumDegistir(int LEDno) 83 | { 84 | if(LEDDurum[LEDno] == false) 85 | { 86 | digitalWrite(LEDpinleri[LEDno],HIGH); 87 | LEDDurum[LEDno] = true; 88 | Serial.print(LEDno); 89 | Serial.println("nolu LED yakildi!"); 90 | } 91 | else 92 | { 93 | digitalWrite(LEDpinleri[LEDno],LOW); 94 | LEDDurum[LEDno] = false; 95 | Serial.print(LEDno); 96 | Serial.println("nolu LED sonduruldu!"); 97 | 98 | } 99 | } 100 | 101 | 102 | 103 | -------------------------------------------------------------------------------- /Programlar/Bölüm 9 - Programlar/SeriHaberlesme3/SeriHaberlesme3.ino: -------------------------------------------------------------------------------- 1 | /*************************************************************** 2 | Arduino Kitabı - Coşkun Taşdemir 3 | Dikeyeksen Yayınları 4 | http://www.dikeyeksen.com/muhendislik/arduino.html 5 | 6 | Bölüm 9 - Seri Haberleşme 7 | 8 | Seri Haberlesme - Örnek 3 9 | 10 | Seri haberleşme – Flush fonksiyonu 11 | 10 saniye boyunca seriporttan veriler toplanıyor. 12 | Daha sonra flush fonksiyonu ile seriport 13 | tamponu boşaltılıyor. 14 | ****************************************************************/ 15 | 16 | // seri haberleşme üzerinden gelen veri sayısı 17 | int gelenVeriSayisi= 0; 18 | void setup() { 19 | Serial.begin(9600); // Seri haberleşmeyi başlatıyoruz(9600 bps) 20 | } 21 | void loop() { 22 | int i = 0; 23 | //10 saniye boyunca seriporttan veri topla 24 | for(i = 0; i<10; i++){ 25 | gelenVeriSayisi = Serial.available(); 26 | Serial.print("Gelen veri sayisi:"); 27 | Serial.println(gelenVeriSayisi); 28 | delay(1000); 29 | } 30 | //Seriport tamponunu boşalt 31 | Serial.flush(); 32 | Serial.println("Tampon bosaltildi!"); 33 | 34 | gelenVeriSayisi = Serial.available(); 35 | Serial.print("Gelen veri sayisi:"); 36 | Serial.println(gelenVeriSayisi); 37 | delay(1000); 38 | } 39 | 40 | 41 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | Arduino Kitabı - Coşkun Taşdemir 2 | Dikeyeksen Yayınları 3 | 4 | 5 | Arduino kitabı içerisinde bulunan örneklere ait kodlar, devrelerin Fritzing çizimleri ve komponentlere ait dökümanlar burada bulunmaktadır. 6 | --------------------------------------------------------------------------------