Sadržaj:

Programabilna LED: 6 koraka (sa slikama)
Programabilna LED: 6 koraka (sa slikama)

Video: Programabilna LED: 6 koraka (sa slikama)

Video: Programabilna LED: 6 koraka (sa slikama)
Video: Электрика в квартире своими руками. Финал. Переделка хрущевки от А до Я. #11 2024, Studeni
Anonim
Programabilna LED
Programabilna LED

Nadahnut raznim LED bacačima, treperećim LED diodama i sličnim uputama, želio sam napraviti svoju verziju LED diode kojom upravlja mikrokontroler. Ideja je da se LED trepereća sekvenca učini reprogramiranom. Ovo reprogramiranje može se izvesti svjetlom i sjenom, na pr. mogli biste koristiti svoju svjetiljku. Ovo je moje prvo uputstvo, svi komentari i ispravke su dobrodošli. Ažuriraj 12.8.2008: Sada je u trgovini Tinker Store dostupan komplet. Evo videozapisa kako ga reprogramirati. Oprostite na kvaliteti.

Korak 1: Kako to radi

LED se koristi kao izlaz. Kao ulaz koristio sam LDR, otpornik ovisan o svjetlu. Ovaj LDR mijenja otpornik jer prima manje ili više svjetla. Otpornik se tada koristi kao analogni ulaz za mikroprocesorske ADC (analogni digitalni pretvarač).

Upravljač ima dva načina rada, jedan za snimanje sekvence, drugi za reprodukciju snimljenog niza. Kad regulator u roku od pola sekunde primijeti dvije promjene svjetline (tamno, svijetlo, tamno ili obrnuto), prelazi u način snimanja. U načinu ponovnog snimanja ulaz LDR -a mjeri se više puta u sekundi i pohranjuje na čip. Ako je memorija iscrpljena, kontroler se vraća u način reprodukcije i počinje reproducirati snimljeni slijed. Kako je memorija ovog sićušnog kontrolera vrlo ograničena, 64 bajta (da, bajtova!), Kontroler može snimiti 400 bita. To je dovoljno prostora za 10 sekundi sa 40 uzoraka u sekundi.

Korak 2: Materijali i alati

Materijali i alati
Materijali i alati
Materijali i alati
Materijali i alati

Materijali- 2 x 1K otpornik- 1 x LDR (svjetlo ovisni otpornik), na pr. M9960- 1 x LED niske struje, 1.7V, 2ma- 1 x Atmel ATtiny13v, 1KB flash RAM-a, 64 bajta RAM-a, 64 bajta EEPROM, [email protected] 1 x CR2032, 3V, 220mAhAlati- lemilica - žica za lemljenje- matična ploča- AVR programer- napajanje 5V- multimetarSoftverska oprema- Eclipse- CDT dodatak- WinAVRCijelovi bi trebali biti ispod 5 USD bez alata. Koristio sam ATtiny13v jer ova verzija ove obitelji kontrolera može raditi na 1.8V. To omogućuje pokretanje kruga s vrlo malom baterijom. Kako bih radio jako dugo, odlučio sam koristiti LED slabe struje koja postiže punu svjetlinu već pri 2ma.

Korak 3: Sheme

Sheme
Sheme

Neki komentari na shemu. Ulaz za resetiranje nije povezan. Ovo nije najbolja praksa. Bolje bi bilo upotrijebiti 10K otpornik za podizanje. Ali radi bez problema i štedi otpornik. Da bi krug bio što jednostavniji, upotrijebio sam unutarnji oscilator. To znači da štedimo kristal i dva mala kondenzatora. Unutarnji oscilator omogućuje kontroleru rad na 1,2 MHz što je više nego dovoljna brzina za naše potrebe. Ako se odlučite za napajanje drugo od 5V ili za korištenje drugih LED dioda morate izračunati otpornik R1. Formula je: R = (Napajanje V - LED V) / 0,002A = 1650 Ohma (Napajanje = 5 V, LED V = 1,7 V). Koristeći dvije LED diode male struje umjesto jedne, formula izgleda ovako: R = (Napajanje V - 2 * LED V) / 0,002A = 800 Ohma. Imajte na umu da morate prilagoditi izračun ako odaberete drugu vrstu LED -a. Vrijednost otpornika R2 ovisi o korištenom LDR -u. Meni radi 1KOhm. Možda ćete htjeti pomoću potenciometra pronaći najbolju vrijednost. Cicuit bi trebao biti u stanju detektirati promjene svjetla pri normalnom dnevnom svjetlu. Radi uštede energije, PB3 je postavljen na visoku vrijednost samo ako se izvrši mjerenje. Ažuriranje: shema je bila pogrešna. Dolje je točna verzija. Hvala, dave_chatting.

Korak 4: Sastavite na prototipnu ploču

Sastavite na prototipnu ploču
Sastavite na prototipnu ploču
Sastavite na prototipnu ploču
Sastavite na prototipnu ploču

Ako volite testirati svoj krug, ploča je vrlo zgodna. Sve dijelove možete sastaviti, a da ništa ne morate lemiti.

Korak 5: Programirajte krug

Programirajte krug
Programirajte krug
Programirajte krug
Programirajte krug

Regulator se može programirati na različitim jezicima. Najviše se koriste Assembler, Basic i C. Koristio sam C jer najbolje odgovara mojim potrebama. Bio sam naviknut na C prije deset godina i uspio sam oživjeti dio znanja (pa, samo dio …). Za pisanje programa preporučujem Eclipse s dodatkom CDT. Nabavite eclipse ovdje https://www.eclipse.org/, a dodatak ovdje https://www.eclipse.org/cdt/. Za kompajliranje jezika C na AVR mikrokontrolere trebat će vam unakrsni prevoditelj. Na našu sreću, postoji luka poznatog GCC -a. Zove se WinAVR i može se pronaći ovdje https://winavr.sourceforge.net/. Vrlo dobro uputstvo o tome kako programirati AVR kontrolere s WinAVR-om je ovdje https://www.mikrocontroller.net/articles/AVR-GCC- Vodič. Žao nam je, na njemačkom je jeziku, ali možda ćete pronaći tisuće stranica s uputama na tu temu na svom jeziku, ako ih tražite. Nakon sastavljanja izvora, morate prenijeti heksadecimalnu datoteku u upravljački program. To se može učiniti povezivanjem računala na strujno kolo pomoću ISP -a (u programeru sustava) ili pomoću namjenskih programera. Koristio sam namjenski programator jer on čini krug malo lakšim spremajući neke žice i utikač. Nedostatak je to što morate mijenjati kontroler između sklopa i programatora svaki put kada želite ažurirati svoj softver. Moj programer dolazi s https://www.myavr.de/ i koristi USB za povezivanje s prijenosnim računalom. U okolici je mnogo drugih, pa čak možete i sami izgraditi. Za sam prijenos koristio sam program pod nazivom avrdude koji je dio WinAVR distribucije. Primjer naredbenog retka može izgledati ovako:

avrdude -F -p t13 -c avr910 -P com4 -U bljesak: w: flickled.hex: iU privitku možete dobiti izvor i sastavljenu hex datoteku.

Korak 6: Lemljenje

Lemljenje
Lemljenje

Ako vaš krug radi na ploči, možete ga lemiti.

To se može učiniti na tiskanoj ploči (tiskana ploča), na prototipnoj ploči ili čak bez ploče. Odlučio sam to učiniti bez, jer se krug sastoji samo od nekoliko komponenti. Ako niste upoznati sa lemljenjem, preporučujem da prvo potražite vodič za lemljenje. Moje vještine lemljenja su pomalo zahrđale, ali mislim da ste shvatili. Nadam se da ste uživali. Alex

Preporučeni: