![Programuojamas LED: 6 žingsniai (su paveikslėliais) Programuojamas LED: 6 žingsniai (su paveikslėliais)](https://i.howwhatproduce.com/images/002/image-4498-48-j.webp)
Turinys:
2025 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2025-01-23 14:59
![Programuojamas LED Programuojamas LED](https://i.howwhatproduce.com/images/002/image-4498-49-j.webp)
Įkvėptas įvairių šviesos diodų lempučių, mirksinčių šviesos diodų ir panašių nurodymų, norėjau sukurti savo LED valdomą mikrovaldiklio versiją. Idėja yra padaryti, kad LED mirksėjimo seka būtų perprogramuojama. Šį perprogramavimą galima atlikti naudojant šviesą ir šešėlį, pvz. galite naudoti savo žibintuvėlį. Tai mano pirmasis pamokomas dalykas, bet kokie komentarai ar pataisymai yra laukiami. Atsiprašau už kokybę.
1 žingsnis: kaip tai veikia
Šviesos diodas naudojamas kaip išėjimas. Kaip įvestį naudojau nuo šviesos priklausantį rezistorių LDR. Šis LDR keičia savo rezistorių, kai gauna daugiau ar mažiau šviesos. Tada rezistorius naudojamas kaip analoginis įėjimas į mikroprocesorius ADC (analoginis skaitmeninis keitiklis).
Valdiklis turi du veikimo režimus: vienas skirtas sekos įrašymui, kitas - įrašytos sekos atkūrimui. Kai valdiklis per pusę sekundės pastebi du ryškumo pokyčius (tamsus, ryškus, tamsus arba atvirkščiai), jis perjungia įrašymo režimą. Atkūrimo režimu LDR įvestis matuojama kelis kartus per sekundę ir saugoma luste. Jei atmintis išeikvota, valdiklis grįžta į atkūrimo režimą ir pradeda leisti įrašytą seką. Kadangi šio mažo valdiklio atmintis yra labai ribota, 64 baitai (taip, baitai!), Valdiklis gali įrašyti 400 bitų. Tai yra pakankamai vietos 10 sekundžių, kai imama 40 mėginių per sekundę.
2 žingsnis: medžiagos ir įrankiai
![Medžiagos ir įrankiai Medžiagos ir įrankiai](https://i.howwhatproduce.com/images/002/image-4498-50-j.webp)
![Medžiagos ir įrankiai Medžiagos ir įrankiai](https://i.howwhatproduce.com/images/002/image-4498-51-j.webp)
Medžiagos- 2 x 1K rezistorius- 1 x LDR (nuo šviesos priklausomas rezistorius), pvz. M9960- 1 x silpnos srovės šviesos diodas, 1,7 V, 2 mA- 1 x „Atmel ATtiny13v“, 1 KB „flash“RAM, 64 baitų RAM, 64 baitai EEPROM, [email protected] 1 x CR2032, 3V, 220mAh įrankiai- lituoklis - litavimo viela- duonos lenta- AVR programuotojas- 5 V maitinimo šaltinis- multimetras Programinė įranga- „Eclipse“- CDT papildinys- „WinAVR“Iš viso be įrankių išlaidos turėtų būti mažesnės nei 5 USD. Aš naudojau „ATtiny13v“, nes ši šios valdiklių šeimos versija gali veikti 1,8 V. Tai leidžia paleisti grandinę su labai maža baterija. Kad jis veiktų labai ilgai, nusprendžiau naudoti silpnos srovės šviesos diodą, kuris pasiekia visą ryškumą jau esant 2ma.
3 žingsnis: schemos
![Schemos Schemos](https://i.howwhatproduce.com/images/002/image-4498-52-j.webp)
Kai kurios schemos pastabos. Atstatymo įvestis nėra prijungta. Tai nėra geriausia praktika. Geriau būtų naudoti 10K rezistorių. Bet man tai gerai veikia be ir taupo rezistorių. Kad grandinė būtų kuo paprastesnė, aš naudoju vidinį osciliatorių. Tai reiškia, kad taupome kristalą ir du mažus kondensatorius. Vidinis osciliatorius leidžia valdikliui veikti 1,2 MHz dažniu, o tai yra daugiau nei pakankamai mūsų tikslui. Jei nuspręsite naudoti kitą maitinimo šaltinį nei 5 V arba naudoti kitus šviesos diodus, turite apskaičiuoti rezistorių R1. Formulė yra tokia: R = (maitinimo šaltinis V - LED V) / 0,002A = 1650 omų (maitinimo šaltinis = 5V, šviesos diodas V = 1,7V). Naudojant ne vieną, o du mažos srovės šviesos diodus, formulė atrodo taip: R = (maitinimo šaltinis V - 2 * LED V) / 0,002A = 800 omų. Atminkite, kad pasirinkę kito tipo šviesos diodus turite koreguoti skaičiavimus. Rezistoriaus R2 vertė priklauso nuo naudojamo LDR. 1Kohm man tinka. Norėdami rasti geriausią vertę, galbūt norėsite naudoti potenciometrą. Cicuit turėtų sugebėti aptikti šviesos pokyčius įprastoje dienos šviesoje. Taupant energiją, PB3 yra nustatytas tik į aukštą, jei matuojama. Atnaujinimas: schema buvo klaidinanti. Žemiau yra teisinga versija. Ačiū, dave_chatting.
4 žingsnis: Surinkite ant prototipo lentos
![Surinkite ant prototipo lentos Surinkite ant prototipo lentos](https://i.howwhatproduce.com/images/002/image-4498-53-j.webp)
![Surinkite ant prototipo lentos Surinkite ant prototipo lentos](https://i.howwhatproduce.com/images/002/image-4498-54-j.webp)
Jei norite išbandyti savo grandinę, duonos lenta yra labai patogu. Galite surinkti visas dalis, nieko nelituodami.
5 žingsnis: užprogramuokite grandinę
![Užprogramuokite grandinę Užprogramuokite grandinę](https://i.howwhatproduce.com/images/002/image-4498-55-j.webp)
![Užprogramuokite grandinę Užprogramuokite grandinę](https://i.howwhatproduce.com/images/002/image-4498-56-j.webp)
Valdiklį galima užprogramuoti įvairiomis kalbomis. Dažniausiai naudojami „Assembler“, „Basic“ir C. Aš naudoju C, nes tai geriausiai atitinka mano poreikius. Prieš dešimt metų buvau pripratęs prie C ir galėjau atgaivinti kai kurias žinias (na, tik kai kurias …). Norėdami parašyti savo programą, rekomenduoju „Eclipse“su CDT papildiniu. Gaukite užtemimą čia https://www.eclipse.org/ ir papildinį čia https://www.eclipse.org/cdt/. Norėdami surinkti C kalbą į AVR mikrovaldiklius, jums reikės kryžminio kompiliatoriaus. Kaip mums pasisekė, yra garsiojo PĮBT uostas. Tai vadinama „WinAVR“ir ją rasite čia https://winavr.sourceforge.net/. Labai gera pamoka, kaip programuoti AVR valdiklius naudojant „WinAVR“, yra čia https://www.mikrocontroller.net/articles/AVR-GCC- Pamoka. Atsiprašome, tai vokiečių kalba, bet jūs galite rasti tūkstančius mokomųjų puslapių šia tema savo kalba, jei jų ieškosite. Surinkę šaltinį, turite perkelti šešioliktainį failą į valdiklį. Tai galima padaryti prijungus kompiuterį prie grandinės naudojant ISP (sistemos programuotojas) arba naudojant specialius programuotojus. Aš naudojau specialų programuotoją, nes tai šiek tiek palengvina grandinę, taupant kai kuriuos laidus ir kištuką. Trūkumas yra tas, kad kiekvieną kartą, kai norite atnaujinti programinę įrangą, turite pakeisti valdiklį tarp grandinės ir programuotojo. Mano programuotojas yra iš https://www.myavr.de/ ir naudoja USB jungtį prie mano nešiojamojo kompiuterio. Aplink yra daug kitų, ir jūs netgi galite tai sukurti patys. Perkėlimui naudojau programą pavadinimu avrdude, kuri yra „WinAVR“platinimo dalis. Komandinės eilutės pavyzdys gali atrodyti taip:
avrdude -F -p t13 -c avr910 -P com4 -U flash: w: flickled.hex: iPridėję galite gauti šaltinį ir sukompiliuotą šešioliktainį failą.
6 žingsnis: litavimas
![Litavimas Litavimas](https://i.howwhatproduce.com/images/002/image-4498-57-j.webp)
Jei jūsų grandinė veikia ant duonos lentos, galite ją lituoti.
Tai galima padaryti ant PCB (spausdintos cicuit plokštės), ant prototipo plokštės arba net be plokštės. Aš nusprendžiau tai padaryti be, nes grandinę sudaro tik keli komponentai. Jei nesate susipažinę su litavimu, rekomenduoju pirmiausia ieškoti litavimo pamokos. Mano litavimo įgūdžiai yra šiek tiek aprūdiję, bet manau, kad supratote. Tikiuosi, kad patiko. Aleksas
Rekomenduojamas:
Programuojamas policijos LED blykstė naudojant STM8 [72 šviesos diodai]: 9 žingsniai
![Programuojamas policijos LED blykstė naudojant STM8 [72 šviesos diodai]: 9 žingsniai Programuojamas policijos LED blykstė naudojant STM8 [72 šviesos diodai]: 9 žingsniai](https://i.howwhatproduce.com/images/010/image-29247-j.webp)
Programuojamas policijos šviesos diodų blykstė naudojant STM8 [72 šviesos diodai]: STM8S001J3 yra 8 bitų mikrovaldiklis, turintis 8 Kb „Flash“programos atmintį ir integruotą tikrą duomenų EEPROM. STM8S mikrovaldiklių šeimoje jis vadinamas mažo tankio įtaisu. Šis MCU siūlomas mažoje SO8N pakuotėje
Visiškai apšviestas - programuojamas RGB LED akrilo ženklas: 3 žingsniai (su paveikslėliais)
![Visiškai apšviestas - programuojamas RGB LED akrilo ženklas: 3 žingsniai (su paveikslėliais) Visiškai apšviestas - programuojamas RGB LED akrilo ženklas: 3 žingsniai (su paveikslėliais)](https://i.howwhatproduce.com/images/003/image-8512-11-j.webp)
Visiškai apšviestas - programuojamas RGB LED akrilo ženklas: žaidžiau su lazeriniu pjovikliu/graviravimu ir tikrai įsimylėjau graviravimą, kad būtų išvalytas akrilas ir spindėtų šviesos šaltinis iš krašto. Naudojamo akrilo storis yra a.25 " lakštą, kuris labai švariai pjauna
„OpenEyeTap“: 3D spausdintas ir programuojamas išmanusis stiklas: 12 žingsnių (su paveikslėliais)
![„OpenEyeTap“: 3D spausdintas ir programuojamas išmanusis stiklas: 12 žingsnių (su paveikslėliais) „OpenEyeTap“: 3D spausdintas ir programuojamas išmanusis stiklas: 12 žingsnių (su paveikslėliais)](https://i.howwhatproduce.com/images/002/image-4891-40-j.webp)
„OpenEyeTap“: 3D spausdintas ir programuojamas išmanusis stiklas: Sveiki atvykę į „Open EyeTap“instrukcijų puslapį! Esame keli entuziastingi kūrėjai, turintys didelę ambiciją sukurti aktyviausius pasaulyje išmaniuosius akinius ir nešiojamą išplėstinės realybės bendruomenę. Mes norime padaryti prieinamą sistemą, kuri papildytų
Programuojamas laikrodis su keturių simbolių ekranu: 5 žingsniai (su paveikslėliais)
![Programuojamas laikrodis su keturių simbolių ekranu: 5 žingsniai (su paveikslėliais) Programuojamas laikrodis su keturių simbolių ekranu: 5 žingsniai (su paveikslėliais)](https://i.howwhatproduce.com/images/003/image-6496-46-j.webp)
Programuojamas laikrodis su keturių simbolių ekranu: Jūs kalbėsite apie miestą, kai nešiosite šį nemalonų, negabaritinį, visiškai nepraktišką rankinį laikrodį. Parodykite savo mėgstamą necenzūrinę kalbą, dainų žodžius, pirminius skaičius ir tt Įkvėptas „Microreader“rinkinio, nusprendžiau sukurti milžinišką laikrodį naudodami
„Buggy“- gudrus programuojamas LED padaras: 12 žingsnių (su paveikslėliais)
![„Buggy“- gudrus programuojamas LED padaras: 12 žingsnių (su paveikslėliais) „Buggy“- gudrus programuojamas LED padaras: 12 žingsnių (su paveikslėliais)](https://i.howwhatproduce.com/images/005/image-13331-11-j.webp)
„Buggy“- gudrus programuojamas LED padaras: „Buggy“yra programuojamas LED amatų projektas, kuriame naudojamas naminis, vienpusis, PCB plokštė ir programuojamas AVR Attiny44v mikrovaldiklis. „Buggy“turi dvi dviejų spalvų LED akis ir gali jausti matomą ir IR šviesą bei skleisti garsus naudodami pjezo garsiakalbį. Ne