Mündəricat:

Ünvanlı Strip LED Polis Strobo: 4 addım
Ünvanlı Strip LED Polis Strobo: 4 addım

Video: Ünvanlı Strip LED Polis Strobo: 4 addım

Video: Ünvanlı Strip LED Polis Strobo: 4 addım
Video: Сделайте полицейскую мигалку из схемы старых часов 2024, Noyabr
Anonim
Image
Image

Bu Polis Strobo İşıq Çubuğu, tək WS2812B ünvanlı zolaqlı LED çubuğu (97 sm, 29 LED) və Arduino Nano ilə hazırlanır.

Bu həll, fərqli rəng sxemi ilə bir neçə fərqli işıq nümunəsi yaratmağa imkan verir, əks halda standart Qırmızı-Ağ-Mavi LED çubuğu (polisin strobo işıqları üçün istifadə edildiyi kimi) və ya RGB LED çubuğu ilə mümkün deyil.

Yerli qanunları yoxlamadığınız və bunun üçün qanuni/etibarlı bir səbəbiniz olmadığı təqdirdə bunu avtomobilinizdə istifadə etməməyi məsləhət görürəm.

Addım 1: WS2812B Şerit LEDləri necə işləyir

Dövrə naqilləri
Dövrə naqilləri

WS2812B LED şeridi, WS2812B LED sürücüsü IC -nin birləşdirildiyi tip 5050 RGB LED -lərdən ibarətdir.

Üç fərdi qırmızı, yaşıl və mavi LED -in intensivliyindən asılı olaraq istədiyimiz rəngi simulyasiya etmək mümkündür.

Bu LED -lərin üstün cəhəti odur ki, Arduino lövhəmizdən yalnız bir pinlə bütün LED şeridini belə idarə etmək mümkündür.

Hər bir LED -in hər bir ucunda üç bağlayıcı var, ikisi güc üçün, biri də məlumat üçün. Ox məlumat axınının istiqamətini göstərir. Əvvəlki LED -in məlumat çıxışı altlığı növbəti LED -in Məlumat Girişinə qoşulur. Şeridi istədiyimiz ölçüdə kəsə bilərik, həmçinin bəzi tellərdən istifadə edərək LED -lərin məsafəsini kəsə bilərik.

5V DC -də işləyirlər və hər qırmızı, yaşıl və mavi LED təxminən 20mA çəkir və ya tam parlaqlıqda hər LED üçün 60mA -dır.

Arduino USB vasitəsilə işləsə, 5V pin yalnız 400 mA ətrafında işləyə bilər və barel güc konnektorundan istifadə edildikdə 5V pin 900 mA ətrafında işləyə bilər. Buna görə daha çox LED istifadə edirsinizsə və çəkəcəkləri cərəyan miqdarı yuxarıda göstərilən hədləri aşarsa, ayrı bir 5V enerji təchizatı istifadə etməlisiniz.

Bu vəziyyətdə, iki Zəmin xəttini bir -birinə bağlamalısınız.

Əlavə olaraq, Arduino ilə LED şeridi məlumat pinləri arasında təxminən 330 Ohm olan bir rezistorun istifadə edilməsi tövsiyə olunur ki, bu xəttdəki səs -küy azaldılsın, həmçinin enerji təchizatını yumşaltmaq üçün 5V və Zəmində 100uF civarında bir kondansatör istifadə olunsun..

Addım 2: Dövrə naqilləri

Arduino nanosunu WS2812B ünvanlı zolaqlı LED çubuğuna bağlamaq üçün kabel sxemi çox sadədir.

Modeldə tellərin və ya pin başlığının lehimli olması lazımdır, test üçün bir pin başlığı istifadə etdim, amma həqiqi bir layihə üçün lehim tellərini düşünməlisiniz.

WS2812B ünvanlı zolaqlı ledin hər tərəfində 3 lehim yastığı var.

+5V (sxemdəki qırmızı tel) Arduino +5V -ə keçir;

GND (sxemdəki qara tel) Arduinonun GND -nə gedir;

DIN (sxemdəki yaşıl tel) 330 Ohm rezistor vasitəsilə Arduino PIN 5 -ə (məlumat üçün) gedir.

Addım 3: Kod Quraşdırma

Arduino IDE -dən FAST LED Kitabxanası ilə istifadə etdim

Əvvəlcə FastLED kitabxanasını daxil etməliyik, LED şeridi məlumatlarının bağlandığı pimi təyin etməliyik, LED sayını təyin etməliyik, həmçinin CRGB tipli bir sıra təyin etməliyik.

Bu tip LED, üç Qırmızı, Yaşıl və Mavi rəng kanalının hər biri üçün üç bir baytlıq məlumat üzvünə malikdir.

Quraşdırma hissəsində FastLED -ni yuxarıda göstərilən parametrlərlə işə salmalıyıq. İndi LEDlərimizi istədiyimiz şəkildə idarə edə biləcəyimiz əsas döngə. CRGB funksiyasından istifadə edərək qırmızı, yaşıl və mavi rənglərin üç parametrindən istifadə edərək istənilən LED -i istənilən rəngə təyin edə bilərik. LED -lərdə dəyişiklik etmək üçün FastLED.show () funksiyasına zəng etməliyik.

FastLED kitabxanasında həqiqətən maraqlı animasiyalar və işıq şouları yaratmaq üçün istifadə edilə bilən bir çox başqa funksiya var, buna görə də növbəti LED layihənizi parlaq etmək yalnız təsəvvürünüzə bağlıdır.

Kodum, standart RGB LED çubuğu ilə başqa cür mümkün olmayan bir neçə fərqli LED nümunəsini ehtiva edir.

Nümunələr void loop () bölməsində tək bir alt proqram olaraq dəyişdirilə və ya geri çağırıla bilər.

Addım 4: Son Qeyd

Kodum, ehtiyaclarınızı ödəmək üçün kodu dəyişdirmək üçün sizə bir başlanğıc nöqtəsi vermək üçün hər bir modelin bir varyasyonundan keçir.

GitHub -da kod

Tövsiyə: