Turinys:
- 1 žingsnis: impulsų pločio moduliavimas programinėje įrangoje
- 2 žingsnis: Aparatūra ir reikalingi komponentai
- 3 žingsnis: likusi programinė įranga ir rezultatas
Video: Keli elektroniniai žvakės: 3 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:45
Elektroninės žvakės buvo daug kartų paskelbtos „Instructables“, tad kodėl ši?
Namuose turiu šiuos mažus pusiau permatomus Kalėdų namelius, kuriuose yra šviesos diodų įžvalga ir maža baterija. Kai kuriuose namuose yra šviesos diodai su žvakės efektu, o kai kuriuose - tik šviečiantys šviesos diodai. Mažos baterijos gana greitai išsikrauna ir, kadangi norėjau visuose namuose turėti žvakių efektą, nusprendžiau padaryti tai PIC projektu. Žinoma, galite tai paversti ir „Arduino“projektu.
Taigi kuo ši elektroninė žvakė ypatinga? Visi „PIC“ir „Arduino“turi pulso pločio moduliacijos (PWM) aparatūrą, kuri gali būti naudojama žvakės efektui sukurti naudojant šviesos diodą, tačiau mano atveju norėjau turėti 5 nepriklausomas elektronines žvakes, naudojant vieną valdiklį, bet bent jau to nėra kad aš žinau. Sprendimas, kurį naudojau, yra visiškai sukurti šiuos penkis nepriklausomus PWM signalus programinėje įrangoje.
1 žingsnis: impulsų pločio moduliavimas programinėje įrangoje
Impulso pločio moduliacija buvo aprašyta kelis kartus, pvz. šiame „Arduino“straipsnyje:
„PIC“ir „Arduino“turi specialią PWM aparatinę įrangą, kuri palengvina šio PWM signalo generavimą. Jei norime programinėje įrangoje pateikti vieną ar daugiau PWM signalų, mums reikia dviejų laikmačių:
- Vienas laikmatis, naudojamas PWM dažniui generuoti
- Vienas laikmatis, naudojamas PWM darbo ciklui generuoti
Abu laikmačiai sukuria ir nutraukia, kai baigiami, todėl PWM signalas tvarkomas visiškai pertraukiant. PWM dažniui naudoju PIC laikmatį 0 ir leiskite jam perpildyti. Esant 8 MHz vidiniam osciliatoriaus laikrodžiui ir 64 skalėms, formulė yra tokia: Fosc / 4 /256 /64 = 2.000.000 / 256 /64 = 122 Hz arba 8, 2 ms. Dažnis turi būti pakankamai didelis, kad žmogaus akis negalėtų jo aptikti. Tam pakanka 122 Hz dažnio. Vienintelis dalykas, kurį daro ši laikmačio pertraukimo tvarka, yra kopijuoti naujo PWM ciklo darbo ciklą ir įjungti visus šviesos diodus. Tai daroma visiems 5 šviesos diodams atskirai.
Laikmačio, skirto PWM darbo ciklui valdyti, vertė priklauso nuo to, kaip sukuriame žvakės efektą. Savo požiūriu aš imituoju šį efektą, padidindamas veikimo ciklą 3 verte, kad padidintumėte šviesos diodo ryškumą, ir sumažinkite jį 25 reikšme, kad sumažintumėte šviesos diodo ryškumą. Tokiu būdu jūs gaunate žvakės efektą. Kadangi naudoju minimalią 3 reikšmę, viso darbo ciklo valdymas vienu baitu yra 255/3 = 85. Tai reiškia, kad PWM darbo ciklo laikmatis turi veikti 85 kartus dažniau nei PWM dažnio laikmatis, kuris yra 85 * 122 = 10,370 Hz.
PWM darbo ciklui naudoju 2 PIC laikmatį. Tai laikmatis su automatiniu perkrovimu ir naudoja šią formulę: Periodas = (iš naujo įkelti + 1) * 4 * „Tosc“* „Timer2“išankstinės skalės vertė. Kai perkrovimas yra 191 ir išankstinė skalė 1, gauname (191 + 1) * 4 * 1/8.000.000 * 1 = 96 mus arba 10.416 Hz laikotarpį. PWM darbo ciklas nutraukia įprastinius patikrinimus, jei darbo ciklas praėjo, ir išjungia šviesos diodą, kurio darbo ciklas baigtas. Jei darbo ciklas nepraeina, jis sumažina darbo ciklo skaitiklį su 3 ir užbaigia įprastą. Tai daroma visiems šviesos diodams atskirai. Mano atveju ši pertraukimo rutina užtrunka apie 25 mus ir, kadangi ji vadinama kas 96 mus, jau 26% centrinio procesoriaus sunaudojama programinės įrangos PWM darbo ciklui valdyti.
2 žingsnis: Aparatūra ir reikalingi komponentai
Schema parodo galutinį rezultatą. Nors savarankiškai valdau tik 5 šviesos diodus, pridėjau 6 -ąjį šviesos diodą, kuris veikia kartu su vienu iš 5 kitų šviesos diodų. Kadangi PIC negali valdyti dviejų šviesos diodų viename prievado kaištyje, pridėjau tranzistorių. Elektronika maitinama iš 6 voltų / 100 mA nuolatinės srovės adapterio ir naudoja žemo kritimo įtampos reguliatorių, kad sukurtų stabilų 5 voltų įtampą.
Šiam projektui jums reikia šių komponentų:
- 1 PIC mikrovaldiklis 12F615
- 2 keraminiai kondensatoriai: 2 * 100nF
- Rezistoriai: 1 * 33k, 6 * 120 Ohm, 1 * 4k7
- 6 oranžinės arba geltonos spalvos šviesos diodai, didelis ryškumas
- 1 BC557 tranzistorius arba lygiavertis
- 1 elektrolitinis kondensatorius 100 uF / 16 V
- 1 žemo kritimo įtampos reguliatorius LP2950Z
Galite sukurti grandinę ant duonos lentos ir nereikalauja daug vietos, kaip matyti paveikslėlyje.
3 žingsnis: likusi programinė įranga ir rezultatas
Likusi programinės įrangos dalis yra pagrindinė kilpa. Pagrindinė kilpa padidina arba sumažina šviesos diodų ryškumą, atsitiktinai pakoreguodama darbo ciklą. Kadangi mes didiname tik esant 3 reikšmei ir mažėjame, kai vertė yra 25, turime įsitikinti, kad sumažėjimai neįvyksta taip dažnai, kaip padidėjimai.
Kadangi nenaudojau jokių bibliotekų, turėjau sukurti atsitiktinį generatorių, naudojant linijinio grįžtamojo ryšio poslinkio registrą, žr.
en.wikipedia.org/wiki/Linear-feedback_shif…
Žvakės efektui įtakos turi tai, kaip greitai keičiamas PWM darbo ciklas, todėl pagrindinė kilpa naudoja apie 10 ms delsą. Šį laiką galite pakoreguoti, kad pakeistumėte žvakės efektą pagal savo poreikius.
Pridedamame vaizdo įraše parodytas galutinis rezultatas, kai efektui pagerinti naudoju dangtelį virš šviesos diodo.
Aš naudoju JAL kaip šio projekto programavimo kalbą ir pridėjau šaltinio failą.
Smagiai sukurkite šią instrukciją ir laukite jūsų reakcijos bei rezultatų.
Rekomenduojamas:
(Keli žaidėjai) „GameGo“kova su „Makecode Arcade“: 6 žingsniai
(Keli žaidėjai) „GameGo“kova su „Makecode Arcade“: „GameGo“yra su „Microsoft Makecode“suderinama nešiojama žaidimų konsolė, sukurta „TinkerGen STEM“švietimo. Jis pagrįstas STM32F401RET6 ARM Cortex M4 lustu ir skirtas STEM pedagogams ar tiesiog žmonėms, kurie mėgsta linksmintis kurdami retro vaizdo įrašus
Keli ATtiny85/13A programuotojai: 6 žingsniai
Keli „ATtiny85/13A“programuotojai: ar kada nors sukūrėte tokį projektą kaip „LDR x Arduino UNO Automatic Light“ar pan., Kuris naudoja tik 2–3 skaitmeninius 32 kontaktų mikrovaldiklio įvesties/išvesties prievadus? Gerai, jei ką nors darote prototipų kūrimo darbai, bet ką daryti, jei norite užbaigti ar pagaminti
Keli BMP280 jutikliai „Arduino Uno“per SPI: 6 žingsniai
Keli BMP280 jutikliai „Arduino Uno“per SPI: Šioje pamokoje mes sujungsime tris „BMP280“„Arduino Uno“per SPI, bet jūs galite prijungti iki aštuonių BMP280 „Uno“naudodami skaitmeninius prievadus nuo D3 iki D10 kaip kiekvieno jutiklio nSS („Slave Select“). atmosferos slėgio mėginių, išmatuotų pagal B
Nebrangios sudaužytos/suplėšytos/suplėšytos/ištirpusios/lydytos uždegimo žvakės įkrovos pašalinimo įrankis: 3 žingsniai
Nebrangaus sudaužyto/suplėšyto/suplėšyto/ištirpusio/lydyto uždegimo žvakės įkrovimo įrankio gamyba: ši instrukcija parodys jums, kaip pasigaminti nebrangų įrankį, kad ištrauktumėte tą sulūžusią įkrovą nuo uždegimo žvakės, kad galėtumėte tęsti derinimą. Jums, savo rankomis dirbantiems „pasidaryk pats“, nėra nieko panašaus į žvakės pakeitimą
Kaip naudoti „Wiimote“kaip kompiuterio pelę naudojant žvakes kaip jutiklį !!: 3 žingsniai
Kaip naudoti „Wiimote“kaip kompiuterio pelę naudojant žvakes kaip jutiklį !!: Šis vadovas parodys, kaip susieti „Wii Remote“(„Wiimote“) su kompiuteriu ir naudoti kaip pelę