Innehållsförteckning:
Video: 3 enkla ATTiny -julklappar: 4 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:48
Varje år rullar semestern och jag fastnar för vad jag ska ge för mina vänner och familj. Folk säger alltid att det är bättre att göra presenten själv än att köpa den i en butik så i år gjorde jag just det. Den första visar ett namn eller en grundbild när den vinkas genom luften, den andra bleknar smidigt mellan två vita lysdioder (den har också en säkerhetsnål för att fästa den på kläder eller en plånbok), och den tredje är ett slags stämningsbelysning, rullande sömlöst mellan färger. Alla är under $ 15 och är lätta att montera på mindre än en timme. Du kan också ge dessa instruktioner samt delar som en gåva till någon som är intresserad av att lära sig elektronik.
Obs: En grundläggande nivå av lödning antas. Men till skillnad från min tidigare instruerbara kommer jag att överväga hur man programmerar en AVR. Jag hoppas verkligen att det här hjälper människor som försöker komma igång med elektronik. Jag kommer ihåg när jag var där och tar gärna emot eventuella frågor du kan ha. Kom ihåg att det inte finns några dumma frågor! Jag har lämnat det öppet för dig att avgöra hur du ska lägga upp ditt kretskort i hopp om att du kommer på ett nytt sätt att visa de enkla kretsarna jag har ritat ut. Lägg upp bilder när du är klar, jag kan inte vänta med att se vad du hittar på! Delar till alla projekt N = antal projekt x N ATTiny45 (www.digikey.com) x N 8-stifts DIP-uttag (RadioShack) x 1 Large Perf Board (jag fick mitt på RadioShack) x N 3v myntcellsbatteri och hållare (RadioShack) x1 programmerare (jag använder detta och den medföljande makefilen kommer att konfigureras för att använda den här) x2 N motstånd, en 10 ohm och en 10k ohm (RadioShack) Här är en bild av de tre genomförda projekten:
Steg 1: Namnblinkaren
Övriga delar x5 DIFFUSED 3mm LED's (RadioShack) Detta projekt använder visionens beständighet för att visa en bild eller text när den flyttas snabbt. Det fungerar bättre när det är mörkt. Med AVR växlar vi mellan lysdioder snabbare då ögat kan se att vi kan skapa en bild i luften med mycket få komponenter. Koden: (Ladda ner.zip -filen längst ner på sidan för koden, makefilen, etc. (Den koden har inte de omfattande kommentarer som den här koden gör, men om den inte fungerar, prova den i zip -fil)) #define F_CPU 1000000 #include #include void dispClear () {PORTB = ~ 0b00000000; } int main () {DDRB = 0xFF; // För er som aldrig har läst C innan dubbelstrecket indikerar en kommentar. Detta anger stiften på avr som en utgång char x = 10; // x används för att ställa in fördröjningstiden. Att öka värdet ger en långsammare växling mellan pixlar, minskar, en lägre medan (1) // While (villkoret är sant); {Gör detta} (Sant i C är 1) {PORTB = ~ 0b00010001; // Min kompis heter Zoe så jag ritade ut karaktärerna på grafpapper och sedan tillräknade dem i PORTB. De tre första nollorna spelar ingen roll eftersom det bara är fem lysdioder anslutna. En i en av de återstående fem blankstegen indikerar att lysdioden är tänd, en noll, släckt. _fördröjning_ms (x); // fördröjning i milisekunder PORTB = ~ 0b00010011; _fördröjning_ms (x); PORTB = ~ 0b00010101; _fördröjning_ms (x); PORTB = ~ 0b00011001; _fördröjning_ms (x); PORTB = ~ 0b00010001; _fördröjning_ms (x); dispClear (); // Öppet utrymme mellan tecken _delay_ms (x); PORTB = ~ 0b00001110; _fördröjning_ms (x); PORTB = ~ 0b00010001; _fördröjning_ms (x*3); PORTB = ~ 0b00001110; _fördröjning_ms (x); dispClear (); _fördröjning_ms (x); PORTB = ~ 0b00011111; _fördröjning_ms (x); PORTB = ~ 0b00010101; _fördröjning_ms (x); PORTB = ~ 0b00010001; _fördröjning_ms (x); dispClear (); _fördröjning_ms (x*5); // Ordet är gjort så för klarhet har jag ett större mellanrum mellan ord}} Följ nu instruktionerna på sidan 4 för att kompilera den här koden och skicka den till din AVR.
Steg 2: Purse Light
Övriga delar x2 lysdioder NON DIFFUSED (RadioShack) Detta projekt bleknar smidigt mellan två lysdioder. Min mamma ville att något skulle gå på hennes handväska för att hjälpa henne att bli sett på natten. Jag kände att ett blinkande cykelljus skulle dra för mycket uppmärksamhet så jag gjorde det här. Den använder PWM (Pulse Width Modulation) för att ge effekten av dimning och ljusning. Det som faktiskt händer är att lysdioden blinkar snabbare än ögat kan se med varierande intervall för att simulera en förändring. Du kan se detta tydligare när du vinkar in det i ditt ansikte som du skulle göra med Namnblinkaren. Koden kan laddas ner i slutet av denna sida. Se sidan 4 om hur du kompilerar till din AVR. Istället för att kommentera koden här ska jag kort förklara konceptet. PWM genereras av en timer. Varje klockcykel räknar timern upp en. När den når ett visst värde (i det här fallet OCR1B) ändras tillståndet för en stift (I det här fallet OC1B). För att få lysdioderna att "stänga av" kopplade jag den andra till [OPPOSITE] OC1B (Det är vad stapeln överst betyder). Sedan använder vi x för att öka och minska tiden för lysdioderna.
Steg 3: Color Scroller
Andra Partsx1 RGB LED (diffust är bättre) (RadioShack) Detta är för mig en klassiker. Jag har alltid fascinerats av sådana här lampor och tycker att de är mycket lugnande så naturligtvis ville jag göra en. Också deras synlighet i samhället ger dem en verklig WOW -faktor. "GJORDE du det ?!" Koden är nästan densamma och enligt min mening lättare att läsa. Du kan ladda ner den längst ner. Den här gången tillhandahåller vi en PWM'd -stift för varje jordningsstift på RGB -lysdioden. På detta sätt maler vi genom chipet. Volt kan mätas som skillnaden mellan två punkter. 3v-0v = 3v 5v-2v = 3v *** 3v-3v = 0v *** Denna sista instans är vad vi gör när vi maler genom chipet. När det finns tre volt på båda sidor, per säg, finns det inte tillräckligt med volt för att driva en LED. Så för att blekna mellan färgerna valde vi en färg och en annan färg. Ställ in en lika med x och den andra lika med 255-x eller INVERSE av x. Som vi gjorde i det förra projektet. Gå nu till steg 4 för att programmera.
Steg 4: Programmering
Ladda ner och installera först Emacs, avr-gcc och Avrdude och alla beroende de kan ha. På Arch linux gjorde jag detta med: sudo pacman -Sy emacs avrdude
Nu är det dags att ansluta din programmerare till din avr. Anslut stiften på den 6-poliga ISP-programmeraren (bilden nedan) till de motsvarande stiften på din AVR (datablad, sida 2) (jag gjorde detta på ett brödbräda). Anslut nu programmeraren till din dator och rör MYCKET snabbt på AVR: s ovansida. Om det är varmt, TA BORT PROGRAMMERAREN FRÅN DIN DATOR EN gång Kontrollera dina anslutningar och försök igen (Ström och Gnd bakåt?). Om det inte är varmt öppnar du emacs och trycker på Ctl-x Ctl-f för att hitta.c-filen. Öppna den och tryck sedan på Meta (Vanligt Alt) -x och skriv kompilera. Tryck två gånger på enter och om du har tur ska din AVR nu köra din kod! Tack för att du läser! Jag hoppas att du tyckte om det och lärde dig något. Tveka inte att ställa frågor och glöm inte att lägga upp bilder på vad du hittar på. Trevlig helg och glöm inte att rösta!
Rekommenderad:
Hur man gör 4G LTE dubbel BiQuade -antenn enkla steg: 3 steg
Hur man gör 4G LTE dubbel BiQuade-antenn Enkla steg: För det mesta har jag inte haft bra signalstyrka för mina dagliga arbeten. Så. Jag söker och testar olika typer av antenner men fungerar inte. Efter bortkastad tid hittade jag en antenn som jag hoppas kunna göra och testa, eftersom den inte är byggnadsprincip
DIY Vanity Mirror i enkla steg (med hjälp av LED Strip Lights): 4 steg
DIY Vanity Mirror i enkla steg (med hjälp av LED Strip Lights): I det här inlägget gjorde jag en DIY Vanity Mirror med hjälp av LED -remsorna. Det är riktigt coolt och du måste också testa dem
Spela Doom på din iPod i 5 enkla steg !: 5 steg
Spela Doom på din iPod i 5 enkla steg !: En steg-för-steg-guide om hur du dubbelstartar Rockbox på din iPod för att spela Doom och dussintals andra spel. Det är något väldigt enkelt att göra, men många blir fortfarande förvånade när de ser mig spela undergång på min iPod och blir förvirrade med instruktionen
Arduino Uno fiskmatare i 6 billiga och enkla steg !: 6 steg
Arduino Uno Fish Feeder i 6 billiga och enkla steg !: Så lite bakgrundshistoria kan behövas för detta projekt. Människor med sällskapsdjurfisk presenterades förmodligen med samma problem som jag: semester och glömska. Jag glömde ständigt att mata mina fiskar och försökte alltid göra det innan det gick till
PCB -design med enkla och enkla steg: 30 steg (med bilder)
PCB -design med enkla och enkla steg: HEJ VÄNNER Dess mycket användbara och enkla handledning för dem som vill lära sig PCB -design kommer kan börja