Analog Pinlerden Çıkış Sinyali Üretmek

Normalde Arduino’daki analog pinler (A0, A1, A2, …) sensörlerden değer okumak yani veri girişi amacıyla yani giriş (input) olarak kullanılır. Ancak istenirse çıkış (output) olarak da ayarlanabilirler — hatta LED yakmak veya buzzer çalmak gibi işler için de kullanılabilir.

Arduino üzerinde 14 adet dijital pin bulunmaktadır. 14 Led i sırayla yakabiliriz. Ancak Analog pinleri kullanarakta led yakabiliriz. Bu durumda analog pinler çıkış pini olarak kullanılmış olacaklardır. Analog pinlerle birlikte toplamda 20 adet pini led yakmak için kullanma imkanımız olmaktadır.

0-13 pinleri dijital pin olarak kullanıyoruz. Mblock programında 14-15-16-17-18-19 yazdığımızda A0 dan başlayarak analog pinleri numaralandırmış oluruz.

A0–>14
A1–>15
A2–>16
A3–>17
A4–>18
A5–>19


Hedef:

  1. Analog pinleri çıkış olarak kullanmak
  2. Bu pinlerden LED yakmak/söndürmek
  3. Aynı pinle buzzer çalmak

Uygulama 1: LED Yakıp Söndürme (A1 pinini kullanarak)

Bağlantı:

  • LED’in + bacağı → A1 pinine (220 ohm dirençle)
  • LED’in – bacağı → GND

MBlock Kodu

Arduino Kodu:

void setup() {
pinMode(A0, OUTPUT); // A0 çıkış olarak ayarlandı
}

void loop() {
digitalWrite(A0, HIGH); // LED yanar
delay(500);
digitalWrite(A0, LOW); // LED söner
delay(500);
}

Uygulama 2: Buzzer ile Ses Üretme (A2 pininden)

Bağlantı:

  • Buzzer’ın + bacağı → A0 pinine
  • Buzzer’ın – bacağı → GND

MBlock Kodu

Arduino Kodu:

void setup() {
pinMode(15, OUTPUT); // Dijital pin 15 çıkış olarak ayarlandı
}

void loop() {
delay(1000); // 1 saniye bekle
digitalWrite(15, HIGH); // Pin 15’i HIGH yap (örneğin LED yak)
tone(14, 65, 250); // Pin 14’ten C2 notasını çal (65 Hz, 0.25 saniye)
delay(1000); // 1 saniye bekle
digitalWrite(15, LOW); // Pin 15’i LOW yap (örneğin LED söndür)
}

Veya

void setup() {
pinMode(A0, OUTPUT); // A2 çıkış olarak ayarlandı
}

void loop() {
tone(A0, 1000); // 1000 Hz frekansta ses çal
delay(500);
noTone(A0); // Sesi durdur
delay(500);
}

Not: tone() komutu ile pinin PWM özelliği olmasına gerek yoktur, A2 gibi analog pinlerde de çalışır.


Ekstra Bilgi:

  • Analog pinler, pinMode() ile OUTPUT yapılırsa dijital pin gibi davranır.
  • analogWrite() komutu dijital pinlerde (PWM destekli) kullanılır; analog pinlerde analog çıkış gibi çalışmaz.
  • Ancak tone() fonksiyonu ile ses sinyali (kare dalga) üretilebilir.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir