LED Küp (4x4x4 3D Işık Küpü)
Proje Amacı
64 LED'i 4x4x4 küp şeklinde dizip katman katman kontrol ederek 3 boyutlu ışık animasyonları oluşturur — gerçek 64 LED'lik versiyon Arduino Uno'nun pin sayısını aşar (bkz. Çalışma Açıklaması), bu da projeyi shift register öğrenmek için iyi bir bahaneye çevirir.
Gerekli Malzemeler
- Arduino Uno
- 64x LED (aynı renk önerilir)
- 16x 220Ω direnç (sütunlar için)
- Lehim ekipmanı
- Kalıp/şablon (LED'leri hizalamak için)
Gerekli Kütüphaneler
Gerekli ek kütüphane yok, sadece Arduino IDE'nin yerleşik fonksiyonları kullanılıyor.
Pin Bağlantıları
| Bileşen Pini | Bağlantı |
|---|---|
| Katman 1-4 (anotlar, transistör/direkt üzerinden) | D2, D3, D4, D5 |
| Sütun 1-16 (katotlar, direnç üzerinden) | D6-D13, A0-A5 (genişletme gerekebilir) |
Devre Şeması
Arduino Kodu
| 1 | // Basitleştirilmiş 4 katman x 4 sütun örneği (tam 4x4x4 için shift register önerilir) |
| 2 | const int katmanlar[4] = {2,3,4,5}; |
| 3 | const int sutunlar[4] = {6,7,8,9}; |
| 4 | |
| 5 | void setup(){ |
| 6 | for(int i=0;i<4;i++){ pinMode(katmanlar[i],OUTPUT); pinMode(sutunlar[i],OUTPUT); } |
| 7 | } |
| 8 | |
| 9 | void loop(){ |
| 10 | for(int k=0;k<4;k++){ |
| 11 | digitalWrite(katmanlar[k],HIGH); |
| 12 | for(int s=0;s<4;s++){ |
| 13 | digitalWrite(sutunlar[s],HIGH); |
| 14 | delay(100); |
| 15 | digitalWrite(sutunlar[s],LOW); |
| 16 | } |
| 17 | digitalWrite(katmanlar[k],LOW); |
| 18 | } |
| 19 | } |
Çalışma Açıklaması
Gerçek 4x4x4 (64 LED) için Arduino Uno'nun pin sayısı yetersiz kalır — 74HC595 shift register kullanılması şiddetle önerilir. Bu örnek basitleştirilmiş bir başlangıç noktasıdır.
Test Bilgisi
Küçük bir prototip (örn. 4x4 tek katman) ile başlayıp devrenin çalıştığını doğrulayın, sonra katman sayısını artırın. LED'lerin sırayla yandığını gözlemleyin.
Olası Sorunlar ve Çözümleri
Bazı LED'ler yanmıyorsa: lehim bağlantılarını (özellikle katman/sütun kesişimlerini) tek tek multimetre ile kontrol edin — 64 LED'lik bir küpte en çok zaman alan adım budur, soğuk lehim noktaları gözle çoğu zaman fark edilmez. Yanlış LED'ler yanıyorsa: katman ve sütun pinlerinin doğru sıralamada bağlandığını doğrulayın. Küp çok sönük görünüyorsa: multipleksleme (hızlı sırayla yakma) frekansı çok düşük olabilir, delay() sürelerini azaltın. Bir katmanın tamamı sönükse (tek LED değil): o katmanın ortak anot bağlantısında gevşek bir lehim vardır, tüm katmanı besleyen tek noktayı kontrol edin.
Alternatif Çözümler
Tam 4x4x4 (64 LED) için 74HC595 shift register kullanılarak pin sayısı sorunu tamamen çözülebilir. Sabit renk yerine RGB LED'lerle renkli 3D animasyonlar yapılabilir. Arduino Uno yerine daha fazla belleğe sahip Arduino Mega kullanılarak daha karmaşık animasyon dizileri saklanabilir.
Benzer Projeler
Bluetooth Kontrollü Araba
Telefondaki bir Bluetooth uygulamasından gelen tek karakterlik komutlarla (F/B/L/R/S) 2 tekerlekli bir robotu yönlendirir — HC-05'in 3.3V mantık seviyesi burada gerçek bir tuzak barındırır (bkz. Çalışma Açıklaması).
Çizgi İzleyen Robot
Zemin üzerindeki siyah bir çizgiyi 2 IR sensörle takip ederek otonom hareket eden bir robot yapar; iki sensörün ürettiği 4 olası HIGH/LOW kombinasyonu robotun tüm yön kararlarını belirler.
Engelden Kaçan Robot
Önündeki engelleri ultrasonik sensörle algılayıp geri çekilip yön değiştiren bir robot yapar — kod bilinçli olarak basit tutuldu, servo ile taramalı algılama bir sonraki geliştirme adımı olarak notlarda bırakıldı.