Indholdsfortegnelse:
- Trin 1: Programmering
- Trin 2: Koden
- Trin 3: Montering af elektronikken til controlleren
- Trin 4:
- Trin 5:
- Trin 6:
- Trin 7:
- Trin 8:
- Trin 9:
- Trin 10:
- Trin 11: Montering af Light Pen
- Trin 12:
- Trin 13:
- Trin 14:
- Trin 15:
- Trin 16: Eksempler
- Trin 17: Filerne
Video: RGB LED -pen til lysmaling: 17 trin (med billeder)
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:29
Dette er en komplet byggeinstruktion til et værktøj til lysmaling, der bruger en RGB LED -controller. Jeg bruger denne controller meget i mine avancerede værktøjer og tænkte en dokumentarfilm om, hvordan dette er bygget og programmeret, kan hjælpe nogle mennesker.
Dette værktøj er en modulær RGB -lyspen beregnet til letskrivning, lystegning og belysning af graffiti. Det er let at bruge, fordi du kun har pennen i hånden, og du hurtigt kan ændre farven.
Værktøjet består af:
- en sag, der er 3D -printet
- en Arduino Micro
- en WS2816B LED
- to potentiometer (10K eller 100K)
- to kontakter
- en trykknap
- og nogle kabler.
En Arduino Micro er perfekt til dette, fordi det er ekstremt lille og fantastisk at styre RGB -lysdioder. Du kan også bruge endnu mindre mikrokontrollere som en LilyPad eller endda en ATtiny85, men jeg bruger ofte Micro, fordi den er let at bruge, da den leveres med et USB -stik klar til brug. Både Arduino og LED'en er drevet med 5V, så du skal sørge for ordentlig strømstøtte. Dette værktøj er designet til at bruge fire genopladelige AAA -batterier, fordi de normalt har 1,2V og kombineret 4,8V, hvilket er nok til at drive både Arduino og LED. Pas på ikke at bruge almindelige AAA -batterier, fordi de har 1,5V, og den kombinerede spænding kan være for meget for komponenterne og kan beskadige dem. Hvis du vil bruge almindelige batterier, skal du kun bruge tre, spændingen skal stadig være nok. Jeg brugte en anden stor 3D -printet del fra en anden til batterikassen, der kan findes her: "Fleksibel batteriholdere".
Trin 1: Programmering
Først skal du bruge Arduino IDE til at programmere mikrocontrolleren, som er gratis at downloade og bruge. Dette lyder ret kompliceret ved første øjekast, men er virkelig temmelig simpelt. Efter installation af softwaren får du et simpelt tekstredigeringsvindue, der bruges til at kode skitsen, der uploades til Arduino. Dette værktøj bruger også FastLED -biblioteket, som er et fantastisk og brugervenligt bibliotek, der kan styre næsten enhver form for RGB LED, du kan købe. Efter download af biblioteket skal du installere ved at placere filerne i biblioteksmappen oprettet af Arduino IDE. Dette kan normalt findes under „C: / Users {User Name} Documents / Arduino / libraries“, hvis du ikke har ændret det. Efter at have lagt biblioteket i denne mappe skal du genstarte IDE'en, hvis den allerede kører. Nu er vi klar til at oprette koden til controlleren.
Trin 2: Koden
For at bruge FastLED -biblioteket skal vi først medtage det i vores kode. Dette gøres øverst i koden før noget andet med denne linje:
#omfatte
Dernæst vil vi definere et par konstanter. Dette gøres, fordi disse værdier ikke ændres, mens koden kører, og også for at holde den mere læsbar. Du kan sætte disse værdier direkte ind i koden, men hvis du skal ændre noget, skal du gå igennem hele koden og ændre hver linje, værdien bruges i. Ved at bruge definerede konstanter behøver du kun at ændre den ét sted og behøver ikke at røre ved hovedkoden. Først definerer vi de ben, der bruges af denne controller:
#define HUE_PIN A0
#define BRIGHT_PIN A1 #define LED_PIN 3 #define LIGHT_PIN 6 #define COLOR_PIN 7 #define RAINBOW_PIN 8
Tallene eller navnene er de samme, som er trykt på Arduino. Analoge ben identificeres med et A foran nummeret, digitale stifter bruger kun tallet i kode, men undertiden udskrives med et førende D på tavlen.
Potentiometeret på pin A0 bruges til at styre farvenuancen, potentiometeret på pin A1 bruges til at styre lysstyrken. Pin D3 bruges som et signal til LED'en, så Arduino kan sende data for at styre farven. Pin D6 bruges til at skifte lys, og pin D7 og D8 bruges til at indstille controllerens tilstand. Jeg har implementeret til modes i denne controller, den ene sætter simpelthen den farve, der er defineret af farvepotentiometeret på LED'en, og den anden vil falme gennem alle farver. Dernæst har vi også brug for et par definitioner til FastLED -biblioteket:
#define COLOR_ORDER GRB
#define CHIPSET WS2811 #define NUM_LEDS 5
Chipsæt bruges til at fortælle biblioteket, hvilken slags LED vi bruger. FastLED understøtter næsten enhver RGB LED, der er tilgængelig (som NeoPixel, APA106, WS2816B osv.). LED'en, jeg bruger, sælges som WS2816B, men synes at være en smule anderledes, så den fungerer bedst ved hjælp af WS2811 -chipsættet. Rækkefølgen af bytes, der sendes til LED'en for at indstille farven, kan også variere mellem producenterne, så vi har også en definition for byteordren. Definitionen her fortæller bare biblioteket at sende farven i rækkefølgen grøn, rød, blå. Den sidste definition er for mængden af lysdioder, der er tilsluttet. Du kan altid bruge færre lysdioder, end du definerer i kode, så jeg sætter tallet til 5, fordi jeg med dette værktøj ikke vil designe penne med mere end 5 lysdioder. Du kan indstille tallet meget højere, men på grund af ydeevnen holder jeg det så lille, som jeg har brug for det.
Til hovedkoden har vi også brug for et par variabler:
int lysstyrke = 255;
usigneret int pot_Reading1 = 0; usigneret int pot_Reading1 = 0; usigneret lang lastTick = 0; usigneret int wheel_Speed = 10;
Disse variabler bruges til lysstyrke, aflæsninger fra potentiometrene, husker sidste gang koden blev eksekveret, og hvor hurtigt farven falmer.
Dernæst definerer vi en matrix for lysdioderne, som er en nem måde at indstille farven på. Den definerede mængde lysdioder bruges til at indstille arrayets størrelse her:
CRGB -lysdioder [NUM_LEDS];
Efter at have taget os af definitioner kan vi nu skrive installationsfunktionen. Dette er ganske kort for dette program:
ugyldig opsætning () {
FastLED.addLeds (leds, NUM_LEDS).setCorrection (TypicalLEDStrip); pinMode (LIGHT_PIN, INPUT_PULLUP); pinMode (COLOR_PIN, INPUT_PULLUP); pinMode (RAINBOW_PIN, INPUT_PULLUP); }
Den første linje initialiserer FastLED -biblioteket ved hjælp af de definitioner, vi tidligere har angivet. De sidste tre linjer fortæller Arduino, at disse ben bruges som input, og at hvis spændingen ikke er forbundet til noget, skal deres spænding sættes til høj (PULLUP). Det betyder, at vi skal forbinde disse stifter til GND for at udløse noget.
Nu kan vi tage os af hovedprogrammet. Dette gøres i loop -funktionen. Først sætter vi nogle variabler og læser potentiometrene:
void loop () {
statisk uint8_t nuance = 0; statisk uint8_t wheel_Hue = 0; pot_Reading1 = analogRead (HUE_PIN); hue = map (pot_Reading1, 0, 1023, 0, 255); pot_Reading2 = analogRead (BRIGHT_PIN); lysstyrke = kort (pot_Reading2, 0, 1023, 0, 255);
De to første linjer angiver variabler, der senere bruges til farven. De to følgende blokke sørger for at aflæse potentiometerværdierne. Fordi du får en værdi mellem 0 og 1023, hvis du læser en nål op ved hjælp af “analogRead”, men farvetonen og lysstyrken har brug for en værdi mellem 0 og 255, bruger vi “map” -funktionen til at oversætte aflæsningen fra et værdiområde til et andet. Den første parameter i denne funktion er den værdi, du vil oversætte, de sidste fire er minimum og maksimum for de regioner, du vil bruge til oversættelse.
Dernæst skal vi evaluere trykknappen:
hvis (digitalRead (LIGHT_PIN) == LOW) {
Vi kontrollerer aflæsningen mod LOW, fordi vi definerede stiften til at være høj, hvis den ikke udløses. Så hvis der trykkes på trykknappen, bliver stiften forbundet til GND og vil læse lavt. Hvis der ikke trykkes på stifterne, er der ikke meget at gøre.
Lad os først passe på bare at tænde LED'en i en farve:
hvis (digitalRead (COLOR_PIN) == LOW) {
hvis (nuance <2) {FastLED.showColor (CRGB:: Hvid); FastLED.setBrightness (lysstyrke); } andet {FastLED.showColor (CHSV (farvetone, 255, lysstyrke)); FastLED.setBrightness (lysstyrke); } forsinkelse (10);
Vi er nødt til at evaluere farvepinden for at vide, at vi vil bruge denne tilstand. Derefter kan vi kontrollere, hvilken farve der er behov for. Da HSV -farvemodellen bruges her, behøver vi kun farvetonen til at definere en farve. Men dette skaber også det problem, at vi ikke har en måde at indstille farven til hvid. Da nuance 0 og farvetone 255 begge oversætter til rød, bruger jeg et lille trick her og kontrollerer, om aflæsningen fra farvetone -potentiometeret er mindre end 2. Det betyder, at potentiometeret er drejet helt til den ene side, og vi kan bruge dette til at indstille hvidt. Vi har stadig rødt på den anden side, så vi mister ikke noget her.
Så enten indstiller vi farven til hvid og derefter lysstyrken, eller også indstiller vi farven baseret på farvetonen og også lysstyrken.
Bagefter tilføjede jeg en lille forsinkelse, fordi det er meget bedre at give controlleren lidt nedetid for at spare strøm, og en forsinkelse på 10 millisekunder vil ikke kunne mærkes.
Dernæst koder vi farven fade:
ellers hvis (digitalRead (RAINBOW_PIN) == LOW) {
wheel_Speed = map (pot_Reading1, 0, 1023, 2, 30); hvis (lastTick + wheel_Speed 255) {wheel_Hue = 0; } lastTick = millis (); } FastLED.showColor (CHSV (wheel_Hue, 255, lysstyrke)); }
Først kontrolleres stiften til at skifte denne tilstand. Da jeg ikke ønskede at tilføje et tredje potentiometer til at styre fadehastigheden, og da nuancepotentiometeret ikke bruges i denne tilstand, kan vi bruge det potentiometer til at indstille hastigheden. Ved hjælp af kortfunktionen igen kan vi oversætte læsningen til en forsinkelse, der oversættes til fadehastigheden. Jeg brugte en værdi mellem 2 og 30 til forsinkelsen, fordi det fra erfaringer er en god hastighed. Funktionen "millis" returnerer millisekunder, siden Arduino blev tændt, så vi kan bruge dette til at måle tid. Den sidste ændring af nuance gemmes i en variabel, vi definerede tidligere, og denne sammenlignes hver gang for at se, om vi skal ændre farvetonen igen. Den sidste linje indstiller bare den farve, der skal vises næste gang.
For at afslutte koden:
} andet {
FastLED.showColor (CRGB:: Sort); }}
Vi skal bare slukke lysdioden, hvis der ikke trykkes på knappen ved at indstille farven til sort og lukke eventuelle åbne parenteser.
Som du kan se, er dette en ret kort og let kode, der kan bruges til mange værktøjer, der bruger RGB -lysdioder.
Når du har den fulde kode, kan du uploade den til Arduino. Til dette skal du tilslutte Arduino til din pc med et USB -kabel og vælge Arduino -typen i IDE.
I denne vejledning bruger jeg Arduino Pro Micro. Efter indstilling af Arduino -modellen skal du vælge porten, hvor IDE kan finde den. Åbn portmenuen, og du skal se din tilsluttede Arduino.
Nu er det eneste, du skal gøre, at uploade koden til Arduino ved at trykke på knappen anden runde øverst i vinduet. IDE opbygger koden og uploader den. Efter at dette var vellykket, kan du afbryde Arduino og fortsætte med at samle controlleren.
Trin 3: Montering af elektronikken til controlleren
Siden vi sørgede for kodning af Arduino, kan vi nu samle controllerhardwaren. Vi starter med at lægge komponenterne inde i kassen. Potentiometrene går i de to runde huller til venstre, kontakten til strøm er nederst, kontakten til tilstanden er øverst til højre, og Arduino går i holderen i midten.
Trin 4:
Start med at lodde et rødt kabel fra afbryderen til RAW -stiften på Arduino. Denne pin er go to pin til strømforsyning, da den er tilsluttet en spændingsregulator, så selvom spændingen er højere end 5V, kan denne pin bruges til at drive Arduino. Lod derefter en anden rød ledning til VCC -stiften, da vi har brug for højspændingen til potentiometeret. Lod to hvide ledninger til A0- og A1 -benene, der skal bruges til potentiometeraflæsninger.
Trin 5:
Sæt nu en lang hvid og en lang grøn ledning gennem åbningen øverst, som senere bruges til at forbinde LED'en. Lod den grønne til pin 3 og den hvide til pin 6 og tryk dem fladt på Arduino. Loddet to sorte ledninger til GND -benene på venstre side af Arduino, disse bruges til lavspændingen til potentiometrene. Lod to blå ledninger til pin 7 og pin 8, der skal bruges til tilstandskontakten.
Trin 6:
Det røde kabel, vi lodde på VCC -stiften, skal nu loddes til en af de ydre ben på det første potentiometer. Brug et andet rødt kabel til at fortsætte dette til det andet potentiometer. Pas på at bruge den samme side på begge potentiometre, så fuld på vil være den samme side på begge. Lod de to sorte kabler til den anden side af potentiometrene og de hvide kabler fra benene A0 og A1 på midterstiften. Potentiometre virker ved at indstille spændingen på den midterste pin til en spænding mellem spændingerne, der påføres de ydre ben, så hvis vi forbinder høj og lav spænding, kan vi få en spænding imellem på den midterste pin. Dette fuldførte ledningerne til potentiometrene, og de kan drejes lidt, så benene er ude af vejen.
Trin 7:
Lod et sort kabel til den midterste stift på funktionsomskifteren, og sæt et langt sort kabel gennem åbningen, der fører til strømforsyningen. Sæt endnu et langt sort kabel gennem den øverste åbning, der skal bruges som GND for LED'en.
Trin 8:
Det sorte kabel, der kommer fra strømforsyningen, er loddet til en anden sort ledning, der er forbundet til den sidste gratis GND -pin på Arduino. Lod den ledning, der fører til LED'en og den sorte ledning på tilstandskontakten sammen, og lod til sidst de to par sorte ledninger, du nu har sammen. Brug krympeslange til at isolere lodningen for at forhindre shorts inde i controlleren.
Trin 9:
Som et sidste trin kan vi nu lodde de to blå ledninger til tilstandskontakten. Disse kontakter fungerer ved at forbinde den midterste pin til en af de ydre ben, afhængigt af hvilken side kontakten er på. Da pin 7 og 8 er konfigureret til at blive udløst, når de er forbundet til GND, kan vi bruge switchens ydre ben til benene og midten til GND. På denne måde udløses en af stifterne altid.
Slut til sidst en rød ledning gennem strømåbningen og lod den på afbryderens midterste pin og sæt en anden lang rød ledning gennem åbningen til LED'en og lod denne til den samme pin på afbryderen, som Arduino er forbundet til.
Trin 10:
Lod strømkablerne til batteriholderen, og skru klemmen fast, der holder kablerne, der fører til LED'en. Dette fuldender ledningerne til controlleren.
Trin 11: Montering af Light Pen
Da dette værktøj er beregnet til at være modulopbygget og bruge forskellige penne, har vi brug for et stik på ledningerne til LED'en. Jeg brugte et billigt 4 -terminal molex -stik, der normalt kan findes på kabler, der bruges til blæsere i en computer. Disse kabler er billige og lette at få, så de er perfekte.
Trin 12:
Da jeg begyndte at tilslutte controlleren, kontrollerede jeg ikke farverne på kablerne på stikkene, så de er lidt forskellige, men lette at huske. Jeg tilsluttede de sorte ledninger, strøm til gul, grøn på grøn og hvid på blå, men du kan bruge enhver kombination, du kan lide, husk det også for de andre penne. Sørg for at isolere de loddede områder med krympende rør for at forhindre shorts.
Trin 13:
Læg en lang rød og en lang grøn ledning gennem pennen og lodde sorte ledninger til den ene side af trykknappen og den hvide ledning til den anden side. Denne slags trykknapper har fire ben, hvoraf to er forbundet parvis. Du kan se, hvilke stifter der er tilsluttet ved at se på bunden af knappen, der er et hul mellem de par, der er forbundet. Hvis du trykker på knappen, er de to sider forbundet til en anden. Det hvide og det ene sorte kabel trækkes derefter igennem til enden af pennen, der starter ved åbningen til knappen. Det andet sorte kabel trækkes igennem til fronten. Sørg for, at du har nok kabel på begge sider til at arbejde med.
Trin 14:
Tryk på knappen passer i åbningen, og forbered resten af kablerne. Det er bedst at lodde kablerne til LED'en, så de vender mod midten af LED'en, fordi kablerne løber gennem midten af pennen. Lod den røde ledning til 5V loddepuden, den sorte ledning til GND -loddepuden og den grønne ledning til Din loddepuden. Hvis du har mere end en LED, er Dout -loddepuden på den første LED tilsluttet Din på den næste LED og så videre.
Trin 15:
Tryk nu på knappen foran på pennen og læg en dråbe lim bag den for at holde den på plads.
Nu skal du bare lodde ledningerne i enden af pennen til den anden side af stikket med tanke på farverne.
Det er bedst at bruge en dråbe lim og lidt tape til at stresse kablerne for enden af pennen for at forhindre, at de går i stykker. Dette fuldender samlingen af den lette pen.
Trin 16: Eksempler
Til sidst vil jeg vise dig et par eksempler, hvor jeg brugte dette værktøj. Den vinklede pen er fantastisk til at belyse linjerne på en graffiti, og den lige pen er fantastisk til at tegne og skrive ting i luften (som jeg kun har lidt talent for).
Dette er hovedformålet med dette værktøj. Som du kan se, er mulighederne fantastiske, hvis du kombinerer lange eksponeringer med dette værktøj.
Til at starte med denne form for fotografering, prøv at bruge den laveste ISO -indstilling, dit kamera understøtter og høj blænde. En god måde at finde de rigtige indstillinger på er at sætte kameraet i blændefunktion og lukke blænden, indtil kameraet viser en eksponeringstid på omkring den tid, du har brug for at tegne det, du vil tilføje til billedet. Skift derefter til manuel, og brug enten eksponeringstiden eller brug pæretilstand.
God fornøjelse med at prøve disse! Det er en fantastisk kunstform.
Jeg tilføjede denne instruktion til opfinderne og usædvanlige anvendelsesudfordringer, så hvis du kan lide det, skal du stemme;)
Trin 17: Filerne
Jeg tilføjede også modeller til remholdere, der er beregnet til at blive limet på bunden af controllerkassen, så du kan binde den på din arm og et klip til pennen, der kan limes til låget, når du ikke har brug for pennen i din hånd.
Der er også diffusorhætter, der kan bruges til at gøre lyset glattere og forhindre blus, når pennen peger direkte ind i kameraet.
Anbefalede:
Tilbage til det grundlæggende: Lodning til børn: 6 trin (med billeder)
Tilbage til det grundlæggende: Lodning til børn: Uanset om du bygger en robot eller arbejder med Arduino, skal du danne " hands-on " elektronik til prototyper af en projektide, at vide, hvordan man lodder, vil være praktisk. lodning er en væsentlig færdighed, der skal læres, hvis nogen virkelig er til el
Brug Cortana og en Arduino til at styre RGB -lysdioder eller Ledstrips med din stemme !: 4 trin (med billeder)
Brug Cortana og en Arduino til at styre RGB -lysdioder eller Ledstrips med din stemme !: I denne instruktive vil jeg vise dig, hvordan du kan styre din RGB -LED eller LED -strip med din stemme. Dette gøres af CoRGB -appen, som er tilgængelig gratis i Windows App Store. Denne app er en del af mit CortanaRoom -projekt. Når du er færdig med
Tutorial til interface RGB LED WS2812B med Arduino UNO: 7 trin (med billeder)
Tutorial til interface RGB Led WS2812B med Arduino UNO: Denne vejledning kommer til at lære dig nogle grundlæggende oplysninger om brug af Sparkfun RGB Led WS2812B med Arduino UNO
Overbevis dig selv om bare at bruge en 12V-til-AC-line inverter til LED-lysstrenge i stedet for at genoprette dem til 12V .: 3 trin
Overbevis dig selv om bare at bruge en 12V-til-AC-line inverter til LED-lysstrenge i stedet for at genoprette dem til 12V .: Min plan var enkel. Jeg ville skære en væg-drevet LED-lysstreng i stykker og derefter genkoble den til at køre 12 volt. Alternativet var at bruge en strømomformer, men vi ved alle, at de er frygtelig ineffektive, ikke? Ret? Eller er de det?
Instruktioner til fremstilling af en tilkobling med fire stænger til centermonteret fodstøtte: 9 trin (med billeder)
Instruktioner til fremstilling af en tilkoblingstilslutning med fire stænger til midtermonteret fodstøtte: Mellemdrevne kørestole (PWC) er blevet mere populære i de seneste år. Men på grund af placeringen af de forreste hjul er de traditionelle sidemonterede fodstøtter blevet erstattet af en enkelt midtermonteret fodstøtte. Desværre center-mou