Mündəricat:
Video: Bayram bəzəyi PCB: 3 addım (şəkillərlə)
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:45
Hamıya salam!
İlin o vaxtı və hədiyyə mübadiləsi mövsümü demək olar ki, qarşımızdadır. Şəxsən bir şeylər etməkdən və onları ailə ilə bölüşməkdən zövq alıram. Bu il Atting85 və bəzi WS2812C 2020 LED -lərindən istifadə edərək bayram bəzəkləri hazırlamaq qərarına gəldim. Bu bəzək təxminən 80 mm diametrdədir, buna görə də ağac üçün ağlabatan ölçüdə bir bəzəkdir. Bildiyiniz bir ağac adamı deyilsinizsə, əla bir masa bəzəyi də yaradır. WS2812C 2020 LEDləri inanılmaz dərəcədə parlaq kiçik səhvlərdir, buna görə çox qaranlıq olmasından narahat olmayın haha. 0.03 amper cərəyanla 3.3 voltda sınadım, sonra 5 volt üçün cari istehlak 0.023 amper idi. Bu lövhəni arxada birbaşa 5 voltla və ya arxadakı mikro USB konnektoru ilə gücləndirə bilərsiniz. Bunu dizüstü kompüterimə qoşub gücə qoşa bilərdim. Arxada, maksimum 30 volt gücündə digər enerji mənbələri ilə təchiz etmək üçün bir seçim də var, amma 78L05 5V tənzimləyicisinin məlumat cədvəlinə güvəndiyim üçün onu bu qədər irəli çəkməzdim.
Zəhmət olmasa bunu qurmadan əvvəl bütün bələdçini oxuyun. Səhvlərimdən öyrənin, mənə güvənirəm, ümumiyyətlə çox şey edirəm və müdrik incilərimi paylaşa bilərəm.
Hazır bir PCB və ya yalnız PCB almaq istəyirsinizsə, mənim tindie mağazamı ziyarət edin.
Təchizat
Bu bəzək əşyalarından birini özünüz tikmək üçün lazım olacaq bütün vasitələrdən başlayaq. Bu, əslində sizin üçün əla olan çoxlu alət tələb etməyən bir neçə layihəmdən biridir!
Alətlər
- İstilik silahı (əsas alət)/lehimləmə dəmiri (səhv düzəldici)
- ESD cımbızları
- İzopropil spirti
- SMT şablon (çox tövsiyə olunur)
- Lehim pastası (Amazonda satılan aşağı temperaturlu qurğusuz lehim pastasından istifadə edirəm)
Təchizat
- x10 WS2812 2020 LEDləri
- x1 Attiny85 Mikro nəzarətçi
- x11 0.1uf 0603 Kondansatörler
- x1 0.1uf 0402 Kondansatör (0603 Cap ilə qaça bilərsiniz)
- x1 SMD Micro USB konnektoru
- x1 1.5K Ohm Rezistor
- x1 4.7uf 0805 kondansatör
- x1 78L05 5V tənzimləyicisi
- x1 SOD123 Diod (əvəzedilməz bir tel istifadə etdim, çünki bu lazım deyil, amma lövhəni tərtib edərkən onu çıxarmağı unutmuşam)
- x2 SOD323 Diodlar
- x2 66.5 Ohm Rezistorlar (Burada da x2 24 Ohm rezistorlardan istifadə edə bilərsiniz, hər hansı bir uyğun cütlüyün əslində edəcəyinə inanıram - məndən sitat gətirməyin)
İsteğe bağlı
- x1 24 Ohm rezistor
- x1 30 Ohm rezistor
(Aşağı gərginlikli bir monitor üçün giriş gərginliyini ölçmək istəsəniz bunlar bir gərginlik bölücü üçündür - yalnız bir seçimdir)
Addım 1: Quraşdırma
Quraşdırma prosesi kifayət qədər irəli gedir. Parçaları düzgün istiqamətləndirdiyinizə əmin olun və problem yaşamamalısınız. Nə bilirsən, əgər mənim kimi olsan və ilk dəfə heç bir şey işləməsə … sözün əsl mənasında heç bir şey yoxdur, sonda bəzi problem giderme addımları atıram.
Yaxşı hər şeydən əvvəl, indi bu şablona ehtiyacınız olacaq … 1: 1 ölçülü PCB PDF faylını əlavə etdim ki, öz lazer kəsicinizdə raster edə biləsiniz. Sizin üçün bir kəsmə ehtiyacınız varsa, mənə də bunu edəcəyimi bildirin. Əks təqdirdə bunu əllə etmək sizi bacarıqlı bir bada $$ edəcək.
PCB hazırlamaq təcrübəniz varsa, buraya davam edərək şablonunuzu qoruyacaqsınız, lehim pastanızı bla bla bla yayacaqsınız. Heç vaxt bunu etməyənlər üçün, narahat olmayın, bir -iki youtube videosuna baxın. Lehim pastasını və asan peasy limon sıxmasını yaymadan əvvəl uyğunluğunuzun mükəmməl olduğundan əmin olun.
Trafaretinizi diqqətlə çıxarın və hissələri yerləşdirməyə başlayaq !!
Sevgi və incə qayğı ilə hazırladığım diqqətlə çəkdiyim şəklə baxın.
- Tünd Bənövşəyi = 0.1uf 0603
- Mavi = Diodlar
- Lime Green = 4.7 uf 0805 (0603 istifadə oluna bilər, yəqin ki)
- Bənövşəyi = Tel körpü
- Çəhrayı = Gərginlik bölücü rezistorlar
- Qırmızı = WS2812C LEDləri (İstiqamətlərini müşahidə edin, qaranlıq hissəsi altda olacaq)
- Sarı = 78L05 5V tənzimləyici 100mA
Digər sarı işarənin nə üçün olduğunu bilmək istəyirsiniz? Sən əminsən? Yaxşı… BU YANLIQDIR! Siqnal izi ilə qəribə bir yer qoydum, tam olaraq ortada vur. NİYƏ … Bilmirəm.
Mən kənara çəkilirəm. Saatlarla ağrılı şəkildə saçlarımı çəkdikdən sonra səhvimi başa düşdüm. Bunu düzəltmək üçün nəinki yer qazmaqla yanaşı, lövhədən inanılmaz dərəcədə kiçik bir delik açmalı və siqnal izini kiçik bir tellə bağlamalı idim. Səhvimi qorumaq və örtmək üçün bir az maye elektrik lenti istifadə etdim. Şükürlər olsun ki, onu yaxşı görə bilməzsən.
Məndən bir lövhə alsanız, narahat olmayın, bunu da düzəldəcəyəm.
Addım 2: Kodlaşdırma
Bunu tərtib etməzdən əvvəl "Oh kiçik WS2812 LEDləri, WS2812b ilə eyni kodu istifadə etməlidirlər, bu parkda gəzintiyə çıxacaq!" Səhv
Bunlar WS2812b LEDləri ilə eyni vaxtdan istifadə etmir, buna görə kodlaşdırma rahatlığınızdan asılı olaraq öyrənmə əyrisi və ya dağ var.
Kiçik bir "Oh $ hit" anından sonra bu bloqu Josh Levin tərəfindən tapdım. Bunu başa düşməyimə kömək etdiyi üçün ona qışqır. Onun kodundan xeyli miqdarda istifadə etdim və bu lövhələrlə işləmək üçün onu dəyişdirdim. Bu kodun necə işlədiyini başa düşmək istəyirsinizsə blogunu yoxlayın. Göndərdiyim kod göy qurşağı təsir edir. Mümkündür, əgər bu sizin işinizdirsə, qatı rənglər hazırlayın.
Kiçik bir şey, bu LED -lərin həqiqətən parlaq olduğu üçün necə qaralacağını anlaya bilmirəm. Bəlkə kimsə şərh yazıb mənə kömək edə bilər.
#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 300000FEFE_Fine_FEF #NS_PER_CYCLE (NS_PER_SEC / CYCLES_PER_SEC) #NS_TO_CYCLES (n) ((n) / NS_PER_CYCLE) təyin edin
inline void sendBit (bool bitVal) {
if (bitVal) {asm uçucu ("sbi %[port], %[bit] n / t" ".rept %[onCycles] n / t" "yox / n / t" ".endr / n / t "" cbi %[port], %[bit] n / t "".rept %[offCycles] n / t "" yox / 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));
} başqa {
uçucu uçucu ("sbi %[port], %[bit] n / t" ".rept %[onCycles] n / t" "yox / n / t" ".endr / n / t" "cbi %[port], %[bit] n / t "".rept %[offCycles] n / t "" yox / n / t "".endr / n / t ":: [liman]" Mən "(_SFR_IO_ADDR (PIXEL_PORT)), [bit] "I" (PIXEL_BIT), [onCycles] "Mən" (NS_TO_CYCLES (T0H) - 2), [offCycles] "I" (NS_TO_CYCLES (T0L) - 2));
} }
inline void sendByte (işarəsiz char bayt) {for (unsigned char bit = 0; bit <8; bit ++) {sendBit (bitRead (byte, 7)); bayt << = 1; }}
void ledsetup () {
bitSet (PIXEL_DDR, PIXEL_BIT); }
inline void sendPixel (işarəsiz char r, işarəsiz char g, işarəsiz char b) {
sendByte (g); // Neopixel rəngləri yaşıldan sonra qırmızıdan sonra mavi rənglə göndərmək istəyir sendByte (r); sendByte (b); }
boş şou () {
_delay_us ((RES / 1000UL) + 1); // Gecikmə _at_least_ bu qədər uzun olmalıdır (çox qısa işləməyə bilər, çox uzun bir problem deyil)}
void showColor (işarəsiz char r, işarəsiz char g, işarəsiz char b) {
cli (); üçün (int p = 0; p
8;
işarəsiz char addımı = currentPixelHue & 0xff; keçid (faz) {halda 0: sendPixel (~ addım, addım, 0); fasilə; hal 1: sendPixel (0, ~ addım, addım); fasilə;
hal 2:
sendPixel (addım, 0, ~ addım); fasilə; } currentPixelHue+= pixelAdvance; } sei (); göstərmək (); firstPixelHue += frameAdvance; }}
boş quraşdırma () {
ledsetup (); }
boşluq döngəsi () {
göy qurşağı dövrü (1000, 10, 10); qayıtmaq; }
Addım 3: Hər şey bitdi
Ümid edirəm ki, hər şey bu nöqtədə işləyir, amma əgər deyilsə, bəzi problemlərin həlli ilə bitirək.
1. Board Arduino tərəfindən tanınmır - digispark kitabxanasının quraşdırıldığından və digispark lövhələrindən necə istifadə olunacağını oxuduğunuzdan əmin olun.
2. Kod yüklənməyəcək - Yükləmə düyməsini basmalısınız və sonra modulu kompüterə qoşmalısınız, lal bilirəm, amma belə işləyir.
3. Lövhə hələ də işləmir - Mikro USB kabelinizin bütün kabellərin deyil, məlumatların və gücün də təmin etdiyinə əmin olun. Bunu çətin bir şəkildə başa düşdüyümü təsəvvür edə bilərsiniz.
4. Hələ heç nə - Diodlarınız geriyə doğru ola bilər - düzgün oriyentasiya üçün multimetrlə yoxlayın.
5. Qəribə yanıb -sönən LEDlər - Ya bu kod problemidir, ya da ledlərinizdən biri siqnal padində düzgün oturmur.
6. Son 3 LED çökdü - Ah! dizayn səhvimlə qarşılaşdın. Torpağın qazıldığından əmin olun - siqnal və torpaq arasındakı multimetr davamlılığını yoxlayın. Sonra körpü telinizin də yerdən təcrid olunduğundan əmin olun.
7. Hələ də pozulmuşam - vicdanla həll yollarım bitdi, mənə mesaj göndər.
Yaxşı, inşallah Təlimatımdan zövq aldınız! Etmisinizsə, şərh yazın.
Ən yaxşısı, Nik
Tövsiyə:
PCB yanıb -sönən ağac bəzəyi: 5 addım (şəkillərlə)
PCB yanıb -sönən ağac bəzəyi: Bu dərslikdə bir elektronika layihəsinin necə təsirli bir şəkildə ediləcəyini öyrənəcəksiniz. Misal olaraq, əvvəldən axıra qədər yanıb -sönən işıqları olan bir PCB düzəldəcəyəm. Bütün elektronikalar kodlaşdırma tələb etmədən özləri tərəfindən idarə olunur. Etməyiniz lazım olan tək şey
Fusion 360: 10 Addımda Milad bəzəyi hazırlayın (Şəkillərlə birlikdə)
Fusion 360 -da Milad bəzəyi hazırlayın: İlin ən gözəl vaxtı öz bəzək əşyalarınızı dizayn edərək 3D çap edərək daha da gözəlləşdirilə bilər. Fusion 360 istifadə edərək yuxarıdakı şəkildəki bəzəyi necə asanlıqla dizayn edə biləcəyinizi sizə göstərəcəyəm. Aşağıdakı addımları keçdikdən sonra mak
YouTube Milad bəzəyi: 11 addım (şəkillərlə)
YouTube Christmas Ornament: YouTube heyrətamiz məzmunla doludur və bir gün əvvəl bu faktı xatırladım. Keçmiş 80-90 -cı illərin Milad reklamlarının sanki bir neçə saatı olan bəzi videolara rast gəldim. Birdən mənə gözəl bir fikir verdi. Ya Məsih olsaydı
LED göyərçin bəzəyi: 8 addım (şəkillərlə)
LED Göyərçin Süslemesi: Bu tətil mövsümü üçün öz LED Keçe Süslemelerinizlə evinizə və ya sənətkarlıq/iş sahənizə bir az parıltı əlavə edin. Lehimləmə dəmirlərinə ehtiyac yoxdur: Sadə LED dövrə tamamilə keçirici ipdən istifadə edərək əllə tikilir. Təqdim olunan temadan istifadə edə bilərsiniz
Robot Milad bəzəyi: 6 addım (şəkillərlə)
Robot Christmas Ornament: Mən uzun müddətdir bu fikri başımda gəzdirirdim- Pop/soda qablarından hazırlanan Robot Fəaliyyət Fiqurları. Planlarımı dəyişmək üçün bir az dəyişdim