Sisukord:

Programmeeritav LED: 6 sammu (piltidega)
Programmeeritav LED: 6 sammu (piltidega)

Video: Programmeeritav LED: 6 sammu (piltidega)

Video: Programmeeritav LED: 6 sammu (piltidega)
Video: Какого числа от 1 до 31, родился человек, такая у него и вся жизнь 2024, November
Anonim
Programmeeritav LED
Programmeeritav LED

Inspireerituna erinevatest LED -valgustitest, vilkuvatest LED -idest ja sarnastest juhenditest soovisin teha oma versiooni LED -ist, mida juhib mikrokontroller. Idee on muuta LED -i vilkuv jada ümberprogrammeeritavaks. Seda ümberprogrammeerimist saab teha valguse ja varju abil, nt. saate oma taskulampi kasutada. See on minu esimene juhendatav, kõik kommentaarid või parandused on teretulnud. Vabandame kvaliteedi pärast.

1. toiming: kuidas see toimib

Väljundina kasutatakse LED -i. Sisendina kasutasin valgustist sõltuvat takisti LDR. See LDR muudab oma takistit, kui see saab rohkem või vähem valgust. Seejärel kasutatakse takistit analoogsisendina mikroprotsessoritele ADC (analoog -digitaalne muundur).

Kontrolleril on kaks töörežiimi, üks jada salvestamiseks, teine salvestatud jada taasesitamiseks. Kui kontroller märkab poole sekundi jooksul kahte heleduse muutust (tume, hele, tume või vastupidi), lülitub see salvestusrežiimi. Rekordimisrežiimis mõõdetakse LDR -i sisendit mitu korda sekundis ja salvestatakse kiibile. Kui mälu on otsas, lülitub kontroller tagasi taasesitusrežiimi ja hakkab salvestatud jada esitama. Kuna selle pisikese kontrolleri mälu on väga piiratud, 64 baiti (jah, baiti!), Suudab kontroller salvestada 400 bitti. See on piisavalt ruumi 10 sekundiks 40 prooviga sekundis.

Samm: materjalid ja tööriistad

Materjalid ja tööriistad
Materjalid ja tööriistad
Materjalid ja tööriistad
Materjalid ja tööriistad

Materjalid- 2 x 1K takisti- 1 x LDR (valgusest sõltuv takisti), nt. M9960- 1 x nõrkvoolu LED, 1.7V, 2ma- 1 x Atmel ATtiny13v, 1KB välkmälu, 64 baiti RAM, 64 baiti EEPROM, [email protected] 1 x CR2032, 3V, 220mAh Tööriistad- jootekolb - jootetraat- leivaplaat- AVR programmeerija- 5 V toiteallikas- multimeeter Tarkvara- Eclipse- CDT pistikprogramm- WinAVRKulud peaksid ilma tööriistadeta olema alla 5 $. Ma kasutasin ATtiny13v, sest selle kontrolleriperekonna see versioon suudab töötada 1,8 V pingel. See võimaldab vooluringi juhtida väga väikese akuga. Et see töötaks väga pikka aega, otsustasin kasutada nõrga vooluga LED -i, mis saavutab täieliku heleduse juba 2 m juures.

3. samm: skeemid

Skeemid
Skeemid

Mõned kommentaarid skeemi kohta. Lähtestussisend pole ühendatud. See ei ole parim praktika. Parem oleks tõmmana kasutada 10K takistit. Kuid see töötab minu jaoks hästi ja säästab takisti. Ahela võimalikult lihtsaks hoidmiseks kasutasin sisemist ostsillaatorit. See tähendab, et säästame kristalli ja kaks väikest kondensaatorit. Sisemine ostsillaator võimaldab kontrolleril töötada sagedusel 1,2 MHz, mis on meie jaoks enam kui piisav kiirus. Kui otsustate kasutada muud toiteallikat kui 5 V või kasutada muid LED -e, peate arvutama takisti R1. Valem on järgmine: R = (toiteallikas V - LED V) / 0,002A = 1650 oomi (toide = 5V, LED V = 1,7V). Kasutades ühe asemel kahte nõrkvoolu LED -i, näeb valem välja järgmine: R = (toiteallikas V - 2 * LED V) / 0,002A = 800 oomi. Pange tähele, et kui muud tüüpi LED -i valite, peate arvutust kohandama. Takisti R2 väärtus sõltub kasutatavast LDR -st. 1KOhm töötab minu jaoks. Parima väärtuse leidmiseks võiksite kasutada potentsiomeetrit. Cicuit peaks suutma tavalises päevavalguses tuvastada valguse muutusi. Energia säästmiseks on PB3 seadistatud kõrgele ainult siis, kui mõõtmine on tehtud. Värskendus: skeem oli eksitav. Allpool on õige versioon. Tänan, dave_chatting.

Samm: pange prototüüpplaadile kokku

Koguge prototüüpplaadile
Koguge prototüüpplaadile
Koguge prototüüpplaadile
Koguge prototüüpplaadile

Kui soovite oma vooluringi testida, on leivaplaat väga mugav. Saate kõik osad kokku panna ilma midagi jootmata.

Samm: programmeerige ahel

Programmeerige vooluring
Programmeerige vooluring
Programmeerige vooluring
Programmeerige vooluring

Kontrollerit saab programmeerida erinevatesse keeltesse. Enim kasutatud on Assembler, Basic ja C. Kasutasin C -d, kuna see vastab minu vajadustele kõige paremini. Olin C -ga harjunud kümme aastat tagasi ja suutsin mõned teadmised taaselustada (noh, ainult mõned …). Oma programmi kirjutamiseks soovitan Eclipse'i koos CDT -pistikprogrammiga. Hankige eclipse siit https://www.eclipse.org/ ja plugin siit https://www.eclipse.org/cdt/. C -keele kompileerimiseks AVR -i mikrokontrolleritele vajate ristkompilaatorit. Meil on õnneks olemas kuulsa GCC sadam. Selle nimi on WinAVR ja selle leiate siit https://winavr.sourceforge.net/. Väga hea õpetus AVR-kontrollerite programmeerimiseks WinAVR-iga on siin https://www.mikrocontroller.net/articles/AVR-GCC- Õpetus. Kahjuks on see saksakeelne, kuid kui otsite neid, võite leida oma keeles tuhandeid selleteemalisi õpetuslehti. Pärast allika koostamist peate hex -faili kontrollerile üle kandma. Seda saab teha, ühendades arvuti vooluahelaga Interneti -teenuse pakkuja (süsteemiprogrammeerija) või spetsiaalsete programmeerijate abil. Ma kasutasin spetsiaalset programmeerijat, kuna see muudab vooluringi mõnevõrra lihtsamaks, säästes mõned juhtmed ja pistiku. Puuduseks on see, et peate iga kord, kui soovite tarkvara värskendada, vahetada kontrolleri vooluahela ja programmeerija vahel. Minu programmeerija pärineb saidilt https://www.myavr.de/ ja kasutab sülearvutiga ühenduse loomiseks USB -d. Ümberringi on palju teisi ja saate seda isegi ise ehitada. Ülekande jaoks kasutasin programmi nimega avrdude, mis on osa WinAVRi levitamisest. Käsurea näide võib välja näha selline:

avrdude -F -p t13 -c avr910 -P com4 -U flash: w: flickled.hex: iManusena võite hankida allika ja kompileeritud hex -faili.

6. samm: jootmine

Jootmine
Jootmine

Kui teie ahel töötab leivaplaadil, saate selle jootma hakata.

Seda saab teha trükkplaadil (trükitud cicuit -plaadil), prototüüpplaadil või isegi ilma tahvlita. Otsustasin seda teha ilma, kuna vooluahel koosneb vaid mõnest komponendist. Kui te pole jootmisega tuttav, soovitan teil kõigepealt otsida jootmisõpetust. Minu jootmisoskus on natuke roostes, kuid ma arvan, et saate ideest aru. Loodan, et teile meeldis. Alex

Soovitan: