Seçilmiş

Atolye

Teknoloji

Ev & Dekorasyon

Mutfak

Oyun

Outdoor

Sanat

Arduino İle Kara Şimşek

Tanıtım: Malzemeler

Efsanelerin efsanesi "Kara Şimşek" bu projemizle Arduino'da hayata geçiyor. Diğer Kara Şimşek'lerden farklı olarak PWM'siz pinlerde PWM'yi simüle ettik. Dolayısıyla yumuşak geçişli oldu.

Malzemeler
  • Çeşitli Led'ler
  • Arduino
  • Breadboard
  • Jumper Kablolar
  • Direnç

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. 

1. Adım: Led'leri Dizin

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! 


2. Adım: Yazılım

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);
}

}

3. Adım: Bitti!


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!

Yorumlar.

3613 Görüntülenme

0 Favoriler


coco

Trakya Üniversitesinde İngilizce Öğretmenliği okuyorum. Hobi olarak yazılım ve elektronikle ilgileniyorum. Bu siteyi deneyimlerimi paylaşmak için kullanıyorum. Üye olup sizler de paylaşabilirsiniz.


Bir Söz

“İ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.”

Tagler

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İ

Sosyal Medya

Facebook Instagram