Seçilmiş

Atolye

Teknoloji

Ev & Dekorasyon

Mutfak

Oyun

Outdoor

Sanat

Led Matriksi Nedir, Nasıl Yapılır

Tanıtım: Matriksler (veya matrixler)

Işıl ışıl yanan, renkli; şekiller, karakterler çizen ledleri kim sevmez ki? Elektronik güzel, bir o kadar da zor bir "sanat"tır. Hatta elektronik yazılımdan da zordur. Ama şunu da unutmayın ki; bir şeyi en iyi öğrenmenin yöntemi onu tecrübe edinmektir. Atalarımız boşuna dememiş: Bir musibet bin nasihatten iyidir. Haydi gelin bir led matriksi de biz yapalım.

1. Adım: Led Matriksinin Yapısı

Örneğin sağ alt (D,4) konumundaki bir ledi satır ortak katotlu bir matrikste yakmak için 4. Sutun +voltaj'a, D satırı ise GND ye bağlanmalıdır. Daha iyi anlaşılması ve karışmaması için bu projenin devamında bütün örnekler satır ortak katotlu matriks kullanılmıştır.

Bu iki çeşit arasındaki fark sadece ledi nasıl yaktığımızdır. Satır ortak anotlu bir matrikste satırlara anot (+voltaj), sutunlara ise -voltaj veya ground bağlanır.

Led Matriksleri iki çeşitte bulunabilir:Satır ortak anotlu (görselde soldaki) ve satır ortak katotlu (görselde sağdaki).

Bir led matriksinde; ledler satırlar ve sutunlar olarak dizilmiştir. X ve Y eksenleri olarak düşünebilirsiniz. Örneğin 4x4 bir led matriksimiz olsun. Satırlar A'dan D'ye kadar, sutunlar ise 1'den 4'e kadar olsun. Şimdi her bir ledi (Satır,Sutun) şeklinde adresleyebiliriz. En sol üstteki led (A,1), en sağ alttaki ise (D,4) olacaktır.

2. Adım: Haydi Yapalım

4x4 satır ortak katotlu bir matriks yapmak için gerekli malzemeler:

  • 16 adet led
  • 4 adet direnç
  • Header pinleri
  • Delikli Pertinaks

Başlamadan önce ledleri pertinaksa yapıştırırsanız işinizi kolaylaştıracaktır. Yapıştırırken bütün ledlerin aynı yöne baktığından emin olun. (Bacak uzunluklarına göre kontrol edebilirsiniz.)

3. Adım: Bacakları Bükün

Yapıştırıcınız kuruduysa bükme zamanı gelmiş demektir. Katot (- bacak, kısa olan) bacaklarını aynı yöne büküp, birbirine lehimleyin. Katot bacaklarının pertinaksa mümkün olduğunca yakın olmasına dikkat edin.

Katotları bitirdikten sonra, anotları bükmeye başlayın. Bükerken katotlara değmemesine dikkat edin. İnce silindirik bir parça yardımıyla köprü gibi katotların üstünden geçirebilirsiniz.
Anotları büktükten sonra lehimleyin. Anotları da tamamladınız.

Şimdi header pinlerini lehimleyin ve katotları direkt olarak header'e bağlayın. Anotlar ise direnç üzerinden geçerek gitmeli. Kullandığınız direncin değeri LED'inize göre değiştir. Matrik'iniz şimdi teste hazır!

4. Adım: Test Edin!

A satırına GND'yi, 1 sutununa da +voltajı vermek sağ-üst (A,1) ledinizi yakacaktır. D satırına GND, 4 sutununa da +voltaj vermeniz alt-sol ledi yakacaktır.

Ufak bir sorun

Eğer (A,1) ve (D,4) ledini aynı anda yakmak isterseniz şimdiye kadar öğrendiklerinize dayanarak dört kabloyu ilgili yerlere bağlayacaksınızdır. Bu işlemin sonucunda (A,4) ve (D,1) ledleriniz de akım çekecek, toplam 4 led yanmış olacaktır.

Bu soruna çözüm amacıyla "multiplexing" denilen yönteme başvurulmuştur. Bu yöntem temelinde ilgili ledleri hep beraber yakmak yerine sırayla yakıp söndürür. Gözün farkedemeyeceği hızda çalışan bu sistem, size tam bir görüntü gibi görünür. Bu işlemi tabii ki de elle yapamazsınız. Bunun için bir mikrokontrolöre ihtiyacınız var.

Aşağıdaki kodu arduinonuzda çalıştırırsanız farkı daha iyi anlarsınız.


  1. uint8_t column_pins[4] = { 2, 3, 4, 5 }; /* sutun pinleri */
  2. uint8_t row_pins[4]    = { 11, 10, 9, 8 }; /* satir pinleri */
  3. static void init(void) {
  4.     /* Butun sutunlari low yaparak kapatın. */
  5.     for (uint8_t x=0; x<4; x++) {
  6.         pin_mode(column_pins[x], OUTPUT);
  7.         digital_write(column_pins[x], LOW);
  8.     }
  9.     /* Butun satırları high yaparak kapatın. */
  10.     for (uint8_t y=0; y<4; y++) {
  11.         pin_mode(row_pins[y], OUTPUT);
  12.         digital_write(row_pins[y], HIGH);
  13.     }
  14. }
  15. uint8_t pattern[4][4]  = {{1,0,0,1}, {0,1,0,0}, {0,0,1,0}, {1,0,0,1}};
  16. void draw(uint8_t buffer[4][4], uint8_t delay) {
  17.     for (uint8_t row=0; row<4; ++row) {
  18.         /* Gereken sutunlari degistir. */
  19.         for (uint8_t column=0; column<4; ++column) {
  20.             digital_write(column_pins[column], buffer[row][column]);
  21.         }
  22.         /* Butun satiri low yaparak etkinlestir. */
  23.         digital_write(row_pins[row], LOW);
  24.         _delay_ms(delay);
  25.         /* Turn off whole row. */
  26.         digital_write(row_pins[row], HIGH);
  27.     }
  28. }
  29. uint8_t main(void) {

  30.     init();
  31.     /* 100ms arayla calisarak insan gozunun farkedebilecegi hizda calistir. */
  32.     for (uint8_t i=0; i<10; i++) {
  33.         draw(pattern, 100);
  34.     }
  35.     /* 10ms arayla goruntu gozukebilecek fakat kirpma hissedilebilecek. */
  36.     for (uint16_t i=0; i<100; i++) {
  37.         draw(pattern, 10);
  38.     }
  39.     /* Gecikmesiz cizerek goruntuyu olustur. */
  40.     while (1) {
  41.         draw(pattern, 1);
  42.     }
  43. return 0;
  44. }

5. Adım: Video


Kapak Fotoğrafı W1N9Zr0 adlı kullanıcıdan alınmış, proje ise Mika Tuupola adlı kişiden Türkçe'ye çevrilmiştir.Site Link: Instructables


Yorumlar.

841 Görüntülenme

1 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