Obsah:

Programovatelná LED: 6 kroků (s obrázky)
Programovatelná LED: 6 kroků (s obrázky)

Video: Programovatelná LED: 6 kroků (s obrázky)

Video: Programovatelná LED: 6 kroků (s obrázky)
Video: TOP 10 Tajné funkce mobilu o kterých 90% lidí neví 2024, Listopad
Anonim
Programovatelná LED
Programovatelná LED

Inspirován různými LED Throwies, blikajícími LED diodami a podobnými instrukcemi, chtěl jsem udělat svou verzi LED ovládané mikrokontrolérem. Cílem je přeprogramovat sekvenci blikání LED. Toto přeprogramování lze provést pomocí světla a stínu, např. můžete použít svoji baterku. Toto je můj první pokyn, jakékoli připomínky nebo opravy jsou vítány. Aktualizace 2008-08-12: V obchodě Tinker Store je nyní k dispozici sada. Zde je video z jejího přeprogramování. Omlouvám se za kvalitu.

Krok 1: Jak to funguje

Jako výstup je použita LED. Jako vstup jsem použil LDR, odpor závislý na světle. Tento LDR mění svůj odpor, protože přijímá více či méně světla. Rezistor je poté použit jako analogový vstup do mikroprocesorů ADC (analogový digitální převodník).

Ovladač má dva provozní režimy, jeden pro záznam sekvence, druhý pro přehrávání zaznamenané sekvence. Jakmile ovladač do půl sekundy zaznamená dvě změny jasu (tmavý, jasný, tmavý nebo naopak), přepne se do režimu záznamu. V režimu překódování se vstup LDR měří několikrát za sekundu a ukládá se na čip. Pokud je paměť vyčerpána, ovladač se přepne zpět do režimu přehrávání a začne přehrávat zaznamenanou sekvenci. Protože paměť tohoto drobného ovladače je velmi omezená, 64 bajtů (ano, bajtů!), Je řadič schopen zaznamenat 400 bitů. To je dost místa na 10 sekund se 40 vzorky za sekundu.

Krok 2: Materiály a nástroje

Materiály a nástroje
Materiály a nástroje
Materiály a nástroje
Materiály a nástroje

Materiály- 2 x 1K odpor- 1 x LDR (rezistor závislý na světle), např. M9960- 1 x nízkonapěťová LED, 1,7 V, 2 mA- 1 x Atmel ATtiny13v, 1 kB flash RAM, 64 bytů RAM, 64 bytů EEPROM, 0-4MHz@1,8-5,5V- 1 x CR2032, 3V, 220mAhTools- páječka - pájecí vodič- prkénko na pečení- programátor AVR- 5V napájecí zdroj- multimetr Software- Eclipse- CDT plugin- WinAVRCosts by celkově měl být pod 5 $ bez nástrojů. Použil jsem ATtiny13v, protože tato verze této řady řadičů může běžet na 1,8V. To umožňuje provozovat obvod s velmi malou baterií. Aby to fungovalo velmi dlouho, rozhodl jsem se použít nízkonapěťovou LED, která dosahuje plného jasu již při 2 mA.

Krok 3: Schémata

Schémata
Schémata

Některé komentáře ke schématu. Resetovací vstup není připojen. Toto není nejlepší praxe. Lepší by bylo použít 10K odpor jako pull up. Ale funguje to dobře pro mě bez a šetří to odpor. Aby byl obvod co nejjednodušší, použil jsem vnitřní oscilátor. To znamená, že ušetříme krystal a dva malé kondenzátory. Interní oscilátor umožňuje regulátoru běžet na frekvenci 1,2 MHz, což je více než dostatečná rychlost pro náš účel. Pokud se rozhodnete použít jiné napájení než 5 V nebo použít jiné diody LED, musíte vypočítat odpor R1. Vzorec je: R = (Napájení V - LED V) / 0,002A = 1650 Ohm (Napájení = 5V, LED V = 1,7V). Použitím dvou nízkonapěťových LED místo jedné vypadá vzorec takto: R = (Napájení V - 2 * LED V) / 0,002A = 800 Ohm. Vezměte prosím na vědomí, že musíte upravit výpočet, pokud zvolíte jiný typ LED. Hodnota odporu R2 závisí na použitém LDR. Mně funguje 1KOhm. Možná budete chtít použít potenciometr k nalezení nejlepší hodnoty. Obvod by měl být schopen detekovat změny světla za normálního denního světla. Z důvodu úspory energie je PB3 nastaven na vysokou hodnotu pouze tehdy, pokud je provedeno měření. Aktualizace: schéma bylo zavádějící. Níže je správná verze. Díky, dave_chatting.

Krok 4: Sestavte na prototypové desce

Sestavte na prototypové desce
Sestavte na prototypové desce
Sestavte na prototypové desce
Sestavte na prototypové desce

Pokud rádi testujete svůj obvod, je velmi užitečný prkénko. Můžete sestavit všechny díly, aniž byste museli cokoli pájet.

Krok 5: Naprogramujte obvod

Naprogramujte obvod
Naprogramujte obvod
Naprogramujte obvod
Naprogramujte obvod

Regulátor lze naprogramovat v různých jazycích. Nejpoužívanější jsou Assembler, Basic a C. Použil jsem C, protože nejlépe odpovídá mým potřebám. Byl jsem zvyklý na C před deseti lety a dokázal jsem oživit některé znalosti (no, jen některé …). Chcete -li napsat svůj program, doporučuji Eclipse s pluginem CDT. Získejte zatmění zde https://www.eclipse.org/ a plugin zde https://www.eclipse.org/cdt/. Ke kompilaci jazyka C do mikrokontrolérů AVR budete potřebovat křížový překladač. Máme štěstí, že existuje přístav slavného GCC. Jmenuje se WinAVR a lze jej nalézt zde https://winavr.sourceforge.net/. Velmi dobrý návod, jak programovat AVR ovladače pomocí WinAVR, je zde https://www.mikrocontroller.net/articles/AVR-GCC- Tutorial. Omlouváme se, je to v němčině, ale pokud je hledáte, můžete najít tisíce stránek s návody na toto téma ve vašem jazyce. Poté, co jste zkompilovali svůj zdroj, musíte hex soubor přenést do ovladače. To lze provést připojením počítače k obvodu pomocí ISP (v systémovém programátoru) nebo pomocí vyhrazených programátorů. Použil jsem vyhrazený programátor, protože to trochu usnadňuje obvod uložením některých vodičů a zástrčky. Nevýhodou je, že musíte přepnout ovladač mezi obvodem a programátorem pokaždé, když chcete aktualizovat software. Můj programátor pochází z https://www.myavr.de/ a k připojení k mému notebooku používá USB. V okolí je mnoho dalších a můžete si jej dokonce vytvořit sami. Pro samotný přenos jsem použil program s názvem avrdude, který je součástí distribuce WinAVR. Příklad příkazového řádku může vypadat takto:

avrdude -F -p t13 -c avr910 -P com4 -U blesk: w: flickled.hex: iV příloze můžete získat zdroj a kompilovaný hex soubor.

Krok 6: Pájení

Pájení
Pájení

Pokud váš obvod funguje na prkénku, můžete jej pájet.

To lze provést na desce plošných spojů (tištěná obvodová deska), na prototypové desce nebo dokonce bez desky. Rozhodl jsem se to udělat bez, protože obvod se skládá pouze z několika komponent. Pokud nejste obeznámeni s pájením, doporučuji nejprve vyhledat návod k pájení. Moje pájecí schopnosti jsou trochu rezavé, ale myslím, že rozumíte. Doufám, že sis to užil. Alex

Doporučuje: