Innholdsfortegnelse:
- Trinn 1: Slik fungerer det
- Trinn 2: Materialer og verktøy
- Trinn 3: Skjemaer
- Trinn 4: Monter på et prototypebrett
- Trinn 5: Programmer kretsen
- Trinn 6: Lodding
Video: Programmerbar LED: 6 trinn (med bilder)
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:25
Inspirert av forskjellige LED -kaster, blinkende lysdioder og lignende instruksjoner ønsket jeg å lage min versjon av en LED kontrollert av en mikrokontroller. Tanken er å gjøre LED -blinkende sekvens omprogrammerbar. Denne omprogrammeringen kan gjøres med lys og skygge, f.eks. du kan bruke lommelykten din. Dette er min første instruks, alle kommentarer eller korreksjoner er velkomne. Oppdatering 2008-08-12: Det er nå et sett tilgjengelig på Tinker Store. Her er en video av omprogrammering av det. Beklager kvaliteten.
Trinn 1: Slik fungerer det
En LED brukes som utgang. Som inngang brukte jeg en LDR, en lysavhengig motstand. Denne LDR endrer motstanden etter hvert som den mottar mer eller mindre lys. Motstanden brukes deretter som analog inngang til mikroprosessorene ADC (analog digital converter).
Kontrolleren har to driftsmåter, en for å spille inn en sekvens, den andre for å spille av den innspilte sekvensen. Når kontrolleren merker to endringer i lysstyrke innen et halvt sekund, (mørkt, lyst, mørkt eller omvendt), går det over til opptaksmodus. I omkodingsmodus måles inngangen til LDR flere ganger i sekundet og lagres på brikken. Hvis minnet er oppbrukt, bytter kontrolleren tilbake til avspillingsmodus og begynner å spille av den innspilte sekvensen. Siden minnet til denne lille kontrolleren er svært begrenset, 64 byte (ja, byte!), Kan kontrolleren ta opp 400 bits. Det er plass nok i 10 sekunder med 40 prøver per sekund.
Trinn 2: Materialer og verktøy
Materialer- 2 x 1K motstand- 1 x LDR (lysavhengig motstand), f.eks. M9960- 1 x LED med lav strøm, 1,7 V, 2 ma- 1 x Atmel ATtiny13v, 1 KB flash-RAM, 64 Bytes RAM, 64 Bytes EEPROM, 0-4MHz@1,8-5,5V- 1 x CR2032, 3V, 220mAh Verktøy- loddejern - loddetråd- brødbrett- AVR programmerer- 5V strømforsyning- multimeterSoftware- Eclipse- CDT plugin- WinAVRCosts samlet bør være under 5 $ uten verktøyene. Jeg brukte ATtiny13v fordi denne versjonen av denne kontrollerfamilien kan kjøres på 1,8V. Det gjør det mulig å kjøre kretsen med et veldig lite batteri. For å få det til å kjøre veldig lenge, bestemte jeg meg for å bruke en lavstrøm -LED som når full lysstyrke allerede ved 2ma.
Trinn 3: Skjemaer
Noen kommentarer til skjemaet. Tilbakestillingsinngangen er ikke tilkoblet. Dette er ikke beste praksis. Bedre ville være å bruke en 10K motstand som trekk opp. Men det fungerer fint for meg uten og det sparer en motstand. For å holde kretsen så enkel som mulig brukte jeg den interne oscillatoren. Det betyr at vi sparer en krystall og to små kondensatorer. Den interne oscillatoren lar kontrolleren kjøre på 1,2 MHz, noe som er mer enn nok hastighet for vårt formål. Hvis du bestemmer deg for å bruke en annen strømforsyning enn 5V eller for å bruke en annen LED, må du beregne motstanden R1. Formelen er: R = (Strømforsyning V - LED V) / 0,002A = 1650 Ohm (Strømforsyning = 5V, LED V = 1,7V). Ved bruk av to lavstrøm -LED -er i stedet for en, ser formelen slik ut: R = (Strømforsyning V - 2 * LED V) / 0,002A = 800 Ohm. Vær oppmerksom på at du må justere beregningen hvis du velger en annen type LED. Verdien til motstanden R2 avhenger av brukt LDR. 1KOhm fungerer for meg. Det kan være lurt å bruke et potensiometer for å finne den beste verdien. Cicuit skal kunne detektere lysendringer i normalt dagslys. For å spare strøm, er PB3 bare satt til høy hvis en måling er utført. Oppdatering: skjemaet var misvisende. Nedenfor er en riktig versjon. Takk, dave_chatting.
Trinn 4: Monter på et prototypebrett
Hvis du liker å teste kretsen din, er et brødbrett veldig praktisk. Du kan montere alle delene uten å måtte lodde noe.
Trinn 5: Programmer kretsen
Kontrolleren kan programmeres på forskjellige språk. Mest brukt er Assembler, Basic og C. Jeg brukte C da den passer best til mine behov. Jeg var vant til C for ti år siden og klarte å gjenopplive noe av kunnskapen (vel, bare noen …). For å skrive programmet ditt anbefaler jeg Eclipse med CDT -pluginet. Få eclipse her https://www.eclipse.org/ og pluginet her https://www.eclipse.org/cdt/. For compiling C language to AVR microcontrollers you need a cross compiler. Heldig som vi er, finnes det en havn i den berømte GCC. Den kalles WinAVR og finnes her https://winavr.sourceforge.net/. En veldig god opplæring om hvordan du programmerer AVR-kontrollere med WinAVR er her https://www.mikrocontroller.net/articles/AVR-GCC- Opplæringen. Beklager, den er på tysk, men du kan finne tusenvis av opplæringssider om dette emnet på språket ditt, hvis du søker etter dem. Etter å ha samlet kilden din, må du overføre hex -filen til kontrolleren. Det kan gjøres ved å koble PC -en til kretsen ved hjelp av ISP (i systemprogrammerer) eller ved å bruke dedikerte programmerere. Jeg brukte en dedikert programmerer, da det gjør kretsen litt lettere ved å lagre noen ledninger og en plugg. Ulempen er at du må bytte kontrolleren mellom kretsen og programmereren hver gang du vil oppdatere programvaren. Programmereren min kommer fra https://www.myavr.de/ og bruker USB for å koble til den bærbare datamaskinen min. Det er mange andre rundt, og du kan til og med bygge den selv. For selve overføringen brukte jeg et program som heter avrdude som er en del av WinAVR -distribusjonen. Et eksempel på en kommandolinje kan se slik ut:
avrdude -F -p t13 -c avr910 -P com4 -U blits: w: flickled.hex: iVedlagt kan du få kilden og den kompilerte hex -filen.
Trinn 6: Lodding
Hvis kretsen din fungerer på brødbrettet, kan du lodde den.
Dette kan gjøres på et PCB (trykt cicuit board), på et prototypebrett eller til og med uten et tavle. Jeg bestemte meg for å gjøre det uten, da kretsen bare består av noen få komponenter. Hvis du ikke er kjent med lodding, anbefaler jeg at du søker etter en loddeopplæring først. Mine loddferdigheter er litt rustne, men jeg tror du skjønner ideen. Jeg håper du likte det. Alex
Anbefalt:
Renegade-i (programmerbar IC-tester som føles som den virkelige tingen): 3 trinn (med bilder)
Renegade-i (programmerbar IC-tester som føles som den virkelige tingen): THE MILLION DOLLAR DREAM. Har du noen gang drømt om å ha din egen IC-tester hjemme? Ikke bare en gadget som kan teste IC, men en "programmerbar" maskin som føles som et av flaggskipsproduktene til de største aktørene i semikon -testindustrien, lykkes
Programmerbar RGB LED Sequencer (ved bruk av Arduino og Adafruit Trellis): 7 trinn (med bilder)
Programmerbar RGB LED Sequencer (ved bruk av Arduino og Adafruit Trellis): Mine sønner ønsket at fargeledd -strips skulle lyse opp skrivebordene sine, og jeg ønsket ikke å bruke en hermetisert RGB -stripekontroller, fordi jeg visste at de skulle gå lei av de faste mønstrene disse kontrollerne har. Jeg tenkte også at det ville være en flott mulighet til å lage
Programmerbar klokke med fire tegnvisning: 5 trinn (med bilder)
Programmerbar klokke med firetallsvisning: Du kommer til å snakke om byen når du bruker dette motbydelige, overdimensjonerte, helt upraktiske armbåndsuret. Vis ditt favoritt styggespråk, sangtekster, primtall osv. Inspirert av Microreader -settet bestemte jeg meg for å lage en gigantisk klokke med
Buggy - en slitsom programmerbar LED -skapning: 12 trinn (med bilder)
Buggy - en Crafty programmerbar LED -skapning: Buggy er et programmerbart LED -håndverksprosjekt som bruker et hjemmelaget, ensidig, PCB -kort og en programmerbar AVR Attiny44v mikrokontroller. Buggy har to tofargede LED-øyne og kan føle synlig og IR-lys og avgi lyder ved hjelp av en piezo-høyttaler. Ikke
Programmerbar LED -vifte "En lett bris": 5 trinn (med bilder)
Programmerbar LED -vifte "En lett bris": Dette er et ganske enkelt prosjekt for å lage en programmerbar LED -vifte ved hjelp av programmerbare LED -strips og en bruktbutikkvifte. Alt i alt tok det meg omtrent 2 timer å få alt festet, loddet og testet. Men jeg gjør denne typen ting godt, så det er