İlk hafta mikroişlemciler laboratuvarında LED uygulamaları üzerine deney yaptık. Deney raporu için verilen ödev ise yine led uygulamaları üzerineydi. Kullanılacak mikroişlemci Arduino olarak belirtilmişti.
Buradan rapora ulaşabilirsiniz: Rapor 1
Rapor 3 aşamadan oluşuyordu.
- 4 ledi yakıp söndürme(Yavaş – Orta – Hızlı)
- 4 ledi sola-sağa sırayla yakma(Yavaş, Hızlı)
- Ledleri buton ile kontrol etme.
Her aşamanın ortak eleman “led” olduğu için önce tek ledi yakıp söndürme üzerine örnek yaptım. Bu örneğe Arduino’nun kendi içerisindeki örneklerden ulaşabilirsiniz: Dosya – Örnekler – Basics – Blink
Daha sonra kod üzerine oynayarak kendi algoritmamı oluşturdum.
1. 4 Led Yakıp Söndürme
Devreyi şekildeki gibi kurabilirsiniz. Her ledin toprağına birer direnç eklerseniz daha sağlıklı olur.
.
Kodumuz için: 4 Adet Led Yakma
Paylaştığım kodaki “delay(2000)” satırlarını değiştirerek led süresini yavaş, orta ve hızlı için ayarlayacaksınız. (2000 ifadesi 2 saniyeye denk geliyor.)
2. Ledleri Sağ-Sol Sırayla Yakma
Devre bir önceki devrenin aynısı, sadece algoritmayı değiştireceğiz.
Buyrun yeni alogiratmamız: Ledleri Sırayla Yakma
3. Buton ile Led Kontrolü
Devrenize dilediğiniz kadar buton ekleyin. Ben bir buton ile tüm ledleri kontrol ettim, isterseniz her led için bir buton ekleyebilirsiniz. Tabi kodunuzu da devreye göre düzenlemeniz gerekecek. Aşağıda vereceğim örnek, buton ile temel bir uygulama olduğu için konuyu rahat anlayacağınızı ve böylece kendi değişikliklerinizi yapabileceğinizi düşünüyorum.
Buton mantığı nasıl biraz bahsedeyim. Gördüğünüz gibi buton ile direnç yan yana ve biz arduino bağlantısını ikisi arasından alıyoruz. Kısaca bahsedelim,
- Buton iletimdeyse,
Butonun sol ayağındaki 5v gerilim butonun diğer ayağına kadar gelecek ancak direnci(direncimiz çok büyük) gördüğünde kolay yolu seçip direnç üzerinden değil arduino bağlantısı üzerinden tamamlayacak döngüyü. (Pratikte 10K direnç üzerinden çok az bir akım geçer.) Böylece arduino giriş pinine gerilim gelmiş olacak ve arduino bunu giriş var olarak işleyecek.
- Buton iletimde değilse,
Butonun sol ayağındaki 5v gerilim butonun diğer ayağına gelemeyecek; bu sebeple arduino giriş pini direnç üzerinden toprağa bağlanmış olacak. Bu sebeple giriş pinine gerilim değeri gelmeyecek ve arduino bunu giriş yok olarak işeyecek.
Buyrun üstteki devre için kaynak kod: Buton ile Led Kontrolü
Alp Çetin
Reis kod çalışmıyor, 404 error veriyor.
unalfaruk
Merhaba,
Bağlantıları güncelledim.