Innehållsförteckning:

Adresserbar Strip LED Police Strobo: 4 steg
Adresserbar Strip LED Police Strobo: 4 steg

Video: Adresserbar Strip LED Police Strobo: 4 steg

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

Denna Police Strobo Light Bar är gjord med en enda WS2812B adresserbar remsa LED -bar (97 cm, 29 LEDS) och en Arduino Nano.

Denna lösning gör det möjligt att göra flera olika ljusmönster med olika färgscheman, annars är det inte möjligt med standardröd-vit-blå lysdioder (som används för polis stroboskopor) eller RGB-lysdioder.

Jag rekommenderar att du inte använder detta i ditt fordon om du inte har kontrollerat lokala lagar och har en laglig/giltig anledning att göra det.

Steg 1: Hur WS2812B Strip -lysdioder fungerar

Kretsledning
Kretsledning

WS2812B LED -remsan består av lysdioder av typ 5050 RGB där WS2812B LED -drivrutins -IC är integrerad.

Beroende på intensiteten hos de tre individuella röda, gröna och blå lysdioderna är det möjligt att simulera vilken färg vi vill.

Det fantastiska med dessa lysdioder är att det är möjligt att styra även hela LED -remsan med bara en enda stift från vårt Arduino -kort.

Varje lysdiod har tre kontakter i varje ände, två för strömförsörjning och en för data. Pilen anger dataflödesriktningen. Datautmatningsplattan för den föregående lysdioden är ansluten till datainmatningsplattan för nästa lysdiod. Vi kan klippa remsan till vilken storlek vi vill, samt distansera lysdioderna med några ledningar.

De fungerar på 5V DC och varje röd, grön och blå lysdiod drar runt 20mA, eller det är totalt 60mA för varje LED med full ljusstyrka.

Om Arduino drivs via USB kan 5V -stiftet endast hantera cirka 400 mA, och när det drivs med pipans strömkontakt kan 5V -stiftet hantera cirka 900 mA. Så om du använder fler lysdioder och mängden ström som de skulle dra överskrider gränserna ovan, måste du använda en separat 5V strömförsörjning.

I ett sådant fall måste du också ansluta de två jordledningarna till varandra.

Dessutom rekommenderas att använda ett motstånd på cirka 330 ohm mellan Arduino och LED -banddatastiftet för att minska bullret på den linjen, samt en kondensator på cirka 100uF över 5V och jord för att jämna ut strömförsörjningen.

Steg 2: Kretsledning

Kabelschema för att ansluta Arduino nano till WS2812B adresserbar strip LED -bar är mycket enkelt.

Modellen måste ha trådar eller stifthuvud lödda på den, jag använde en stifthuvud för testning men för ett faktiskt projekt bör du överväga lödningstrådar.

WS2812B adresserbar remsled har 3 lödkuddar på varje sida.

+5V (röd tråd i schemat) går till +5V på Arduino;

GND (svart tråd i schemat) går till GNU för Arduino;

DIN (grön tråd i schemat) går till en Arduino PIN 5 (för data) genom ett 330 Ohm motstånd.

Steg 3: Kodinställning

Jag använde Arduino IDE med FAST LED Library

Först måste vi inkludera FastLED -biblioteket, definiera stiftet som LED -banddatan är ansluten till, definiera antalet lysdioder samt definiera en rad CRGB -typ.

Denna typ innehåller lysdioderna, med tre en-byte datamedlemmar för var och en av de tre röda, gröna och blå färgkanalerna.

I installationsdelen behöver vi bara initiera FastLED med parametrarna som definierats ovan. Nu är det huvudslingan vi kan styra våra lysdioder hur som helst vi vill. Med hjälp av CRGB -funktionen kan vi ställa in vilken LED som helst till vilken färg som helst med hjälp av tre parametrar: röd, grön och blå färg. För att förändringen ska ske på lysdioderna måste vi ringa funktionen FastLED.show ().

FastLED -biblioteket har många andra funktioner som kan användas för att göra riktigt intressanta animationer och ljusshower, så det är bara upp till din fantasi att få ditt nästa LED -projekt att lysa.

Min kod innehåller flera olika LED -mönster som annars inte är möjliga med standard RGB LED -streck.

Mönstren kan modifieras eller återkallas i void loop () -sektionen som en enda underrutin.

Steg 4: Slutnotering

Min kod går igenom en variation av varje mönster för att ge dig en utgångspunkt för att ändra koden efter dina behov.

Kod i min GitHub

Rekommenderad: