Innholdsfortegnelse:
- Trinn 1: Programmering
- Trinn 2: Koden
- Trinn 3: Montering av elektronikken til kontrolleren
- Trinn 4:
- Trinn 5:
- Trinn 6:
- Trinn 7:
- Trinn 8:
- Trinn 9:
- Trinn 10:
- Trinn 11: Montering av lyspennen
- Trinn 12:
- Trinn 13:
- Trinn 14:
- Trinn 15:
- Trinn 16: Eksempler
- Trinn 17: Filene
Video: RGB LED -penn for lysmaling: 17 trinn (med bilder)
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:25
Dette er en komplett byggeinstruksjon for et lysmalerverktøy som bruker en RGB LED -kontroller. Jeg bruker denne kontrolleren mye i mine avanserte verktøy og tenkte en dokumentar om hvordan dette er bygget og programmert kan hjelpe noen mennesker.
Dette verktøyet er en modulær RGB -lyspenn beregnet for lysskriving, lystegning og belysning av graffiti. Den er enkel å bruke fordi du bare har pennen i hånden, og du kan raskt endre fargen.
Verktøyet består av:
- et tilfelle som er 3D -trykt
- en Arduino Micro
- en WS2816B LED
- to potensiometer (10K eller 100K)
- to brytere
- en trykknapp
- og noen kabler.
En Arduino Micro er perfekt for dette fordi det er ekstremt lite og flott å kontrollere RGB -lysdioder. Du kan også bruke enda mindre mikrokontrollere som en LilyPad eller til og med en ATtiny85, men jeg bruker ofte Micro fordi den er enkel å bruke, da den kommer med en USB -kontakt klar til bruk. Både Arduino og LED er drevet med 5V, så du må ta vare på riktig strømstøtte. Dette verktøyet er designet for å bruke fire oppladbare AAA -batterier fordi de vanligvis har 1,2V og kombinert 4,8V, noe som er nok til å drive både Arduino og LED. Pass på at du ikke bruker vanlige AAA -batterier, fordi de har 1,5V og kombinert spenning kan være for mye for komponentene og kan skade dem. Hvis du vil bruke vanlige batterier, vennligst bruk bare tre, spenningen bør fortsatt være nok. Jeg brukte en annen flott 3D -trykt del fra noen andre til batterikassen som du finner her: "Fleksibel batteriholdere".
Trinn 1: Programmering
Først trenger du Arduino IDE for å programmere mikrokontrolleren som er gratis å laste ned og bruke. Dette høres ganske komplisert ut ved første blikk, men er egentlig ganske enkelt. Etter installering av programvaren får du et enkelt tekstredigeringsvindu som brukes til å kode skissen som lastes opp til Arduino. Dette verktøyet bruker også FastLED -biblioteket, som er et flott og brukervennlig bibliotek som kan kontrollere nesten alle slags RGB -LED du kan kjøpe. Etter at du har lastet ned biblioteket, må du installere det ved å plassere filene i bibliotekmappen som er opprettet av Arduino IDE. Dette finner du vanligvis under "C: / Users {User Name} Documents / Arduino / libraries" hvis du ikke har endret det. Etter at du har satt biblioteket i denne mappen, må du starte IDE på nytt hvis den allerede kjører. Nå er vi klare til å lage koden for kontrolleren.
Trinn 2: Koden
For å bruke FastLED -biblioteket må vi først inkludere det i koden vår. Dette gjøres øverst i koden før noe annet med denne linjen:
#inkludere
Deretter skal vi definere noen få konstanter. Dette gjøres fordi disse verdiene ikke vil endres mens koden kjører, og også for å holde den mer lesbar. Du kan sette disse verdiene direkte inn i koden, men hvis du trenger å endre noe, må du gå gjennom hele koden og endre hver linje verdien brukes i. Ved å bruke definerte konstanter trenger du bare å endre den på ett sted og trenger ikke å berøre hovedkoden. Først definerer vi pinnene som brukes av denne kontrolleren:
#define HUE_PIN A0
#define BRIGHT_PIN A1 #define LED_PIN 3 #define LIGHT_PIN 6 #define COLOR_PIN 7 #definer RAINBOW_PIN 8
Tallene eller navnene er de samme som er skrevet ut på Arduino. Analoge pinner identifiseres med en A foran tallet, digitale pinner bruker bare tallet i koden, men blir noen ganger skrevet ut med et ledende D på tavlen.
Potensiometeret på pin A0 brukes til å kontrollere fargenyansen, potensiometeret på pin A1 brukes til å kontrollere lysstyrken. Pin D3 brukes som et signal til LED -en slik at Arduino kan sende data for å kontrollere fargen. Pin D6 brukes til å veksle lyset og pin D7 og D8 brukes til å stille inn modusen til kontrolleren. Jeg har implementert til moduser i denne kontrolleren, den ene setter ganske enkelt fargen som er definert av fargepotensiometeret på LED -en, og den andre vil falme gjennom alle farger. Deretter trenger vi også noen definisjoner for FastLED -biblioteket:
#define COLOR_ORDER GRB
#define CHIPSET WS2811 #define NUM_LEDS 5
Brikkesett brukes til å fortelle biblioteket hva slags LED vi bruker. FastLED støtter nesten hvilken som helst RGB LED som er tilgjengelig (som NeoPixel, APA106, WS2816B, etc). Lysdioden jeg bruker selges som WS2816B, men ser ut til å være litt annerledes, så den fungerer best med WS2811 -brikkesettet. Byterekkefølgen som sendes til LED -en for å angi fargen kan også variere mellom produsentene, så vi har også en definisjon for byterekkefølgen. Definisjonen her bare forteller biblioteket å sende fargen i rekkefølgen grønn, rød, blå. Den siste definisjonen er for mengden LED -er som er tilkoblet. Du kan alltid bruke færre lysdioder enn du definerer i kode, så jeg setter tallet til 5 fordi jeg med dette verktøyet ikke vil designe penner med mer enn 5 lysdioder. Du kan angi tallet mye høyere, men på grunn av ytelsen holder jeg det så lite som jeg trenger det.
For hovedkoden trenger vi også noen få variabler:
int lysstyrke = 255;
usignert int pot_Reading1 = 0; usignert int pot_Reading1 = 0; usignert lang lastTick = 0; usignert int wheel_Speed = 10;
Disse variablene brukes for lysstyrke, avlesninger fra potensiometrene, husker sist gang koden ble utført og hvor rask fargebleken vil være.
Deretter definerer vi en matrise for lysdiodene, som er en enkel måte å sette fargen på. Den definerte mengden lysdioder brukes til å angi størrelsen på matrisen her:
CRGB -lysdioder [NUM_LEDS];
Etter å ha tatt vare på definisjoner kan vi nå skrive oppsettsfunksjonen. Dette er ganske kort for dette programmet:
ugyldig oppsett () {
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 linjen initialiserer FastLED -biblioteket ved å bruke definisjonene vi har angitt tidligere. De tre siste linjene forteller Arduino at disse pinnene brukes som inngang, og at hvis de ikke er koblet til noe, skal spenningen settes til høy (PULLUP). Dette betyr at vi må koble disse pinnene til GND for å utløse noe.
Nå kan vi ta oss av hovedprogrammet. Dette gjøres i loop -funksjonen. Først setter vi noen variabler og leser opp potensiometrene:
void loop () {
statisk uint8_t nyanse = 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 = kart (pot_Reading2, 0, 1023, 0, 255);
De to første linjene angir variabler som senere brukes for fargen. De to følgende blokkene tar seg av lesing av potensiometerverdiene. Fordi du får en verdi mellom 0 og 1023 hvis du leser ut en pinne med “analogRead”, men fargetonen og lysstyrken trenger en verdi mellom 0 og 255, og vi bruker “kart” -funksjonen til å oversette avlesningen fra et verdiområde til et annet. Den første parameteren for denne funksjonen er verdien du vil oversette, de fire siste er minimum og maksimum for regionene du vil bruke til oversettelse.
Deretter skal vi evaluere trykknappen:
hvis (digitalRead (LIGHT_PIN) == LOW) {
Vi sjekker avlesningen mot LAV fordi vi definerte pinnen til å være høy hvis den ikke utløses. Så hvis trykknappen trykkes, vil pinnen bli koblet til GND og vil lese lavt. Hvis pinnene ikke trykkes er det ikke mye å gjøre.
La oss først passe på å bare tenne LED -en i en farge:
hvis (digitalRead (COLOR_PIN) == LOW) {
hvis (fargetone <2) {FastLED.showColor (CRGB:: Hvit); FastLED.setBrightness (lysstyrke); } annet {FastLED.showColor (CHSV (fargetone, 255, lysstyrke)); FastLED.setBrightness (lysstyrke); } forsinkelse (10);
Vi må evaluere fargepinnen for å vite at vi ønsker å bruke denne modusen. Deretter kan vi sjekke hvilken farge som trengs. Siden HSV -fargemodellen brukes her trenger vi bare fargen for å definere en farge. Men dette skaper også problemet med at vi ikke har en måte å sette fargen til hvit. Siden fargetone 0 og fargetone 255 begge oversetter til rødt, bruker jeg et lite triks her og sjekker om avlesningen fra fargetone -potensiometeret er mindre enn 2. Dette betyr at potensiometeret er snudd helt til den ene siden, og vi kan bruke dette til å sette hvitt. Vi har fortsatt rødt på den andre siden, så vi mister ingenting her.
Så enten setter vi farge til hvitt og deretter lysstyrken, eller så setter vi fargen basert på fargetonen og også lysstyrken.
Etterpå la jeg til en liten forsinkelse fordi det er mye bedre å gi kontrolleren litt nedetid for å spare strøm, og en forsinkelse på 10 millisekunder vil ikke merkes.
Deretter koder vi fargefade:
annet hvis (digitalRead (RAINBOW_PIN) == LOW) {
wheel_Speed = kart (pot_Reading1, 0, 1023, 2, 30); if (lastTick + wheel_Speed 255) {wheel_Hue = 0; } lastTick = millis (); } FastLED.showColor (CHSV (wheel_Hue, 255, lysstyrke)); }
Først sjekkes pinnen for å bytte denne modusen. Siden jeg ikke ønsket å legge til et tredje potensiometer for å kontrollere fadehastigheten, og siden fargetone -potensiometeret ikke brukes i denne modusen, kan vi bruke det potensiometeret til å stille inn hastigheten. Ved å bruke kartfunksjonen igjen kan vi oversette lesningen til en forsinkelse som blir oversatt til fadehastigheten. Jeg brukte en verdi mellom 2 og 30 for forsinkelsen fordi erfaringer er en god hastighet. Funksjonen "millis" vil returnere millisekundene siden Arduino ble slått på, så vi kan bruke dette til å måle tid. Den siste endringen av fargetone er lagret i en variabel vi definerte tidligere, og denne blir sammenlignet hver gang for å se om vi må endre fargetone igjen. Den siste linjen angir bare fargen som må vises neste.
Slik fullfører du koden:
} annet {
FastLED.showColor (CRGB:: Svart); }}
Vi trenger bare å slå av LED -en hvis knappen ikke trykkes ved å sette fargen til svart og lukke eventuelle åpne parenteser.
Som du kan se er dette en ganske kort og enkel kode som kan brukes til mange verktøy som bruker RGB -lysdioder.
Når du har fullstendig kode, kan du laste den opp til Arduino. For å koble Arduino til PCen med en USB -kabel og velg Arduino -typen i IDE.
I denne instruksjonen bruker jeg Arduino Pro Micro. Etter at du har angitt Arduino -modellen, må du velge porten der IDE kan finne den. Åpne portmenyen, og du bør se din tilkoblede Arduino.
Nå er det eneste du må gjøre å laste opp koden til Arduino ved å trykke på den andre runde -knappen øverst i vinduet. IDE vil bygge koden og laste den opp. Etter at dette var vellykket kan du koble fra Arduino og fortsette å montere kontrolleren.
Trinn 3: Montering av elektronikken til kontrolleren
Siden vi tok oss av kodingen av Arduino, kan vi nå sette sammen kontrollerenes maskinvare. Vi starter med å sette komponentene inne i saken. Potensiometrene går i de to runde hullene til venstre, bryteren for strøm er nederst, bryteren for modusen er øverst til høyre og Arduino går i holderen i midten.
Trinn 4:
Start med å lodde en rød kabel fra strømbryteren til RAW -pinnen på Arduino. Denne pinnen er go -pin for strømforsyning siden den er koblet til en spenningsregulator, så selv om spenningen er høyere enn 5V, kan denne pinnen brukes til å drive Arduino. Deretter loddes en annen rød ledning til VCC -pinnen siden vi trenger høyspenning for potensiometeret. Lodd to hvite ledninger til A0- og A1 -pinnene som skal brukes til potensiometeravlesningene.
Trinn 5:
Sett nå en lang hvit og en lang grønn ledning gjennom åpningen på toppen som senere brukes til å koble LED -en. Lodd den grønne til pin 3 og den hvite til pin 6 og trykk dem flatt på Arduino. Lodd to svarte ledninger til GND -pinnene på venstre side av Arduino, disse brukes til lavspenning for potensiometrene. Lodd to blå ledninger til pinne 7 og pinne 8 som skal brukes til modusbryteren.
Trinn 6:
Den røde kabelen vi loddet på VCC -pinnen må nå loddes til en av de ytre pinnene på det første potensiometeret. Bruk en annen rød kabel for å fortsette dette til det andre potensiometeret. Pass på å bruke samme side på begge potensiometrene, så full på vil være den samme siden på begge. Lodd de to svarte kablene til den andre siden av potensiometrene og de hvite kablene fra Pins A0 og A1 på den midterste pinnen. Potensiometre virker ved å sette spenningen på den midterste pinnen til en spenning mellom spenningene som er påført de ytre pinnene, så hvis vi kobler til høy og lav spenning kan vi få en spenning i mellom på den midterste pinnen. Dette fullførte ledningene til potensiometrene, og de kan snus litt slik at pinnene er ute av veien.
Trinn 7:
Lodd en svart kabel til den midtre pinnen på modusbryteren og sett en lang svart kabel gjennom åpningen som fører til strømforsyningen. Sett en annen lang svart kabel gjennom toppåpningen som skal brukes som GND for LED -en.
Trinn 8:
Den svarte kabelen som kommer fra strømforsyningen er loddet til en annen svart ledning som er koblet til den siste ledige GND -pinnen på Arduino. Lodd ledningen til LED -en og den svarte ledningen på modusbryteren sammen, og til slutt lodder du de to par svarte ledningene du har nå sammen. Bruk krympeslange for å isolere lodding for å forhindre shorts inne i kontrolleren.
Trinn 9:
Som et siste trinn kan vi nå lodde de to blå ledningene til modusbryteren. Disse bryterne fungerer ved å koble den midterste pinnen til en av de ytre pinnene, avhengig av hvilken side bryteren er på. Siden pinne 7 og 8 er konfigurert til å utløses når de er koblet til GND, kan vi bruke de ytre pinnene på bryteren for pinnene og midten for GND. På denne måten blir en av pinnene alltid utløst.
Sett til slutt en rød ledning gjennom strømåpningen og lodd den på den midtre pinnen på strømbryteren og sett en annen lang rød ledning gjennom åpningen til LED -en og lodd denne til den samme pinnen på strømbryteren som Arduino er koblet til.
Trinn 10:
Lodd strømkablene til batteriholderen og skru inn klipsen som holder kablene som fører til LED -en. Dette fullfører ledningene for kontrolleren.
Trinn 11: Montering av lyspennen
Siden dette verktøyet er ment å være modulært og bruke forskjellige penner, trenger vi en kontakt på ledningene til LED -en. Jeg brukte en billig 4 -terminal molex -kontakt som vanligvis finnes på kabler som brukes til vifter i en datamaskin. Disse kablene er billige og enkle å få, så de er perfekte.
Trinn 12:
Da jeg begynte å koble kontrolleren, sjekket jeg ikke fargene på kablene på kontaktene, så de er litt forskjellige, men enkle å huske. Jeg koblet de svarte ledningene, strøm til gul, grønn på grønn og hvit på blå, men du kan bruke hvilken som helst kombinasjon du liker, husk det også for de andre pennene. Sørg for å isolere de loddede områdene med krympeslange for å forhindre shorts.
Trinn 13:
Sett en lang rød og en lang grønn ledning gjennom pennen og lodd svarte ledninger til den ene siden av trykknappen og den hvite ledningen til den andre siden. Denne typen trykknapper har fire pinner, hvorav to er koblet i par. Du kan se hvilke pinner som er koblet til ved å se på bunnen av knappen, det er et gap mellom parene som er koblet sammen. Hvis du trykker på knappen, kobles de to sidene til en annen. Den hvite og den ene svarte kabelen trekkes deretter gjennom til enden av pennen og starter ved åpningen for knappen. Den andre svarte kabelen trekkes gjennom til fronten. Sørg for at du har nok kabel på begge sider til å jobbe med.
Trinn 14:
Trykk på passe knappen i åpningen og forbered resten av kablene. Det er best å lodde kablene til LED -en slik at de vender mot midten av LED -en fordi kablene går gjennom midten av pennen. Lodd den røde ledningen til 5V loddetinn, den svarte ledningen til GND loddetinn og den grønne ledningen til Din loddetinn. Hvis du har mer enn én LED, er Dout -loddeputen til den første LED -en koblet til Din på den neste LED -en og så videre.
Trinn 15:
Trykk nå på knappen foran pennen og legg en dråpe lim bak den for å holde den på plass.
Nå må du bare lodde ledningene på enden av pennen til den andre siden av kontakten, med tanke på fargene.
Det er best å bruke en dråpe lim og litt tape for å stresse ut kablene i enden av pennen for å forhindre at de går i stykker. Dette fullfører monteringen av lyspennen.
Trinn 16: Eksempler
Til slutt vil jeg vise deg noen eksempler der jeg brukte dette verktøyet. Den vinklede pennen er flott for å lyse linjene til en graffiti, og den rette pennen er flott å tegne og skrive ting i luften (som jeg bare har lite talent for).
Dette er hovedformålet med dette verktøyet. Som du kan se er mulighetene fantastiske hvis du kombinerer lange eksponeringer med dette verktøyet.
For å starte med denne typen fotografering, prøv å bruke den laveste ISO -innstillingen kameraet støtter og høy blenderåpning. En god måte å finne de riktige innstillingene på er å sette kameraet i blenderåpning og lukke blenderåpningen til kameraet viser en eksponeringstid på omtrent den tiden du trenger for å tegne det du vil legge inn i bildet. Bytt deretter til manuell og bruk enten eksponeringstiden eller bruk pæremodus.
Ha det gøy å prøve disse! Det er en fantastisk kunstform.
Jeg la denne instruksjonen til oppfinnerne og utfordringen med uvanlig bruk, så hvis du liker det, la en stemme;)
Trinn 17: Filene
Jeg har også lagt til modeller for stroppholdere som er ment å limes på bunnen av kontrollkassen, slik at du kan feste den på armen og en klips til pennen som kan limes til lokket for når du ikke trenger pennen i hånden din.
Det er også diffusorkapsler som kan brukes til å gjøre lyset jevnere og forhindre bluss når pennen peker direkte inn i kameraet.
Anbefalt:
Begynnende lysmaling (ingen Photoshop): 5 trinn (med bilder)
Begynnende lysmaling (ingen Photoshop): Jeg kjøpte nylig et nytt kamera og undersøkte noen av funksjonene da jeg kom over lysmaleri eller fotografering med lang eksponering på internett. De fleste av oss vil ha sett den grunnleggende formen for lysmaling med et bilde i en by med en vei
DIY RGB-LED Glow Poi med fjernkontroll: 14 trinn (med bilder)
DIY RGB-LED Glow Poi med fjernkontroll: Introduksjon Hei alle sammen! Dette er min første guide og (forhåpentligvis) den første i en serie guider på min søken etter å lage et åpen kildekode RGB-LED visuelt poi. For å holde det enkelt først, kommer dette til å resultere i en enkel led-poi med fjernkontroll
RGB LED -fargeblanding med Arduino i Tinkercad: 5 trinn (med bilder)
RGB LED -fargemiksing med Arduino i Tinkercad: La oss lære å kontrollere flerfargede LED -er ved hjelp av Arduinos analoge utganger. Vi kobler en RGB LED til Arduino Uno og lager et enkelt program for å endre farge. Du kan følge med praktisk talt ved å bruke Tinkercad Circuits. Du kan til og med se dette
RGB LED -kube med Bluetooth -app + animasjon Skaperen: 14 trinn (med bilder)
RGB LED Cube With Bluetooth App + AnimationCreator: Dette er en instruksjon om hvordan du bygger en 6x6x6 RGB LED (Common Anodes) Cube kontrollert av en Bluetooth App ved hjelp av en Arduino Nano. Hele bygget er lett å tilpasse til en si 4x4x4 eller 8x8x8 Cube. Dette prosjektet er inspirert av GreatScott. Jeg bestemte meg for å
Slik demonterer du en datamaskin med enkle trinn og bilder: 13 trinn (med bilder)
Slik demonterer du en datamaskin med enkle trinn og bilder: Dette er en instruksjon om hvordan du demonterer en PC. De fleste grunnkomponentene er modulære og fjernes lett. Det er imidlertid viktig at du er organisert om det. Dette vil bidra til å hindre deg i å miste deler, og også i å gjøre monteringen igjen