Sadržaj:

3 laka ATTiny praznična poklona: 4 koraka
3 laka ATTiny praznična poklona: 4 koraka

Video: 3 laka ATTiny praznična poklona: 4 koraka

Video: 3 laka ATTiny praznična poklona: 4 koraka
Video: Дерево ужасов на Attiny13 2024, Novembar
Anonim
3 laka ATTiny praznična poklona
3 laka ATTiny praznična poklona

Svake godine praznični praznici se okreću i zaglavio sam šta da poklonim prijateljima i porodici. Ljudi uvijek kažu da je bolje sami napraviti poklon nego ga kupiti u trgovini, pa sam ove godine učinila upravo to. Prvi prikazuje ime ili osnovnu sliku kada se maše zrakom, drugi glatko blijedi između dva bijela LED -a (Ima i sigurnosnu iglu za pričvršćivanje na odjeću ili torbicu), a treći je svojevrsno svjetlo raspoloženja, pomicanje neprimetno između boja. Svi su ispod 15 USD i lako se sastavljaju za manje od sat vremena. Ove upute, kao i dijelove, možete dati i na poklon nekome tko je zainteresiran za učenje elektronike.

Napomena: Pretpostavlja se osnovni nivo lemljenja. Međutim, za razliku od mojih prethodnih instrukcija, preispitaću kako da programiram AVR. Zaista se nadam da će ovo pomoći ljudima koji pokušavaju započeti s elektronikom. Sjećam se kad sam bio tamo i rado ću vam odgovoriti na sva pitanja. Zapamtite da nema glupih pitanja! Ostavio sam vam da odlučite kako ćete postaviti svoju ploču u nadi da ćete smisliti novi način prikazivanja jednostavnih kola koje sam nacrtao. Molimo vas da objavite slike kada završite, jedva čekam da vidim šta ćete smisliti! Dijelovi za sve projekte N = broj projekata x N ATTiny45 (www.digikey.com) x N 8-pinska DIP utičnica (RadioShack) x 1 velika Perf ploča (nabavio sam je na RadioShacku) x N 3v ćelijska baterija i držač za novčiće (RadioShack) x1 programator (ja koristim ovu i isporučena make -datoteka će biti konfigurirana za upotrebu ove) x2 N otpornici, jedan 10 ohm i jedan 10k ohm (RadioShack) Evo slike tri završena projekta:

Korak 1: Flasher imena

Flasher imena
Flasher imena
Flasher imena
Flasher imena
Flasher imena
Flasher imena

Ostali dijelovi x5 DIFUZIRANE LED diode od 3 mm (RadioShack) Ovaj projekt koristi postojanost vida za prikaz slike ili teksta pri brzom pomicanju. Radi bolje kad je mrak. Sa AVR -om prelazimo između LED -ova brže nego što oko može vidjeti da možemo stvoriti sliku u zraku s vrlo malo komponenti. Kôd: (Preuzmite.zip datoteku na dnu stranice za kôd, makefile itd. (Taj kôd nema opsežne komentare kao ovaj kôd, ali ako ovaj kôd ne radi, pokušajte s onim u zip datoteku)) #define F_CPU 1000000 #include #include void dispClear () {PORTB = ~ 0b00000000; } int main () {DDRB = 0xFF; // Za vas koji nikada niste čitali C prije nego dvostruka kosa crta označi komentar. Ovo postavlja pinove avr -a kao izlazni char x = 10; // x se koristi za postavljanje dužine kašnjenja. Povećanjem vrijednosti dolazi do sporijeg prebacivanja između piksela, smanjivanjem, smanjenjem while (1) // While (uvjet je istinit); {Uradi ovo ((Tačno u C je 1) {PORTB = ~ 0b00010001; // Moja prijateljica se zove Zoe pa sam nacrtala likove na grafofoliji, a zatim ih ubacila u PORTB. Prve tri nule nisu bitne jer je spojeno samo pet LED dioda. Jedan u jednom od preostalih pet razmaka označava da je LED uključena, nula, isključena. _delay_ms (x); // kašnjenje u milisekundama PORTB = ~ 0b00010011; _delay_ms (x); PORTB = ~ 0b00010101; _delay_ms (x); PORTB = ~ 0b00011001; _delay_ms (x); PORTB = ~ 0b00010001; _delay_ms (x); dispClear (); // Otvoreni prostor između znakova _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); // Riječ je učinjena tako da zbog jasnoće imam veći razmak između riječi}} Sada slijedite upute na stranici 4 da sastavite ovaj kôd i pošaljete ga na svoj AVR.

Korak 2: Svjetlo torbice

Svjetlo torbice
Svjetlo torbice
Svjetlo torbice
Svjetlo torbice

Ostali dijelovi x2 LED diode NISU DIFUZIRANE (RadioShack) Ovaj projekt glatko bledi između dvije LED diode. Moja mama je htjela da joj nešto ode u torbicu da joj pomogne vidjeti pčelu noću. Osjećao sam se kao da će trepćuće svjetlo za bicikl privući previše pažnje pa sam ovo napravio. Koristi PWM (Pulse Width Modulation) za davanje efekta zatamnjenja i posvjetljivanja. Ono što se zapravo događa je da LED dioda treperi brže nego što oko može vidjeti u različitim intervalima da simulira promjenu. Ovo možete vidjeti jasnije kada mu mahnete licem, kao što biste to vidjeli sa Flasherom imena. Kôd se može preuzeti na kraju ove stranice. Pogledajte stranicu 4 o tome kako kompajlirati na vaš AVR. Umjesto da ovdje komentiram kôd, ukratko ću objasniti koncept. PWM se generira pomoću tajmera. Svaki ciklus takta broji jedan. Kada dosegne određenu vrijednost (u ovom slučaju OCR1B), mijenja stanje pina (u ovom slučaju OC1B). Da bi se LED diode "isključile", drugu sam spojio na [SUPROTNO] OC1B (To znači traka na vrhu). Zatim koristimo x za povećanje i smanjivanje vremena za uključivanje LED dioda.

Korak 3: Skroler u boji

Skroler u boji
Skroler u boji
Skroler u boji
Skroler u boji

Ostali dijelovix1 RGB LED (bolje raspršen) (RadioShack) Ovo je za mene klasik. Uvijek su me fascinirala ovakva svjetla i smatrala su ih vrlo smirujućima pa sam prirodno htjela napraviti jedno. Takođe, njihova vidljivost u društvu daje im pravi WOW faktor. "UČINILI STE ?!" Kôd je gotovo isti i, po mom mišljenju, lakši za čitanje. Možete preuzeti na dnu. Ovaj put nudimo PWM pin za svaki pin za uzemljenje na RGB LED. Na ovaj način provlačimo čip. Volti se mogu mjeriti kao razlika između dvije točke. 3v-0v = 3v 5v-2v = 3v *** 3v-3v = 0v *** Ova zadnja instanca je ono što radimo kada probadamo čip. Kad postoje tri volta s obje strane, recimo, nema dovoljno volti za pogon LED -a. Stoga smo za blijeđenje boja odabrali boju i drugu boju. Postavite jedan jednak x, a drugi 255-x ili INVERZ x. Kao što smo radili u prethodnom projektu. Sada idite na korak 4 za programiranje.

Korak 4: Programiranje

Programiranje
Programiranje

Prvo preuzmite i instalirajte Emacs, avr-gcc i Avrdude i sve njihove zavisnosti. Na Arch linux -u to sam učinio sa: sudo pacman -Sy emacs avrdude

Sada je vrijeme da svoj programer priključite na svoj avr. Povežite pinove 6-pinskog ISP programatora (slika ispod) sa sporosponding pinovima na vašem AVR-u (Tehnički list, stranica 2) (ja sam to uradio na matičnoj ploči). Sada priključite programator na računar i VRLO BRZO dodirnite vrh AVR -a. Ako je vruće, UKLONITE PROGRAMER SA RAČUNARA JEDNOM, provjerite veze i pokušajte ponovo (Napajanje i Gnd unatrag?). Ako nije vruće, otvorite emacs i pritisnite Ctl-x Ctl-f da pronađete.c datoteku. Otvorite ga, a zatim pritisnite Meta (Usualy Alt) -x i upišite kompajliraj. Pritisnite enter dvaput i ako imate sreće, vaš AVR bi sada trebao pokrenuti vaš kôd! Hvala na čitanju! Nadam se da ste uživali i naučili nešto. Molimo, ne ustručavajte se postavljati pitanja i ne zaboravite objaviti slike onoga što ste smislili. Srećni praznici i ne zaboravite glasati!

Preporučuje se: