Indholdsfortegnelse:
- Trin 1: Vælg komponenterne
- Trin 2: Saml din BlinkLED
- Trin 3: Programmer PIC
- Trin 4: Få den røde/grønne til at blinke med PIC12F509
Video: BlinkLED: 4 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:31
En BlinkLED er en LED, der har sin egen PIC -mikrokontroller. Blinkmønstre og blinkhastigheder er programmerbare, og BlinkLED'er kan bruges individuelt (til LED Throwies) eller i strenge til ferie eller speciel belysning. Jeg lavede disse, fordi jeg ville trimme mit juletræ med individuelle blinkende lys. Med BlinkLED kan jeg gøre det let og sikkert. BlinkLED daisy kæder med 2 tynde næsten usynlige ledninger (#30 AWG wire wrap wire) og kører fra en 3-5 volt jævnstrømforsyning eller batteri, så der er ikke behov for højspændingsledninger (120 vac). Videoen viser BlinkLED'er, der blinker og skifter farve skiftevis mellem rødt og grønt. Den tid, hver BlinkLED forbliver i en farve, er tilfældigt bestemt. Så der ikke er nogen overraskelser senere, skal du have elektroniske samlingskompetencer og udstyr til at programmere PIC -mikrokontrollere.
Trin 1: Vælg komponenterne
For hver BlinkLED skal du bruge følgende: 1 stk Microchip 12F509 PIC mikrokontroller (Mouser PN 579-PIC12F509-I/P) 1 stk 22 ohm, 1/4 watt modstand (Mouser PN 291-22-RC). Jeg brugte en 22 ohm modstand i min prototype, men enhver værdi mellem 22 og 220 ohm vil fungere. Det afhænger af den forsyningsspænding, du vil bruge, spændingsfaldet over LED'en og LED'ens fremspænding. Du vil vælge en værdi, der vil resultere i en strøm på 10 til 20 milliampere gennem LED'en. Som tommelfingerregel er modstandsværdien i ohm lig med forsyningsspændingen minus.5 volt minus LED'ens spændingsfald divideret med LED -strømmen i ampere (1 milliampere =.001 ampere). For eksempel for en grøn LED, der typisk har et 2,2 spændingsfald med en 3,2 volt strømforsyning: R = (3,2 volt -5 volt -2,2 volt) /.020 ampere = 25 ohm. Husk, at forskellige farvede LED har forskellige spændinger falder hen over dem, når de er små. Typiske værdier er: Grøn 2,2 volt, gul 2,1 volt, rød 2,0 volt, blå 3,8 volt og hvid 3,2 volt. Du bliver nødt til at øge forsyningsspændingen, når du bruger blå og/eller hvide lysdioder for at køre dem til fuld lysstyrke. 1 ea LED. Næsten enhver LED vil fungere. Til min prototype valgte jeg en grøn LED fjernet fra en julelysstreng. Disse har en bred betragtningsvinkel på grund af den flade konkave top.
Trin 2: Saml din BlinkLED
Følg billederne for at samle din BlinkLED. Jeg brugte et lille loddejern og en skruestik til at holde PIC'en. Bemærk hakets orientering, når du laver den første loddemetal. Modstanden er loddet til pin 8 i PIC. Gem den faste tråd, der er trimmet fra modstanden, og lod den til PIC i det sidste trin. Din færdige BlinkLED vil have to ledninger til tilslutning af strøm (plus [+] til pin 1 [Vdd] og minus [-] til pin 8 [Vss], stiften med modstanden).
Trin 3: Programmer PIC
Her er mit PICBasic Pro testprogram. Det pulserer LED'en i 35 ms og holder den slukket i en variabel tid bestemt af RANDOM -funktionen. Du kan ændre dette program for at få BlinkLED til at blinke, uanset hvad du ønsker. '************************************************* ***** 'Programnavn: BlinkLED'Filnavn: BlinkLED'Version: v1.00' ****************************** ************************** '' BESKRIVELSE AF PROGRAM +++++++++++++++++++++ +++++++++++++ '' Beskrivelse/funktion: Lavpris LED blinker''Compiler og version: PICBasic PRo v2.5''PIC HARDWARE SETUP ++++++++++++++ ++++++++++++++++++++++++ '' Skrevet til PIC: PIC12F509'DEFINE OSC 4TRISIO = %000000 'Sæt alle pins som output'LED var PORTB.5Delay VAR WORD''MAIN PROGRAM +++++++++++++++++++++++++++++++++++++++++ Main:
HØJ LEDPAUSE 35LOW LED
RANDOM Delay PAUSE Delay & %0000001111111111 'hurtig' PAUSE Delay & %0000011111111111 'langsom GOTO Main
ENDE
'################# END AF PROGRAM #######################
For at teste din BlinkLED skal du kompilere, programmere og køre din PIC. Når du er tilfreds med resultaterne, skal du fjerne BlinkLED fra testkortet og tilslutte det til en strømforsyning eller et batteri. Vedhæft et CR2032-batteri, og BlinkLED laver en dejlig LED Throwie, der blinker i 1-2 uger kontinuerligt.
Du kan fremstille dine BlinkLED'er som vist, eller som du kan se i videoen, lavede jeg til sidst et printkort til at reducere størrelsen på hver BlinkLED og tilføjede header pins for at gøre det lettere at daisy kædenheder. Bemærk også, at jeg tilføjede en strøm -bypass -kondensator (.1 mf, 50 volt) og ændrede PIC til den billigere PIC10F202 -mikrokontroller. Jeg brugte en overflademonteret 51 ohm modstand og loddepuder til LED'en. Mens jeg designede printkortet, besluttede jeg at tilføje et andet sæt pads på bagsiden af printkortet. Disse ekstra puder tillader tilføjelse af en anden LED for at producere tofarveeffekten (rød til grøn til rød) vist i juletræets demo -video. (I det næste trin viser jeg dig, hvordan du bygger disse ved hjælp af PIC12F509.) Jeg forbinder BlinkLED'erne med #30 AWG wire wrap wire. Da alle BlinkLED'er er forbundet parallelt, er jeg ikke begrænset til serielle lysstrenge, men kan have "forgreningsstrenge" fra en "stamme" -streng.
Trin 4: Få den røde/grønne til at blinke med PIC12F509
Følg disse trin for at få den røde/grønne BlinkLED til at bruge PIC12F509. Jeg brugte 3 mm røde og grønne LED'er Polariteten på LED'erne er vigtig, så følg trinene omhyggeligt. Fordi de to LED'er er elektrisk forbundet på tværs af strømkilden, lyser de begge samtidigt, hvis spændingen er for høj. Den faktiske spænding afhænger af de lysdioder, du bruger. Brug en lavere forsyningsspænding, hvis dette sker. For mine BlinkLED'er fungerede en spænding mellem 3,2 og 4,5 volt meget godt. Her er min kode. Den tid, BlinkLED er rød eller grøn, bestemmes af tilfældighedsfunktionen. 'PROGRAMINITIALISERING +++++++++++++++++++++++++++++' Grøn lyser på komp-siden, rød lyser på ikke-komp-side'Stabil grøn, blinker grn/rød til rød, derefter tilbage
HIGH LED 'LED monteret på ikke -comp side
'HOVEDPROGRAM ++++++++++++++++++++++++++++++++++++++++++ Main:
Tilfældig forsinkelse
'PAUSE Delay & %000011111000' fast 'PAUSE Delay & %001111100000' medium 'PAUSE Delay & %111110000000' slowPause Forsinkelse & %1111100000000 'meget langsom' PAUSE Delay & %1110000000000 'meget langsom, mindre variation TOGGLE LEDPAUSE 50TOGGLE LEDPAUSE 50TOGLELEPAPA 50TOGGLE LEDPAUSE 50TOGGLE LEDPAUSE 50TOGGLE LED
GOTO MainEND
'################## END AF PROGRAMMET ####################### God fornøjelse!
Anbefalede:
Arduino bil omvendt parkering alarmsystem - Trin for trin: 4 trin
Arduino bil omvendt parkering alarmsystem. Trin for trin: I dette projekt vil jeg designe en simpel Arduino bil omvendt parkeringssensorkreds ved hjælp af Arduino UNO og HC-SR04 ultralydssensor. Dette Arduino -baserede bilomvendt alarmsystem kan bruges til en autonom navigation, robotafstand og andre rækkevidde
Trin for trin pc -bygning: 9 trin
Trin for trin PC Building: Supplies: Hardware: MotherboardCPU & CPU -køler PSU (strømforsyningsenhed) Opbevaring (HDD/SSD) RAMGPU (ikke påkrævet) CaseTools: Skruetrækker ESD -armbånd/mathermal pasta m/applikator
Tre højttalerkredsløb -- Trin-for-trin vejledning: 3 trin
Tre højttalerkredsløb || Trin-for-trin vejledning: Højttalerkredsløb styrker lydsignalerne, der modtages fra miljøet til MIC og sender det til højttaleren, hvorfra forstærket lyd produceres. Her vil jeg vise dig tre forskellige måder at lave dette højttalerkredsløb på:
Trin-for-trin uddannelse i robotik med et sæt: 6 trin
Trin-for-trin uddannelse i robotteknologi med et kit: Efter ganske få måneder med at bygge min egen robot (se alle disse), og efter at jeg to gange havde dele mislykkedes, besluttede jeg at tage et skridt tilbage og tænke min strategi og retning. De flere måneders erfaring var til tider meget givende, og
Akustisk levitation med Arduino Uno trin for trin (8 trin): 8 trin
Akustisk levitation med Arduino Uno Step-by Step (8-trin): ultralyds lydtransducere L298N Dc kvindelig adapter strømforsyning med en han-DC-pin Arduino UNOBreadboard Sådan fungerer det: Først uploader du kode til Arduino Uno (det er en mikrokontroller udstyret med digital og analoge porte til konvertering af kode (C ++)