Indholdsfortegnelse:

Baglygte med et twist: 9 trin (med billeder)
Baglygte med et twist: 9 trin (med billeder)

Video: Baglygte med et twist: 9 trin (med billeder)

Video: Baglygte med et twist: 9 trin (med billeder)
Video: 4 RIGTIGE SKÆMME HISTORIER TIL MOTEL: RIGTIGE SKÆMME HISTORIER ANIMERET MED FOTAGE 2024, Juli
Anonim
Baglygte med et twist
Baglygte med et twist
Baglygte med et twist
Baglygte med et twist
Baglygte med et twist
Baglygte med et twist

Lad os se det i øjnene. Baglygter er kedelige.

I bedste fald blinker de - blink på mig! Jeg blinker - woohoo 'hele tiden. Og de er altid røde. Meget kreativ. Vi kan bedre end det, måske ikke meget, men stadig bedre end bare 'blink blink'. Jeg kørte på min cykel under nytårsfester og folk kunne lide det, og ikke alle var fulde;-) Resten er ret ligetil: 2x AA-celler, boost-konverter til 5V, nogle RGB-lysdioder, den obligatoriske mikrokontroller, brugerdefineret printkort fra BatchPCB, perfboard og det sædvanlige loddeudstyr.

Trin 1: Hovedskema

Hovedskema
Hovedskema
Hovedskema
Hovedskema
Hovedskema
Hovedskema
Hovedskema
Hovedskema

Virkelig ikke noget særligt. Hvis du ved, hvordan du tilslutter en AVR -chip på et brødbræt eller en Arduino på et brødbræt, hvis du bedre kan lide det, har du ingen problemer med denne. Jeg brugte KICAD til at designe det skematiske og printkort. KICAD er open source og i modsætning til eagle, som også har en gratis (som gratis) version, er der absolut ingen begrænsninger i størrelsen på brædder, du kan lave. Du får også gerber -filer, der fungerer med ethvert fab -hus, du ønsker. F.eks. BatchPCB havde ingen problemer med dem.

I skematikken finder du bare cpu'en, lysdioderne, et par modstande og kondensatorer. Det er alt. Der er også et par overskrifter. Brædderne har et ICSP -header til at blinke en bootloader og et 6 -pins header til bekvem seriel upload. De sidste 2 overskrifter er spejlet og indeholder strøm, I2C og yderligere to GPIO/ADC -ben. 3 GPIO -ben med 3 strømbegrænsende modstande bruges til at levere strøm til alle 8 anoder i en enkelt farve. Individuelle lysdioder tændes eller slukkes ved hjælp af 8 GPIO -ben til at drive katoderne. Afhængigt af driftstypen er lysdioderne enten multipleksede (PWM for flere farver) eller fuldt tændte (højere lysstyrke). Nogle oplysninger om de pakker, jeg brugte til dette kort: - ATmega168-20AU: TQFP32 SMD - LED: PLCC6 5050 SMD - Modstande: 0805 SMD - Kondensatorer: 0805 SMD, 1206 SMD

Trin 2: Håndtering af lysdioderne

Beskæftiger sig med lysdioderne
Beskæftiger sig med lysdioderne

Jeg vil ikke gå i detaljer her, da dette er blevet dækket andre steder flere gange. Du skal bare sørge for, at du ikke overskrider mikrokontrollerens maksimale udgangsstrøm pr. Ben (ca. 35mA eller deromkring for AVR'er). Det samme er tilfældet for LED'ernes strøm. Som du kan gætte på billedet, brugte jeg en af SMD LED'erne til at finde ud af modstandsforholdet for at få velafbalanceret hvidt lys. Der er tre 2k noget potentiometre på den anden side. Det er alt. I dette tilfælde endte jeg med modstande fra 90 til 110Ω, men det afhænger af den slags LED, du får. Brug bare et standardmultimeter til at bestemme LED'ens fremspændinger V_led, og du er i gang.

Ved hjælp af Ohms lov kan du beregne værdierne for strømbegrænsningsmodstande for små lysdioder sådan: R = (V_bat - V_led) / I_led I_led bør ikke overskride nogen strømgrænse for de dele, du bruger. Denne fremgangsmåde er også kun god til applikationer med lav strøm (måske op til 100mA) og bør ikke bruges til Luxeon eller CREE LED'er! Strømmen gennem LED'er er temperaturafhængig, og der skal bruges en konstant strømdriver. Hvis du har brug for mere information om dette emne, vil wikipedia have nogle oplysninger. Det kan være nyttigt at søge efter halvleders elektriske ledningsevne (lav/høj doping osv.) Eller negativ temperaturkoefficient. Jeg har brugt 6pin SMD RGB LED'er uden at kombinere noget. Hvis du googler efter dem, får du mange resultater. De magiske ord er "SMD, RGB, LED, PLCC6 5050". 5050 er metriske dimensioner for x og y i enheder på 0,1 mm. På ebay finder du dem også for så lavt som 50 ¢ pr. Stykke for ordrer med store mængder. Pakker med 10 sælges i øjeblikket for omkring 10 dollars. Jeg ville få mindst 50;-)

Trin 3: Bagplan og strømkilde

Bagplan og strømkilde
Bagplan og strømkilde

Bagplanet giver strøm og en fælles I2C -bus til begge tavler. Hvert kort har 8 RGB LED'er og en ATmega168 mcu, der kører med sin interne oscillator ved 8MHz. Sidstnævnte kræver synkronisering mellem kortene og/eller omkalibrering af oscillatorerne. Dette problem vises igen i kodesektionen.

Skematikken for 5V boost -konverteren blev taget fra Maxim MAX756s datablad uden nogen ændringer. Du kan bruge enhver anden chip, du finder passende, der kan levere omkring 200mA ved 5V. Bare sørg for, at den eksterne del er lav. Normalt skal du bruge mindst 2 elektrolytkondensatorer, en Schottky -diode og en induktor. Referencedesignet i databladet har alle tallene. Jeg brugte FR4 -plader af høj kvalitet til dette job. De billigere kolofoniumbaserede plader kan også fungere, men de går for let i stykker. Jeg vil ikke have, at brædderne går i opløsning på en ujævn tur. Hvis du allerede ejer en 'MintyBoost', kan du også bruge det, hvis du kan få det til at passe på din cykel.

Trin 4: Du skal have noget kode

Du skal have noget kode!
Du skal have noget kode!
Du skal have noget kode!
Du skal have noget kode!

I tilstand med høj lysstyrke understøtter kortet 6 forskellige farver + hvid. Farven vælges ved at indstille 3 GPIO -ben til høj eller lav. På den måde kan alle otte lysdioder være fuldt tændte, men kun vise den samme farve.

I PWM -tilstand indstilles farven ved at anvende et pulsbreddemoduleret signal på de 3 GPIO -ben og multiplexere de 8 lysdioder. Dette reducerer den generelle lysstyrke, men nu er individuel farvekontrol mulig. Dette gøres i baggrunden af en afbrydelsesrutine. Grundlæggende funktioner er tilgængelige for at indstille LED'erne en bestemt farveværdi, enten ved hjælp af en RGB -triplet eller en HUE -værdi. Enheden er programmeret i C ved hjælp af Arduino IDE for nemheds skyld. Jeg har vedhæftet den aktuelle kode, jeg bruger. Opdaterede versioner er tilgængelige på min blog. Du kan gennemse GIT -arkivet ved hjælp af gitweb -grænsefladen. Mange dumme programmeringsfejl vil dukke op, det er jeg sikker på;-) Den anden figur illustrerer PWM-generation. En hardwaretæller tæller fra BUNDT til TOP. Når tælleren er større end et bestemt tal, der repræsenterer en ønsket farve, skiftes output. Når tælleren har nået sin TOP -værdi, nulstilles alt. LED'ens opfattede lysstyrke er noget proportional med signalets on-time. Det er strengt taget løgn, men lettere at forstå.

Trin 5: Se det i aktion

Se det i aktion
Se det i aktion

Bare nogle indledende tests. Ja det kan også lave fulde RGB-farver;-)

Test i den virkelige verden. Ja vi havde lidt sne, men det var før jul. Nu har vi lidt sne igen. Men som sædvanlig var det kun regn i juleferien og nytårsfester. Ignorer venligst mig stønnede ved cirka midten af videoen, jeg er ved at blive gammel, så det bliver lidt svært at sætte sig på hug. Endelig nogle lidt forbedrede effekter. Mission fuldført. Nørdede baglygter og ulovligt, hvor jeg også bor;-) Jeg er ret sikker på, at jeg ikke længere bliver ignoreret af søvnige eller uvidende bilister. Ved at indstille tidspunkterne lidt, kan du oprette temmelig irriterende effekter, der er gode blikfang. Især om natten. Da der er 4 GPIO/ADC -ben på kortene (2 kan bruges til at bygge et lille I2C -netværk), skal det være let at tilslutte en trykknap for at udløse alle mulige effekter. Tilslutning af en CdSe fotomodstand ville også fungere. De samlede materialepriser er omkring 50 $. Den største del gik ind i printkortene. Lav mængde ordre straf som normalt. I analogi med en engang udbredt tv -reklame for et mobiltelefonfirma i USA, lad mig spørge dig om dette: "Kan du SE mig nu? - Godt."

Trin 6: Opdateret design

Opdateret design
Opdateret design
Opdateret design
Opdateret design
Opdateret design
Opdateret design
Opdateret design
Opdateret design

Jeg har ændret et par ting her og der.

Mest bemærkelsesværdig er tilføjelsen af en lavfaldsspændingsregulator. Nu kan tavlen køre med alt fra 4 til 14V DC. Jeg har også ændret printkortets farve til gul og tilføjede jumpere for at deaktivere automatisk nulstilling og for at omgå spændingsregulatoren, hvis det ikke er nødvendigt. Demokode til greb og monteringsinstruktioner. Du finder også KiCAD -filer og en skematisk der. Hvis du vil have en, kan du finde mere information på min blog.

Trin 7: For stor

Næste ting på listen: Tic Tac Toe

Trin 8: Mere let hack

Ved at tilføje 3 ledninger og 3 modstande mere kan lysstyrken fordobles. Nu bruges to GPIO -ben pr. Farve til at skaffe strøm.

Trin 9: Flere opdateringer

Flere opdateringer
Flere opdateringer

Så jeg har endelig skiftet fra 'dum' interrupt -drevet PWM til BCM (Binary Code Modulation). Dette reducerer drastisk CPU -tiden brugt på at sno LED -stifterne og øger lysstyrken ganske meget. Den helt forbedrede kode findes på github. De første par sekunder af videoen viser forbedringen i venstre bord. Indtil den næste hardware -revision af dette kort er ude (venter på at tavlerne kommer), vil dette tilføre behovet for 'mere lys' lidt. Det vil være smertefuldt at se på de nye brædder, der kører fuldt blast.

Anbefalede: