Innholdsfortegnelse:
Video: 3 enkle ATTiny -julegaver: 4 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:26
Hvert år ruller ferien rundt, og jeg sitter fast på hva jeg skal gi for venner og familie. Folk sier alltid at det er bedre å lage gaven selv enn å kjøpe den i en butikk, så i år gjorde jeg nettopp det. Den første viser et navn eller et grunnleggende bilde når den vinkes gjennom luften, den andre falmer jevnt mellom to hvite lysdioder (Den har også en sikkerhetsnål for å feste den til klær eller en veske), og den tredje er et slags stemningslys, ruller sømløst mellom farger. Alle er under $ 15 og er enkle å montere på mindre enn en time. Du kan også gi disse instruksjonene samt deler som en gave til noen som er interessert i å lære elektronikk.
Merk: Det forutsettes et grunnleggende nivå av lodding. Imidlertid, i motsetning til min forrige instruerbare, vil jeg se nærmere på hvordan jeg programmerer en AVR. Jeg håper virkelig at dette hjelper folk som prøver å komme i gang med elektronikk. Jeg husker da jeg var der og vil gjerne svare på alle spørsmål du måtte ha. Husk det er ingen dumme spørsmål! Jeg har overlatt det åpent for deg å bestemme hvordan du vil legge ut kretskortet ditt i håp om at du vil finne en ny måte å vise de enkle kretsene jeg har tegnet ut. Vennligst legg ut bilder når du er ferdig, jeg kan ikke vente med å se hva du finner på! Deler til alle prosjektene N = antall prosjekter x N ATTiny45 (www.digikey.com) x N 8-pinners DIP-kontakt (RadioShack) x 1 Large Perf Board (jeg fikk mitt på RadioShack) x N 3v myntcellebatteri og holder (RadioShack) x1 programmerer (jeg bruker denne og den medfølgende makefilen vil bli konfigurert til å bruke denne) x2 N motstander, en 10 ohm og en 10k ohm (RadioShack) Her er et bilde av de tre fullførte prosjektene:
Trinn 1: Navnelyset
Andre deler x5 DIFFUSED 3mm LED's (RadioShack) Dette prosjektet bruker vedvarende syn for å vise et bilde eller en tekst når den flyttes raskt. Det fungerer bedre når det er mørkt. Med AVR bytter vi mellom lysdioder raskere, så kan øyet se at vi kan lage et bilde i luften med svært få komponenter. Koden: (Last ned.zip -filen nederst på siden for koden, makefilen osv. (Den koden har ikke de omfattende kommentarene som denne koden gjør, men hvis denne koden ikke fungerer, kan du prøve den i zip -fil)) #define F_CPU 1000000 #include #include void dispClear () {PORTB = ~ 0b00000000; } int main () {DDRB = 0xFF; // For de av dere som aldri har lest C før dobbel skråstrek indikerer en kommentar. Dette setter pinnene til avr som en utgangstegn x = 10; // x brukes til å angi forsinkelsestiden. Å øke verdien gir en langsommere veksling mellom piksler, synker, en lavere stund (1) // While (betingelsen er sann); {Do This} (True i C er 1) {PORTB = ~ 0b00010001; // Min venn heter Zoe, så jeg tegnet ut tegnene på grafpapir og deretter tilregnet dem i PORTB. De tre første nullene spiller ingen rolle fordi det bare er fem LED -er tilkoblet. En av en av de fem mellomrommene indikerer at lysdioden er på, null, av. _forsinkelse_ms (x); // forsinkelse i milisekunder PORTB = ~ 0b00010011; _forsinkelse_ms (x); PORTB = ~ 0b00010101; _forsinkelse_ms (x); PORTB = ~ 0b00011001; _forsinkelse_ms (x); PORTB = ~ 0b00010001; _forsinkelse_ms (x); dispClear (); // Åpen plass mellom tegn _delay_ms (x); PORTB = ~ 0b00001110; _forsinkelse_ms (x); PORTB = ~ 0b00010001; _forsinkelse_ms (x*3); PORTB = ~ 0b00001110; _forsinkelse_ms (x); dispClear (); _forsinkelse_ms (x); PORTB = ~ 0b00011111; _forsinkelse_ms (x); PORTB = ~ 0b00010101; _forsinkelse_ms (x); PORTB = ~ 0b00010001; _forsinkelse_ms (x); dispClear (); _forsinkelse_ms (x*5); // Ordet er gjort, så for klarhet har jeg et større mellomrom mellom ordene}} Følg nå instruksjonene på side 4 for å kompilere denne koden og sende den til AVR -en.
Trinn 2: Lommeboken
Andre deler x2 LED'S NON DIFFUSED (RadioShack) Dette prosjektet blekner jevnt mellom to LED -er. Moren min ønsket at noe skulle gå på vesken hennes for å hjelpe henne å bli sett om natten. Jeg følte at et blinkende sykkellys ville tiltrekke for mye oppmerksomhet, så jeg lagde dette. Den bruker PWM (Pulse Width Modulation) for å gi effekten av dimming og lysere. Det som faktisk skjer er at LED -lampen blinker raskere enn øyet kan se med varierende intervaller for å simulere en endring. Du kan se dette tydeligere når du vinker det inn i ansiktet ditt som du ville gjort med Name Flasher. Koden kan lastes ned på slutten av denne siden. Se side 4 om hvordan du kompilerer til AVR -en. I stedet for å kommentere koden her, skal jeg kort forklare konseptet. PWM genereres av en timer. Hver klokkesyklus teller timeren en. Når den når en viss verdi (I dette tilfellet OCR1B) endrer den tilstanden til en pinne (I dette tilfellet OC1B). For å få lysdiodene til å "slå av", koblet jeg den andre til [OPPOSITE] OC1B (Det er det som betyr at linjen på toppen). Deretter bruker vi x for å øke og redusere tiden det skal være for LED -lampene å være på.
Trinn 3: Color Scroller
Andre Partsx1 RGB LED (diffust er bedre) (RadioShack) Dette er for meg en klassiker. Jeg har alltid blitt fasinert av lys som dette og synes det er veldig beroligende, så naturligvis ønsket jeg å lage et. Også deres synlighet i samfunnet gir dem en virkelig WOW -faktor. "GJORDE du det ?!" Koden er nesten den samme og etter min mening lettere å lese. Du kan laste den ned nederst. Denne gangen gir vi en PWM -pin for hver jordingstapp på RGB -LED -en. På denne måten males vi gjennom brikken. Volt kan måles som forskjellen mellom to punkter. 3v-0v = 3v 5v-2v = 3v *** 3v-3v = 0v *** Denne siste forekomsten er det vi gjør når vi maler gjennom brikken. Når det er tre volt på begge sider, per si, er det ikke nok volt til å drive en LED. Så for å falme mellom farger valgte vi en farge og en annen farge. Sett den ene lik x og den andre lik 255-x eller INVERSE av x. Som vi gjorde i forrige prosjekt. Gå nå til trinn 4 for å programmere.
Trinn 4: Programmering
Last ned og installer først Emacs, avr-gcc og Avrdude og eventuelle avhengigheter de måtte ha. På Arch linux gjorde jeg dette med: sudo pacman -Sy emacs avrdude
Nå er det på tide å koble programmereren til avr. Koble pinnene på den 6-pinners ISP-programmereren (bildet nedenfor) til de tilsvarende pinnene på AVR-enheten (datablad, side 2) (jeg gjorde dette på et brødbrett). Koble nå programmereren til datamaskinen og berør VELDIG toppen av AVR. Hvis det er varmt, FJERN DU PROGRAMMEREN FRA DATAMASKINEN DITT, sjekk tilkoblingene dine og prøv igjen (strøm og Gnd bakover?). Hvis det ikke er varmt, åpner du emacs og trykker på Ctl-x Ctl-f for å finne.c-filen. Åpne den og trykk deretter Meta (Vanlig Alt) -x og skriv kompilere. Trykk enter to ganger, og hvis du er heldig, skal AVR -en din nå kjøre koden din! Takk for at du leste! Jeg håper du likte det og lærte noe. Ikke nøl med å stille spørsmål, og ikke glem å legge ut bilder av det du finner på. God jul og ikke glem å stemme!
Anbefalt:
Hvordan lage 4G LTE Double BiQuade Antenna enkle trinn: 3 trinn
Hvordan lage 4G LTE dobbel BiQuade-antenne til enkle trinn: Mesteparten av tiden jeg møtte, har jeg ikke god signalstyrke til det daglige arbeidet mitt. Så. Jeg søker og prøver forskjellige typer antenner, men fungerer ikke. Etter bortkastet tid fant jeg en antenne som jeg håper å lage og teste, fordi det ikke er byggeprinsipp
DIY Vanity Mirror i enkle trinn (ved bruk av LED -stripelys): 4 trinn
DIY Vanity Mirror i enkle trinn (ved hjelp av LED Strip Lights): I dette innlegget laget jeg et DIY Vanity Mirror ved hjelp av LED strips. Det er veldig kult, og du må prøve dem også
Spill Doom på din iPod i 5 enkle trinn !: 5 trinn
Spill Doom på din iPod i 5 enkle trinn !: En trinnvis veiledning om hvordan du kan starte Rockbox på iPod to ganger for å spille Doom og dusinvis av andre spill. Det er noe veldig enkelt å gjøre, men mange blir fortsatt overrasket når de ser meg spille undergang på min iPod, og blir forvirret med instruksjonen
Arduino Uno fiskemater i 6 billige og enkle trinn !: 6 trinn
Arduino Uno Fish Feeder i 6 billige og enkle trinn !: Så det kan være nødvendig med litt backstory for dette prosjektet. Personer med kjæledyrfisk ble sannsynligvis presentert for det samme problemet som meg: ferier og glemsomhet. Jeg glemte hele tiden å mate fisken min og klarte alltid å gjøre det før det gikk til s
PCB -design med enkle og enkle trinn: 30 trinn (med bilder)
PCB -design med enkle og enkle trinn: HELLO VENNER Den veldig nyttige og enkle opplæringen for de som ønsker å lære PCB -design, kan komme i gang