Spisu treści:

Świąteczna ozdoba PCB: 3 kroki (ze zdjęciami)
Świąteczna ozdoba PCB: 3 kroki (ze zdjęciami)

Wideo: Świąteczna ozdoba PCB: 3 kroki (ze zdjęciami)

Wideo: Świąteczna ozdoba PCB: 3 kroki (ze zdjęciami)
Wideo: 5-minute crafts be like; 2024, Lipiec
Anonim
Świąteczna ozdoba PCB
Świąteczna ozdoba PCB
Świąteczna ozdoba PCB
Świąteczna ozdoba PCB
Świąteczna ozdoba PCB
Świąteczna ozdoba PCB

Hej wszystkim!

Nadeszła pora roku i pora wymiany prezentów. Osobiście lubię robić rzeczy i dzielić się nimi z rodziną. W tym roku postanowiłem wykonać świąteczne ozdoby z wykorzystaniem diod Atting85 i niektórych diod WS2812C 2020. Ozdoba ma średnicę około 80mm, więc jest to ozdoba o rozsądnej wielkości dla drzewka. Jeśli nie jesteś osobą z drzewa, wiesz co, jest to również świetna ozdoba na biurko. Diody LED WS2812C 2020 są niesamowicie jasnymi małymi robakami, więc nie martw się, że są zbyt ciemne haha. Przetestowałem go przy 3,3 V przy poborze prądu 0,013 ampera, a następnie przy 5 woltach pobór prądu wynosił 0,023 ampera. Możesz zasilać tę płytę bezpośrednio 5 V z tyłu lub przez złącze micro USB z tyłu. Mógłbym to podłączyć do laptopa i zasilić. Istnieje również opcja z tyłu, aby zasilić go innymi źródłami zasilania maksymalnie 30 woltami, ale ufając arkuszowi danych regulatora 78L05 5 V, nie popychałbym go tak daleko.

Przed zbudowaniem tego przewodnika przeczytaj cały przewodnik. Ucz się na swoich błędach, bo zaufaj mi zwykle dużo zarabiam i mogę dzielić się swoimi perłami mądrości.

Jeśli jesteś zainteresowany kupnem gotowej płytki lub samej płytki, odwiedź mój sklep z tindie.

Kieszonkowe dzieci

Zacznijmy od wszystkich narzędzi potrzebnych do samodzielnego zbudowania jednej z tych ozdób. To właściwie jeden z moich niewielu projektów, który nie wymaga dużej ilości narzędzi, co jest dla Ciebie świetne!

Narzędzia

- Opalarka (narzędzie podstawowe)/lutownica (utrwalacz błędów)

- Pęseta ESD

- Alkohol izopropylowy

- Wzornik SMT (wysoce zalecany)

- Pasta lutownicza (używam pasty lutowniczej Low Temp Lead-Free sprzedawanej na amazon)

Kieszonkowe dzieci

-x10 diod LED WS2812 2020

-1 mikrokontroler Attiny85;

-x11 0.1uf 0603 Kondensatory

- x1 0.1uf 0402 Capacitor (Możesz uciec z 0603 Cap)

-x1 złącze SMD Micro USB

-Rezystor x1 1,5 K Ohm

-x1 4,7 uf 0805 kondensator;

-x1 78L05 5 V regulator

- Dioda x1 SOD123 (użyłem drutu jako zamiennika, ponieważ nie jest to konieczne, ale zapomniałem go usunąć podczas projektowania płytki)

- x2 diody SOD323

- Rezystory x2 66,5 Ohm (Możesz tutaj również użyć rezystorów x2 24-Ohm, wierzę, że każda pasująca para faktycznie wystarczy - nie cytuj mnie)

Opcjonalny

-Rezystor x1 24 Ohm

-Rezystor x1 30 Ohm

(Są to dla dzielnika napięcia, jeśli chciałeś zmierzyć napięcie wejściowe dla monitora niskiego napięcia - tylko opcja)

Krok 1: Montaż

montaż
montaż
montaż
montaż
montaż
montaż
montaż
montaż

Proces montażu jest dość prosty. Upewnij się, że poprawnie orientujesz części i nie powinieneś mieć problemów. Wiesz co, jeśli jesteś taki jak ja i absolutnie nic nie działa za pierwszym razem… dosłownie nic, na końcu wrzucam kilka kroków rozwiązywania problemów.

Cóż, po pierwsze, teraz będziesz potrzebować tego szablonu… Dołączyłem plik PDF PCB w skali 1:1, dzięki czemu możesz go zrastrować na własnej wycinarce laserowej. Jeśli potrzebujesz dla ciebie jednego cięcia, napisz do mnie, że też to zrobię. W przeciwnym razie zrobienie tego ręcznie sprawi, że będziesz zdolnym złym $$.

Jeśli masz doświadczenie w tworzeniu płytek PCB, to właśnie tam możesz zabezpieczyć swój szablon, rozprowadzić pastę lutowniczą bla bla bla, masz to. Dla tych, którzy nigdy tego nie robili, nie martw się, obejrzyj jeden lub dwa filmy na youtube. Upewnij się, że wyrównanie jest idealne, zanim rozprowadzisz pastę lutowniczą i łatwo wyciskasz chrupiącą cytrynę.

Ostrożnie usuń szablon i zacznijmy umieszczać części!!

Przyjrzyj się mojemu starannie narysowanemu obrazowi dla Ciebie, wykonanemu z miłością i czułą starannością.

- Ciemnofioletowy = 0.1uf 0603

- Niebieski = Diody

- Lime Green = 4,7 uf 0805 (prawdopodobnie można użyć 0603)

-Fioletowy = Mostek druciany

- Różowy = Rezystory dzielnika napięcia

- Czerwony = diody LED WS2812C (zwróć uwagę na ich orientację, ciemniejsza część będzie na dole)

- Żółty = 78L05 regulator 5V 100mA

Czy chcesz wiedzieć, do czego służy drugie żółte oznaczenie? Jesteś pewny? Cóż… TO BŁĄD OK! Włożyłem dziwaczną ziemię przez ślad sygnału, dosłownie walnąłem w środek, OK. DLACZEGO… NIE WIEM.

Dygresję. Po godzinach bolesnego wyrywania włosów zdałem sobie sprawę ze swojego błędu. Aby to naprawić, musiałem nie tylko przewiercić ziemię, ale także wywiercić niewiarygodnie mały otwór w płytce i podłączyć ścieżkę sygnału małym przewodem. Użyłem płynnej taśmy elektrycznej, aby zabezpieczyć i zakryć mój błąd. Nie możesz tego zobaczyć zbyt dobrze, gdy jest zakryty dzięki Bogu.

Naprawię to również, jeśli kupisz u mnie deskę, więc nie martw się.

Krok 2: Kodowanie

Kodowanie
Kodowanie
Kodowanie
Kodowanie

Więc zanim to zaprojektowałem, pomyślałem: „Och, małe diody LED WS2812, muszą używać tego samego kodu co WS2812b, to będzie spacer po parku!” ZŁO

Nie używają one tego samego czasu, co diody LED WS2812b, więc istnieje krzywa uczenia się lub góra w zależności od komfortu kodowania.

Po drobnym momencie "Oh $hit", znalazłem ten blog Josha Levina. Więc krzycz do niego, że pomógł mi to rozgryźć. Użyłem znacznej ilości jego kodu i zmodyfikowałem go, aby działał z tymi płytami. Sprawdź jego blog, jeśli chcesz zrozumieć, jak działa ten kod. Kod, który opublikowałem, wywołuje efekt tęczy. Jest to możliwe, więc twórz jednolite kolory, jeśli to twoja sprawa.

Jedną drobną rzeczą jest to, że nie mogę wymyślić, jak przyciemnić te diody, ponieważ są naprawdę jasne. Może ktoś mógłby zostawić komentarz i mi pomóc.

#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_SECPER_PU_SECFLES (1000000000L) #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 %[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));

} w przeciwnym razie {

asm lotny ("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(unsigned char byte) { for(unsigned char bit = 0; bit < 8; bit++) { sendBit(bitRead(byte, 7); bajt <<= 1; } }

nieważne ustawienia led() {

bitSet(PIXEL_DDR, PIXEL_BIT); }

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

sendByte(g); // Neopixel chce mieć kolor zielony, potem czerwony i niebieski order sendByte(r); sendByte(b); }

nieważne pokaż () {

_delay_us((OZE / 1000UL) + 1); // Zaokrąglij, ponieważ opóźnienie musi być _co najmniej_ tak długie (za krótkie może nie zadziałać, za długie nie stanowi problemu) }

void showColor(unsigned char r, unsigned char g, unsigned char b) {

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

8;

unsigned char step = currentPixelHue & 0xff; przełącznik (faza) { przypadek 0: sendPixel(~krok, krok, 0); przerwa; przypadek 1: sendPixel(0, ~krok, krok); przerwa;

przypadek 2:

sendPixel(krok, 0, ~krok); przerwa; } currentPixelHue+=pixelAdvance; } sei(); pokazać(); pierwszyPixelHue += frameAdvance; } }

pusta konfiguracja () {

ledsetup(); }

pusta pętla () {

rainbowCycle (1000, 10, 10); powrót; }

Krok 3: Gotowe

Wszystko gotowe
Wszystko gotowe
Wszystko gotowe
Wszystko gotowe
Wszystko gotowe
Wszystko gotowe

Mamy nadzieję, że w tym momencie wszystko działa, ale jeśli tak nie jest, zakończmy rozwiązywanie problemów.

1. Tablica nie jest rozpoznawana przez Arduino - upewnij się, że masz zainstalowaną bibliotekę digispark i przeczytaj, jak korzystać z tablic digispark.

2. Kod się nie wgrywa - Trzeba wcisnąć upload a potem podłączyć moduł do komputera, dureń wiem, ale tak to działa.

3. Płyta nadal nie działa - Upewnij się, że kabel micro-USB umożliwia przesyłanie danych i zasilanie, nie wszystkie kable. Możesz sobie wyobrazić, że wymyśliłem to na własnej skórze.

4. Nadal nic - Twoje diody mogą być odwrócone - sprawdź multimetrem, czy są prawidłowo ustawione.

5. Dziwne migające diody LED - Albo jest to problem z kodem, albo jedna z diod LED nie jest prawidłowo umieszczona na podkładce sygnałowej.

6. Ostatnie 3 diody LED są popsute - Ah! natknąłeś się na mój błąd projektowy. Upewnij się, że uziemienie zostało wywiercone - sprawdzając multimetrem ciągłość między sygnałem a masą. Następnie upewnij się, że przewód mostu jest również odizolowany od ziemi.

7. Nadal zepsuty - szczerze nie mam rozwiązań, napisz do mnie.

Cóż, mam nadzieję, że podobał Ci się mój Instructable! Jeśli tak, zostaw komentarz.

Najlepsza, Nacięcie

Zalecana: