Indholdsfortegnelse:

Adresserbar Strip LED Police Strobo: 4 trin
Adresserbar Strip LED Police Strobo: 4 trin

Video: Adresserbar Strip LED Police Strobo: 4 trin

Video: Adresserbar Strip LED Police Strobo: 4 trin
Video: How To Use Addressable RGB WS2812B LED Strips With a Raspberry Pi Single Board Computer 2024, Juli
Anonim
Image
Image

Denne Police Strobo Light Bar er lavet med en enkelt WS2812B adresserbar strip LED -bar (97 cm, 29 LEDS) og en Arduino Nano.

Denne løsning gør det muligt at lave flere forskellige lysmønstre med forskellige farveskemaer ellers ikke muligt med standard rød-hvid-blå LED-bjælke (som brugt til politistrobo-lys) eller RGB LED-bjælke.

Jeg vil anbefale ikke at bruge dette i dit køretøj, medmindre du har tjekket lokale love og har en juridisk/gyldig grund til at gøre det.

Trin 1: Sådan fungerer WS2812B Strip LED'er

Kredsløb
Kredsløb

WS2812B LED -strip består af type 5050 RGB LED'er, hvor WS2812B LED driver IC er integreret.

Afhængigt af intensiteten af de tre individuelle røde, grønne og blå lysdioder er det muligt at simulere enhver farve, vi ønsker.

Det store ved disse lysdioder er, at det er muligt at styre selv hele LED -strimlen med kun en enkelt pin fra vores Arduino -bord.

Hver LED har tre stik i hver ende, to til strømforsyningen og en til dataene. Pilen angiver dataflowretningen. Dataudgangspladen til den forrige LED er forbundet med dataindgangspladen på den næste LED. Vi kan klippe strimlen til enhver størrelse, vi ønsker, samt distancere lysdioderne ved hjælp af nogle ledninger.

De arbejder på 5V DC, og hver rød, grøn og blå LED trækker omkring 20mA, eller det er i alt 60mA for hver LED ved fuld lysstyrke.

Hvis Arduino får strøm via USB, kan 5V -stiften kun klare omkring 400 mA, og når den drives af tønde -strømstikket, kan 5V -stiften klare omkring 900 mA. Så hvis du bruger flere lysdioder, og mængden af strøm, de ville trække, overstiger de ovenfor nævnte grænser, skal du bruge en separat 5V strømforsyning.

I et sådant tilfælde skal du også forbinde de to jordlinjer med hinanden.

Derudover anbefales det at bruge en modstand på omkring 330 Ohm mellem Arduino og LED -stripdatapinden for at reducere støj på den linje, samt en kondensator på omkring 100uF over 5V og jord for at udjævne strømforsyningen.

Trin 2: Kredsløbskabler

Ledningsskema til tilslutning af Arduino nano til WS2812B adresserbar strip LED -bar er meget enkel.

Modellen skal have ledninger eller pin -header loddet til den, jeg brugte en pin -header til test, men til et egentligt projekt bør du overveje lodningstråde.

WS2812B adresserbar strip -LED har 3 loddepuder på hver side.

+5V (rød ledning i skemaet) går til +5V i Arduino;

GND (sort ledning i skemaet) går til GND for Arduino;

DIN (grøn ledning i skemaet) går til en Arduino PIN 5 (til data) gennem en 330 Ohm modstand.

Trin 3: Kodeopsætning

Jeg brugte Arduino IDE med FAST LED Library

Først skal vi inkludere FastLED -biblioteket, definere den pin, som LED -stripdataene er forbundet til, definere antallet af LED'er samt definere en matrix af typen CRGB.

Denne type indeholder lysdioderne med tre et-byte datamedlemmer for hver af de tre røde, grønne og blå farvekanaler.

I opsætningsafsnittet skal vi bare initialisere FastLED med parametrene med defineret ovenfor. Nu er det hovedsløjfen, vi kan styre vores lysdioder, uanset hvad vi vil. Ved hjælp af CRGB -funktionen kan vi indstille enhver LED til enhver farve ved hjælp af tre parametre i rød, grøn og blå farve. For at få ændringen til at ske på lysdioderne skal vi kalde funktionen FastLED.show ().

FastLED -biblioteket har mange andre funktioner, der kan bruges til at lave virkelig interessante animationer og lysshows, så det er kun op til din fantasi at få dit næste LED -projekt til at skinne.

Min kode indeholder flere forskellige LED -mønstre, der ellers ikke er muligt med standard RGB LED -bjælke.

Mønstrene kan ændres eller tilbagekaldes i sektionen tomrumsløjfe () som en enkelt underprogram.

Trin 4: Endelig note

Min kode kører gennem en variation af hvert mønster for at give dig et udgangspunkt for at ændre koden, så den opfylder dine behov.

Kode i min GitHub

Anbefalede: