Obsah:

3 snadné ATTiny sváteční dárky: 4 kroky
3 snadné ATTiny sváteční dárky: 4 kroky

Video: 3 snadné ATTiny sváteční dárky: 4 kroky

Video: 3 snadné ATTiny sváteční dárky: 4 kroky
Video: Беслан. Помни / Beslan. Remember (english & español subs) 2024, Prosinec
Anonim
3 snadné ATTiny sváteční dárky
3 snadné ATTiny sváteční dárky

Každý rok se blíží prázdniny a já se zaseknu v tom, co dát svým přátelům a rodině. Lidé vždy říkají, že je lepší udělat dárek sami, než ho koupit v obchodě, takže letos jsem to udělal. První zobrazuje jméno nebo základní obrázek, když je máván vzduchem, druhý plynule mizí mezi dvěma bílými LED diodami (Má také bezpečnostní kolík k připevnění k oblečení nebo kabelce) a třetí je náladové světlo, které se posouvá plynule mezi barvami. Všechny jsou pod 15 USD a jejich montáž je snadná za méně než hodinu. Tyto pokyny a součásti můžete také věnovat jako dárek někomu, koho zajímá učení se elektronice.

Poznámka: Předpokládá se základní úroveň pájení. Na rozdíl od svého předchozího instruktážního programu se však budu zabývat programováním AVR. Opravdu doufám, že to pomůže lidem, kteří se snaží začít s elektronikou. Pamatuji si, když jsem tam byl, a rád zodpovím všechny vaše otázky. Pamatujte, že neexistují žádné hloupé otázky! Nechal jsem to na vás, abyste určili, jak rozložíte desku s obvody v naději, že vymyslíte nový způsob zobrazení jednoduchých obvodů, které jsem nakreslil. Po dokončení prosím pošlete obrázky, nemůžu se dočkat, až uvidíte, s čím přijdete! Díly pro všechny projekty N = počet projektů x N ATTiny45 (www.digikey.com) x N 8kolíková zásuvka DIP (RadioShack) x 1 Large Perf Board (dostal jsem svůj na RadioShack) x N 3v knoflíková baterie a držák (RadioShack) x1 programátor (používám to a dodaný makefile bude nakonfigurován tak, aby používal tento) x2 N rezistory, jeden 10 ohmů a jeden 10k ohm (RadioShack) Zde je obrázek tří dokončených projektů:

Krok 1: Název Flasher

Jméno Flasher
Jméno Flasher
Jméno Flasher
Jméno Flasher
Jméno Flasher
Jméno Flasher

Ostatní díly x5 DIFUZOVANÉ 3mm LED diody (RadioShack) Tento projekt využívá vytrvalost vidění k zobrazení obrázku nebo textu při rychlém pohybu. Funguje to lépe, když je tma. S AVR přepínáme mezi LED diodami rychleji, než oko vidí, můžeme vytvořit obraz ve vzduchu s velmi malým počtem komponent. Kód: (Stáhněte si.zip soubor v dolní části stránky pro kód, makefile atd. (Tento kód nemá rozsáhlé komentáře, které tento kód dělá, ale pokud tento kód nefunguje, zkuste ten v zip)) #define F_CPU 1000000 #include #include void dispClear () {PORTB = ~ 0b00000000; } int main () {DDRB = 0xFF; // Pro ty z vás, kteří nikdy nečetli C před dvojitým lomítkem, je uveden komentář. Tím se nastaví piny avr jako výstupní char x = 10; // x se používá k nastavení délky zpoždění. Zvýšení hodnoty poskytne pomalejší přepínání mezi pixely, snižování, nižší while (1) // While (podmínka je pravdivá); {Do This} (True in C is 1) {PORTB = ~ 0b00010001; // Moje kamarádka se jmenuje Zoe, takže jsem nakreslila postavy na milimetrový papír a poté je přičetla do PORTB. První tři nuly nevadí, protože je připojeno pouze pět LED diod. Jeden v jednom ze zbývajících pěti mezer znamená, že LED svítí, nula, nesvítí. _delay_ms (x); // zpoždění v milisekundách PORTB = ~ 0b00010011; _delay_ms (x); PORTB = ~ 0b00010101; _delay_ms (x); PORTB = ~ 0b00011001; _delay_ms (x); PORTB = ~ 0b00010001; _delay_ms (x); dispClear (); // Mezera mezi znaky _delay_ms (x); PORTB = ~ 0b00001110; _delay_ms (x); PORTB = ~ 0b00010001; _delay_ms (x*3); PORTB = ~ 0b00001110; _delay_ms (x); dispClear (); _delay_ms (x); PORTB = ~ 0b00011111; _delay_ms (x); PORTB = ~ 0b00010101; _delay_ms (x); PORTB = ~ 0b00010001; _delay_ms (x); dispClear (); _delay_ms (x*5); // Slovo je provedeno tak, aby byla jasnější, mám větší mezeru mezi slovy}} Nyní zkompilujte tento kód a odešlete jej do AVR podle pokynů na stránce 4.

Krok 2: Kabelkové světlo

Kabelkové světlo
Kabelkové světlo
Kabelkové světlo
Kabelkové světlo

Další části x2 LED NEDIFUZOVANÉ (RadioShack) Tento projekt plynule přechází mezi dvěma LED. Moje matka chtěla něco, co by jí šlo do kabelky, aby jí pomohlo vidět včelku v noci. Cítil jsem, že blikající světlo na kole přitáhne příliš mnoho pozornosti, a tak jsem to udělal. Používá PWM (Pulse Width Modulation) k dosažení efektu stmívání a rozjasnění. Co se ve skutečnosti děje, LED bliká rychleji, než oko vidí v různých intervalech, aby simulovalo změnu. Můžete to vidět jasněji, když mu mávnete do obličeje, jako byste to dělali s Flasherem jmen. Kód je možné stáhnout na konci této stránky. Viz strana 4, jak kompilovat do AVR. Místo komentování kódu zde stručně vysvětlím koncept. PWM je generováno časovačem. Každý hodinový časovač odpočítává jeden. Když dosáhne určité hodnoty (v tomto případě OCR1B), změní stav pinu (v tomto případě OC1B). Aby se LED diody „vypnuly“, připojil jsem druhou k [OPPOSITE] OC1B (To znamená pruh v horní části). Poté použijeme x ke zvýšení a snížení času, po který mají LED svítit.

Krok 3: Barevný posuvník

Barevný scroller
Barevný scroller
Barevný scroller
Barevný scroller

Ostatní Partsx1 RGB LED (lépe rozptýlené) (RadioShack) To je pro mě klasika. Vždy mě fascinovala taková světla a připadala mi velmi uklidňující, takže jsem je přirozeně chtěl vyrobit. Také jejich viditelnost ve společnosti jim dává skutečný faktor WOW. „VYDĚLAL jsi to ?! Kód je téměř stejný a podle mého názoru je čitelnější. Můžete si stáhnout v dolní části. Tentokrát poskytujeme pin PWM pro každý uzemňovací kolík na RGB LED. Tímto způsobem jsme uzemnili čip. Volty lze měřit jako rozdíl mezi dvěma body. 3v-0v = 3v 5v-2v = 3v *** 3v-3v = 0v *** Tato poslední instance je to, co děláme, když zabrousíme přes čip. Když jsou na obou stranách tři volty, řekněme, není dostatek voltů k napájení LED. Abychom vybledli mezi barvami, vybrali jsme barvu a jinou barvu. Jeden nastavte na x a druhý na 255-x nebo INVERZE x. Stejně jako v předchozím projektu. Nyní přejděte ke kroku 4 a programujte.

Krok 4: Programování

Programování
Programování

Nejprve si stáhněte a nainstalujte Emacs, avr-gcc a Avrdude a všechny jejich závislosti. Na Arch linuxu jsem to udělal s: sudo pacman -Sy emacs avrdude

Nyní je čas připojit programátora k vašemu avr. Zapojte piny na 6pólovém programátoru ISP (obrázek níže) ke kolíkům spropitného na vašem AVR (datový list, strana 2) (udělal jsem to na prkénku). Nyní zapojte programátor do počítače a VELMI RYCHLE se dotkněte horní části AVR. Pokud je horko, VYJMĚTE PROGRAMÁTOR Z POČÍTAČE JEDNOU, zkontrolujte připojení a zkuste to znovu (napájení a Gnd zpět?). Pokud není horký, otevřete emacs a stisknutím Ctl-x Ctl-f vyhledejte soubor.c. Otevřete jej a poté stiskněte Meta (obvykle Alt) -x a zadejte příkaz compile. Stiskněte dvakrát Enter a pokud máte štěstí, váš AVR by nyní měl spouštět váš kód! Děkuji za přečtení! Doufám, že jste si to užili a něco se naučili. Neváhejte klást otázky a nezapomeňte posílat obrázky toho, s čím přijdete. Veselé svátky a nezapomeňte hlasovat!

Doporučuje: