INHOUDSOPGAWE:

RGB LED -pen vir ligverf: 17 stappe (met foto's)
RGB LED -pen vir ligverf: 17 stappe (met foto's)

Video: RGB LED -pen vir ligverf: 17 stappe (met foto's)

Video: RGB LED -pen vir ligverf: 17 stappe (met foto's)
Video: Начало работы с QLC+ Управление цветомузыкой с компьютера. Как управлять светом. 2024, November
Anonim
RGB LED -pen vir ligverf
RGB LED -pen vir ligverf
RGB LED -pen vir ligverf
RGB LED -pen vir ligverf
RGB LED -pen vir ligverf
RGB LED -pen vir ligverf

Dit is 'n volledige bouinstruksie vir 'n hulpmiddel vir ligte skilderye wat 'n RGB LED -beheerder gebruik. Ek gebruik hierdie kontroleerder baie in my gevorderde gereedskap en het gedink dat 'n dokumentêr oor hoe dit gebou en geprogrammeer is, sommige mense kan help.

Hierdie instrument is 'n modulêre RGB -ligpen wat bedoel is vir ligte skryfwerk, ligte tekening en graffiti. Dit is maklik om te gebruik, want u het slegs die pen in u hand en u kan vinnig die kleur verander.

Die instrument bestaan uit:

  • 'n geval wat 3D gedruk is
  • 'n Arduino -mikro
  • 'n WS2816B LED
  • twee potensiometer (10K of 100K)
  • twee skakelaars
  • 'n drukknop
  • en 'n paar kabels.

'N Arduino Micro is ideaal hiervoor, want dit is uiters klein en wonderlik om RGB -LED's te beheer. U kan ook nog kleiner mikrobeheerders soos 'n LilyPad of selfs 'n ATtiny85 gebruik, maar ek gebruik die Micro dikwels omdat dit maklik is om te gebruik, aangesien dit 'n USB -aansluiting bevat wat gereed is om te gebruik. Beide die Arduino en die LED word aangedryf met 5V, dus u moet sorg vir behoorlike kragondersteuning. Hierdie instrument is ontwerp om vier AAA -herlaaibare batterye te gebruik, omdat dit gewoonlik 1.2V en gesamentlike 4.8V het, wat genoeg is om beide die Arduino en die LED aan te dryf. Wees versigtig om nie gewone AAA -batterye te gebruik nie, want hulle het 1.5V en die gekombineerde spanning kan te veel wees vir die komponente en dit kan beskadig. As u gewone batterye wil gebruik, gebruik slegs drie; die spanning moet nog steeds genoeg wees. Ek het nog 'n wonderlike 3D -gedrukte onderdeel van iemand anders gebruik vir die batterykas wat hier gevind kan word: "Flexing battery holders".

Stap 1: Programmering

Eerstens benodig u die Arduino IDE om die mikrobeheerder wat gratis kan aflaai en gebruik, te programmeer. Dit klink op die eerste gesig baie ingewikkeld, maar is eintlik redelik eenvoudig. Na die installering van die sagteware kry u 'n eenvoudige teksredakteurvenster wat gebruik word om die skets wat na die Arduino opgelaai word, te kodeer. Hierdie instrument gebruik ook die FastLED -biblioteek, 'n uitstekende en maklik om te gebruik biblioteek wat byna elke soort RGB LED wat u kan koop, beheer. Nadat u die biblioteek afgelaai het, moet u dit installeer deur die lêers in die biblioteekmap te plaas wat deur die Arduino IDE geskep is. Dit kan gewoonlik gevind word onder "C: / Users {Gebruikersnaam} Documents / Arduino / biblioteke" as u dit nie verander het nie. Nadat u die biblioteek in hierdie gids geplaas het, moet u die IDE herlaai as dit reeds werk. Nou is ons gereed om die kode vir die beheerder te skep.

Stap 2: Die kode

Om die FastLED -biblioteek te gebruik, moet ons dit eers in ons kode insluit. Dit word bo -aan die kode gedoen voordat enigiets anders met hierdie reël:

#insluit

Vervolgens gaan ons 'n paar konstantes definieer. Dit word gedoen omdat hierdie waardes nie verander terwyl die kode loop nie en ook om dit meer leesbaar te hou. U kan hierdie waardes direk in die kode plaas, maar as u iets moet verander, moet u deur die hele kode gaan en elke reël waarin die waarde gebruik word verander. Deur gedefinieerde konstantes te gebruik, hoef u dit slegs op een plek te verander en hoef nie aan die hoofkode te raak nie. Eerstens definieer ons die penne wat deur hierdie beheerder gebruik word:

#definieer HUE_PIN A0

#definieer BRIGHT_PIN A1 #definieer LED_PIN 3 #definieer LIGHT_PIN 6 #definieer COLOR_PIN 7 #definieer RAINBOW_PIN 8

Die nommers of name is dieselfde as op die Arduino gedruk. Analoog penne word geïdentifiseer deur 'n A voor sy nommer, digitale penne gebruik slegs die nommer in kode, maar word soms met 'n voorste D op die bord gedruk.

Die potensiometer op pen A0 word gebruik om die kleur van die kleur te beheer, die potensiometer op pen A1 word gebruik om die helderheid te beheer. Speld D3 word gebruik as 'n sein vir die LED, sodat die Arduino data kan stuur om die kleur te beheer. Speld D6 word gebruik om die lig te skakel en pen D7 en D8 word gebruik om die modus van die beheerder in te stel. Ek het die modusse in hierdie kontroleerder geïmplementeer; die een plaas die kleur wat deur die kleurpotensiometer gedefinieer is, op die LED, en die ander sal deur alle kleure vervaag. Vervolgens benodig ons ook 'n paar definisies vir die FastLED -biblioteek:

#definieer COLOR_ORDER GRB

#definieer CHIPSET WS2811 #definieer NUM_LEDS 5

Chipset word gebruik om die biblioteek te vertel watter soort LED ons gebruik. FastLED ondersteun bykans alle beskikbare RGB -LED's (soos NeoPixel, APA106, WS2816B, ens.). Die LED wat ek gebruik, word verkoop as WS2816B, maar dit lyk effens anders, dus dit werk die beste met die WS2811 -skyfiestel. Die volgorde van grepe wat na die LED gestuur word om die kleur in te stel, kan ook tussen die vervaardigers verskil, so ons het ook 'n definisie vir die greeporde. Die definisie hier vertel die biblioteek net om die kleur in die volgorde groen, rooi, blou te stuur. Die laaste definisie is vir die hoeveelheid LED's wat verbind is. U kan altyd minder LED's gebruik as wat u in die kode definieer, so ek stel die getal op 5, want met hierdie instrument ontwerp ek nie penne met meer as 5 LED's nie. U kan die getal baie hoër stel, maar as gevolg van prestasie hou ek dit so klein as wat ek dit nodig het.

Vir die hoofkode benodig ons ook 'n paar veranderlikes:

int helderheid = 255;

ongetekende int pot_Reading1 = 0; ongetekende int pot_Reading1 = 0; ongetekende lang lastTick = 0; ongetekende int wheel_Speed = 10;

Hierdie veranderlikes word gebruik vir helderheid, voorlesings van die potensiometers, onthou die laaste keer dat die kode uitgevoer is en hoe vinnig die kleurverf is.

Vervolgens definieer ons 'n skikking vir die LED's, wat 'n maklike manier is om die kleur in te stel. Die gedefinieerde hoeveelheid LED's word gebruik om die grootte van die skikking hier in te stel:

CRGB -leds [NUM_LEDS];

Nadat ons definisies nagegaan het, kan ons nou die opstelfunksie skryf. Dit is redelik kort vir hierdie program:

ongeldige opstelling () {

FastLED.addLeds (leds, NUM_LEDS).setCorrection (TypicalLEDStrip); pinMode (LIGHT_PIN, INPUT_PULLUP); pinMode (COLOR_PIN, INPUT_PULLUP); pinMode (RAINBOW_PIN, INPUT_PULLUP); }

Die eerste reël initialiseer die FastLED -biblioteek met behulp van die definisies wat ons voorheen gestel het. Die laaste drie reëls vertel die Arduino dat hierdie penne as invoer gebruik word en dat as hulle nie aan iets gekoppel is nie, hulle spanning op hoog (PULLUP) gestel moet word. Dit beteken dat ons hierdie penne aan GND moet koppel om iets te aktiveer.

Nou kan ons sorg vir die hoofprogram. Dit word gedoen in die lusfunksie. Eerstens stel ons 'n paar veranderlikes en lees die potensiometers:

leemte -lus () {

statiese uint8_t tint = 0; statiese uint8_t wheel_Hue = 0; pot_Reading1 = analogRead (HUE_PIN); tint = kaart (pot_Reading1, 0, 1023, 0, 255); pot_Reading2 = analogRead (BRIGHT_PIN); helderheid = kaart (pot_Reading2, 0, 1023, 0, 255);

Die eerste twee reëls stel veranderlikes wat later vir die kleur gebruik word. Die twee volgende blokke sorg vir die lees van die potensiometerwaardes. Omdat u 'n waarde tussen 0 en 1023 kry as u 'n speld met 'analogRead' uitlees, maar die kleur en helderheid 'n waarde tussen 0 en 255 benodig, gebruik ons die 'kaart' -funksie om die uitlees van een waardegebied na 'n ander te vertaal. Die eerste parameter van hierdie funksie is die waarde wat u wil vertaal, die laaste vier is die minimum en maksimum van die streke wat u vir vertaling wil gebruik.

Vervolgens gaan ons die drukknop evalueer:

as (digitalRead (LIGHT_PIN) == LOW) {

Ons kontroleer die lesing teenoor LOW, want ons het gedefinieer dat die pen hoog is as dit nie geaktiveer word nie. As die drukknop ingedruk word, word die pen dus met GND verbind en sal dit laag lees. As die penne nie ingedruk word nie, is daar nie veel om te doen nie.

Laat ons eers sorg dat die LED net in een kleur aangesteek word:

as (digitalRead (COLOR_PIN) == LOW) {

as (kleur <2) {FastLED.showColor (CRGB:: Wit); FastLED.setBrightness (helderheid); } anders {FastLED.showColor (CHSV (kleur, 255, helderheid)); FastLED.setBrightness (helderheid); } vertraging (10);

Ons moet die kleurpen evalueer om te weet dat ons hierdie modus wil gebruik. Dan kan ons kyk watter kleur benodig word. Aangesien die HSV -kleurmodel hier gebruik word, benodig ons slegs die kleur om 'n kleur te definieer. Maar dit skep ook die probleem dat ons nie die kleur op wit kan stel nie. Aangesien tint 0 en tint 255 in rooi vertaal word, gebruik ek hier 'n klein truuk en kyk of die meting van die tintpotentiometer kleiner is as 2. Dit beteken dat die potensiometer heeltemal na een kant gedraai is en ons kan dit gebruik om wit te stel. Ons het nog steeds rooi aan die ander kant, so ons sal niks hier verloor nie.

So óf ons stel kleur in op wit en dan die helderheid, óf ons stel die kleur in op grond van die kleurlesing en ook die helderheid.

Daarna het ek 'n klein vertraging bygevoeg, want dit is baie beter om die kontroleerder 'n bietjie stilstand te gee om krag te bespaar, en 'n vertraging van 10 millisekondes word nie gevoel nie.

Vervolgens kodeer ons die kleurverf:

anders as (digitalRead (RAINBOW_PIN) == LOW) {

wheel_Speed = kaart (pot_Reading1, 0, 1023, 2, 30); as (lastTick + wheel_Speed 255) {wheel_Hue = 0; } lastTick = millis (); } FastLED.showColor (CHSV (wheel_Hue, 255, helderheid)); }

Eerstens word die pen om hierdie modus te skakel, nagegaan. Aangesien ek nie 'n derde potensiometer wou byvoeg om die spoed van die vervaag te beheer nie, en aangesien die kleurpotensiometer nie in hierdie modus gebruik word nie, kan ons die potensiometer gebruik om die spoed in te stel. Deur weer die kaartfunksie te gebruik, kan ons die lesing vertaal na 'n vertraging wat vertaal word in die snelheid van die vervaag. Ek het 'n waarde tussen 2 en 30 gebruik vir die vertraging, want uit ervarings is dit 'n goeie spoed. Die funksie "millis" gee die millisekondes terug sedert die Arduino aangeskakel is, sodat ons dit kan gebruik om tyd te meet. Die laaste kleurverandering word gestoor in 'n veranderlike wat ons vroeër gedefinieer het, en dit word elke keer vergelyk om te sien of ons die kleur weer moet verander. Die laaste reël stel net die kleur in wat daarna vertoon moet word.

Om die kode te voltooi:

} anders {

FastLED.showColor (CRGB:: Swart); }}

Ons hoef net die LED uit te skakel as u nie op die knoppie druk nie, deur die kleur op swart te stel en enige oop hakies toe te maak.

Soos u kan sien, is dit 'n redelik kort en maklike kode wat gebruik kan word vir baie gereedskap wat RGB -LED's gebruik.

Sodra u die volledige kode het, kan u dit na die Arduino oplaai. Om dit te doen, sluit die Arduino aan op u rekenaar met 'n USB -kabel en kies die Arduino -tipe in die IDE.

In hierdie instruksies gebruik ek die Arduino Pro Micro. Nadat u die Arduino -model ingestel het, moet u die poort kies waar die IDE dit kan vind. Maak die poortkieslys oop en u moet u gekoppelde Arduino sien.

Die enigste ding wat u moet doen, is om die kode na die Arduino op te laai deur op die tweede ronde knoppie bo -aan die venster te druk. Die IDE bou die kode en laai dit op. Nadat dit suksesvol was, kan u die Arduino ontkoppel en voortgaan met die montering van die beheerder.

Stap 3: Montering van die elektronika vir die beheerder

Aangesien ons gesorg het vir die kodering van die Arduino, kan ons nou die hardeware van die kontroleerder saamstel. Ons begin deur die komponente in die kas te plaas. Die potensiometers gaan in die twee ronde gate aan die linkerkant, die skakelaar vir krag is onder, die skakelaar vir die modus is regs bo en die Arduino gaan in die houer in die middel.

Stap 4:

Beeld
Beeld

Begin deur 'n rooi kabel van die kragskakelaar na die RAW -pen van die Arduino te soldeer. Hierdie pen is die sleutel tot die kragtoevoer, aangesien dit aan 'n spanningsreguleerder gekoppel is, dus selfs as die spanning hoër is as 5V, kan hierdie pen gebruik word om die Arduino aan te dryf. Soldeer nog 'n rooi draad aan die VCC -pen, aangesien ons die hoëspanningsspanning vir die potensiometer nodig het. Soldeer twee wit drade aan die A0- en A1 -penne wat gebruik moet word vir die potensiometerlesings.

Stap 5:

Beeld
Beeld

Steek nou 'n lang wit en 'n lang groen draad deur die opening aan die bokant wat later gebruik word om die LED aan te sluit. Soldeer die groen aan pen 3 en die wit aan pen 6 en druk dit plat op die Arduino. Soldeer twee swart aan die GND -penne aan die linkerkant van die Arduino vas, dit word gebruik vir die lae vlakspanning van die potensiometers. Soldeer twee blou drade aan pen 7 en pen 8 om vir die modusskakelaar gebruik te word.

Stap 6:

Beeld
Beeld
Beeld
Beeld

Die rooi kabel wat ons aan die VCC -pen gesoldeer het, moet nou aan een van die buitenste penne van die eerste potensiometer gesoldeer word. Gebruik 'n ander rooi kabel om verder te gaan na die tweede potensiometer. Wees versigtig om dieselfde kant op albei potensiometers te gebruik, sodat vol aan dieselfde kant aan beide kan wees. Soldeer die twee swart kabels aan die ander kant van die potensiometers en die wit kabels van penne A0 en A1 op die middelste pen. Potensiometers werk deur die spanning op die middelste pen in te stel op 'n spanning tussen die spannings wat op die buitenste penne toegepas word, dus as ons hoë en lae spanning verbind, kan ons 'n spanning tussen die middelste pen kry. Dit het die bedrading vir die potensiometers voltooi en hulle kan 'n bietjie gedraai word sodat die penne uit die pad val.

Stap 7:

Beeld
Beeld

Soldeer 'n swart kabel aan die middelste pen van die modusskakelaar en sit 'n lang swart kabel deur die opening wat na die kragtoevoer lei. Steek nog 'n lang swart kabel deur die boonste opening om as GND vir die LED te gebruik.

Stap 8:

Beeld
Beeld

Die swart kabel wat van die kragtoevoer kom, word aan 'n ander swart draad gesoldeer wat aan die laaste gratis GND -pen van die Arduino gekoppel is. Soldeer die draad wat na die LED lei en die swart draad op die modusskakelaar saam en soldeer uiteindelik die twee pare swart drade wat u nou saam het. Gebruik 'n krimpbuis om die soldeer te isoleer om kortbroek in die kontroleerder te voorkom.

Stap 9:

Beeld
Beeld

As 'n laaste stap kan ons nou die twee blou drade aan die modusskakelaar soldeer. Hierdie skakelaars werk deur die middelste pen aan een van die buitenste penne te koppel, afhangende van aan watter kant die skakelaar is. Aangesien pen 7 en 8 ingestel is om geaktiveer te word wanneer dit aan GND gekoppel is, kan ons die buitenste penne van die skakelaar vir die penne gebruik en die middel vir GND. Op hierdie manier word een van die penne altyd geaktiveer.

Laastens 'n rooi draad deur die kragopening en soldeer dit aan die middelste pen van die kragskakelaar en plaas nog 'n lang rooi draad deur die opening na die LED en soldeer dit aan dieselfde pen op die kragskakelaar waarmee die Arduino gekoppel is.

Stap 10:

Beeld
Beeld

Soldeer die kragkabels aan die batteryhouer en skroef die clip vas wat die kabels na die LED hou. Dit voltooi die bedrading vir die beheerder.

Stap 11: Montering van die ligpen

Aangesien hierdie instrument modulêr is en verskillende penne gebruik, benodig ons 'n aansluiting op die drade vir die LED. Ek het 'n goedkoop 4 -terminale molex -aansluiting gebruik wat gewoonlik gevind kan word op kabels wat vir waaiers in 'n rekenaar gebruik word. Hierdie kabels is goedkoop en maklik om te kry, en dit is dus perfek.

Stap 12:

Beeld
Beeld
Beeld
Beeld

Toe ek die kontroleerder begin bedrieg, het ek nie die kleure van die kabels op die verbindings nagegaan nie, sodat dit 'n bietjie anders is, maar maklik om te onthou. Ek het die swart drade, krag, geel, groen op groen en wit op blou gekoppel, maar u kan enige kombinasie gebruik wat u wil, onthou dit ook vir die ander penne. Wees versigtig om die gesoldeerde gebiede met krimpbuis te isoleer om kortbroek te voorkom.

Stap 13:

Beeld
Beeld
Beeld
Beeld

Steek 'n lang rooi en 'n lang groen draad deur die pen en soldeer swart drade aan die een kant van die drukknop en 'n wit draad aan die ander kant. Hierdie soort drukknoppies het vier penne, waarvan twee in pare verbind is. U kan sien watter penne verbind is deur na die onderkant van die knoppie te kyk, daar is 'n gaping tussen die pare wat verbind is. As u op die knoppie druk, is die twee kante aan 'n ander gekoppel. Die wit en een swart kabel word dan deurgetrek tot by die punt van die pen, begin by die opening van die knoppie. Die ander swart kabel word na voor getrek. Maak seker dat u genoeg kabel aan beide kante het om mee te werk.

Stap 14:

Beeld
Beeld
Beeld
Beeld

Druk op die knoppie in die opening en berei die res van die kabels voor. Dit is die beste om die kabels aan die LED te soldeer sodat hulle na die middel van die LED kyk, omdat die kabels deur die middel van die pen loop. Soldeer die rooi draad aan die 5V soldeerblok, die swart draad aan die GND soldeerblok en die groen draad aan die Din soldeerblok. As u meer as een LED het, is die Dout -soldeerstokkie van die eerste LED gekoppel aan die Din van die volgende LED, ensovoorts.

Stap 15:

Beeld
Beeld
Beeld
Beeld

Druk nou op die knoppie voor in die pen en sit 'n druppel gom daaragter om dit vas te hou.

Nou moet u net die drade aan die einde van die pen aan die ander kant van die connector soldeer, met inagneming van die kleure.

Dit is beter om 'n druppel gom en 'n bietjie band te gebruik om die kabels aan die einde van die pen los te maak om te voorkom dat dit breek.

Stap 16: Voorbeelde

Voorbeelde
Voorbeelde
Voorbeelde
Voorbeelde
Voorbeelde
Voorbeelde
Voorbeelde
Voorbeelde

Ten slotte wil ek u 'n paar voorbeelde wys waarop ek hierdie instrument gebruik het. Die hoekpen is wonderlik om die lyne van 'n graffiti aan te lig, en die reguit pen is wonderlik om dinge in die lug te teken en te skryf (waarvoor ek maar min talent het).

Dit is die hoofdoel van hierdie instrument. Soos u kan sien, is die moontlikhede ongelooflik as u lang blootstellings met hierdie instrument kombineer.

Om te begin met hierdie soort fotografie, probeer om die laagste ISO -instelling te gebruik wat u kamera ondersteun en 'n hoë diafragma. 'N Goeie manier om die regte instellings te vind, is deur u kamera in die diafragma te plaas en die diafragma toe te maak totdat u kamera 'n blootstellingstyd toon van ongeveer die tyd wat u nodig het om te teken wat u in die prentjie wil voeg. Skakel dan oor na die handleiding en gebruik die blootstellingstyd of gebruik die gloeilampmodus.

Geniet dit om dit te probeer! Dit is 'n wonderlike kunsvorm.

Ek het hierdie instruksie by die uitvinders gevoeg en die uitdaging vir ongewone gebruike, so laat 'n stemming;)

Stap 17: Die lêers

Ek het ook modelle bygevoeg vir bandhouers wat bedoel is om aan die onderkant van die kontroleerderkas vasgeplak te word, sodat u dit aan u arm kan vasmaak en 'n clip vir die pen wat aan die deksel vasgemaak kan word as u die pen nie nodig het nie in jou hand.

Daar is ook diffusorkappe wat gebruik kan word om die lig gladder te maak en fakkels te voorkom as die pen direk in die kamera wys.

Aanbeveel: