29.02.2016 Coşkun TAŞDEMİR - Çizgi-Tagem
Arduino Eğitimleri
ARDUİNO
Arduino Eğitimleri
Bölüm 6
Analog Giriş – Çıkış İşlemleri
http://www.flickr.com/photos/collinmel/2317520331/
29.02.2016 Coşkun TAŞDEMİR - Çizgi-Tagem
Arduino Eğitimleri
Analog Giriş – ÇıkışAnalog ve Dijital
29.02.2016 Coşkun TAŞDEMİR - Çizgi-Tagem
Arduino Eğitimleri
Analog Giriş – Çıkış
Arduino üzerindeki ve diğer mikroişlemciler / mikrodenetleyiciler “dijital” olarak çalışırlar.
Analog verilerin işlenebilmesi için analog / dijital çeviriciler (ADC) kullanılır.
0 – 5V aralığındaki değişimler Arduino üzerindeki ADC ile 0 – 1023 arasındaki dijital veriye çevrilir. (2^10 -1 = 1023)
29.02.2016 Coşkun TAŞDEMİR - Çizgi-Tagem
Arduino Eğitimleri
Analog Giriş – ÇıkışAnalog Giriş
0 – 5V aralığındaki değişimler Arduino üzerindeki ADC ile 0 – 1023 arasındaki dijital veriye çevrilir. (2^10 -1 = 1023)
5V / 1024 = 0.0048V (4.8 mV)
Gerilim = (ADC_Sonucu / 1023) * ADC Gerilimi
ADC Gerilimi = 5V (Arduino UNO)
29.02.2016 Coşkun TAŞDEMİR - Çizgi-Tagem
Arduino Eğitimleri
Analog Giriş – ÇıkışAnalog Girişler
Arduino UNO üzerinde 6
analog giriş bulunuyor.
29.02.2016 Coşkun TAŞDEMİR - Çizgi-Tagem
Arduino Eğitimleri
Analog Giriş - Çıkış
Analog giriş fonksiyonları ile analog sensörlerin çıkışları, potansiyometre ile gerilim bölücü çıkışı gibi şeyleri Arduino ile okuyabiliriz.
Analog girişleri analogRead() fonksiyonu ile okuyabiliyoruz.
29.02.2016 Coşkun TAŞDEMİR - Çizgi-Tagem
Arduino Eğitimleri
Analog Giriş – ÇıkışAnalog Giriş Okuma
29.02.2016 Coşkun TAŞDEMİR - Çizgi-Tagem
Arduino Eğitimleri
Analog Giriş - Çıkış
29.02.2016 Coşkun TAŞDEMİR - Çizgi-Tagem
Arduino Eğitimleri
Analog Giriş - Çıkış
29.02.2016 Coşkun TAŞDEMİR - Çizgi-Tagem
Arduino Eğitimleri
Potansiyometre Okuma
/* A0 girişindeki gerilim okunuyor */
void setup() {
// Seri Haberleşmeyi başlat
Serial.begin(9600);
}
void loop() {
analogGiris = analogRead(A0);
gerilimDegeri = (analogGiris / 1023.0) * 5.0;
Serial.print("Analog deger:");
Serial.println(analogGiris);
Serial.print("Gerilim degeri:");
Serial.println(gerilimDegeri);
delay(1000); // Bir saniye bekle
}
29.02.2016 Coşkun TAŞDEMİR - Çizgi-Tagem
Arduino Eğitimleri
Analog Sensörler
Analog girişler ile analog çıkış üreten sensörleri Arduino’ya bağlayabiliriz. LM35 analog çıkış veren bir sıcaklık sensörüdür. Bir santigrat başına 10 mV çıkış üretir. (20 derecede 200 mV)
29.02.2016 Coşkun TAŞDEMİR - Çizgi-Tagem
Arduino Eğitimleri
Analog Giriş - Çıkış
29.02.2016 Coşkun TAŞDEMİR - Çizgi-Tagem
Arduino Eğitimleri
Analog Sensörler
Bütün analog sensörleri benzer şekilde okuyabiliriz.
Dikkat etmemiz gereken en önemli şey giriş geriliminin 5 Voltu geçmemesi.
29.02.2016 Coşkun TAŞDEMİR - Çizgi-Tagem
Arduino Eğitimleri
Analog Çıkış
Mikrodenetleyiciler analog çıkış üretmek için dijital – analog çeviriciler (DAC) kullanır.
Arduino üzerinde DAC bulunmuyor fakat PWM tekniğiyle analog çıkış üretebiliyoruz.
PWM (pulse width modulation) belirli frekanstaki bir sinyalin 1 ve 0 olma süreleri değiştirilerek bir ortalama gerilimin değiştirilmesine dayanır.
29.02.2016 Coşkun TAŞDEMİR - Çizgi-Tagem
Arduino Eğitimleri
PWM
29.02.2016 Coşkun TAŞDEMİR - Çizgi-Tagem
Arduino Eğitimleri
PWM
29.02.2016 Coşkun TAŞDEMİR - Çizgi-Tagem
Arduino Eğitimleri
Analog Çıkış
Analog çıkış için analogWrite() fonksiyonunu kullanacağız. analogWrite(pin, PWM_duty_cycle)
0 – 255 arası 0 – 5 Volt
Analog olarak kullanacağımız pinleri çıkış olarak ayarlamamız gerekmiyor!
analogWrite(A0,100) A0 çıkışından (100 / 255) * 5V
29.02.2016 Coşkun TAŞDEMİR - Çizgi-Tagem
Arduino Eğitimleri
UYGULAMA
LED Parlaklık Kontrolü
29.02.2016 Coşkun TAŞDEMİR - Çizgi-Tagem
Arduino Eğitimleri
RGB LED Sürme
RGB LED’ler üzerinde 3 ana renk (Kırmızı – Yeşil –Mavi) bulunduran LED’lerdir Her bir pini ayrı bir LED gibi sürülür. Ortak anot veya ortak katot tipleri bulunur.
29.02.2016 Coşkun TAŞDEMİR - Çizgi-Tagem
Arduino Eğitimleri
RGB LED Sürme
29.02.2016 Coşkun TAŞDEMİR - Çizgi-Tagem
Arduino Eğitimleri
RGB LED Sürme
29.02.2016 Coşkun TAŞDEMİR - Çizgi-Tagem
Arduino Eğitimleri
UYGULAMA
RGB LED SÜRME
29.02.2016 Coşkun TAŞDEMİR - Çizgi-Tagem
Arduino Eğitimleri
DC Motor Sürme
DC motor uygulanan gerilime göre devri değişen bir motor çeşididir.
Arduino’nun çıkışları bir DC motoru sürmek için gerekli akımı sağlayamaz.
Yüksek akımlı komponentleri çalıştırmak için akım yükseltici bir elemana ihtiyaç duyulur.
29.02.2016 Coşkun TAŞDEMİR - Çizgi-Tagem
Arduino Eğitimleri
Transistör
Transistör’lerin BJT, MOSFET gibi tipleri bulunur. Burada BC547 BJT kullanacağız. NPN transistör
29.02.2016 Coşkun TAŞDEMİR - Çizgi-Tagem
Arduino Eğitimleri
DC MOTOR SÜRME
29.02.2016 Coşkun TAŞDEMİR - Çizgi-Tagem
Arduino Eğitimleri
DC MOTOR SÜRME
29.02.2016 Coşkun TAŞDEMİR - Çizgi-Tagem
Arduino Eğitimleri
UYGULAMA
DC MOTOR SÜRME