Indholdsfortegnelse:
- Trin 1: Nogle teorier om fading-in og fading-out ved hjælp af pulsbreddemodulation
- Trin 2: Det mekaniske arbejde
- Trin 3: Elektronikken
- Trin 4: Softwaren
- Trin 5: Det endelige resultat
Video: Oplyste gaver: 5 trin (med billeder)
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:27
Herhjemme har vi to oplyste gaver, som bruges i juletiden. Disse er enkle oplyste gaver ved hjælp af en 2-farve rød-grøn LED, der tilfældigt ændrer farve, som falmer ind og falmer ud. Enheden drives af en knapcelle på 3 volt. Sidstnævnte var årsagen til dette projekt, da batteriet meget hurtigt tømmes, når gaverne tændes i længere tid.
For at forhindre brug af en enorm mængde knapcellebatterier designet jeg min egen version ved hjælp af tre genopladelige AAA -batterier. Denne version bruger en RGB LED, så blå er også mulig, men det var ikke en del af det originale design. Min version har følgende funktioner:
- Kontrol 2 præsenteres på samme tid ved hjælp af en PIC12F617 mikrokontroller. Mikrocontroller -softwaren blev skrevet i JAL -programmeringssproget.
- Slå gaven til og fra ved hjælp af en trykknap. Den originale version brugte en switch til dette formål, men en trykknap var lettere at bruge.
- Skift tilfældigt farven på gaverne ved at fade-in og fade-out af farverne rød og grøn.
- Sluk gaverne, når batterispændingen falder til under 3,0 Volt. Dette forhindrer, at de genopladelige batterier aflades for meget.
Efter indtoning i en farve forbliver LED'en tændt et sted et sted mellem 3 sekunder og 20 sekunder. Da jeg stadig havde den ubrugte blå LED, tilføjede jeg funktionen, at begge pakker bliver blå, når tiden er præcis 10 sekunder. Dette sker ikke særlig ofte, da den tilfældige tid genereres i timerflåter på 40 millisekunder som beskrevet senere.
Trin 1: Nogle teorier om fading-in og fading-out ved hjælp af pulsbreddemodulation
Den bedste måde at ændre lysstyrken på en LED er ikke ved at ændre den strøm, der strømmer gennem LED'en, men ved at ændre den tid, LED'en er tændt inden for et bestemt tidsinterval. Denne måde at styre lysstyrken på en LED kaldes Pulse Width Modulation (PWM) som er blevet beskrevet flere gange på internettet, f.eks. Wikipedia.
PIC og Arduino har speciel PWM -hardware ombord, der gør det enkelt at generere dette PWM -signal, men de har ofte en udgang til dette, så du kan kun styre en LED. Til denne version havde jeg brug for at styre 5 lysdioder (2 røde, 2 grønne og 1 kombinerede blå), så PWM skulle udføres i software ved hjælp af en timer, der genererer både PWM -frekvensen såvel som PWM -driftscyklussen.
PIC12F617 har en indbygget timer med automatisk genindlæsning. Dette betyder, at når du har indstillet genindlæserværdien for timeren, vil den bruge denne værdi hver gang timeout er gået, og timeren fungerer derfor alene ved en bestemt frekvens. Da timing er kritisk for et stabilt PWM-signal, fungerer timeren interrupt, uden at blive påvirket af den tid, hovedprogrammet har brug for til at styre og bestemme den tilfældige on-time for LED'erne.
PWM -frekvensen skal være høj nok til at forhindre flimmer, og derfor valgte jeg en PWM -frekvens på 100 Hz. For fade-in og fade-out-effekten skal vi ændre driftscyklussen og dermed lysstyrken på LED'en. Jeg besluttede at bruge et trinforøgelse på 5 til at øge eller reducere lysstyrken for at få fade-in og fade-out-effekten, og da timeren bruger et område på 0 til 255 til driftscyklussen, skal timeren køre ved 255 / 5 = 51 gange den normale frekvens eller 5100 Hz. Dette resulterer i en timer -afbrydelse for hver 196 os.
Trin 2: Det mekaniske arbejde
Til fremstilling af gaverne brugte jeg mælkehvid akrylplast og til resten af opsætningen brugte jeg MDF. For at forhindre, at du ser formen på LED'en i pakken, når LED'en er tændt, satte jeg et dæksel oven på LED'erne, der diffunderer lyset fra LED'en. Dette cover kom fra nogle gamle elektroniske stearinlys, som jeg havde, men du kan også oprette et cover ved hjælp af den samme akrylplast. På billederne ser du, hvad jeg brugte som udstyr og materiale.
Trin 3: Elektronikken
Skematisk diagram viser de elektroniske komponenter, du har brug for. Som tidligere nævnt styres 5 lysdioder uafhængigt, hvor den blå LED kombineres. Da PIC ikke kan drive to lysdioder på en portstift, tilføjede jeg en transistor til styring af de kombinerede blå lysdioder. Elektronikken drives af 3 genopladelige AAA -batterier og kan tændes eller slukkes ved at trykke på nulstillingskontakten.
Du har brug for følgende elektroniske komponenter til dette projekt:
- 1 PIC mikrokontroller 12F617 med stik
- 2 keramiske kondensatorer: 2 * 100nF
- Modstande: 1 * 33k, 1 * 4k7, 2 * 68 Ohm, 4 * 22 Ohm
- 2 RGB LED'er, høj lysstyrke
- 1 BC557 transistor eller tilsvarende
- 1 trykknapkontakt
Du kan bygge kredsløbet på et brødbræt og kræver ikke meget plads, som det kan ses på billedet. Du kan undre dig over, hvorfor modstandsværdierne til styring af den maksimale strøm gennem LED'erne er så lave. Dette skyldes den lave forsyningsspænding på 3,6 Volt i kombination med det spændingsfald, som hver LED har, hvilket afhænger af farven pr. LED, se også Wikepedia. Modstandsværdierne resulterer i en maksimal strøm på omkring 15 mA pr. LED, hvor den maksimale strøm for hele systemet er omkring 30 mA.
Trin 4: Softwaren
Softwaren udfører følgende opgaver:
Når enheden nulstilles med trykknappen, vil den tænde enheden, hvis den var slukket, eller den slukker, hvis den var tændt. Off betyder at sætte PIC12F617 i dvaletilstand, hvor den næsten ikke bruger strøm.
Generer PWM -signalet for at kontrollere lysdiodernes lysstyrke. Dette gøres ved hjælp af en timer og en afbrydelsesrutine, der styrer stifterne på PIC12F617, der tændes og slukkes for LED'erne.
Fade-in og fade-out LED'erne og hold dem tændt i en tilfældig tid mellem 3 og 20 sekunder. Hvis den tilfældige tid er lig med 10 sekunder, bliver begge lysdioder blå i 10 sekunder, hvorefter det normale rød-grønne fade-in og fade-out-mønster bruges.
Under drift måler PIC forsyningsspændingen ved hjælp af den indbyggede Analog to Digital Converter (ADC). Når denne spænding falder til under 3,0 V, slukker den lysdioderne og sætter PIC'en i dvaletilstand igen. PIC'en kan stadig fungere godt ved 3,0 V, men det er ikke godt for de genopladelige batterier at blive helt afladet.
Som tidligere nævnt oprettes PWM -signalet ved hjælp af en timer, der bruger en afbrydelsesrutine for at holde et stabilt PWM -signal. Fading-in og fading-out af LED'erne inklusive den tid LED'erne er tændt, styres af hovedprogrammet. Dette hovedprogram bruger et timer -kryds på 40 millisekunder, afledt af den samme timer, der skaber PWM -signalet.
Da jeg ikke brugte nogen specifikke JAL -biblioteker til dette projekt denne gang, var jeg nødt til at lave en tilfældig generator ved hjælp af et lineært feedback -skiftregister til at generere tilfældig til -tid og tilfældig slukningstid for LED'erne.
Trin 5: Det endelige resultat
Der er 2 video, der viser det mellemliggende resultat. Min kone mangler stadig at ændre terningerne til egentlige gaver. Den ene video viser et nærbillede af resultatet, hvor den anden video viser det med den originale gave, der førte til dette projekt.
Som du måske forventer, når du tror, du er færdig, dukker der nye krav op. Min kone spurgte, om lysdiodernes lysstyrke også kan variere, efter at de er falmet ind. Det er selvfølgelig muligt, da jeg kun brugte omkring halvdelen af programhukommelsen til PIC12F617.
JAL -kildefilen og Intel Hex -filen til programmering af PIC'en er vedhæftet. Hvis du er interesseret i at bruge PIC -mikrokontrolleren med JAL - et Pascal -lignende programmeringssprog - kan du besøge JAL -webstedet.
God fornøjelse med at gøre dette instruerbart og ser frem til dine reaktioner og resultater.
Anbefalede:
Sådan gør du: Installation af Raspberry PI 4 Headless (VNC) med Rpi-imager og billeder: 7 trin (med billeder)
Sådan gør du: Installation af Raspberry PI 4 Headless (VNC) med Rpi-imager og billeder: Jeg planlægger at bruge denne Rapsberry PI i en masse sjove projekter tilbage i min blog. Tjek det gerne ud. Jeg ville tilbage til at bruge min Raspberry PI, men jeg havde ikke et tastatur eller en mus på min nye placering. Det var et stykke tid siden jeg konfigurerede en hindbær
Arduino: Syngende fødselsdagsæske til gaver: 14 trin
Arduino: Singing Birthday Box for Presents: Denne Singing Birthday Box er lavet med det formål at pakke fødselsdagsgaver, bistået af Arduino til at levere særlige funktioner, herunder sang og tænding af LED Candle. Med evnerne til at synge tillykke med fødselsdagen og til at tænde LED -c
Sådan adskilles en computer med nemme trin og billeder: 13 trin (med billeder)
Sådan adskilles en computer med nemme trin og billeder: Dette er en instruktion om, hvordan du adskiller en pc. De fleste af de grundlæggende komponenter er modulopbyggede og nemme at fjerne. Det er dog vigtigt, at du er organiseret omkring det. Dette hjælper med at forhindre dig i at miste dele og også ved at lave genmonteringen til
Ciclop 3d Scanner My Way Trin for trin: 16 trin (med billeder)
Ciclop 3d Scanner My Way Step by Step: Hej alle sammen, jeg kommer til at indse den berømte Ciclop 3D -scanner.Alle trin, der er godt forklaret på det originale projekt, er ikke til stede.Jeg lavede nogle rettelser for at forenkle processen, først Jeg udskriver basen, og end jeg genstarter printkortet, men fortsæt
Sådan styrer du husholdningsapparater med fjernsyn med fjernbetjening med timerfunktion: 7 trin (med billeder)
Sådan styrer du husholdningsapparater med fjernsyn med fjernbetjening med timerfunktion: Selv efter 25 års introduktion til forbrugermarkedet er infrarød kommunikation stadig meget relevant i de seneste dage. Uanset om det er dit 55 tommer 4K -fjernsyn eller dit billydsystem, har alt brug for en IR -fjernbetjening for at reagere på vores