Paylaşımcıların Buluşma Noktası!
Birçok kişi direnç kullanmadığımdan yakınmış projede. Halbuki, bütün ledleri aynı anda yakmadığım için, ortak GND'ye tek direnç kullandım. Farklı Led'lerin farklı voltaj seviyeleri olduğu için, bu yöntem sadece aynı tip Led'lerde işe yarar.
Farklı Led kullanmak istiyorsanız, her Led'e ayrı direnç takmanızda fayda var.
Başta 5mm Led'lerle başladım. Sonradan fark ettim ki, yeterince 5mm Led'im yok. Sonra Led'leri 3mm kırmızı olarak değiştirdim. Her bir Led'i sırasıyla Arduino'ya bağlayın.
En son ortak direnci de bağlamayı unutmayın!
Yazılım aşamasında, daha önceleri de yaptığım gibi kodu esnek bıraktım. Yani bende 12 led olabilir, sende 8 led olabilir. Böyle sorunları aşabilmek adına, kendi yazdığım kodları esnek bırakmaya özen gösteririm.
"baspin" kısmı, ilk ledi taktığınız pindir. Bitis ise son pin.
Hareket hızını, iki ayrı noktada geçen; "baslama+100" bölümünü düşürerek yapabilirsiniz.
/* Kara Şimşek * -------------- * * 2017 * @author: Metin Özyildirim * @website: https://www.neyaptik.com/ */ #define baspin 1 #define bitispin 12 unsigned long baslama; void setup() { for(int i=baspin;i<=bitispin;i++){ pinMode(i,OUTPUT); } } void loop() { for (int led=baspin+1;led<=bitispin;led++){ baslama=millis(); while((baslama+100)>millis()){ digitalWrite(led, HIGH); digitalWrite(led+1, HIGH); digitalWrite(led-1, HIGH); digitalWrite(led+2, HIGH); delayMicroseconds(500); digitalWrite(led+2, LOW); delayMicroseconds(1000 - 500); digitalWrite(led-2, HIGH); delayMicroseconds(500); digitalWrite(led-2, LOW); delayMicroseconds(1000 - 500); digitalWrite(led+3, HIGH); delayMicroseconds(200); digitalWrite(led+3, LOW); delayMicroseconds(1000 - 200); digitalWrite(led-3, HIGH); delayMicroseconds(200); digitalWrite(led-3, LOW); delayMicroseconds(1000 - 200); } digitalWrite(led,LOW); digitalWrite(led+1,LOW); digitalWrite(led+2,LOW); digitalWrite(led-1,LOW); digitalWrite(led-2,LOW); } for (int led=bitispin-1;led>=baspin;led--){ baslama=millis(); while((baslama+100)>millis()){ digitalWrite(led, HIGH); digitalWrite(led+1, HIGH); digitalWrite(led-1, HIGH); digitalWrite(led+2, HIGH); delayMicroseconds(500); digitalWrite(led+2, LOW); delayMicroseconds(1000 - 500); digitalWrite(led-2, HIGH); delayMicroseconds(500); digitalWrite(led-2, LOW); delayMicroseconds(1000 - 500); digitalWrite(led+3, HIGH); delayMicroseconds(200); digitalWrite(led+3, LOW); delayMicroseconds(1000 - 200); digitalWrite(led-3, HIGH); delayMicroseconds(200); digitalWrite(led-3, LOW); delayMicroseconds(1000 - 200); } digitalWrite(led,LOW); digitalWrite(led+1,LOW); digitalWrite(led+2,LOW); digitalWrite(led+3,LOW); digitalWrite(led-1,LOW); digitalWrite(led-2,LOW); digitalWrite(led-3,LOW); } }
Belki insanlık için küçük fakat benim için gayet büyük bir adım!
Paylaşmanız, yorum yapmanız ve desteklemeniz, bizlerin çalışma azmini arttıracaktır!
“İtiraf ederim ki, düşmanlarımız çok çalışıyor. Biz de onlardan daha çok çalışmaya mecburuz. Çalışmak demek, boşuna yorulmak, terlemek değildir. Zamanın gereklerine göre bilim ve teknik ve her türlü medeni buluşlardan azami derecede yararlanmak zorunluluğudur.”
KENDİN YAP MÜHENDİSLİK PROJELERİ PROJE PAYLAŞIN ELEKTRİK ELEKTRONİK MÜHENDİS EVDE YAP PROJE YAP ARDUİNO YAZILIM PCB HAZIRLAMA NE YAPTIK DIY DIY YAPIMI NASIL YAPILIR DEKORASYON DIY FİKİRLERİ