Sisällysluettelo:

Holiday Ornament PCB: 3 vaihetta (kuvilla)
Holiday Ornament PCB: 3 vaihetta (kuvilla)

Video: Holiday Ornament PCB: 3 vaihetta (kuvilla)

Video: Holiday Ornament PCB: 3 vaihetta (kuvilla)
Video: A Christmas Ornament PCB 2024, Heinäkuu
Anonim
Holiday Ornament PCB
Holiday Ornament PCB
Holiday Ornament PCB
Holiday Ornament PCB
Holiday Ornament PCB
Holiday Ornament PCB

Hei kaikki!

Se aika vuodesta ja lahjojen vaihtamisen aika on melkein käsillä. Nautin henkilökohtaisesti asioiden tekemisestä ja jakamisesta perheen kanssa. Tänä vuonna päätin tehdä lomakoristeita Atting85: n ja joidenkin WS2812C 2020 -LEDien avulla. Koriste on halkaisijaltaan noin 80 mm, joten se on kohtuullisen kokoinen koriste puulle. Jos et ole puuhenkilö, tiedät mitä, se on myös loistava pöytäkoriste. WS2812C 2020 LEDit ovat uskomattoman kirkkaita pikkuhäiriöitä, joten älä huoli siitä, että se on liian himmeä. Olen testannut sitä 3,3 voltin virralla, jonka virrankulutus on 0,013 ampeeria, sitten 5 voltin virrankulutus oli 0,023 ampeeria. Voit käyttää tätä korttia joko suoralla 5 voltin takana tai takana olevan mikro -USB -liitännän kautta. Voisin kytkeä tämän kannettavaan tietokoneeseen ja käynnistää sen. Takana on myös vaihtoehto sen virran kytkemiseksi muihin virtalähteisiin enintään 30 voltilla, mutta 78L05 5V -säätimen tietolomakkeeseen luottaen en työnnä sitä niin pitkälle.

Lue koko opas läpi ennen tämän rakentamista. Opi virheistäni, koska luota minuun, teen yleensä paljon ja voin jakaa viisauden helmiäni.

Jos olet kiinnostunut ostamaan esivalmistetun piirilevyn tai vain itse piirilevyn, käy tindie -myymälässäni.

Tarvikkeet

Aloitetaan kaikista työkaluista, joita tarvitset rakentaaksesi yhden näistä koristeista itse. Tämä on itse asiassa yksi harvoista projekteistani, jotka eivät vaadi merkittävää määrää työkaluja, mikä sopii sinulle!

Työkalut

- Lämpöpistooli (ensisijainen työkalu)/juotosrauta (virheenkorjaaja)

- ESD -pinsetit

- Isopropyylialkoholi

- SMT -kaavain (erittäin suositeltavaa)

- juotospasta (käytän Amazonissa myytävää matalan lämpötilan lyijytöntä juotospastaa)

Tarvikkeet

- x10 WS2812 2020 LEDiä

- x1 Attiny85 Mikro -ohjain

- x11 0.1uf 0603 kondensaattorit

- x1 0.1uf 0402 kondensaattori (voit päästä eroon 0603 -korkista)

- x1 SMD Micro USB -liitäntä

- x1 1,5 K ohmin vastus

- x1 4.7uf 0805 kondensaattori

- x1 78L05 5V -säädin

- x1 SOD123 -diodi (käytin johtoa korvaajana, koska tämä ei ole välttämätöntä, mutta unohdin poistaa sen suunnitellessani levyä)

- x2 SOD323 -diodia

- x2 66,5 ohmin vastukset (Voit myös käyttää x2 24 ohmin vastuksia myös täällä, uskon, että mikä tahansa vastaava pari todella tekee - älä lainaa minua)

Valinnainen

- x1 24 ohmin vastus

- x1 30 ohmin vastus

(Nämä ovat jännitteenjakajalle, jos haluat mitata pienjännitemonitorin tulojännitteen - vain vaihtoehto)

Vaihe 1: Kokoonpano

Kokoonpano
Kokoonpano
Kokoonpano
Kokoonpano
Kokoonpano
Kokoonpano
Kokoonpano
Kokoonpano

Kokoonpanoprosessi on melko suoraviivainen. Varmista, että suunnistat osat oikein ja et saa joutua ongelmiin. Tiedätkö mitä, jos olet kuin minä ja mikään ei toimi ensimmäisellä kerralla … kirjaimellisesti mitään, annan lopussa joitakin vianmääritysvaiheita.

Ensinnäkin, tarvitset ensin kaavaimen … Olen liittänyt 1: 1 -mittakaavan PCB -PDF -tiedoston, jotta voit rasteria sen omalla laserleikkurillasi. Jos tarvitset yhden leikkauksen, lähetä minulle viesti, niin teen sen minäkin. Muussa tapauksessa teet tämän käsin, joten sinusta tulee taitava bada $$.

Jos sinulla on kokemusta piirilevyjen valmistamisesta, tässä voit mennä eteenpäin ja turvata stensiilisi, levittää juotospastasi bla bla bla. Jos et ole koskaan tehnyt tätä, älä huoli, katso YouTube -video tai kaksi. Varmista, että kohdistus on täydellinen, ennen kuin levität juotospastan ja helpon sitruunapuristimen.

Poista kaavaimesi varovasti ja aloita osien sijoittaminen !!

Tarkkaile huolellisesti piirtämääni kuvaa sinulle, joka on tehty rakkaudella ja hellällä huolenpidolla.

- Tumma violetti = 0,1uf 0603

- Sininen = diodit

- Limen vihreä = 4,7 uf 0805 (voisi käyttää 0603, luultavasti)

- violetti = lankasilta

- Vaaleanpunainen = jännitteenjakajavastukset

- Punainen = WS2812C LEDit (huomioi niiden suunta, tummempi osa on pohjassa)

- Keltainen = 78L05 5V säädin 100mA

Haluatko tietää, mikä muu keltainen merkintä on tarkoitettu? Oletko varma? No… SE ON VIRHE OK! Laitoin freakin maahan kautta signaalin jäljittää, kirjaimellisesti smack dab keskellä OK. MIKSI… EN TIEDÄ.

Kaivan pois. Useiden tuntien tuskallisen hiukseni vetämisen jälkeen tajusin virheeni. Korjatakseni minun ei tarvinnut vain porata maata, vaan porata uskomattoman pieni reikä levyn läpi ja liittää signaalin jälki pienellä johdolla. Käytin nestemäistä sähköteippiä virheeni varmistamiseksi ja peittämiseksi. Et voi nähdä sitä hyvin, kun se on peitetty, onneksi.

Korjaan tämän myös, jos ostat levyn minulta, joten älä huoli siellä.

Vaihe 2: Koodaus

Koodaus
Koodaus
Koodaus
Koodaus

Joten ennen kuin suunnittelin tämän, ajattelin: "Voi pienet WS2812 -LEDit, niiden on käytettävä samaa koodia kuin WS2812b: n, tämä on kävely puistossa!" VÄÄRÄ

Nämä eivät käytä samaa ajoitusta kuin WS2812b -LEDit, joten on oppimiskäyrä tai vuori riippuen mukavuudesta koodauksen kanssa.

Pienen "Oh $ hit" -hetken jälkeen löysin tämän Josh Levinin blogin. Joten huuda hänelle, että hän auttoi minua selvittämään tämän. Käytin huomattavan määrän hänen koodiaan ja muokkasin sitä toimimaan näiden levyjen kanssa. Tarkista hänen bloginsa, jos haluat ymmärtää, miten tämä koodi toimii. Lähettämäni koodi vaikuttaa sateenkaariin. Se on mahdollista, joten tee kiinteitä värejä, jos se on sinun juttusi.

Yksi pieni asia on, etten voi ymmärtää, miten himmentää nämä LEDit, koska ne ovat todella kirkkaita. Ehkä joku voisi jättää kommentin ja auttaa minua.

#sisällytä #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_P00S (FI) #define NS_PER_CYCLE (NS_PER_SEC / CYCLES_PER_SEC) #define NS_TO_CYCLES (n) ((n) / NS_PER_CYCLE)

inline void sendBit (bool bitVal) {

if (bitVal) {asm volatile ("sbi %[port], %[bit] n / t" ".rept %[onCycles] n / t" "nop / n / t" ".endr / n / t "" cbi %[portti], %[bit] n / t "".rept %[offCycles] n / t "" nop / n / t "".endr / n / t ":: [portti" " I "(_SFR_IO_ADDR (PIXEL_PORT)), [bit]" I "(PIXEL_BIT), [onCycles]" I "(NS_TO_CYCLES (T1H) - 2), [offCycles]" I "(NS_TO_CYCLES (T1L) - 2));

} muuta {

asm haihtuva ("sbi %[portti], %[bit] n / t" ".rept %[onCycles] n / t" "nop / n / t" ".endr / n / t" "cbi %[portti], %[bit] n / t "".rept %[offCycles] n / t "" nop / n / t "".endr / n / t ":: [portti" "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 (unsigned char byte) {for (unsigned char bit = 0; bit <8; bit ++) {sendBit (bitRead (tavu, 7)); tavu << = 1; }}

void ledsetup () {

bitSet (PIXEL_DDR, PIXEL_BIT); }

inline void sendPixel (unsigned char r, unsigned char g, unsigned char b) {

sendByte (g); // Neopixel haluaa värit vihreiksi, punaisiksi ja sitten sinisiksi, jotta sendByte (r); sendByte (b); }

mitätön esitys () {

_viive_us ((RES / 1000UL) + 1); // Pyöristä ylös, koska viiveen on oltava _at_least_ näin pitkä (liian lyhyt ei ehkä toimi, liian pitkä ei ole ongelma)}

void showColor (allekirjoittamaton merkki, allekirjoittamaton merkki, allekirjoittamaton merkki b) {

cli (); for (int p = 0; p

8;

unsigned char step = currentPixelHue & 0xff; kytkin (vaihe) {tapaus 0: sendPixel (~ vaihe, vaihe, 0); tauko; tapaus 1: sendPixel (0, ~ vaihe, vaihe); tauko;

tapaus 2:

sendPixel (vaihe, 0, ~ vaihe); tauko; } currentPixelHue+= pixelAdvance; } sei (); näytä(); firstPixelHue += frameAdvance; }}

void setup () {

ledsetup (); }

void loop () {

rainbowCycle (1000, 10, 10); palata; }

Vaihe 3: Kaikki tehty

Valmista
Valmista
Valmista
Valmista
Valmista
Valmista

Toivottavasti kaikki toimii tässä vaiheessa, mutta jos ei, lopeta vianmääritys.

1. Arduino ei tunnista korttia - varmista, että digispark -kirjasto on asennettu ja että luet digispark -levyjen käytön.

2. Koodi ei lataudu - Sinun on painettava latausta ja kytkettävä sitten moduuli tietokoneeseen, tyhmä tiedän, mutta näin se toimii.

3. Kortti ei edelleenkään toimi - Varmista, että mikro -USB -kaapelisi sallii sekä tiedon että virran, eivät kaikki kaapelit. Voit kuvitella, että ymmärsin tämän vaikealla tavalla.

4. Silti mitään - diodisi voivat olla taaksepäin - tarkista oikea suunta yleismittarilla.

5. Outoja vilkkuvia LED -valoja - Joko tämä on koodiongelma tai jokin ledistäsi ei istu kunnolla signaalityynyllä.

6. Viimeiset 3 LEDiä ovat sekaisin - Ah! olet törmännyt suunnitteluvirheeseeni. Varmista, että maa on porattu ulos - tarkista yleismittarin jatkuvuus signaalin ja maan välillä. Varmista sitten, että myös siltajohtosi on eristetty maasta.

7. Silti rikki - olen rehellisesti poissa ratkaisuista, viesti minulle.

Toivottavasti olet nauttinut Instructable -ohjelmasta! Jätä kommentti, jos teit.

Parhaat, Nick

Suositeltava: