Mündəricat:
- Addım 1: Tələb olunan komponentlər
- Addım 2: Arduino, WS2812B Leds və FastLED Kitabxanası (Proqramlaşdırma və Test)
- Addım 3: Dövrə Quraşdırması
- Addım 4: Son addım: Boks və motosikletdə qurulma
Video: Proqramlaşdırıla bilən LED -lərdən istifadə edərək inteqrasiya olunmuş yanıb -sönən motosikletin arxa lampası: 4 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:44
Salam!
Motosikletiniz və ya bəlkə də WS2812B (fərdi ünvanlı ledlər) və Arduinos istifadə edərək hər hansı bir şey üçün xüsusi bir Proqramlaşdırıla bilən RGB Quyruq Lampasının (inteqrasiya edilmiş yanıb -sönən/göstəricilərlə) necə ediləcəyi ilə bağlı bir az asan bir DIY -dir. Bir düyməni istifadə edərək dövr edilə bilən 4 işıqlandırma nümunəsi var.
Belə bir arxa lampa düzəltmək fikri motosiklimi aldığım ilk gündən bəri var idi, amma o vaxt maşın istehsal etmə üsulundan əmin deyildim və məşğul olduğum üçün əslində vaxtım yox idi. mənim kollecim İlkin planlarım, RGB LED -ləri almaq və onları motosikletimin arxa lampasındakı stok lampaları ilə əvəz etmək və inteqrasiya olunmuş flaş funksiyasını əlavə etmək üçün yenidən kabel çəkmək idi. Belə bir tətbiq, çox mürəkkəb bir dövrə ilə bitən RGB ledlərindəki RED-GREEN-BLUE nəzarət tellərinin hər biri üçün bir neçə tranzistor və gərginlik tənzimləyicisi tələb edərdi.
Ancaq bu fikrə çox qapıldım, buna görə də RGB ledləri və lazım olan digər komponentləri almağa qərar verdim, amma bir elektronika mağazasında bir oğlan məni fərdi olaraq ünvanlı və ya proqramlaşdırıla bilən ledlər ilə tanış edəndə bütün planlarım dəyişdi. O vaxtlar mənim üçün yeni bir şey idi) RGB LED -lərinə bənzər idi, lakin hər bir led, Arduino nəzarətçiləri və bütün zolaq üçün yalnız bir nəzarət telindən istifadə etməklə istənilən ardıcıllıqla və ya rəngdə işıqlandırmaq üçün ayrı -ayrılıqda idarə oluna bilər. Oradan, bu LED -lərin necə işlədiyini öyrənməkdən başlayaraq, onları necə proqramlaşdırmağı öyrənməkdən başlayaraq, dövrənin və onun prototiplərinin müxtəlif dizaynlarından keçməklə … çoxlu problemlərin aradan qaldırılması ilə başlayaraq bu layihəni başa çatdırmağım təxminən bir il çəkdi. Layihəmin son iki ayında baş verdi, çünki hər gün mənim bəd dizaynımın bir hissəsi olaraq baş verən bir sıra səhvlər və komponent uğursuzluqları oldu. Dövrəmdəki bəzi qüsurları düzəltmə prosesində yeni problemlər ortaya çıxır və bu tez -tez baş verir. və mənim üçün başqa bir şeyə cəmləşməyimi qeyri -mümkün hala gətirdiyim üçün tam bir stress idi). Bu layihənin sonunda bir zədələnmiş Arduino, bir neçə partladılmış LM7805 IC və rezistorlardan, çoxlu və çoxlu zolaqlı lövhələrdən və ledlərdən keçdim. bunların hamısı bu layihəyə sərf etdiyim pulun demək olar ki yarısını təşkil edəcək.
Bu layihə mənim edə biləcəyim bir iş idi və ya bütün lazımi hissələri sizin ixtiyarınızdadırsa 20 gün ərzində bitirə bilərdiniz. Məni bu qədər uzun sürən şey, kollecim səbəbiylə, həftələr və ya aylar aralığında sifariş verilən məhsulların pul olaraq gözləməsi mənim üçün bir problem idi və nəhayət bütün bunların əslində axmaq bir fikir olduğunu və bunun nə olduğunu düşündüm. əslində bunu etmək üçün vaxtımı və pulumu israf etdim. Hər halda bu layihəni etməkdən çox zövq aldım və təxminən bir il məni məşğul etdi və əminəm ki, sən də edəcəksən. Beləliklə, DIY -ə xoş gəldiniz!
Addım 1: Tələb olunan komponentlər
Tələb olunan komponentlər bu layihəni necə həyata keçirməyi planlaşdırdığınızdan asılı olaraq dəyişə bilər. Məsələn, birdən çox naxışa sahib olmaq və bu naxışlardan keçmək üçün iki Arduino istifadə etmişəm. Ancaq yalnız əyləc işığı olan inteqrasiya olunmuş flaşör/göstərici istəyirsinizsə, bunu yalnız bir Arduino ilə edə bilərsiniz. Eyni şəkildə dizaynımda istifadə olunan istilik lavaboları həddindən artıq çox idi və məqsədim üçün ümumiyyətlə lazım deyildi. Yalnız lal, təcrübəsiz olduğum üçün narahat olduğum üçün istifadə etdiyim zəruri olmadığını düşündüyüm bu cür komponentləri aradan qaldıra bilərsiniz (hələ də bir neçə dəfə dövrəimi məhv edə bildim). Bu layihəni yaratmaq üçün istifadə etdiyim komponentlərin siyahısı aşağıda verilmişdir:
- WS2812B LEDləri (məqsədinizə nə qədər ehtiyacınız olduğuna görə)
- ARDUINO NANO x2
- LM7805 x5 (12v -ni batareyadan 5v -ə çevirmək üçün gərginlik tənzimləyicisi)
- 10 kΩ müqavimət x5
- Tellər
- Konnektorlar (anakart-smps bağlayıcılarından istifadə etdim: kişi (x2) və qadın (x2))
- Düyməni basın (rejimi dəyişdirmək üçün) x1
- Zolaq lövhəsi x2
- İstilik Sink x5
- Plastik Konteyner x1
Dediyim kimi, tələb olunan hissələr həqiqətən bu layihəni necə həyata keçirməyi planlaşdırdığınızdan asılıdır.
Addım 2: Arduino, WS2812B Leds və FastLED Kitabxanası (Proqramlaşdırma və Test)
Həqiqi dövrə düzəltməzdən əvvəl etməli olduğunuz ilk şey, sxeminizin həqiqətən işləyib -işləməyəcəyini və proqramınızın lazım olduğu şəkildə işləyib -işləməyəcəyini yoxlamaqdır. Bütün bunlar, çörək taxtasındakı komponentləri sınayaraq və hər hansı bir komponentdə və ya dövrədə hər hansı bir problem varsa edilə bilər. Mükəmməl bir iş dövrəsi əldə olunana qədər həmişə fərqli variantlarla yenidən cəhd edə bilərik. Bu layihəni başa çatdırmağımın bu qədər uzun sürməsinin səbəblərindən biri, bu layihə ilə tələsməyim və fərqli giriş siqnallarının birləşməsi üçün ilkin dövrə dizaynını sınamamağımdır. Bu, bir çox komponentin dəyişdirilməsindən və dövrənin yenidən qurulmasından keçməklə başa çatdı.
Müzakirə ediləcək ilk şey, bu layihədə istifadə olunan LED növü və istədiyimiz kimi fəaliyyət göstərməsini necə proqramlaşdıra biləcəyimizdir. İstifadə etdiyim ledin modeli, ümumiyyətlə fərdi ünvanlı LED olaraq bilinən WS2812B idi. Fərqli adları olan bu LED -lərin müxtəlif modelləri var və hər biri arasında nə fərq olduğunu bilmirəm, bildiyim odur ki, fərqli modellər rəng istiliyində fərqlənir və bəzilərində məlumat pininə əlavə olaraq bir saat pimi də var.
Bu LED -ləri idarə etmək üçün Arduino nəzarətçisindən (test üçün UNO və MEGA və son dövrə üçün NANOlardan istifadə etdim) FastLED kitabxanası ilə birlikdə bu layihədə istifadə olunan LED növlərini idarə etmək üçün istifadə olunan bir arduino kitabxanasından istifadə edirik. Bu kitabxana GITHUB REPO -dan əldə edilə bilər.
Proqramları Arduinoya yükləməzdən əvvəl diqqət etməli olduğunuz ilk şey FastLED kitabxanasını Arduino IDE -yə əlavə etməkdir. Bunu necə edəcəyinizə dair addımları burada tapa bilərsiniz.
Bu layihə üçün iki fərqli Arduino istifadə etdim, biri LED -ə siqnal göndərmək üçün, digəri isə fərqli işıqlandırma rejimləri və ya modelləri arasında keçid etmək üçün. Yalnız bir rejim/standart bir model istəyirsinizsə, bir arduino tələb etdiyiniz şeydir.
Proqramları aşağıdakı linkdən yükləyə bilərsiniz.
İndi sizi proqramlarda gəzdirəcəyəm və quruluşunuza uyğun olaraq nələrin dəyişdirilməsi lazım olduğunu izah edəcəyəm. Görə bilərsiniz ki, ledact və ledpatt2 adlı iki proqram var. Proqram ledact, rejimləri/nümunələri keçmək üçün istifadə olunan arduino üçündür və ledpatt2 proqramı ledləri idarə edən biridir. Eyni iki proqramı nano adlı bir qovluqda da görə bilərsiniz. UNO və ya MEGA -dan daha az yaddaşa malik ARDUINO NANO ilə istifadə edə biləcəyiniz üçün daha kiçik bir şeydir.
Əvvəlcə dövrənizə uyğun olaraq ledpatt2 -də nəyin dəyişdirilməsi lazım olduğunu görək. Əvvəlcə 3-4 satırdakı NUM_LEDS və DATA_PIN kodlarını istifadə etdiyiniz ledlərin sayına və rəhbərinizin məlumat siqnalının qoşulduğu arduino pininin nömrəsinə dəyişməlisiniz. Sonra istifadə etdiyiniz led növünə görə kodu 18 -də dəyişdirməlisiniz. Məsələn, BRG (MAVİ-QIRMIZI-YAŞIL) kalibrləmə ilə WS2812B ledlərindən istifadə etdiyim üçün kodum thta kimidir. Fərqli bir LED istifadə edirsinizsə, kodunuzda WS2812B -ni ledinizin adı ilə əvəz edin və BRG -ni rəng kalibrasiyası ilə əvəz edin. Ledinizin rəng kalibrini tapmaq üçün burada olan məqaləni izləyə bilərsiniz.
Yalnız bir naxışa ehtiyacınız varsa 15-21-in qarşısını almaq mümkün olan 15-25 sətirlərindən bir neçə başlanğıc görürsünüz. 15-21-ci sətirlərdə göstərilən bu sancaqlar fərqli rejimləri işə salmaq üçün istifadə olunur və bu digər Arduino ilə edilir. Kodda qeyd edildiyi kimi 22-25-ci sətirlər əyləc, park və yanıb-sönən/göstərici işıqları üçün giriş siqnallarının alınması üçün istifadə olunur.
Ledact-da, bu layihə üçün olduğu kimi işləməsini istəyirsinizsə, yalnız 4-8-ci xətləri narahat etməlisiniz. 4-7-ci sətirlər, hər bir rejimi işə salan sancaqlardır. Yalnız 4 rejim istədiyim üçün 4 sancaq istifadə edildi. 8 -ci xətt, düyməni bağladığınız pin olan pinPin rejimini işə salmaq üçün istifadə olunur. Kodda, 4 rejim üçün 3, 4, 5, 6 arduino pinlərinin istifadə edildiyini görə bilərsiniz. Bu pinlər birbaşa ledpatt2 proqramı ilə yüklənmiş arduino üzərindəki 3-4-5-6 sancaqlar ilə əlaqələndirilir.
Bu, fərqli naxışlı LED işıqlarını tətbiq etmək üsulum idi və düşünürəm ki, olduqca uyğun deyil. Bütün bunları yalnız bir Arduino ilə etmək mümkün olub -olmadığını internetdə çox axtardım, amma mənə kömək edən tapa bilmədim. Necə edəcəyinizi bilirsinizsə və ya proqramlaşdırma ilə çox yaxşı danışırsınızsa, proqramlaşdırma proqramımın pis kodlaşdırma qabiliyyətimə görə çox pis planlaşdırıldığı və həcmli olduğu üçün onunla birlikdə getməyi təklif edirəm. Və zəhmət olmasa nəticələrinizi bizimlə bölüşün.
Addım 3: Dövrə Quraşdırması
Dövrəni tam başa düşsəniz və ya dövrənin tətbiqi üçün yaxşı düşünülmüş bir planınız varsa bu olduqca asan bir addımdır. Dövrədəki komponentlər sizin üçün çaşqın görünsə, sizin üçün parçalayacağam, çünki bu çox sadə bir sxemdir. Əvvəlcə 12v-ni 5v-ə çevirmək üçün istifadə olunan beş LM7805 IC-lərimiz var (bu gərginlik arduino giriş pinləri üçün təhlükəsizdir), bunlardan dördü əyləc, park və L-R yanıb-sönən siqnalları qəbul etmək üçün istifadə olunur, digərləri iki arduinoya güc vermək üçün istifadə olunur. Sonra giriş terminallarının hər birinə paralel olaraq bağlanmış bir neçə 10k ohm rezistor və nəhayət iki arduino var.
Dövrəni Fritzing istifadə etməzdən əvvəl hazırlanmış sxem dizaynına əsaslanaraq etdim. Bağlayıcılar üçün SMPS-MOTHERBOARD ERKEK/KADIN bağlayıcılarından istifadə edilmişdir. Şəkilləri yoxlaya və izləyə bilərsiniz.
Bu dövrə ən yaxşı deyil, çünki heç bir qoruma və ya filtr dövrəsi yoxdur və bunların heç birini daxil etməməyimin səbəbi tam bir noob olduğumdur. Həm də IC -lərlə işləyən soyuducular köhnə bir SMPS -dən çıxarıldı və onlarla termal pasta istifadə edildi. Ancaq bəzi elektron geekslər mənə istilik yuyucusunun istifadəsinin bu tətbiq üçün həddindən artıq bir iş olduğunu və IC -lərin bu dövrədə heç bir istilik yuvasına ehtiyac olmadan işləyəcəyini söylədi. Yəni budur.
Addım 4: Son addım: Boks və motosikletdə qurulma
Plastik konteyner dövrədə olduğu kimi istifadə edildi və su dövrəmizdə istəmədiyimiz bir şey olduğu üçün ətrafına izolyasiya lenti büküldü. Növbəti iş hər şeyi bağlamaq və motosikletin naqillərini çəkməkdir. Motosikletin elektrik cihazlarında işləyərkən çox diqqətli olmalısınız, çünki hər hansı bir qısaqlıq motosikletin elektronikasına tamamilə zərər verə bilər. Motosikletinizin naqilləri ilə tanış deyilsinizsə, xidmət kitabçalarına müraciət edə və ya internetdə axtarış edə bilərsiniz. Qalan vəzifə, arxa lampanı çıxarmaq və içindəki LEDləri WS2812B lampaları ilə əvəz etməkdir. Bundan sonra nəmin daxil olması üçün deşik və boşluq buraxmadan lampanı yenidən qablaşdırın və yenidən bağlayın. Dövrə qutusunu motosikletin pilyon oturacağının altında saxlama sahəsinin içərisində saxlaya bilərsiniz. Nəhayət, hər şeyi bağlayın, gücünü açın və motosikletinizi gəzintiyə çıxarın. Layihə çox iş kimi görünsə də, sizi əmin edə bilərəm ki, son nəticə sizi dəli bir oğlan kimi sevindirəcək. Oxuduğunuz və zövq aldığınız üçün təşəkkürlər!
Tövsiyə:
STM8 [72 LED] istifadə edərək Proqramlaşdırıla bilən Polis LED Flaşör: 9 Addım
STM8 [72 LED] istifadə edərək Proqramlaşdırıla bilən Polis LED Flaşçısı: STM8S001J3, 8 Kbayt Flash proqram yaddaşı və əlavə olaraq həqiqi məlumat EEPROM təklif edən 8 bitlik bir mikro nəzarətçidir. STM8S mikrokontroller ailəsində aşağı sıxlıqlı bir cihaz adlandırılır. Bu MCU kiçik bir SO8N paketində təklif olunur
Arduino istifadə edərək proqramlaşdırıla bilən təhlükəsizlik kilidi: 4 addım
Arduino istifadə edərək proqramlaşdırıla bilən təhlükəsizlik kilidi: Buradakı ilk blogumdur. Burada elektron cihazları kilidləmək üçün Arduino əsaslı proqramlaşdırıla bilən təhlükəsizlik kilidini (PSL) təqdim edirəm. PSL dövrəsi, şifrə əsaslanaraq, xarici enerji təchizatında AC/DC cihazını açmaq/aktivləşdirmək/kilidini açmaq üçün istifadə olunur
Proqramlaşdırıla bilən Həqiqi Bypass Gitara Efektli Looper Stansiyası, Daldırma Açarlarından istifadə edərək: 11 Addım
Proqramlaşdırıla bilən Həqiqi Baypas Gitara Efektli Looper Stansiyası, Dip Switch -lərdən istifadə edir: Mən gitara həvəskarı və hobbiistəm. Layihələrimin əksəriyyəti gitara alətləri ətrafında baş verir. Mən öz amplifikatörlerimi və bir neçə effektli pedalı qururam. Keçmişdə kiçik bir qrupda oynayırdım və özümü inandırırdım ki, təkərli bir ampa ehtiyacım var
Alexa, SmartThings, IFTTT, Google Sheets ilə inteqrasiya olunmuş hissəcik fotonundan istifadə edərək IoT pişik yemi: 7 addım (şəkillərlə)
Alexa, SmartThings, IFTTT, Google Sheets ilə inteqrasiya olunmuş hissəcik fotonundan istifadə edərək IoT Pişik Besleyicisi: Avtomatik pişik bəsləyiciyə ehtiyac öz -özünə aydındır. Pişiklər (pişiyimizin adı Bella) ac olanda iyrənc ola bilər və əgər sənin pişiyin mənimki kimidirsə qabı hər dəfə quru yeyəcək. Nəzarət olunan miqdarda yeməyi avtomatik olaraq paylamaq üçün bir yola ehtiyacım var idi
Proqramlaşdırıla bilən RGB LED Sequencer (Arduino və Adafruit Trellis istifadə edərək): 7 addım (şəkillərlə)
Proqramlaşdırıla bilən RGB LED Sequencer (Arduino və Adafruit Trellis istifadə edərək): Oğullarım masalarını işıqlandırmaq üçün rəngli LED şeritlər istədilər və konservləşdirilmiş RGB şerit idarəedici istifadə etmək istəmədim, çünki sabit naxışlardan bezdiklərini bilirdim. bu nəzarətçilər var. Yaratmaq üçün əla bir fürsət olacağını da düşündüm