Mundarija:

PCB bayramona bezaklari: 3 qadam (rasmlar bilan)
PCB bayramona bezaklari: 3 qadam (rasmlar bilan)

Video: PCB bayramona bezaklari: 3 qadam (rasmlar bilan)

Video: PCB bayramona bezaklari: 3 qadam (rasmlar bilan)
Video: В Дубне запустили производство плат для высокоточного оборудования 2024, Dekabr
Anonim
PCB bayramona bezaklari
PCB bayramona bezaklari
PCB bayramona bezaklari
PCB bayramona bezaklari
PCB bayramona bezaklari
PCB bayramona bezaklari

Hammaga salom!

Yilning shu vaqti va sovg'alar almashish vaqti deyarli bizda. Shaxsan menga narsalar yasash va ularni oila a'zolari bilan bo'lishish yoqadi. Bu yil men Atting85 va ba'zi WS2812C 2020 LEDlari yordamida bayram bezaklarini yasashga qaror qildim. Ushbu bezak diametri taxminan 80 mm, shuning uchun u daraxt uchun oqlangan o'lchamdagi bezakdir. Agar siz daraxtli odam bo'lmasangiz, nima bilasiz, bu stolni ajoyib bezak qiladi. WS2812C 2020 LED -lari nihoyatda yorqin kichik xatoliklar, shuning uchun u juda xira deb xavotir olmang. Men uni 3,3 voltsli oqim sarfini 0,013 amperda sinab ko'rdim, keyin 5 volt uchun joriy iste'mol 0,023 amper edi. Siz bu kartani orqa tarafdagi to'g'ridan -to'g'ri 5 voltli quvvat bilan yoki mikro USB ulagich orqali quvvatlantirishingiz mumkin. Men buni noutbukga ulab, quvvatlantirishim mumkin edi. Orqa tarafda uni boshqa quvvat manbalari bilan maksimal 30 voltda quvvatlantirish imkoniyati mavjud, lekin bu 78L05 5V regulyatorining ma'lumotlar jadvaliga ishongan holda, men uni uzoqqa surmagan bo'lardim.

Buni qurishdan oldin, iltimos, butun qo'llanmani o'qing. Xatolarimdan o'rganing, menga ishoning, men odatda ko'p narsalarga erishaman va donolik marvaridlarim bilan bo'lishaman.

Agar siz oldindan tayyor PCB sotib olmoqchi bo'lsangiz yoki faqat PCBning o'zi mening tindie do'konimga tashrif buyuring.

Ta'minotlar

Keling, ushbu bezaklardan birini o'zingiz yasash uchun kerak bo'ladigan barcha vositalardan boshlaylik. Bu, aslida, siz uchun juda yaxshi vositalarni talab qilmaydigan, mening bir nechta loyihalarimdan biri!

Asboblar

- Issiqlik tabancasi (asosiy asbob)/lehimlantiruvchi temir (xato tuzatuvchi)

- ESD cımbızları

- izopropil spirti

- SMT stencil (tavsiya etiladi)

- Lehim pastasi (men Amazonda sotiladigan past haroratli qo'rg'oshinsiz lehim pastasini ishlataman)

Ta'minotlar

- x10 WS2812 2020 LEDlari

- x1 Attiny85 mikrokontroller

- x11 0.1uf 0603 kondansatkichlari

- x1 0.1uf 0402 kondansatör (0603 qopqoq bilan qutulishingiz mumkin)

- x1 SMD Micro USB ulagichi

- x1 1,5K Ohmli rezistor

- x1 4.7uf 0805 kondansatör

- x1 78L05 5V regulyatori

- x1 SOD123 diodi (men simni zaxira sifatida ishlatganman, chunki bu kerak emas, lekin men taxtani loyihalashda uni olib tashlashni unutganman)

- x2 SOD323 diodlari

- x2 66,5 Ohmli rezistorlar (Siz bu erda x2 24 Ohmli rezistorlardan ham foydalanishingiz mumkin, ishonamanki, har qanday mos keladigan juftlik shunday qiladi - menga iqtibos keltirmang)

Majburiy emas

- x1 24 Ohmli rezistor

- x1 30 Ohm qarshilik

(Agar siz past kuchlanishli monitor uchun kirish voltajini o'lchashni xohlasangiz, bu kuchlanish bo'luvchi uchun) - faqat bitta variant)

1 -qadam: yig'ish

O'rnatish
O'rnatish
O'rnatish
O'rnatish
O'rnatish
O'rnatish
O'rnatish
O'rnatish

O'rnatish jarayoni ancha oldinda. Siz qismlarni to'g'ri yo'naltirganingizga ishonch hosil qiling va muammoga duch kelmang. Bilasizmi, agar siz menga o'xshagan bo'lsangiz va hech qachon birinchi marta hech narsa ishlamasa … men hech narsaga yo'l qo'ymayman, men oxirida muammolarni bartaraf etish bo'yicha ba'zi qadamlarni qo'yaman.

Xo'sh, birinchi navbatda, sizga hozirda bu stencil kerak bo'ladi … Men 1: 1 o'lchovli tenglikni PDF -faylini biriktirdim, shunda siz uni o'zingizning lazerli kesgichingizda raster qilishingiz mumkin. Agar sizga bitta kesish kerak bo'lsa, menga xabar bering, men ham shunday qilaman. Aks holda buni qo'l bilan qilish sizga malakali bada $$ qiladi.

Agar siz PCB ishlab chiqarishda tajribangiz bo'lsa, bu erda siz shablonni saqlay olasiz, lehim pastasini bla bla bla bilan yoying. Hech qachon bunday qilmaganlar uchun, tashvishlanmang, youtube -dagi bir yoki ikkita videoni ko'ring. Lehim pastasini yoyishdan oldin, hizalanishingiz mukammal ekanligiga ishonch hosil qiling.

Stencilni ehtiyotkorlik bilan olib tashlang va qismlarni joylashtirishni boshlaymiz !!

Siz uchun puxta chizilgan, sevgi va mehr bilan qilingan rasmga e'tibor bering.

- To'q binafsha rang = 0.1uf 0603

- Moviy = Diodlar

- Lime Green = 4.7 uf 0805 (0603 dan foydalanish mumkin, ehtimol)

- Binafsha rang = simli ko'prik

- Pushti = kuchlanishni ajratuvchi rezistorlar

- Qizil = WS2812C svetodiodlari (ularning yo'nalishini kuzating, quyuqroq qismi pastda bo'ladi)

- Sariq = 78L05 5V regulyator 100mA

Boshqa sariq belgi nima uchun kerakligini bilmoqchimisiz? Ishonchingiz komilmi? Xo'sh … XATO OK! Men signal chizig'iga g'ayrioddiy joy qo'ydim, so'zma -so'z, o'rtada OK. NEGA … BILMAYMAN.

Men chekinaman. Soatlarimni og'riqli tarzda olib tashlaganimdan so'ng, men xatoimni tushundim. Buni tuzatish uchun men erni nafaqat burg'ilashim, balki taxtadan juda kichik teshik ochishim va signal izini kichik sim bilan ulashim kerak edi. Xatomni himoya qilish va yopish uchun men suyuq elektr tasmasini ishlatardim. Yaxshiyamki, uni yaxshi ko'rmaysiz.

Agar siz mendan taxta sotib olsangiz, men buni tuzataman, shuning uchun tashvishlanmang.

2 -qadam: kodlash

Kodlash
Kodlash
Kodlash
Kodlash

Men buni loyihalashdan oldin shunday deb o'yladim: "Oh, kichik WS2812 LEDlari, ular WS2812b kodi bilan bir xil bo'lishi kerak, bu parkda sayr bo'ladi!" YANGI

Bular WS2812b LED -lari bilan bir xil vaqtni ishlatmaydi, shuning uchun sizning kodlash qulayligingizga qarab o'rganish egri yoki tog 'mavjud.

Kichik "Oh $ hit" daqiqasidan so'ng, men Josh Levinning blogini topdim. Menga buni tushunishga yordam bergani uchun baqiring. Men uning kodining katta qismini ishlatdim va uni ushbu taxtalar bilan ishlash uchun o'zgartirdim. Agar siz ushbu kod qanday ishlashini bilmoqchi bo'lsangiz, uning blogini tekshiring. Men yuborgan kod kamalak ta'sirini yaratadi. Mumkin, shuning uchun siz qattiq ranglar qilishingiz mumkin.

Kichkina narsa shundaki, men bu LEDlarni qanday qilib xira qilishni bilmayman, chunki ular juda yorqin. Balki kimdir izoh qoldirib, menga yordam berishi mumkin.

#infine #dexine PIXELS 3000 #dexine PIXEL_PORT PORTB #dexine PIXEL_DDR DDRB #dexine PIXEL_BIT 0 #define T1H 700 #define T1L 320 #define T0H 320 #define T0L 700 #define RES 300000FSEFSEFEF_SEC #NS_PER_CYCLE (NS_PER_SEC / CYCLES_PER_SEC) #NS_TO_CYCLES (n) ((n) / NS_PER_CYCLE) ni belgilang

inline void sendBit (bool bitVal) {

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

} boshqa {

uchuvchi

"sbi %[port], %[bit] n / t" ".rept %[onCycles] n / t" "yo'q / n / t" ".endr / n / t" "cbi %[port], %[bit] n / t "".rept %[offCycles] n / t "" yo'q / n / t "".endr / n / t ":: [port]" Men "(_SFR_IO_ADDR (PIXEL_PORT)), [bit] "Men" (PIXEL_BIT), [onCycles] "Men" (NS_TO_CYCLES (T0H) - 2), [offCycles] "Men" (NS_TO_CYCLES (T0L) - 2));

} }

inline void sendByte (unsigned char bayt) {for (unsigned char bit = 0; bit <8; bit ++) {sendBit (bitRead (bayt, 7)); bayt << = 1; }}

void ledsetup () {

bitSet (PIXEL_DDR, PIXEL_BIT); }

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

sendByte (g); // Neopixel ranglarni yashil rangda, keyin qizil, keyin ko'k rangda bo'lishni xohlaydi sendByte (r); sendByte (b); }

void ko'rsatish () {

_delay_us ((RES / 1000UL) + 1); // Kechiktirish _at_least_ shu qadar uzoq bo'lishi kerak (juda qisqa ishlamasligi mumkin, juda uzoq muammo emas)}

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

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

8;

belgisiz char qadam = currentPixelHue & 0xff; switch (faza) {0 holat: sendPixel (~ qadam, qadam, 0); tanaffus; 1 -holat: sendPixel (0, ~ qadam, qadam); tanaffus;

2 -holat:

sendPixel (qadam, 0, ~ qadam); tanaffus; } currentPixelHue+= pixelAdvance; } sei (); ko'rsatish (); firstPixelHue += frameAdvance; }}

bo'sh o'rnatish () {

o'rnatish (); }

void loop () {

kamalak aylanishi (1000, 10, 10); qaytish; }

3 -qadam: Hammasi bajarildi

Hammasi bajarildi
Hammasi bajarildi
Hammasi bajarildi
Hammasi bajarildi
Hammasi bajarildi
Hammasi bajarildi

Umid qilamanki, hozir hamma narsa ishlayapti, lekin agar bunday bo'lmasa, ba'zi muammolarni bartaraf etish bilan yakunlaylik.

1. Kengash Arduino tomonidan tan olinmagan - digispark kutubxonasi o'rnatilganligiga ishonch hosil qiling va siz digispark taxtalaridan qanday foydalanishni o'qiysiz.

2. Kod yuklanmaydi - Siz yuklashni bosing va keyin modulni kompyuterga ulang, men bilmayman, lekin bu shunday ishlaydi.

3. Kengash hali ham ishlamayapti - Mikro USB kabeli ma'lumotlarga va quvvatga ruxsat berishiga ishonch hosil qiling, hamma kabellar ham emas. Siz buni qiyin yo'l bilan tushunganimni tasavvur qila olasiz.

4. Hali ham hech narsa - sizning diodlaringiz orqada bo'lishi mumkin - to'g'ri yo'nalishni multimetr bilan tekshiring.

5. G'alati miltillovchi LEDlar - bu kod muammosi yoki sizning LEDlaringiz signal panelida to'g'ri o'tirmagan.

6. Oxirgi 3 ta LED chalkashib ketdi - Oh! Siz mening dizayndagi xatoga yo'l qo'ydingiz. Tuproqning burg'ulash qilinganligiga ishonch hosil qiling - signal va er orasidagi multimetr uzluksizligini tekshirish. Keyin ko'prik simingiz ham erdan ajratilganligiga ishonch hosil qiling.

7. Hali ham buzilgan - halollik bilan hal qilyapman, menga xabar bering.

Xo'sh, umid qilamanki, siz mening ko'rsatmalarni yoqtirdingiz! Agar qilgan bo'lsangiz, iltimos, sharh qoldiring.

Eng yaxshisi, Nik

Tavsiya: