Mündəricat:

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
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

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

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
Video: Aqara T1 - ağ və ünvanlı LED-ləri olan yeni Zigbee zolağı, baxış və sınaq 2024, Noyabr
Anonim
Image
Image
Proqramlaşdırıla bilən LED -lərdən istifadə edərək inteqrasiya olunmuş yanıb -sönən motosikletin arxa fənəri
Proqramlaşdırıla bilən LED -lərdən istifadə edərək inteqrasiya olunmuş yanıb -sönən motosikletin arxa fənəri
Proqramlaşdırıla bilən LED -lərdən istifadə edərək inteqrasiya olunmuş yanıb -sönən motosikletin arxa fənəri
Proqramlaşdırıla bilən LED -lərdən istifadə edərək inteqrasiya olunmuş yanıb -sönən motosikletin arxa fənəri

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
Tələb olunan komponentlər
Tələb olunan komponentlər
Tələb olunan komponentlər
Tələb olunan komponentlər
Tələb olunan komponentlər
Tələb olunan komponentlər
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)

Arduino, WS2812B Leds və FastLED Kitabxanası (Proqramlaşdırma və Test)
Arduino, WS2812B Leds və FastLED Kitabxanası (Proqramlaşdırma və Test)
Arduino, WS2812B Leds və FastLED Kitabxanası (Proqramlaşdırma və Test)
Arduino, WS2812B Leds və FastLED Kitabxanası (Proqramlaşdırma və Test)
Arduino, WS2812B Leds və FastLED Kitabxanası (Proqramlaşdırma və Test)
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ə Quraşdırması
Dövrə Quraşdırması
Dövrə Quraşdırması
Dövrə Quraşdırması
Dövrə Quraşdırması
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

Son addım: Boks və Motosikletdə Quraşdırma
Son addım: Boks və Motosikletdə Quraşdırma
Son addım: Boks və Motosikletdə Quraşdırma
Son addım: Boks və Motosikletdə Quraşdırma
Son addım: Boks və Motosikletdə Quraşdırma
Son addım: Boks və Motosikletdə Quraşdırma
Son addım: Boks və Motosikletdə Quraşdırma
Son addım: Boks və Motosikletdə Quraşdırma

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ə: