Kazalo:

RGB LED pisalo za slikanje s svetlobo: 17 korakov (s slikami)
RGB LED pisalo za slikanje s svetlobo: 17 korakov (s slikami)

Video: RGB LED pisalo za slikanje s svetlobo: 17 korakov (s slikami)

Video: RGB LED pisalo za slikanje s svetlobo: 17 korakov (s slikami)
Video: Нарушая границы сознания: психиатр раскрывает все 2024, Julij
Anonim
RGB LED pisalo za svetlobno slikanje
RGB LED pisalo za svetlobno slikanje
RGB LED pisalo za svetlobno slikanje
RGB LED pisalo za svetlobno slikanje
RGB LED pisalo za svetlobno slikanje
RGB LED pisalo za svetlobno slikanje

To je popolno navodilo za izdelavo orodja za barvanje svetlobe, ki uporablja krmilnik LED RGB. Ta krmilnik veliko uporabljam v svojih naprednih orodjih in mislil sem, da lahko dokumentarec o tem, kako je to zgrajeno in programirano, pomaga nekaterim.

To orodje je modularno pisalo RGB za svetlo pisanje, risanje svetlobe in osvetljevanje grafitov. Je enostaven za uporabo, ker imate v roki samo pero in lahko hitro spremenite barvo.

Orodje je sestavljeno iz:

  • ohišje, ki je 3D natisnjeno
  • Arduino Micro
  • LED WS2816B
  • dva potenciometra (10K ali 100K)
  • dve stikali
  • potisni gumb
  • in nekaj kablov.

Arduino Micro je kot nalašč za to, ker je izredno majhen in odličen za upravljanje RGB LED. Morda boste uporabili tudi manjše mikrokrmilnike, kot sta LilyPad ali celo ATtiny85, vendar pogosto uporabljam Micro, ker je enostaven za uporabo, saj ima priključek USB, pripravljen za uporabo. Arduino in LED napajata 5V, zato morate poskrbeti za ustrezno podporo za napajanje. To orodje je zasnovano za uporabo štirih baterij za ponovno polnjenje AAA, ker imajo običajno 1,2 V in skupaj 4,8 V, kar zadostuje za napajanje tako Arduina kot LED. Pazite, da ne uporabljate navadnih baterij AAA, ker imajo 1,5 V in skupna napetost je lahko preveč za komponente in jih lahko poškoduje. Če želite uporabljati navadne baterije, uporabite le tri, napetost naj bo še vedno dovolj. Za ohišje baterije sem uporabil še en odličen 3D natisnjen del nekoga drugega: "Upogibna držala za baterije".

1. korak: Programiranje

Najprej potrebujete Arduino IDE za programiranje mikro krmilnika, ki ga lahko brezplačno prenesete in uporabljate. To se na prvi pogled sliši precej zapleteno, v resnici pa je precej preprosto. Po namestitvi programske opreme boste dobili preprosto okno za urejanje besedila, ki se uporablja za kodiranje skice, ki je naložena v Arduino. To orodje uporablja tudi knjižnico FastLED, ki je odlična in enostavna knjižnica za nadzor skoraj vseh vrst RGB LED, ki jih lahko kupite. Ko naložite knjižnico, jo morate namestiti tako, da datoteke postavite v mapo knjižnice, ki jo je ustvaril Arduino IDE. Običajno ga najdete pod „C: / Uporabniki {Uporabniško ime} Dokumenti / Arduino / knjižnice“, če ga niste spremenili. Ko knjižnico vstavite v to mapo, morate znova zagnati IDE, če se že izvaja. Zdaj smo pripravljeni ustvariti kodo za krmilnik.

2. korak: Koda

Za uporabo knjižnice FastLED jo moramo najprej vključiti v svojo kodo. To se naredi na vrhu kode pred vsem drugim s to vrstico:

#vključi

Nato bomo opredelili nekaj konstant. To se naredi zato, ker se te vrednosti med izvajanjem kode ne bodo spremenile in tudi zaradi lažje berljivosti. Te vrednosti lahko vnesete neposredno v kodo, če pa želite karkoli spremeniti, morate pregledati celotno kodo in spremeniti vsako vrstico, v kateri je vrednost uporabljena. Z uporabo definiranih konstant jo morate spremeniti le na enem mestu in se vam ni treba dotikati glavne kode. Najprej določimo zatiče, ki jih uporablja ta krmilnik:

#define HUE_PIN A0

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

Številke ali imena so enaka, ki so natisnjena na Arduinu. Analogni zatiči so označeni z A pred številko, digitalni zatiči uporabljajo samo številko v kodi, včasih pa so natisnjeni z začetnim D na plošči.

Potenciometer na zatiču A0 se uporablja za nadzor odtenka barve, potenciometer na zatiču A1 se uporablja za nadzor svetlosti. Pin D3 se uporablja kot signal LED, tako da lahko Arduino pošlje podatke za nadzor barve. Pin D6 se uporablja za preklop luči, pin D7 in D8 pa za nastavitev načina krmilnika. V tem krmilniku sem izvedel načine, eden preprosto postavi barvo, določeno z barvnim potenciometrom, na LED, drugi pa zbledi skozi vse barve. Nato potrebujemo tudi nekaj definicij za knjižnico FastLED:

#define COLOR_ORDER GRB

#define CHIPSET WS2811 #define NUM_LEDS 5

Nabor čipov se knjižnici pove, kakšno LED diodo uporabljamo. FastLED podpira skoraj vse RGB LED, ki so na voljo (na primer NeoPixel, APA106, WS2816B itd.). LED, ki ga uporabljam, se prodaja kot WS2816B, vendar se zdi nekoliko drugačen, zato najbolje deluje z naborom čipov WS2811. Vrstni red bajtov, ki jih LED pošlje za nastavitev barve, se lahko razlikuje tudi med proizvajalci, zato imamo tudi definicijo vrstnega reda bajtov. Definicija tukaj samo pove knjižnici, naj pošlje barvo v vrstnem redu zelena, rdeča, modra. Zadnja definicija je za količino priključenih LED. Vedno lahko uporabite manj LED, kot jih določite v kodi, zato sem nastavil številko 5, ker s tem orodjem ne bom oblikoval peresa z več kot 5 LED. Številko bi lahko postavili veliko višjo, vendar jo zaradi zmogljivosti ohranim tako majhno, kot jo potrebujem.

Za glavno kodo potrebujemo tudi nekaj spremenljivk:

int svetlost = 255;

brez podpisa int pot_Reading1 = 0; brez podpisa int pot_Reading1 = 0; brez podpisa dolga lastTick = 0; brez podpisa int wheel_Speed = 10;

Te spremenljivke se uporabljajo za svetlost, odčitke s potenciometrov, spominjanje zadnjega izvajanja kode in kako hitro bo zbledelo barvo.

Nato določimo matriko za LED, kar je enostaven način za nastavitev barve. Določena količina LED diod se uporablja za nastavitev velikosti matrike tukaj:

LED diode CRGB [NUM_LEDS];

Ko skrbimo za definicije, lahko zdaj napišemo namestitveno funkcijo. To je za ta program precej kratko:

