Indholdsfortegnelse:
- Trin 1: Pulsbreddemodulation i software
- Trin 2: Hardware og nødvendige komponenter
- Trin 3: Den resterende software og resultat
Video: Flere elektroniske lys: 3 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:27
Elektroniske stearinlys er blevet sendt mange gange på Instructables, så hvorfor det her?
Herhjemme har jeg disse små halvgennemsigtige julehuse, der har en LED-indsigt og et lille batteri. Nogle huse har lysdioder med en stearinlyseffekt, og nogle har lysdioder, der bare er tændt. De små batterier er relativt tomme, og da jeg ville have en stearinlyseffekt i alle huse, besluttede jeg at gøre det til et PIC -projekt. Selvfølgelig kan du også gøre det til et Arduino -projekt.
Så hvad gør dette elektroniske lys specielt? PIC og Arduino har alle Pulse Width Modulation (PWM) hardware ombord, der kan bruges til at skabe en lyseffekt ved hjælp af en LED, men i mit tilfælde ville jeg have 5 uafhængige elektroniske stearinlys ved hjælp af en controller, og det er ikke til stede, i hvert fald ikke som jeg ved af. Løsningen jeg brugte er at lave disse fem uafhængige PWM -signaler helt i software.
Trin 1: Pulsbreddemodulation i software
Pulse Width Modulation er blevet beskrevet flere gange, f.eks. i denne Arduino -artikel:
PIC og Arduino har speciel PWM -hardware ombord, der gør det enkelt at generere dette PWM -signal. Hvis vi vil lave et eller flere PWM -signaler i software, har vi brug for to timere:
- En timer, der bruges til at generere PWM -frekvensen
- En timer, der bruges til at generere PWM -driftscyklussen
Begge timere genererer og afbryder, når de er færdige, og derfor håndteres PWM -signalet fuldstændigt afbrydelsesdrevet. Til PWM -frekvensen bruger jeg timer 0 i PIC'en og lader den flyde over. Med et internt oscillatorur på 8 MHz og en forudskala på 64 er formlen: Fosc / 4 /256 /64 = 2.000.000 / 256 /64 = 122 Hz eller 8, 2 ms. Frekvensen skal være høj nok, så det menneskelige øje ikke kan registrere den. En frekvens på 122 Hz er tilstrækkelig til det. Det eneste, denne timer -afbrydelsesrutine gør, er at kopiere driftscyklussen for en ny PWM -cyklus og tænde alle lysdioder. Det gør dette for alle 5 lysdioder uafhængigt.
Værdien af timeren til at håndtere PWM -driftscyklussen afhænger af, hvordan vi laver lyseffekten. I min tilgang simulerer jeg denne effekt ved at øge driftscyklussen med en værdi på 3 for at øge lysstyrken på LED'en og reducere den med en værdi på 25 for at reducere lysstyrken på LED'en. På denne måde får du en stearinlignende effekt. Da jeg bruger en minimumsværdi på 3, er antallet af trin til at styre den fulde driftscyklus med en byte 255 /3 = 85. Det betyder, at PWM -driftscyklustimeren skal køre med en frekvens på 85 gange frekvensen af PWM frekvens timer, som er 85 * 122 = 10.370 Hz.
Til PWM -driftscyklussen bruger jeg timer 2 i PIC. Dette er en timer med automatisk genindlæsning, og den bruger følgende formel: Periode = (Reload + 1) * 4 * Tosc * Timer2 forudskaleret værdi. Med en genindlæsning på 191 og en forskala på 1 får vi en periode på (191 + 1) * 4 * 1/8.000.000 * 1 = 96 us eller 10.416 Hz. PWM -driftscyklussen afbryder rutinen, om driftscyklussen er gået, og slukker den LED, som driftscyklussen er afsluttet for. Hvis driftscyklussen ikke er bestået, reduceres den til en driftscyklustæller med 3 og afslutter rutinen. Det gør dette for alle lysdioder uafhængigt. I mit tilfælde tager denne afbrydelsesrutine omkring 25 os, og da den kaldes hver 96 os, bruges allerede 26% af CPU'en til at styre PWM -driftscyklussen i software.
Trin 2: Hardware og nødvendige komponenter
Det skematiske diagram viser det endelige resultat. Selvom jeg kun styrer 5 lysdioder uafhængigt, tilføjede jeg en sjette LED, der kører sammen med en af de 5 andre lysdioder. Da PIC ikke kan drive to lysdioder på en portstift, tilføjede jeg en transistor. Elektronikken forsynes med en 6 volt / 100 mA DC -adapter og bruger en lavfaldsspændingsregulator til at lave en stabil 5 Volt.
Du har brug for følgende komponenter til dette projekt:
- 1 PIC mikrokontroller 12F615
- 2 keramiske kondensatorer: 2 * 100nF
- Modstande: 1 * 33k, 6 * 120 Ohm, 1 * 4k7
- 6 orange eller gule lysdioder, høj lysstyrke
- 1 BC557 transistor eller tilsvarende
- 1 Elektrolytkondensator 100 uF / 16 V
- 1 lavspændingsregulator LP2950Z
Du kan bygge kredsløbet på et brødbræt og kræver ikke meget plads, som det kan ses på billedet.
Trin 3: Den resterende software og resultat
Den resterende del af softwaren er hovedsløjfen. Hovedløkken øger eller formindsker lysdiodernes lysstyrke ved tilfældigt at justere driftscyklussen. Da vi kun øger med en værdi på 3 og falder med en værdi på 25, skal vi sikre os, at faldene ikke sker så ofte som trinene.
Da jeg ikke brugte nogen biblioteker, var jeg nødt til at lave en tilfældig generator ved hjælp af et lineært feedback -skiftregister, se:
da.wikipedia.org/wiki/Linear-feedback_shif…
Lyseffekten påvirkes af, hvor hurtigt PWM -driftscyklussen ændres, så hovedsløjfen bruger en forsinkelse på ca. 10 ms. Du kan justere denne tid for at ændre lyseffekten til dine behov.
Den vedhæftede video viser slutresultatet, hvor jeg brugte en hætte over LED'en for at forbedre effekten.
Jeg brugte JAL som programmeringssprog til dette projekt og vedhæftede kildefilen.
God fornøjelse med at gøre dette instruerbart og ser frem til dine reaktioner og resultater.
Anbefalede:
E-dohicky den elektroniske version af Russ's Laser Power Meter Dohicky: 28 trin (med billeder)
E-dohicky den elektroniske version af Russ's Laser Power Meter Dohicky: Laserværktøj. E-dohicky er den elektroniske version af dohicky fra Russ SADLER. Russ animerer den meget gode SarbarMultimedia youtube kanal https://www.youtube.com/watch?v=A-3HdVLc7nI&t=281sRuss SADLER præsenterer et let og billigt tilbehør
ELEKTRONISKE KOMPONENTER BASERET JULETRÆ: 8 trin
ELEKTRONISKE KOMPONENTER BASERET JULETRÆ: Hej og velkommen tilbage !!! Som værende elektronisk entusiast. Jeg ser altid ting eller festivaler /lejligheder som en mulighed for at lave nogle innovative ting ud af elektronik, så julen nærmer sig. Jeg tænkte på at lave et juletræ b
DIY Fitness Tracker Smart Watch med oximeter og puls - Modulære elektroniske moduler fra TinyCircuits - Mindste Arcade: 6 trin
DIY Fitness Tracker Smart Watch med oximeter og puls | Modulære elektroniske moduler fra TinyCircuits | Mindste Arcade: Hey, hvad sker der, fyre! Akarsh her fra CETech. I dag har vi nogle af sensormodulerne med, som er meget nyttige i vores daglige liv, men i en lille version af dem selv. De sensorer, vi har i dag, er meget små i størrelse i forhold til tra
Håndlodning Sjov skurk af printkort Elektroniske komponenter: 7 trin
Håndlodning Sjov skurk af printkort Elektroniske komponenter: Elektroniske printkort (gamle computere eller husholdningsapparater) loddejern, loddetang, tang, saks
Musikreaktivt lys -- Sådan laves superenkelt musikreaktivt lys til at gøre skrivebordet fantastisk: 5 trin (med billeder)
Music Reactive Light || Sådan laver du Super Simple Music Reactive Light for Making Desktop Awsome .: Hey whats up guys, I dag vil vi bygge et meget interessant projekt. I dag bygger vi musik reaktivt lys. LED'en ændrer dens lysstyrke iht. basen, der faktisk er lavfrekvent lydsignal. Det er meget enkelt at bygge.Vi vil