Indholdsfortegnelse:
- Trin 1: Sådan fungerer det
- Trin 2: Materialer og værktøjer
- Trin 3: Skemaer
- Trin 4: Saml på et prototypebræt
- Trin 5: Programmer kredsløbet
- Trin 6: Lodning
Video: Programmerbar LED: 6 trin (med billeder)
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:30
Inspireret af forskellige LED Throwies, blinkende LED'er og lignende instruktioner ville jeg lave min version af en LED, der blev styret af en mikrokontroller. Ideen er at gøre LED -blinkende sekvens omprogrammerbar. Denne omprogrammering kan udføres med lys og skygge, f.eks. du kan bruge din lommelygte. Dette er min første instruktion, eventuelle kommentarer eller rettelser er velkomne. Opdatering 2008-08-12: Der er nu et sæt tilgængeligt i Tinker Store. Her er en video af omprogrammering af det. Beklager kvaliteten.
Trin 1: Sådan fungerer det
En LED bruges som output. Som input brugte jeg en LDR, en lysafhængig modstand. Denne LDR ændrer sin modstand, da den modtager mere eller mindre lys. Modstanden bruges derefter som analog indgang til mikroprocessorerne ADC (analog digital converter).
Controlleren har to funktionsmåder, den ene til optagelse af en sekvens, den anden til afspilning af den optagede sekvens. Når controlleren bemærker to ændringer i lysstyrken inden for et halvt sekund (mørk, lys, mørk eller omvendt), skifter den til optagelsestilstand. I genkodningstilstand måles LDR -input flere gange i sekundet og gemmes på chippen. Hvis hukommelsen er opbrugt, skifter controlleren tilbage til afspilningstilstand og begynder at afspille den optagede sekvens. Da hukommelsen til denne lille controller er meget begrænset, 64 bytes (ja, bytes!), Er controlleren i stand til at optage 400 bit. Det er plads nok i 10 sekunder med 40 prøver i sekundet.
Trin 2: Materialer og værktøjer
Materialer- 2 x 1K modstand- 1 x LDR (lysafhængig modstand), f.eks. M9960- 1 x Lavstrøm LED, 1,7 V, 2ma- 1 x Atmel ATtiny13v, 1KB flash-RAM, 64 Bytes RAM, 64 Bytes EEPROM, 0-4MHz@1,8-5,5V- 1 x CR2032, 3V, 220mAhVærktøjs- loddejern - loddetråd- brødbræt- AVR programmerer- 5V strømforsyning- multimeter Software- Eclipse- CDT plugin- WinAVRCosts samlet set bør være under 5 $ uden værktøjerne. Jeg brugte ATtiny13v, fordi denne version af denne controller -familie kan køre på 1,8V. Det gør det muligt at køre kredsløbet med et meget lille batteri. For at få det til at køre i meget lang tid, besluttede jeg at bruge en lavstrøm -LED, der når fuld lysstyrke allerede ved 2ma.
Trin 3: Skemaer
Nogle kommentarer til skematisk. Nulstillingsindgangen er ikke tilsluttet. Dette er ikke bedste praksis. Bedre ville være at bruge en 10K modstand som pull up. Men det fungerer fint for mig uden, og det sparer en modstand. For at holde kredsløbet så enkelt som muligt brugte jeg den interne oscillator. Det betyder, at vi gemmer en krystal og to små kondensatorer. Den interne oscillator lader controlleren køre med 1,2 MHz, hvilket er mere end nok hastighed til vores formål. Hvis du beslutter dig for at bruge en anden strømforsyning end 5V eller for at bruge en anden LED, skal du beregne modstanden R1. Formlen er: R = (Strømforsyning V - LED V) / 0,002A = 1650 Ohm (Strømforsyning = 5V, LED V = 1,7V). Ved hjælp af to lavstrøm -LED'er i stedet for en ser formlen sådan ud: R = (Strømforsyning V - 2 * LED V) / 0,002A = 800 Ohm. Bemærk, at du skal justere beregningen, hvis du vælger en anden type LED. Værdien af modstanden R2 afhænger af den anvendte LDR. 1KOhm virker for mig. Du vil måske bruge et potentiometer til at finde den bedste værdi. Cicuiten skal være i stand til at registrere lysændringer i normalt dagslys. For at spare strøm er PB3 kun sat til høj, hvis der foretages en måling. Opdatering: skematikken var misvisende. Nedenfor er den korrekte version. Tak, dave_chatting.
Trin 4: Saml på et prototypebræt
Hvis du kan lide at teste dit kredsløb, er et brødbræt meget praktisk. Du kan samle alle dele uden at skulle lodde noget.
Trin 5: Programmer kredsløbet
Controlleren kan programmeres på forskellige sprog. Mest anvendte er Assembler, Basic og C. Jeg brugte C, da den matcher mine behov bedst. Jeg var vant til C for ti år siden og var i stand til at genoplive noget af kendskabet (tja, kun nogle …). For at skrive dit program anbefaler jeg Eclipse med CDT -pluginet. Få formørkelse her https://www.eclipse.org/ og plugin'et her https://www.eclipse.org/cdt/. For at kompilere C -sprog til AVR -mikrokontrollere skal du have en cross compiler. Heldige som vi er, findes der en havn i den berømte GCC. Det kaldes WinAVR og kan findes her https://winavr.sourceforge.net/. En meget god vejledning i, hvordan man programmerer AVR-controllere med WinAVR er her https://www.mikrocontroller.net/articles/AVR-GCC- Tutorial. Beklager, det er på tysk, men du finder muligvis tusinder af selvstudiesider om dette emne på dit sprog, hvis du søger efter dem. Efter at have samlet din kilde, skal du overføre hex -filen til controlleren. Det kan gøres ved at forbinde din pc til kredsløbet ved hjælp af ISP (i systemprogrammerer) eller ved hjælp af dedikerede programmører. Jeg brugte en dedikeret programmør, da det gør kredsløbet lidt lettere ved at gemme nogle ledninger og et stik. Ulempen er, at du skal skifte controlleren mellem kredsløbet og programmøren hver gang du vil opdatere din software. Min programmør kommer fra https://www.myavr.de/ og bruger USB til at oprette forbindelse til min notebook. Der er mange andre rundt, og du kan endda bygge det selv. Til selve overførslen brugte jeg et program ved navn avrdude, som er en del af WinAVR -distributionen. Et eksempel på en kommandolinje kan se sådan ud:
avrdude -F -p t13 -c avr910 -P com4 -U flash: w: flickled.hex: iVedhæftet kan du få kilden og den kompilerede hex -fil.
Trin 6: Lodning
Hvis dit kredsløb fungerer på brødbrættet, kan du lodde det.
Dette kan gøres på et printkort (printet cicuit board), på et prototype board eller endda uden et board. Jeg besluttede at gøre det uden, da kredsløbet kun består af få komponenter. Hvis du ikke er bekendt med lodning, anbefaler jeg, at du først søger efter en lodningstutorial. Mine loddeevner er lidt rustne, men jeg tror, du forstår ideen. Jeg håber du nød det. Alex
Anbefalede:
Renegade-i (programmerbar IC-tester, der føles som den virkelige ting): 3 trin (med billeder)
Renegade-i (programmerbar IC-tester, der føles som den virkelige ting): MILLION DOLLAR DREAM. Har du nogensinde drømt om at have din egen IC-tester derhjemme? Ikke bare en gadget, der kan teste IC, men en "programmerbar" maskine, der føles som et af flagskibsproduktet fra de største spillere i semikon -testindustrien, lykkes
Stranger Things programmerbar hættetrøje: 9 trin (med billeder)
Stranger Things Programmerbar hættetrøje: Du behøver måske aldrig nogensinde at bruge tid i en mareridtfuld verden af monstre, men nogle gange vil du bare have en skjorte på, der siger, at du helt KUNDE leve der, hvis du ville. Da en sådan skjorte ikke findes på det åbne marked, besluttede vi at lave vores
Programmerbar RGB LED Sequencer (ved hjælp af Arduino og Adafruit Trellis): 7 trin (med billeder)
Programmerbar RGB LED Sequencer (ved hjælp af Arduino og Adafruit Trellis): Mine sønner ville have farve LED strimler til at tænde deres skriveborde, og jeg ville ikke bruge en dåse RGB strip controller, fordi jeg vidste, at de ville kede sig med de faste mønstre disse controllere har. Jeg tænkte også, at det ville være en fantastisk mulighed for at skabe
Buggy - en sløj programmerbar LED -skabning: 12 trin (med billeder)
Buggy - et Crafty programmerbart LED -væsen: Buggy er et programmerbart LED -håndværksprojekt ved hjælp af et hjemmelavet, enkeltsidet printkort og en programmerbar AVR Attiny44v mikrokontroller. Buggy har to tofarvede LED-øjne og kan mærke synligt og IR-lys og udsende lyde ved hjælp af en piezo-højttaler. Ikke
Programmerbar LED -blæser "En let brise": 5 trin (med billeder)
Programmerbar LED -blæser "En let brise": Dette er et ret let projekt til at lave en programmerbar LED -blæser ved hjælp af programmerbare LED -strips og en genbrugsbutik. Alt i alt tog det mig cirka 2 timer at få alt vedhæftet, loddet og testet. Men jeg gør den slags godt, så det må