void setup () {

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

Prva vrstica inicializira knjižnico FastLED z uporabo predhodno določenih definicij. Zadnje tri vrstice povedo Arduinu, da se ti zatiči uporabljajo kot vhodni in da je treba, če niso povezani z ničemer, napetost nastaviti na visoko (PULLUP). To pomeni, da moramo te zatiče povezati z GND, da nekaj sprožimo.

Zdaj lahko poskrbimo za glavni program. To se naredi v funkciji zanke. Najprej nastavimo nekaj spremenljivk in preberemo potenciometre:

void loop () {

statični uint8_t odtenek = 0; statično uint8_t wheel_Hue = 0; pot_Reading1 = analogRead (HUE_PIN); odtenek = zemljevid (pot_Reading1, 0, 1023, 0, 255); pot_Reading2 = analogno branje (BRIGHT_PIN); svetlost = zemljevid (pot_Reading2, 0, 1023, 0, 255);

Prvi dve vrstici določata spremenljivke, ki se kasneje uporabijo za barvo. Naslednja dva bloka skrbita za branje vrednosti potenciometra. Ker dobite vrednost med 0 in 1023, če odčitate pin z uporabo "analogRead", vendar odtenek in svetlost potrebujeta vrednost med 0 in 255, s funkcijo "map" prevedemo odčitavanje iz enega območja vrednosti v drugo. Prvi parameter te funkcije je vrednost, ki jo želite prevesti, zadnji štirje so najmanjše in največje območje, ki ga želite uporabiti za prevajanje.

Nato bomo ocenili gumb:

if (digitalRead (LIGHT_PIN) == LOW) {

Odčitke preverimo glede na LOW, ker smo pin določili kot visoko, če se ne sproži. Torej, če pritisnete gumb, bo pin priključen na GND in bo nizko bral. Če zatiči niso pritisnjeni, ni treba veliko narediti.

Najprej poskrbimo samo za osvetlitev LED v eni barvi:

if (digitalRead (COLOR_PIN) == LOW) {

if (odtenek <2) {FastLED.showColor (CRGB:: Bela); FastLED.setBrightness (svetlost); } else {FastLED.showColor (CHSV (odtenek, 255, svetlost)); FastLED.setBrightness (svetlost); } zamuda (10);

Oceniti moramo barvni zatič, da vemo, da želimo uporabiti ta način. Nato lahko preverimo, katera barva je potrebna. Ker se tukaj uporablja barvni model HSV, za določitev barve potrebujemo le odtenek. Toda to povzroča tudi težavo, da nimamo načina, da bi barvo nastavili na belo. Ker se odtenek 0 in odtenek 255 prevajata v rdečo, tukaj uporabim majhen trik in preverim, ali je odčitek potenciometra nižji od 2. To pomeni, da je potenciometer obrnjen do konca na eno stran in s tem lahko nastavimo belo. Na drugi strani imamo še rdečo, tako da tukaj ne bomo nič izgubili.

Tako ali nastavimo barvo na belo in nato na svetlost ali pa barvo nastavimo na podlagi odtenka odtenka in tudi svetlosti.

Nato sem dodal majhno zamudo, ker je veliko bolje dati krmilniku malo izpadov za varčevanje z energijo in zakasnitev 10 milisekund ne bo občutljiva.

Nato kodiramo zbledelo barvo:

sicer če (digitalRead (RAINBOW_PIN) == LOW) {

speed_Speed = zemljevid (pot_Reading1, 0, 1023, 2, 30); if (lastTick + wheel_Speed 255) {wheel_Hue = 0; } lastTick = millis (); } FastLED.showColor (CHSV (wheel_Hue, 255, svetlost)); }

Najprej se preveri zatič za preklop tega načina. Ker nisem hotel dodati tretjega potenciometra za nadzor hitrosti bledenja in ker se potenciometer hue v tem načinu ne uporablja, lahko s tem potenciometrom nastavimo hitrost. Če znova uporabimo funkcijo zemljevida, lahko odčitek prevedemo v zakasnitev, ki se prevede v hitrost izginjanja. Za zamudo sem uporabil vrednost med 2 in 30, ker je to po izkušnjah dobra hitrost. Funkcija "millis" bo vrnila milisekunde od vklopa Arduina, zato lahko to uporabimo za merjenje časa. Zadnja sprememba odtenka je shranjena v spremenljivki, ki smo jo definirali prej, in jo vsakič primerjamo, da vidimo, ali moramo odtenek znova spremeniti. Zadnja vrstica nastavi barvo, ki jo je treba prikazati.

Za dokončanje kode:

} drugo {

FastLED.showColor (CRGB:: Črna); }}

LED moramo izključiti, če gumba ne pritisnemo tako, da barvo nastavimo na črno in zapremo vse odprte oklepaje.

Kot lahko vidite, je to precej kratka in enostavna koda, ki jo lahko uporabite za veliko orodij, ki uporabljajo LED RGB.

Ko imate celotno kodo, jo lahko naložite v Arduino. Za to priključite Arduino na računalnik s kablom USB in izberite vrsto Arduino v IDE.

V teh navodilih uporabljam Arduino Pro Micro. Po nastavitvi modela Arduino morate izbrati vrata, kjer jih IDE lahko najde. Odprite meni vrat in videli boste povezani Arduino.

Zdaj je edino, kar morate storiti, naložiti kodo v Arduino s pritiskom na gumb drugega kroga na vrhu okna. IDE bo ustvaril kodo in jo naložil. Ko je to uspešno, lahko odklopite Arduino in nadaljujete s sestavljanjem krmilnika.

3. korak: Montaža elektronike za krmilnik

Ker smo skrbeli za kodiranje Arduina, lahko zdaj sestavimo strojno opremo krmilnika. Začnemo tako, da sestavne dele vstavimo v ohišje. Potenciometri gredo v dve okrogli luknji na levi, stikalo za napajanje je spodaj, stikalo za način je zgoraj desno in Arduino gre v držalo na sredini.

4. korak:

Slika
Slika

Začnite s spajkanjem rdečega kabla od stikala za vklop do zatiča RAW Arduina. Ta pin je namenjen napajanju, saj je priključen na regulator napetosti, tako da tudi če je napetost višja od 5V, lahko ta pin uporabite za napajanje Arduina. Nato na pin VCC spajkajte še eno rdečo žico, saj za potenciometer potrebujemo visoko napetost. Spajate dve beli žici na nožici A0 in A1, ki ju boste uporabili za odčitke potenciometra.

5. korak:

Slika
Slika

Zdaj skozi odprtino na vrhu vstavite dolgo belo in dolgo zeleno žico, ki se bo kasneje uporabila za povezavo LED. Zeleno spajkajte na pin 3 in belo na pin 6 in ju pritisnite na Arduino. Spajamo dve črni žici, pritrjeni na nožice GND na levi strani Arduina, ti se uporabljata za nizko napetost potenciometrov. Spajate dve modri žici na pin 7 in pin 8, ki ju želite uporabiti za stikalo za način.

6. korak:

Slika
Slika
Slika
Slika

Rdeči kabel, ki smo ga spajkali na pin VCC, je treba zdaj spajkati na enega od zunanjih zatičev prvega potenciometra. Z drugim rdečim kablom nadaljujte do drugega potenciometra. Pazite, da na obeh potenciometrih uporabljate isto stran, tako da bo na obeh straneh ista stran. Dva črna kabla spajkajte na drugo stran potenciometrov in bele kable iz nožic A0 in A1 na srednjem zatiču. Potenciometri delujejo tako, da napetost na srednjem zatiču nastavimo na napetost med napetostmi, ki se nanašajo na zunanje zatiče, zato lahko, če povežemo visoko in nizko napetost, dobimo napetost vmes na srednjem zatiču. S tem je bilo ožičenje potenciometrov zaključeno in jih je mogoče malo obrniti, tako da se zatiči ne umaknejo.

7. korak:

Slika
Slika

Na srednji zatič stikala za način spajkajte črni kabel in skozi odprtino, ki vodi do napajanja, vstavite dolg črni kabel. Skozi zgornjo odprtino vstavite še en dolg črni kabel, ki bo uporabljen kot GND za LED.

8. korak:

Slika
Slika

Črni kabel, ki prihaja iz napajalnika, je spajkan na drugo črno žico, ki je priključena na zadnji prosti zatič GND Arduina. Spajate žico, ki vodi do LED, in črno žico na stikalu za način skupaj in na koncu spajkate dva para črnih žic, ki jih imate zdaj skupaj. Za izolacijo spajkanja uporabite skrčljivo cev, da preprečite kratke hlače v krmilniku.

9. korak:

Slika
Slika

Kot zadnji korak lahko dve modri žici spajkamo na stikalo za način. Ta stikala delujejo tako, da srednji zatič priključijo na enega od zunanjih zatičev, odvisno od tega, na kateri strani je stikalo. Ker sta nožici 7 in 8 nastavljena tako, da se sprožita, ko sta povezani z GND, lahko uporabimo zunanje zatiče stikala za nožice in sredino za GND. Na ta način se vedno sproži eden od zatičev.

Nazadnje skozi odprtino za napajanje vstavite rdečo žico in jo spajkajte na srednji zatič stikala za vklop, drugo dolgo rdečo žico pa skozi odprtino na LED in jo spajkajte na isti zatič stikala za vklop, na katerega je priključen Arduino.

10. korak:

Slika
Slika

Napajajte napajalne kable z držalom baterije in privijte sponko, ki drži kable, ki vodijo do LED. S tem se ožičenje krmilnika zaključi.

11. korak: Sestava svetlobnega peresa

Ker je to orodje modularno in uporablja različne peresa, potrebujemo priključek na žicah za LED. Uporabil sem poceni 4 -terminalni priključek molex, ki ga običajno najdemo na kablih za ventilatorje v računalniku. Ti kabli so poceni in jih je enostavno dobiti, zato so popolni.

12. korak:

Slika
Slika
Slika
Slika

Ko sem začel ožičiti krmilnik, nisem preveril barv kablov na priključkih, zato so nekoliko drugačni, a si jih je enostavno zapomniti. Priključil sem črne žice, napajanje na rumeno, zeleno na zeleno in belo na modro, vendar lahko uporabite katero koli kombinacijo, ki vam je všeč, samo zapomnite si jo tudi za druga pisala. Spajkajte izolirana območja s krčenjem cevi, da preprečite kratke hlače.

13. korak:

Slika
Slika
Slika
Slika

Skozi peresnik vstavite dolgo rdečo in dolgo zeleno žico ter na eno stran potisnega gumba spajkajte črne žice, na drugo stran pa belo žico. Tovrstni gumbi imajo štiri zatiče, od katerih sta dva povezana v parih. Kateri zatiči so povezani, si lahko ogledate tako, da pogledate na dnu gumba, med paroma, ki so povezani, je vrzel. Če pritisnete gumb, sta obe strani povezani z drugo. Beli in en črni kabel se nato potegneta do konca peresa, začenši z odprtino za gumb. Drugi črni kabel se potegne spredaj. Prepričajte se, da imate na obeh straneh dovolj kabla za delo.

14. korak:

Slika
Slika
Slika
Slika

Pritisnite gumb v odprtini in pripravite preostale kable. Kable je najbolje spajkati na LED, tako da so obrnjeni proti sredini LED, ker kabli potekajo skozi sredino peresa. Rdečo žico spajkajte na spajkalno blazinico 5V, črno žico na spajkalno blazinico GND in zeleno žico na spajkalno blazinico Din. Če imate več LED, je Dout spajkalna plošča prve LED priključena na Din naslednje LED in tako naprej.

15. korak:

Slika
Slika
Slika
Slika

Zdaj pritisnite gumb na sprednjem delu peresnika in za njim položite kapljico lepila, da ga drži na mestu.

Zdaj morate le spajati žice na koncu peresa na drugo stran priključka, pri čemer upoštevajte barve.

Najbolje je, da uporabite kapljico lepila in nekaj traku za sprostitev kablov na koncu peresa, da preprečite njihovo lomljenje.

Korak 16: Primeri

Primeri
Primeri
Primeri
Primeri
Primeri
Primeri
Primeri
Primeri

Na koncu vam želim pokazati nekaj primerov, kjer sem uporabil to orodje. Kotni peresnik je odličen za osvetljevanje črt grafitov, ravno pero pa odlično riše in piše stvari v zraku (za kar imam le malo talenta).

To je glavni namen tega orodja. Kot vidite, so možnosti neverjetne, če s tem orodjem združite dolge osvetlitve.

Za začetek takšne fotografije poskusite uporabiti najnižjo nastavitev ISO, ki jo podpira fotoaparat, in visoko zaslonko. Dober način za iskanje pravih nastavitev je, da fotoaparat preklopite v način zaslonke in zaprete zaslonko, dokler fotoaparat ne prikaže časa osvetlitve približno v času, ko morate narisati tisto, kar želite dodati sliki. Nato preklopite na ročno in uporabite čas osvetlitve ali uporabite način žarnice.

Uživajte v preizkušanju teh! To je neverjetna oblika umetnosti.

To navodilo sem dodal izumiteljem in izzivu nenavadne uporabe, zato, če vam je všeč, pustite glasovanje;)

17. korak: Datoteke

Dodala sem tudi modele za držala za trakove, ki so namenjeni lepljenju na dno ohišja krmilnika, tako da jih lahko pripnete na roko, in sponko za pisalo, ki jo lahko prilepite na pokrov, kadar peresnika ne potrebujete v roki.

Obstajajo tudi pokrovčki difuzorjev, s katerimi lahko svetlobo naredite bolj gladko in preprečite bliskanje, ko peresnik kaže neposredno v fotoaparat.

Priporočena: