İçindekiler:
- Adım 1: Nasıl Çalışır?
- Adım 2: Malzemeler ve Araçlar
- Adım 3: Şemalar
- Adım 4: Bir Prototip Panosunda Birleştirin
- Adım 5: Devreyi Programlayın
- Adım 6: Lehimleme
Video: Programlanabilir LED: 6 Adım (Resimli)
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:21
Çeşitli LED Throwies, yanıp sönen LED'ler ve benzeri komutlardan esinlenerek, bir mikro denetleyici tarafından kontrol edilen bir LED versiyonumu yapmak istedim. Buradaki fikir, LED yanıp sönme sırasını yeniden programlanabilir hale getirmektir. Bu yeniden programlama, ışık ve gölge ile yapılabilir, örn. el fenerinizi kullanabilirsiniz. Bu benim ilk talimatım, her türlü yorum veya düzeltmeye açığım. Güncelleme 2008-08-12: Artık Tinker Store'da bir kit mevcut. İşte onu yeniden programlamanın bir videosu. Kalite için üzgünüm.
Adım 1: Nasıl Çalışır?
Çıkış olarak bir LED kullanılır. Giriş olarak, ışığa bağımlı bir direnç olan bir LDR kullandım. Bu LDR, az ya da çok ışık aldığında direncini değiştirir. Direnç daha sonra mikroişlemciler ADC'ye (analog dijital dönüştürücü) analog giriş olarak kullanılır.
Denetleyicide, biri bir diziyi kaydetmek için, diğeri ise kaydedilen diziyi oynatmak için olmak üzere iki çalışma modu vardır. Denetleyici, yarım saniye içinde iki parlaklık değişikliği (karanlık, parlak, karanlık veya tam tersi) fark ettiğinde, kayıt moduna geçer. Kayıt modunda LDR'nin girişi saniyede birçok kez ölçülür ve çipte saklanır. Hafıza tükenirse, kontrolör tekrar oynatma moduna geçer ve kaydedilen diziyi oynatmaya başlar. Bu küçük denetleyicinin belleği 64 bayt (evet, bayt!) çok sınırlı olduğundan, denetleyici 400 bit kaydedebilir. Bu, saniyede 40 örnekle 10 saniye için yeterli alan.
Adım 2: Malzemeler ve Araçlar
Malzemeler - 2 x 1K direnç - 1 x LDR (Işık Bağımlı Direnç), ör. M9960- 1 x Düşük akım LED, 1.7V, 2ma- 1 x Atmel ATtiny13v, 1KB flash RAM, 64 Bytes RAM, 64 Byte EEPROM, [email protected] 1 x CR2032, 3V, 220mAhAletler-havya - lehim teli- breadboard- AVR programcısı- 5V güç kaynağı- multimetreYazılım- Eclipse- CDT eklentisi- WinAVRCosts genel olarak araçlar olmadan 5$'ın altında olmalıdır. ATtiny13v'yi kullandım çünkü bu denetleyici ailesinin bu sürümü 1.8V'de çalışabiliyor. Bu, devreyi çok küçük bir pille çalıştırmayı mümkün kılar. Çok uzun süre çalışması için, zaten 2ma'da tam parlaklığa ulaşan düşük akımlı bir LED kullanmaya karar verdim.
Adım 3: Şemalar
Şematik hakkında bazı yorumlar. Sıfırlama girişi bağlı değil. Bu en iyi uygulama değil. Yukarı çekme olarak 10K'lık bir direnç kullanmak daha iyi olacaktır. Ama onsuz benim için iyi çalışıyor ve bir direnç tasarrufu sağlıyor. Devreyi olabildiğince basit tutmak için dahili osilatör kullandım. Bu, bir kristal ve iki küçük kapasitör kaydettiğimiz anlamına gelir. Dahili osilatör, kontrolörün 1.2MHz'de çalışmasına izin verir, bu bizim amacımız için yeterli hızdan fazladır. 5V'tan başka bir güç kaynağı kullanmaya veya başka bir LED kullanmaya karar verirseniz, direnç R1'i hesaplamanız gerekir. Formül: R = (Güç kaynağı V - LED V) / 0,002A = 1650 Ohm (Güç kaynağı = 5V, LED V = 1,7V). Bir yerine iki düşük akım LED'i kullanıldığında formül şöyle görünür: R = (Güç kaynağı V - 2 * LED V) / 0,002A = 800 Ohm. Lütfen başka bir LED tipi seçerseniz hesaplamayı ayarlamanız gerektiğini unutmayın. Direnç R2'nin değeri kullanılan LDR'ye bağlıdır. 1KOhm benim için çalışıyor. En iyi değeri bulmak için bir potansiyometre kullanmak isteyebilirsiniz. Devre, normal gün ışığındaki ışık değişikliklerini algılayabilmelidir. Güçten tasarruf etmek için, PB3 yalnızca bir ölçüm yapılırsa yüksek olarak ayarlanır. Güncelleme: şema yanıltıcıydı. Aşağıda doğru bir versiyon var. Teşekkürler, dave_chatting.
Adım 4: Bir Prototip Panosunda Birleştirin
Devrenizi test etmeyi seviyorsanız, bir breadboard çok kullanışlıdır. Hiçbir şeyi lehimlemenize gerek kalmadan tüm parçaları birleştirebilirsiniz.
Adım 5: Devreyi Programlayın
Kontrolör farklı dillerde programlanabilir. En çok kullanılanlar Assembler, Basic ve C'dir. C'yi ihtiyaçlarıma en uygun olduğu için kullandım. On yıl önce C'ye alışmıştım ve bazı bilgileri yeniden canlandırabildim (peki, sadece bazıları…). Programınızı yazmak için, CDT eklentisi ile Eclipse'i öneririm. Eclipse'i buradan https://www.eclipse.org/ ve eklentiyi buradan edinin https://www.eclipse.org/cdt/. C dilini AVR mikro denetleyicilerine derlemek için bir çapraz derleyiciye ihtiyacınız olacak. Şanslıyız ki, ünlü GCC'nin bir limanı var. Adı WinAVR ve burada https://winavr.sourceforge.net/ bulunabilir. AVR kontrolörlerinin WinAVR ile nasıl programlanacağına dair çok iyi bir eğitim burada https://www.mikrocontroller.net/articles/AVR-GCC- öğretici. Üzgünüz, almanca ama kendi dilinizde bu konuyla ilgili binlerce eğitim sayfası bulabilirsiniz. Kaynağınızı derledikten sonra hex dosyasını controller'a aktarmanız gerekir. Bu, ISP (sistem programlayıcısında) veya özel programlayıcılar kullanılarak PC'nizi devreye bağlayarak yapılabilir. Bazı kabloları ve fişi kaydederek devreyi biraz daha kolaylaştırdığı için özel bir programlayıcı kullandım. Dezavantajı ise, yazılımınızı her güncellemek istediğinizde kontrol cihazını devre ile programlayıcı arasında değiştirmek zorunda olmanızdır. Programlayıcım https://www.myavr.de/ adresinden geliyor ve dizüstü bilgisayarıma bağlanmak için USB kullanıyor. Etrafta bir çok başka var ve hatta kendiniz kurabilirsiniz. Transferin kendisi için WinAVR dağıtımının bir parçası olan avrdude adlı bir program kullandım. Örnek bir komut satırı şöyle görünebilir:
avrdude -F -p t13 -c avr910 -P com4 -U flash:w:flickled.hex:iEkli, kaynağı ve derlenmiş hex dosyasını alabilirsiniz.
Adım 6: Lehimleme
Devreniz breadboard üzerinde çalışıyorsa lehimleyebilirsiniz.
Bu, bir PCB (baskılı devre kartı), bir prototip panosu üzerinde veya hatta bir pano olmadan yapılabilir. Devre sadece birkaç bileşenden oluştuğu için onsuz yapmaya karar verdim. Lehimlemeye aşina değilseniz, önce bir lehimleme eğitimi aramanızı tavsiye ederim. Lehimleme becerilerim biraz paslanmış ama sanırım anladınız. Umarım keyif almışsındır. Alex
Önerilen:
Programlanabilir Tuş Takımı: 5 Adım (Resimli)
Programlanabilir Tuş Takımı: Bu projede, en çok kullandığınız klavye kısayollarını, uygulamalarını ve daha fazlasını eşleştirmek için nispeten basit ve ucuz programlanabilir tuş takımını nasıl yapacağınızı göstereceğim. Bu tuş takımı, tüm ana işletim sistemlerinde klavye olarak algılanır, ek sürücü gerekmez
STM8 Kullanan Programlanabilir Polis LED Flaşör [72 LED]: 9 Adım
Bir STM8 Kullanan Programlanabilir Polis LED Flaşörü [72 LED]: STM8S001J3, 8 Kbyte Flash program belleği ve ayrıca entegre bir gerçek veri EEPROM'u sunan 8 bitlik bir mikro denetleyicidir. STM8S mikrodenetleyici ailesinde düşük yoğunluklu bir cihaz olarak anılır. Bu MCU, küçük bir SO8N paketinde sunulur.
Karton Programlanabilir Tuş Takımı: 8 Adım (Resimli)
Karton Programlanabilir Tuş Takımı: Teknoloji geliştikçe, insanlar her şeyin daha sanal olmasını istiyor, ancak bazen kendi ellerinizle gerçekten dokunabileceğiniz ve etkileşime girebileceğiniz fiziksel bir şeye sahip olmak çok daha pratik ve kullanışlı. Bir örnek
Programlanabilir Güç Kaynağı 42V 6A: 6 Adım (Resimli)
Programlanabilir Güç Kaynağı 42V 6A: Yeni projem programlanabilir güç kaynağı olan Ruideng modülünden ilham aldı. Fantastik, çok güçlü, hassas ve makul bir fiyata. Çıkış voltajı ve akımı ile ilgili birkaç model mevcuttur. En yenileri co ile donatılmıştır
Dört Karakter Ekranlı Programlanabilir Saat: 5 Adım (Resimli)
Dört Karakter Ekranlı Programlanabilir Saat: Bu iğrenç, büyük boy, tamamen pratik olmayan kol saatini taktığınızda şehrin konuşulanları olacaksınız. En sevdiğiniz kötü dili, şarkı sözlerini, asal sayıları vb. görüntüleyin. Mikrookuyucu kitinden ilham alarak dev bir saat yapmaya karar verdim