Arduino dijital çıkışları lojik sıfır olduğunda çıkışı aktif yapmak

bolubeyi

Profesyonel Üye
Katılım
27 Eyl 2008
Mesajlar
1,672
Puanları
421
Yaş
54
Konum
Trabzon
Bu dersimizde arduino çıkışları lojik sıfır olduğunda çıkışı aktif yapmayı öğreneceğiz. Buna neden gerek var derseniz açıklayalım. Normal şartlarda arduino çıkışları lojik 1 (5Volt) olduğunda çıkışına aaşağıdaki şekilde görüldüğü gibi bir led bağlarız. Çıkış lojik 1 olduğunda led yanar, çıkış lojik 0 olduğunda ise led sönecektir.

arduino73.png


Bu şemaya ait yazılım:
Kod:
void setup()
{
pinMode(13, INPUT);  // DİJİTAL 0 PİNİNE BUTON BAĞLANACAK
pinMode(0, OUTPUT);  // DİJİTAL 13 PİNİNE LED BAĞLANACAK
}
int sensor=1;
void loop()
{
sensor = digitalRead(13);  // BUTONDAKİ LOJİK SEVİYEYİ OKU
digitalWrite(0, sensor); // BUTONDAKİ SEVİYEYİ ÇIKIŞA AKTAR
}

Buraya kadar her şey normal. Ancak dikkat ederseniz arduinoya ilk defa besleme gerilimi uygulandığında ya da arduino resetlendiğinde arduino çıkışları istem dışı 1 saniye gibi çok kısa bir sürelojik 1 seviyesini almakta ve sonra kendiliğinden normale dönmekte. Bu durum eğitim ortamlarında bir sorun olarak görünmese de özellikle ticari ve endüstriyel kullanımlarda büyük güvenlik risklerine ve hesapta olmayan donanımsal arızalara neden olabilir. Bunun önüne geçebilmek devre şemasında ve yazılımda aşağıdaki örnekte görüldüğü gibi bir değişiklik yaparak arduino çıkışları lojik 0 olduğunda çıkış almamız gerekir. Belki bu problemi çözmek için yazılımsal ya da donanımsal başka çözümler de vardır. Ancak şu an benim bilgim dahilinde değil. Eğer ki daha bir çözüm yolu öğrenirsem yine bu konu altından çözümüpaylaşırım.


arduino74.png


Bu bağlantıya ait yazılım:
Kod:
void setup()
{
pinMode(13, INPUT);  // DİJİTAL 0 PİNİNE BUTON BAĞLANACAK
pinMode(0, OUTPUT);  // DİJİTAL 13 PİNİNE LED BAĞLANACAK
}
int sensor=1;
void loop()
{
sensor = digitalRead(13);  // BUTONDAKİ LOJİK SEVİYEYİ OKU
digitalWrite(0, !sensor); // BUTONDAKİ SEVİYEYİ ÇIKIŞA AKTAR
}

Her iki bağlantı ve yazılımda da devremiz aynı işlevi yerine getirmektedir.

İhtiyaç olması halinde konuya ait dosyalar orjinal konu ekinde mevcuttur. (Üyelik gerektirir.)
 

Forum istatistikleri

Konular
128,354
Mesajlar
916,966
Kullanıcılar
450,215
Son üye
THORRR

Yeni konular

Geri
Üst