8x8 RGB LED matrix yapıp Arduino ile kontrol edilebilir mi?

PoloHan

Centipat
Katılım
20 Ekim 2023
Mesajlar
21
Daha fazla  
Cinsiyet
Erkek
8x8 RGB LED matrix yapıp Arduino ile kontrol etmek istiyorum ama elimdeki LED'ler ortak kathot ve internette arastırdım. Ortak kathotla yapan yok, acaba yapılabilir mi, yapılırsa nasıl yapılır?
 
Son düzenleyen: Moderatör:
8x8 RGB LED matrix yapıp Arduino ile kontrol etmek istiyorum ama elimdeki LED'ler ortak kathot ve internette arastırdım. Ortak kathotla yapan yok, acaba yapılabilir mi, yapılırsa nasıl yapılır?

Yapabilirsiniz sadece kodda farklılık yapmanız lazım.

Normalde anot ortak olur ve high sinyali vererek yakarsınız LED'leri.

Fakat katotta biraz farklı aslında tam tersi, ortak uçları 330ohmluk direnç ile 5V'ye bağlayın, diğer uçları 0 ve 1 pinleri hariç pinlere dizin.

Yakmak istediğiniz LED'in pinine Low sinyali gönderin ama en başta Void setup kısmında LED bağlı bütün pinleri High'e çekin.

Şöyle Basic bir kod yazdım mantığı anlamanız açısından.

C++:
// DENEME KODU.

#define LED1 2 // birinci led 2. pin.
#define LED2 3 // ikinci led 3. pin.
#define LED3 4 // üçüncü led 4. pin.

void setup()
{
 pinMode(LED1, OUTPUT);
 pinMode(LED2, OUTPUT); // led pinleri çıkış olarak atandı.
 pinMode(LED3, OUTPUT);

 digitalWrite(LED1, 1);
 digitalWrite(LED2, 1); // led pinlerine high (5v) verildi bu ledlerin sönük kalmasını sağlar.
 digitalWrite(LED3, 1);

}

void loop()
{
 digitalWrite(LED1, 0); // birinci ledi yak.
 delay(1000); // bir saniye bekle.
 digitalWrite(LED1, 1); // birinci ledi söndür.
 delay(1000); // bir saniye bekle.

 digitalWrite(LED2, 0); // ikinci ledi yak.
 delay(1000); // bir saniye bekle.
 digitalWrite(LED2, 1); // ikinci ledi söndür.
 delay(1000); // bir saniye bekle.

 digitalWrite(LED3, 0); // üçüncü ledi yak.
 delay(1000); // bir saniye bekle.
 digitalWrite(LED3, 1); // üçüncü ledi söndür.
 delay(1000); // bir saniye bekle.

}
 
Son düzenleme:
çok tessekür ederim

ama 8x8 olduğu icin 64 pin lazım olmaz mı atmega 328p üzerinde o kadar pin yok
 
Arkadaşın ledleri RGB bu sadece tek renk için işe yarar.
 
Arkadaşın LED'leri RGB bu sadece tek renk için işe yarar.

Hayır RGB için de yarar.

Ortak katota artı verecek. Diğer pinlere high verirse söner Low verirse yanar.

Deneyebilirsiniz. Bende hem ortak anot hem de ortak katot RGB var ve ikisini de kullanabiliyorum.

Arkadaşın LED'leri RGB bu sadece tek renk için işe yarar.

Kodda yazan birinci ikinci LED kısmı RGB LED'in bacakları için.
 
8x8 matrixde her sütunun katotları için 8 pin (pwm olmasına gerek yok), satırı için ise 8x3 = 24 (8 satırdaki ledler sayısı, 3 bir ledin anot sayısı) pin (pwm) gerekiyor. ne yazıkki arduinoda bu kada pwm pini yok fakat shift register entegresi kullanarak belki başarabilirsiniz. Yardımı dokunabilecek bir kütüphane:
Bu içeriği görüntülemek için üçüncü taraf çerezlerini yerleştirmek için izninize ihtiyacımız olacak.
Daha detaylı bilgi için, çerezler sayfamıza bakınız.
Rgb ledi tek renk olarak kullanmak istiyorsanız tabiki yarar ama geriye kalan 16581374 rengi kullanamazsınız.
 
Çok tessekür ederim.

Ama 8x8 olduğu icin 64 pin lazım olmaz mı atmega 328p üzerinde o kadar pin yok.

Arduino üzerinde dijital çıkış olarak kullanabileceğiniz 17 pin var (0 ve 1 hariç) yanlış hatırlamıyorsam analog pinleri de dijital çıkış olarak kullanabilirsiniz.

Bu 17 pine göre pinleri bağlantıyı ayarlamanız gerekecek zaten her LED'in bir bacağı ortak olacak o yüzden her LED'i 3 bacaklı olarak düşünebilirsiniz.
 
Tam tersi bu anot için doğru.

Pardon kafam kimya dersine gitti. (anot eksi katot artı yüklüdür, elektrokimyasal piller)

Sonuç olarak ortak ucu vdc olan bir RGB LED'i kullanmak mümkün.

Dediğiniz şekilde düzeltirsek konu sahibi "ortak gnd için yapılır mı? " diye soruyor. Ki zaten ortak gnd olan bir RGB LED'i kontrol etmek çok kolay.
 
Tamam hepinize teşekkür ederim soylediklerinizi deneyeceğim.
 
Son düzenleyen: Moderatör:
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…