Atmega32 74HCT238 kod çözücü Led küpü

| Haziran 10, 2023 Tarihinde güncellendi
Atmega32 74HCT238 kod çözücü Led küpü

İnternet üzerinde atmel, microchip serisi mikrodenetleyiciler ile yapılan bir çok Led küp projesi var bu uygulamada onlardan biri fakat şemalar, resimler ile desteklenmiş detaylı bir anlatımı var bu proje sayesinde Led küpü mantığını kavramak daha kolay olabilir katların devre şemaları ve kaynak C yazılımı verilmiş.

Led küpü boyutları 5X5X5 tolam 125 adet kırmızı led kullanılmış ledlerin yerleşimi biraz düzensiz ama o kadarda olacak kesin ledleri lehimlemesi çok uğraştırmıştır 🙂

Led küp devresinde atmega32 dışında kullanılan ana malzemeler CD74HCT238 kod çözücü ve 74LS04 Hex Inverter

Projemiz tek cümleyle yönlendirmeden bağımsız bir 3D LED ekrandır. Benzer küplerin youtube’daki çeşitli videolarından ve aynı zamanda etkileşimli bir 3 boyutlu ekran oluşturma fikrinden ilham aldık.

Küpü bir Mega32 mikrodenetleyiciye bağlayan bir 5x5x5 LED küp ekran ve denetleyici kartı oluşturduk. Küpümüzde çok çeşitli düşük çözünürlüklü 3D görüntüleri veya animasyonları gösterebiliriz ve küpün yatay veya dikey yönünü tespit etmek için bir ivmeölçer kullanırız ve küpü yan çevirsek bile dik kalacak şekilde ekranı ayarlarız. Küp, bir mesaj (“ECE476 FINAL PROJECT DEMO”) görüntülemek ve küçük bir ışık gösterisi animasyonu görüntülemek için kullanıldı.

3D LED küplerle ilgili youtube’daki birçok videodan birini gördüğümüzde tasarımımız için ilham aldık. Bütçe ve zaman kısıtlamaları göz önüne alındığında, 3D görüntü fikrinin ilginç ama zorlayıcı olduğunu düşündük ve ayrıca fikri bir adım öteye taşıyabileceğimizi düşündük (bu ekstra adım, bir ivmeölçer kullanarak yönlendirme ayarı oldu).

Küpümüzü ilk tasarlarken göz önünde bulundurulması gereken ana hususlardan biri, onu ne kadar büyük yapacağımıza karar vermekti. Açıkçası, daha fazla LED daha iyi çözünürlük sağlar ve bazı daha ilginç görüntüleri göstermemize izin verirdi, ancak aynı zamanda, belirli bir zamanda ne kadar büyük bir küp üretebileceğimizle ve hatta daha da fazlası, verilen makul bir şekilde kaç LED’i kontrol edebileceğimizle sınırlıydık. sınırlı sayıda port pini ve Mega32’nin sınırlı işlem gücü. Sonunda, boyut ve pratiklik arasında makul bir değiş tokuş olarak 5x5x5’lik bir küpte karar kıldık, ancak, benzer zaman ve bütçe kısıtlamaları göz önüne alındığında, gelecekteki grupları ve ilgilenen diğerlerini daha büyük bir küp oluşturmaya davet ediyoruz (8x8x8’i öneriyoruz, çünkü size güzel bir yuvarlak 512 LED).

Bir sonraki önemli husus, tüm LED’leri nasıl kontrol edeceğimizdi. Mega32’deki bağlantı noktalarından çok daha fazla LED olan 125 LED için yapılmış bir 5x5x5 küp. Başlangıçta, ortak LED sürücülerinde kullanılan yönteme çok benzeyen, her bir LED’i ayrı ayrı kontrol etmek için bir yöntem geliştirdik. Yöntem, her LED’in durumunu temsil eden bir seri bit akışını 125 bitlik bir seri giriş paralel çıkış kaydırma yazmacına göndermeyi içeriyordu.

125 LED’in her birinin durumunu değiştirdikten sonra, 125 flip flop kullanarak her bir bitin değerini kilitler ve her LED’i bir flip flop çıkışından kapatırdık. Bu yöntem yalnızca 3 bağlantı noktası pimi gerektiriyordu (biri seri bit akışı için, biri kaydırma yazmacını ve biri parmak arası terlikleri saatlemek için) ve çok hızlıydı, çünkü kaydırma kaydını 1 MHz’in yukarısında çalıştırabilir ve teorik olarak hepsini güncelleyebilirdik. LED’ler birkaç yüz mikrosaniye içinde. Teorik olarak bu yöntem çok hızlı görünüyordu, ancak pratikte bu yöntem son derece verimsizdi.

Her LED’i ayrı ayrı kontrol etmenin ana sorunu, bunu yapmak için her LED’e en az 1 kablo çekmemiz gerekmesiydi. Bu sorun hızla kontrolden çıktı; Küpün alt kısmında 25 sütunun her birinden en az 6 telin çıkması gerekirdi. Tüm bu teller, estetik açıdan hoş olmayan bir küp oluşturacak ve tüm bu telleri nasıl bir araya getirip küpün tabanına sığdıracağımız sorusunu gündeme getirecekti. LED’leri, her birine ayrı bir kablo çekmek zorunda kalmadan ayrı ayrı adresleyebileceğimiz bir şekilde birbirine bağlamamız gerektiğini fark ettik. Bu zor bir problemdi, çünkü bir sütun, ardından bir satır, ardından bir seviye seçmek gibi tipik bir adresleme şeması, istediğimizden daha fazla LED yakmak gibi istenmeyen bir yan etkiye sahip olacaktı.

Biraz düşündükten ve aradıktan sonra, nasıl yapılacağına dair harika bir yöntem sunan bu web sitesini nihayet bulduk. Öğretici bize, LED’leri bir ton kablo çalıştırmak zorunda kalmadan birer birer adresleyebileceğimizi gösterdi. Bunu yapmak için, LED’lerin tüm yukarı ve aşağı sütunlarını aynı pozitif terminale (toplam 25 sütun, her biri 5 LED) ve ardından tüm yatay seviyeleri aynı ‘toprağa’ (25 LED’li 5 seviye) bağlarız. her biri). Tek bir LED seçmek için, LED’in bulunduğu sütuna 5V uygular ve ardından açık olduğu seviyeyi topraklarız.

Bu şekilde sütunlar için sadece 25 kontrol çizgisi ve zeminler için 5 kontrol çizgisi kullanarak her bir LED’i ayrı ayrı seçebildik. Bununla birlikte, bir seferde 1’den fazla LED’i yakmaya çalışırsak, bu yine de önceki harici LED’lerin yıldırım düşmesi sorunuyla sonuçlanır. Şekil 3’te gösterildiği gibi, yalnızca üst seviyedeki (arka sol köşe) ilk LED’i ve alt seviyedeki (ön sağ köşe) son LED’i yakmak isteseydik, 1. ve 25. sütunları yükseğe ayarlar ve ardından topraklardık. üst ve alt seviyeler. Ancak bunu yaparsak, sadece 2 LED yakmak yerine 4 LED’imiz olur (arka köşenin üst ve alt kısmı ve ön köşenin üst ve alt kısmı). Bunu aşmak için her seferinde yalnızca bir sütundaki LED’leri yakmaya çalışıyoruz. Birden çok sütundan yanan LED’lere sahip görüntüleri görüntülemek için geçiş yaparız

led-cube-circuit-led-kupu-led-kup-leds-ledler

led-cube-schema-led-kup-semasi

Kaynak: people.ece.cornell.edu

atmega32-74hct238-kod-cozucu-led-kupu

Şifre-Pass: 320volt.com

Yayım tarihi: 2011/08/07 Etiketler: , , ,



3 Yorum “Atmega32 74HCT238 kod çözücü Led küpü

  1. Seyit Ali Yiğit(ZoRRo2083)Seyit Ali Yiğit(ZoRRo2083)

    5*5*5=512 nasıl yaptınız bu işlemi 🙂

    CEVAPLA
  2. SerkanSerkan

    Selâmün aleyküm kardeşim 512 led yazmışsın ama 125 led var 5x5x5 demişsin 😀

    CEVAPLA

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir