Arduino Eğitimleri Bölüm 5 Dijital Giriş – Çıkış İşlemleri 08.05.2014
Coşkun TAŞDEMİR - ÇizgiTagem Arduino Eğitimleri
Dijital Giriş - Çıkış
1 ve 0
08.05.2014
Coşkun TAŞDEMİR - ÇizgiTagem Arduino Eğitimleri
Dijital Giriş - Çıkış
08.05.2014
Coşkun TAŞDEMİR - ÇizgiTagem Arduino Eğitimleri
Dijital Giriş - Çıkışlar
08.05.2014
Coşkun TAŞDEMİR - ÇizgiTagem Arduino Eğitimleri
Dijital Giriş - Çıkış
•Arduino UNO üzerinde 15 dijital giriş çıkış pini bulunuyor •Bunların 6 tanesi PWM özelliğine sahip ( daha sonra göreceğiz) •Dijital pinleri kullanmak için önce giriş veya çıkış olarak ayarlanması gerekiyor.
08.05.2014
Coşkun TAŞDEMİR - ÇizgiTagem Arduino Eğitimleri
Dijital Giriş - Çıkış • Digital Giriş / Çıkış 1 veya 0 bilgisini Arduino içine almak veya dış dünyaya iletmek için kullanılıyor. • Bir butonun, bir LED’in durumu 1 bitlik bilgi demek (1 veya 0, açık veya kapalı)
08.05.2014
Coşkun TAŞDEMİR - ÇizgiTagem Arduino Eğitimleri
Dijital Giriş - Çıkış pinMode(pin_no, INPUT) Giriş olarak kullanmak için
pinMode(pin_no, OUTPUT) Çıkış olarak kullanmak için Pin_no 0....13
08.05.2014
Coşkun TAŞDEMİR - ÇizgiTagem Arduino Eğitimleri
Dijital Giriş - Çıkış Dijital Çıkış Vermek İçin: digitalWrite(pin_no, HIGH) İlgili pinden HIGH (1) çıkışı verir
digitalWrite(pin_no, LOW) İlgili pinden LOW(0) çıkışı verir
08.05.2014
Coşkun TAŞDEMİR - ÇizgiTagem Arduino Eğitimleri
LED YAKIP SÖNDÜRME /* Pin13’e bağlı olan LED saniyede bir Yakılıp söndürülüyor. */ void setup() { // initialize the digital pin as an output. // Pin 13 has an LED connected on most Arduino boards: pinMode(13, OUTPUT); } void loop() { digitalWrite(13, HIGH); // LED’i yak delay(1000); // Bir saniye bekle digitalWrite(13, LOW); // LED’i söndür delay(1000); // Bir saniye bekle } http://www.biltek.tubitak.gov.tr/gelisim/elektronik/led.htm
Arduino’ya 6 adet LED bağlayarak meşhur “Karaşimşek” aracının efektini yapabiliriz.
08.05.2014
Coşkun TAŞDEMİR - ÇizgiTagem Arduino Eğitimleri
Karaşimşek
08.05.2014
Coşkun TAŞDEMİR - ÇizgiTagem Arduino Eğitimleri
7 Segment Gösterge Ortak Anot
08.05.2014
Coşkun TAŞDEMİR - ÇizgiTagem Arduino Eğitimleri
Ortak Katot
7 Segment Gösterge
08.05.2014
Coşkun TAŞDEMİR - ÇizgiTagem Arduino Eğitimleri
7 Segment Gösterge
UYGULAMA 08.05.2014
Coşkun TAŞDEMİR - ÇizgiTagem Arduino Eğitimleri
Önemli !
! Arduino dijital pinleri maksimum 40 mA akım sağlayabilmektedir
08.05.2014
Coşkun TAŞDEMİR - ÇizgiTagem Arduino Eğitimleri
Dijital Giriş - Çıkış Dijital Giriş Okumak İçin: pin_deger = digitalRead(pin_no) İlgili pinin durumunu
( HIGH (1) veya LOW (0) ) döndürür.
08.05.2014
Coşkun TAŞDEMİR - ÇizgiTagem Arduino Eğitimleri
Buton Girişi Okuma
08.05.2014
Coşkun TAŞDEMİR - ÇizgiTagem Arduino Eğitimleri
Buton Girişi Okuma
Dijital Giriş Okumak İçin:
08.05.2014
Coşkun TAŞDEMİR - ÇizgiTagem Arduino Eğitimleri
Buton Girişi Okuma
UYGULAMA 08.05.2014
Coşkun TAŞDEMİR - ÇizgiTagem Arduino Eğitimleri
Buton Girişi Okuma
08.05.2014
Coşkun TAŞDEMİR - ÇizgiTagem Arduino Eğitimleri
BUTON OKUMA void loop() { // Buton durumunu oku buttonDurumu = digitalRead(butonPin); /* Butona basıldığında butonun durumu HIGH olacaktır. Bu durumda LED çıkışını HIGH yapıyoruz. Tersi durumda ise LOW yapıyoruz */ if (buttonDurumu == HIGH) { digitalWrite(ledPin, HIGH); } else { digitalWrite(ledPin, LOW); } }
08.05.2014
Coşkun TAŞDEMİR - ÇizgiTagem Arduino Eğitimleri
Butonlardaki Problem Çıt – çıt (push) butonlar mekanik yapılarından dolayı kararlı çalışmamaktadır. Basma anında defalarca 1 ve 0 durumu arasında gidip gelirler Bu olarak “sıçrama (bouncing)” denilir
Sıçrama giderme işlemine “debouncing” denilir. Donanımsal veya yazılımsal olarak uygulanabilir. 08.05.2014
Coşkun TAŞDEMİR - ÇizgiTagem Arduino Eğitimleri
Butonlardaki Problem
08.05.2014
Coşkun TAŞDEMİR - ÇizgiTagem Arduino Eğitimleri
Elektronik Zar
08.05.2014
Coşkun TAŞDEMİR - ÇizgiTagem Arduino Eğitimleri
Rastgele Sayı Üretmek Rand() fonksiyonu ile rastgele sayı üretmek mümkün. Tam olarak rastgeleliği sağlamak için analog giriş gürültüsünden faydalanılabilir
randomSeed(analogRead(0)) ile Rand fonksiyonunu rastgele değerlerle besliyoruz.