Innholdsfortegnelse:

Programmerbar LED: 6 trinn (med bilder)
Programmerbar LED: 6 trinn (med bilder)

Video: Programmerbar LED: 6 trinn (med bilder)

Video: Programmerbar LED: 6 trinn (med bilder)
Video: Смерть в отеле: Что произошло с девушкой, которую никто не знал? 2024, November
Anonim
Programmerbar LED
Programmerbar LED

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 og verktøy
Materialer og verktøy
Materialer og verktøy
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

Skjemaer
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

Monter på et prototypebrett
Monter på et prototypebrett
Monter på et prototypebrett
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

Programmer kretsen
Programmer kretsen
Programmer kretsen
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

Lodding
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: