Indholdsfortegnelse:
Video: Holiday Ornament PCB: 3 trin (med billeder)
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:27
Hey alle sammen!
Det er den tid på året og sæsonen for udveksling af gaver næsten over os. Jeg nyder personligt at komme til at lave ting og dele dem med familien. I år besluttede jeg at lave feriepynt ved hjælp af Atting85 og nogle WS2812C 2020 LED'er. Ornamentet er cirka 80 mm i diameter, så det er en rimelig størrelse ornament til træet. Hvis du ikke er en træperson, ved du hvad, det er også et godt skrivebordspynt. WS2812C 2020 LED'erne er utroligt lyse små buggers, så du skal ikke bekymre dig om, at det er for svagt haha. Jeg har testet det ved 3,3 volt med et strømforbrug på 0,013 ampere og derefter for 5 volt var det aktuelle forbrug 0,023 ampere. Du kan enten forsyne dette kort med en direkte 5 volt på bagsiden eller via mikro -USB -stikket på bagsiden. Jeg kunne tilslutte dette til min bærbare computer og tænde det. Der er også en mulighed på bagsiden til at forsyne den med andre strømkilder med maksimalt 30 volt, men det stoler på databladet til 78L05 5V -regulatoren, jeg ville ikke skubbe det så langt.
Læs venligst hele guiden igennem, før du bygger denne. Lær af mine fejltagelser, tillid til mig, jeg laver normalt meget og kan dele mine visdomsperler.
Hvis du er interesseret i at købe et færdiglavet PCB eller bare PCB'et, kan du besøge min tindie -butik.
Forbrugsvarer
Lad os starte med alle de værktøjer, du skal bruge til selv at bygge en af disse ornamenter. Dette er faktisk et af mine få projekter, der ikke kræver en betydelig mængde værktøjer, hvilket er godt for dig!
Værktøjer
- Varmepistol (primært værktøj)/loddejern (fejlfikser)
- ESD pincet
- Isopropylalkohol
- SMT stencil (kan varmt anbefales)
- Loddemasse (jeg bruger en lavtemperatur blyfri loddemasse, der sælges på Amazon)
Forbrugsvarer
- x10 WS2812 2020 LED'er
- x1 Attiny85 mikrokontroller
- x11 0.1uf 0603 Kondensatorer
- x1 0.1uf 0402 Kondensator (Du kan slippe afsted med en 0603 Cap)
- x1 SMD Micro USB -stik
- x1 1,5K Ohm modstand
- x1 4.7uf 0805 kondensator
- x1 78L05 5V regulator
- x1 SOD123 Diode (jeg brugte en ledning som erstatning, da dette ikke er nødvendigt, men jeg glemte at fjerne det, da jeg designede tavlen)
- x2 SOD323 Dioder
- x2 66,5 Ohm modstande (Du kan også bruge x2 24 -Ohm modstande også her, jeg tror, at ethvert matchende par faktisk vil gøre det - ikke citer mig)
Valgfri
- x1 24 Ohm modstand
- x1 30 Ohm modstand
(Disse er til en spændingsdeler, hvis du ville måle indgangsspændingen til en lavspændingsmonitor - bare en mulighed)
Trin 1: Montering
Monteringsprocessen er ret ligetil. Sørg for at orientere dele korrekt, og du bør ikke støde på problemer. Ved du hvad, hvis du er som mig og absolut intet virker første gang … bogstaveligt talt ingenting, smider jeg nogle fejlfindingstrin i slutningen.
Først og fremmest skal du bruge den stencil nu … Jeg har vedhæftet 1: 1 skala PCB PDF -fil, så du kan rastre den på din egen laserskærer. Hvis du har brug for et snit til dig, så skriv til mig, det gør jeg også. Ellers gør dette med hånden dig til en dygtig bada $$.
Hvis du har erfaring med at lave PCB'er, er det her du vil gå videre og sikre din stencil, spred din loddemasse bla bla bla du får det. For dem, der aldrig har gjort dette, skal du ikke bekymre dig, se en YouTube -video eller to. Sørg for, at din justering er perfekt, før du spreder din loddemasse og let citronsaft.
Fjern forsigtigt din stencil, og lad os begynde at placere dele !!
Observer mit omhyggeligt tegnede billede for dig, lavet med kærlighed og øm omhu.
- Mørk lilla = 0.1uf 0603
- Blå = dioder
- Kalkgrøn = 4,7 uf 0805 (kunne sandsynligvis bruge 0603)
- Lilla = Wire bridge
- Lyserød = Spændingsdeler modstande
- Rød = WS2812C LED'er (Vær opmærksom på deres retning, den mørkere del vil være i bunden)
- Gul = 78L05 5V regulator 100mA
Vil du vide, hvad den anden gule markering er til? Er du sikker? Tja … DET ER ET FEJL OK! Jeg satte en freakin jord via i signalet spor, bogstaveligt talt smæk dab i midten OK. HVORFOR … JEG VED IKKE.
Jeg afviger. Efter timer med smertefuldt at trække mit hår ud, indså jeg min fejl. For at fikse det, måtte jeg ikke bare bore jorden ud via, men bore et utroligt lille hul gennem brættet og forbinde signalsporet med en lille ledning. Jeg brugte noget flydende elektrisk tape til at sikre og dække min fejl. Du kan ikke se det særlig godt, når det er dækket gudskelov.
Jeg vil også rette dette, hvis du køber et bræt fra mig, så du skal ikke bekymre dig der.
Trin 2: Kodning
Så før jeg designede dette, tænkte jeg, "Åh små WS2812 lysdioder, de skal bruge den samme kode som WS2812b's, dette bliver en tur i parken!" FORKERT
Disse bruger ikke den samme timing som WS2812b LED'erne, så der er en indlæringskurve eller et bjerg afhængigt af din komfort med kodning.
Efter et mindre "Oh $ hit" -øjeblik fandt jeg denne blog af Josh Levin. Så råb til ham for at hjælpe mig med at finde ud af det. Jeg brugte en betydelig mængde af hans kode og ændrede den til at arbejde med disse tavler. Tjek hans blog, hvis du vil forstå, hvordan denne kode fungerer. Koden jeg postede får en regnbue til at påvirke. Det er muligt, så lav solide farver, hvis det er din ting.
En mindre ting er, at jeg ikke kan finde ud af at dæmpe disse lysdioder, da de er virkelig lyse. Måske kunne nogen efterlade en kommentar og hjælpe mig.
#include #define PIXELS 3000 #define PIXEL_PORT PORTB #define PIXEL_DDR DDRB #define PIXEL_BIT 0 #define T1H 700 #define T1L 320 #define T0H 320 #define T0L 700 #define RES 300000 #define NS_PER_SEC_PER_SEC_PER_SEC_PER_SEC_PER_SEC_SEC_PER_SEC_PER_SEC_PER_SEC_PER_SEC_PER_SEC_PER_LINE #define NS_PER_CYCLE (NS_PER_SEC / CYCLES_PER_SEC) #define NS_TO_CYCLES (n) ((n) / NS_PER_CYCLE)
inline void sendBit (bool bitVal) {
hvis (bitVal) {asm volatile ("sbi %[port], %[bit] n / t" ".rept %[onCycles] n / t" "nop / n / t" ".endr / n / t "" cbi %[port], %[bit] n / t "".rept %[offCycles] n / t "" nop / n / t "".endr / n / t ":: [port]" I "(_SFR_IO_ADDR (PIXEL_PORT)), [bit]" I "(PIXEL_BIT), [onCycles]" I "(NS_TO_CYCLES (T1H) - 2), [offCycles]" I "(NS_TO_CYCLES (T1L) - 2));
} andet {
asm flygtig ("sbi %[port], %[bit] n / t" ".rept %[onCycles] n / t" "nop / n / t" ".endr / n / t" "cbi %[port], %[bit] n / t "".rept %[offCycles] n / t "" nop / n / t "".endr / n / t ":: [port]" I "(_SFR_IO_ADDR (PIXEL_PORT)), [bit] "I" (PIXEL_BIT), [onCycles] "I" (NS_TO_CYCLES (T0H) - 2), [offCycles] "I" (NS_TO_CYCLES (T0L) - 2));
} }
inline void sendByte (usigneret char -byte) {for (unsigned char bit = 0; bit <8; bit ++) {sendBit (bitRead (byte, 7)); byte << = 1; }}
void ledsetup () {
bitSet (PIXEL_DDR, PIXEL_BIT); }
inline void sendPixel (usigneret tegning, usigneret tegn, usigneret tegn b) {
sendByte (g); // Neopixel vil have farver i grønt og derefter rødt og derefter blåt for sendByte (r); sendByte (b); }
ugid show () {
_forsinkelse_us ((RES / 1000UL) + 1); // Rund op, da forsinkelsen skal være _at_least_ så lang (for kort virker muligvis ikke, for lang tid er ikke et problem)}
void showColor (usigneret tegn, usigneret tegning, usigneret tegning b) {
cli (); for (int p = 0; s
8;
usigneret char step = currentPixelHue & 0xff; switch (fase) {case 0: sendPixel (~ trin, trin, 0); pause; sag 1: sendPixel (0, ~ trin, trin); pause;
sag 2:
sendPixel (trin, 0, ~ trin); pause; } currentPixelHue+= pixelAdvance; } sei (); at vise(); firstPixelHue += frameAdvance; }}
ugyldig opsætning () {
ledsetup (); }
void loop () {
rainbowCycle (1000, 10, 10); Vend tilbage; }
Trin 3: Alt udført
Forhåbentlig fungerer alt på dette tidspunkt, men hvis det ikke er det, lad os afslutte med fejlfinding.
1. Boardet genkendes ikke af Arduino - sørg for, at du har digispark -biblioteket installeret, og du læser, hvordan du bruger digispark -boards.
2. Koden uploades ikke - Du skal trykke på upload og derefter tilslutte modulet til computeren, dumt ved jeg, men sådan fungerer det.
3. Board fungerer stadig ikke - Sørg for, at dit mikro -USB -kabel tillader data såvel som strøm, ikke alle kabler gør. Du kan forestille dig, at jeg fandt ud af det på den hårde måde.
4. Stadig intet - Dine dioder kan være baglæns - tjek med et multimeter for korrekt orientering.
5. Mærkelige blinkende lysdioder - Enten er dette et kodeproblem, eller en af dine lysdioder sidder ikke korrekt på signalpladen.
6. De sidste 3 lysdioder er rodet - Ah! du er løbet ind i min designfejl. Sørg for, at jorden via blev boret ud - kontroller med en multimeter kontinuitet mellem signalet og jorden. Sørg derefter for, at din brotråd også er isoleret fra jorden.
7. Stadig brudt - jeg er ærligt tømt for løsninger, besked mig.
Nå, jeg håber, at du har nydt min Instructable! Efterlad en kommentar, hvis du gjorde det.
Bedst, Nick
Anbefalede:
Beating Heart LED Valentine Ornament: 7 trin (med billeder)
Beating Heart LED Valentine Ornament: I denne Instructable viser jeg dig, hvordan jeg har bygget et LED -ornament til Valentinsdag, som jeg gav i gave til min kone. Kredsløbet er inspireret af en anden instruerbar: https: //www.instructables.com/id/Astable-Multivibr
Glødende ornament: 6 trin (med billeder)
Glowing Ornament: Originalt glødende ornament til dit juletræ. Den er fremstillet af messingstænger, der er forbundet med en friformsmetode og indeholder 18 lysende lysdioder
DIY Light Up Holiday Ornament: 18 trin
DIY Light Up Holiday Ornament: I denne instruktive vil vi lære dig, hvordan du laver et lysende ornament med et enkelt kredsløb. Download det printbare design her for et sjovt, familievenligt feriehåndværk! Vi anbefaler, at du bruger vores ornamentdesign til at starte, så du kan få en fornemmelse af
Nixie Tube Ornament: 5 trin (med billeder)
Nixie Tube Ornament: Nixie Tube Ornament er en hyldest til oplyste og bevægelige ornamenter fra begyndelsen af 90'erne. Ornamentet ser køligt ud på et træ og er en fantastisk gave. Endelig en brug til IN-12/15 ovenfra rør! Jeg brugte en IN-15A symbol nixie i dette ornament. EN
Refleksionspapir Ornament Holiday Card: 5 trin
Refleksionspapir Ornament Holiday Card: Vil du sende et sart ornament til dine venner og familie til ferien, men er bange for, at det går i stykker med posten? Send dem et ubrydeligt og sjovt papirornament i stedet