Taula de continguts:

Bolígraf LED RGB per a pintura lluminosa: 17 passos (amb imatges)
Bolígraf LED RGB per a pintura lluminosa: 17 passos (amb imatges)

Vídeo: Bolígraf LED RGB per a pintura lluminosa: 17 passos (amb imatges)

Vídeo: Bolígraf LED RGB per a pintura lluminosa: 17 passos (amb imatges)
Vídeo: Светопись с помощью светодиодного робота 2024, Desembre
Anonim
Bolígraf LED RGB per pintar amb llum
Bolígraf LED RGB per pintar amb llum
Bolígraf LED RGB per pintar amb llum
Bolígraf LED RGB per pintar amb llum
Bolígraf LED RGB per pintar amb llum
Bolígraf LED RGB per pintar amb llum

Aquesta és una instrucció de construcció completa per a una eina de pintura de llum que utilitza un controlador LED RGB. Utilitzo molt aquest controlador a les meves eines avançades i he pensat que un documental sobre com es construeix i programa això pot ajudar a algunes persones.

Aquesta eina és un bolígraf modular RGB destinat a escriure llum, dibuixar il·luminacions i il·luminar grafits. És fàcil d’utilitzar perquè només teniu el bolígraf a la mà i podeu canviar ràpidament el color.

L'eina consisteix en:

  • una funda impresa en 3D
  • un Arduino Micro
  • un LED WS2816B
  • dos potenciòmetres (10K o 100K)
  • dos interruptors
  • un polsador
  • i alguns cables.

Un Arduino Micro és perfecte per a això perquè és extremadament petit i ideal per controlar els LED RGB. També podeu utilitzar microcontroladors encara més petits com un LilyPad o fins i tot un ATtiny85, però sovint faig servir el Micro perquè és fàcil d’utilitzar ja que ve amb un connector USB llest per utilitzar. Tant l'Arduino com el LED s'alimenten amb 5V, de manera que heu de tenir cura del suport d'alimentació adequat. Aquesta eina està dissenyada per utilitzar quatre bateries recarregables AAA perquè solen tenir 1,2 V i 4,8 V combinats, que són suficients per alimentar tant l'Arduino com el LED. Tingueu cura de no utilitzar bateries AAA normals, ja que tenen 1,5 V i el voltatge combinat pot ser excessiu per als components i pot danyar-los. Si voleu utilitzar bateries normals, utilitzeu-ne només tres, el voltatge hauria de ser suficient. Vaig fer servir una altra gran part impresa en 3D d’algú altre per a la funda de la bateria que es pot trobar aquí: "Flexió dels suports de la bateria".

Pas 1: programació

Primer, necessiteu l'IDE Arduino per programar el microcontrolador, que es pot descarregar i utilitzar gratuïtament. A primera vista, sembla força complicat, però realment és bastant senzill. Després d’instal·lar el programari, obtindreu una senzilla finestra d’editor de text que s’utilitza per codificar l’esbós que es penja a l’Arduino. Aquesta eina també utilitza la biblioteca FastLED, que és una biblioteca fantàstica i fàcil d'utilitzar que permet controlar gairebé qualsevol tipus de LED RGB que es pugui comprar. Després de descarregar la biblioteca, heu d’instal·lar col·locant els fitxers a la carpeta de biblioteca creada per l’IDE Arduino. Normalment, es pot trobar a „C: / Users {Nom d’usuari} Documents / Arduino / libraries“si no l’heu canviat. Després de col·locar la biblioteca en aquesta carpeta, haureu de reiniciar l'IDE si ja s'està executant. Ara estem preparats per crear el codi per al controlador.

Pas 2: el codi

Per utilitzar la biblioteca FastLED primer l’hem d’incloure al nostre codi. Això es fa a la part superior del codi abans que qualsevol altra cosa amb aquesta línia:

#incloure

A continuació, definirem algunes constants. Això es fa perquè aquests valors no canviaran mentre s’executa el codi i també perquè sigui més llegible. Podeu introduir aquests valors directament al codi, però si heu de canviar qualsevol cosa, haureu de revisar tot el codi i canviar totes les línies en què s'utilitza el valor. En utilitzar constants definides, només cal canviar-lo en un lloc i no cal que toqueu el codi principal. Primer definim els pins que utilitza aquest controlador:

#define HUE_PIN A0

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

Els números o noms són els mateixos que s’imprimeixen a l’Arduino. Els pins analògics s’identifiquen amb una A davant del seu número, els pins digitals només utilitzen el número del codi, però de vegades s’imprimeixen amb una D al tauler.

El potenciòmetre del pin A0 s’utilitza per controlar la tonalitat del color, el potenciòmetre del pin A1 s’utilitza per controlar la brillantor. El pin D3 s’utilitza com a senyal al LED perquè l’Arduino pugui enviar dades per controlar el color. El pin D6 s’utilitza per canviar la llum i el pin D7 i D8 s’utilitza per configurar el mode del controlador. He implementat modes en aquest controlador, un simplement posa el color definit pel potenciòmetre de color al LED i l’altre es difuminarà a través de tots els colors. A continuació, també necessitem algunes definicions per a la biblioteca FastLED:

#define COLOR_ORDER GRB

#define CHIPSET WS2811 #define NUM_LEDS 5

El chipset s’utilitza per indicar a la biblioteca quin tipus de LED estem utilitzant. FastLED admet gairebé qualsevol LED RGB disponible (com NeoPixel, APA106, WS2816B, etc.). El LED que faig servir es ven com WS2816B, però sembla ser una mica diferent, de manera que funciona millor amb el chipset WS2811. L'ordre dels bytes que s'envien al LED per configurar el color també pot variar entre els fabricants, de manera que també tenim una definició per a l'ordre de bytes. La definició aquí només indica a la biblioteca que enviï el color en l'ordre verd, vermell i blau. La darrera definició correspon a la quantitat de LED connectats. Sempre podeu utilitzar menys LEDs que definiu al codi, de manera que he establert el número a 5 perquè amb aquesta eina no dissenyaré bolígrafs amb més de 5 LED. Es podria establir un nombre molt més alt, però a causa del rendiment el mantinc tan petit com ho necessito.

Per al codi principal també necessitem algunes variables:

brillantor int = 255;

unsigned int pot_Reading1 = 0; unsigned int pot_Reading1 = 0; unsigned long lastTick = 0; unsigned int wheel_Speed = 10;

Aquestes variables s’utilitzen per a la brillantor, les lectures dels potenciòmetres, per recordar l’última vegada que es va executar el codi i la rapidesa amb què s’esvairà el color.

A continuació, definim una matriu per als LEDs, que és una manera senzilla d’establir el color. La quantitat definida de LED s'utilitza per establir la mida de la matriu aquí:

Leds CRGB [NUM_LEDS];

Després de tenir cura de les definicions, ara podem escriure la funció de configuració. Això és bastant curt per a aquest programa:

configuració nul·la () {

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

La primera línia inicialitza la biblioteca FastLED mitjançant les definicions que hem establert anteriorment. Les tres darreres línies indiquen a l'Arduino que aquests pins s'utilitzen com a entrada i que, si no es connecten a res, s'hauria d'establir el voltatge a alt (PULLUP). Això significa que hem de connectar aquests pins a GND per activar alguna cosa.

Ara ens podem encarregar del programa principal. Això es fa a la funció de bucle. Primer estem establint algunes variables i llegim els potenciòmetres:

bucle buit () {

estàtic uint8_t tonalitat = 0; static uint8_t wheel_Hue = 0; pot_Reading1 = analogRead (HUE_PIN); tonalitat = mapa (pot_Reading1, 0, 1023, 0, 255); pot_Reading2 = analogRead (BRIGHT_PIN); brillantor = mapa (pot_Reading2, 0, 1023, 0, 255);

Les dues primeres línies configuren variables que s’utilitzaran més tard per al color. Els dos blocs següents s’encarreguen de llegir els valors del potenciòmetre. Com que obteniu un valor entre 0 i 1023 si llegiu un pin amb "analogRead", però el to i la brillantor necessiten un valor entre 0 i 255, fem servir la funció "mapa" per traduir la lectura d'una regió de valor a una altra. El primer paràmetre d'aquesta funció és el valor que voleu traduir, els darrers quatre són el mínim i el màxim de les regions que voleu utilitzar per a la traducció.

A continuació, avaluarem el polsador:

if (digitalRead (LIGHT_PIN) == BAIX) {

Comprovem la lectura amb LOW perquè hem definit que el pin és elevat si no s’activa. Per tant, si es prem el polsador, el pin es connectarà a GND i quedaria baix. Si no es premen els pins no hi ha molt a fer.

Primer ens encarreguem d’encendre el LED d’un sol color:

if (digitalRead (COLOR_PIN) == BAIX) {

if (tonalitat <2) {FastLED.showColor (CRGB:: White); FastLED.setBrightness (brillantor); } else {FastLED.showColor (CHSV (tonalitat, 255, brillantor)); FastLED.setBrightness (brillantor); } retard (10);

Hem d’avaluar el pin de color per saber que volem utilitzar aquest mode. Després podem comprovar quin color es necessita. Com que aquí s’utilitza el model de color HSV, només necessitem la tonalitat per definir un color. Però això també crea el problema que no tenim una manera d’establir el color en blanc. Com que la tonalitat 0 i la tonalitat 255 es tradueixen en vermell, faig servir un petit truc aquí i comprovo si la lectura del potenciòmetre de tonalitat és inferior a 2. Això significa que el potenciòmetre es gira completament cap a un costat i el podem utilitzar per posar blanc. Encara tenim vermell a l’altra banda, així que no perdrem res aquí.

Així doncs, establim el color en blanc i després la brillantor, o bé establim el color en funció de la lectura del to i també de la brillantor.

Després vaig afegir un petit retard perquè és molt millor donar-li al controlador una mica de temps d'inactivitat per estalviar energia i no es notarà un retard de 10 mil·lisegons.

A continuació, codifiquem el color fade:

else if (digitalRead (RAINBOW_PIN) == BAIX) {

wheel_Speed = mapa (pot_Reading1, 0, 1023, 2, 30); if (lastTick + wheel_Speed 255) {wheel_Hue = 0; } lastTick = millis (); } FastLED.showColor (CHSV (Wheel_Hue, 255, brillantor)); }

Primer es marca el marcador per canviar aquest mode. Com que no volia afegir un tercer potenciòmetre per controlar la velocitat de la decoloració i com que el potenciòmetre de tonalitat no s’utilitza en aquest mode, podem utilitzar aquest potenciòmetre per configurar la velocitat. Utilitzant de nou la funció de mapa podem traduir la lectura a un retard que es tradueix en la velocitat de la decoloració. He utilitzat un valor entre 2 i 30 per al retard, ja que per experiències és una bona velocitat. La funció "millis" retornarà els mil·lisegons des que es va encendre l'Arduino, de manera que podem utilitzar-la per mesurar el temps. L'últim canvi de tonalitat s'emmagatzema en una variable que hem definit anteriorment i es compara cada vegada per veure si hem de canviar de tonalitat de nou. L'última línia només defineix el color que cal mostrar a continuació.

Per acabar el codi:

} més {

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

Només hem d’apagar el LED si no es prem el botó configurant el color en negre i tancar els claudàtors oberts.

Com podeu veure, aquest és un codi fàcil i curt que es pot utilitzar per a moltes eines que utilitzen LED RGB.

Un cop tingueu el codi complet, podeu penjar-lo a l'Arduino. Per a això, connecteu l'Arduino al vostre PC amb un cable USB i seleccioneu el tipus Arduino a l'IDE.

En aquestes instruccions faig servir l’Arduino Pro Micro. Després de configurar el model Arduino, heu de seleccionar el port on el pot trobar l’IDE. Obriu el menú de ports i hauríeu de veure el vostre Arduino connectat.

Ara l’únic que cal fer és penjar el codi a l’Arduino prement el botó de la segona ronda de la part superior de la finestra. L'IDE crearà el codi i el penjarà. Després que això tingui èxit, podeu desconnectar l'Arduino i continuar muntant el controlador.

Pas 3: Muntatge de l'electrònica per al controlador

Des que ens vam ocupar de codificar l'Arduino, ara podem muntar el maquinari del controlador. Comencem posant els components dins de la caixa. Els potenciòmetres van als dos forats rodons de l’esquerra, l’interruptor d’alimentació es troba a la part inferior, l’interruptor del mode es troba a la part superior dreta i l’Arduino va al suport del centre.

Pas 4:

Imatge
Imatge

Comenceu soldant un cable vermell des de l’interruptor d’alimentació fins al pin RAW de l’Arduino. Aquest pin és el pin to pin per a la font d'alimentació, ja que està connectat a un regulador de tensió, de manera que fins i tot si el voltatge és superior a 5V, aquest pin es pot utilitzar per alimentar l'Arduino. A continuació, torneu a soldar un altre cable vermell al pin VCC, ja que necessitem la tensió d’alt nivell per al potenciòmetre. Soldeu dos cables blancs als pins A0 i A1 que s’utilitzaran per a la lectura del potenciòmetre.

Pas 5:

Imatge
Imatge

Ara poseu un llarg cable blanc i un verd llarg per l’obertura de la part superior que s’utilitzarà més tard per connectar el LED. Soldeu el verd al pin 3 i el blanc al pin 6 i premeu-los de forma plana a l’Arduino. Soldeu dos cables negres als passadors GND del costat esquerre de l'Arduino, que s'utilitzen per a la tensió de baix nivell dels potenciòmetres. Soldeu dos cables blaus al pin 7 i el pin 8 que s’utilitzaran per al commutador de mode.

Pas 6:

Imatge
Imatge
Imatge
Imatge

El cable vermell que hem soldat al pin VCC ara s’ha de soldar a un dels pins externs del primer potenciòmetre. Utilitzeu un altre cable vermell per continuar fins al segon potenciòmetre. Tingueu cura d'utilitzar el mateix costat als dos potenciòmetres, de manera que el màxim serà el mateix costat als dos potenciòmetres. Soldeu els dos cables negres a l’altre costat dels potenciòmetres i els cables blancs dels pins A0 i A1 del pin central. Els potenciòmetres funcionen configurant la tensió del pin central a una tensió entre les tensions aplicades als pins externs, de manera que si connectem tensió alta i baixa podem obtenir una tensió entre el pin central. Això va completar el cablejat dels potenciòmetres i es poden girar una mica perquè els pins quedin fora del camí.

Pas 7:

Imatge
Imatge

Soldeu un cable negre al passador central del commutador de mode i poseu un cable negre llarg per l’obertura que condueix a la font d’alimentació. Introduïu un altre cable negre llarg per l’obertura superior per utilitzar-lo com a GND per al LED.

Pas 8:

Imatge
Imatge

El cable negre provinent de la font d’alimentació es solda a un altre cable negre que es connecta a l’últim pin GND lliure de l’Arduino. Soldeu el cable que condueix al LED i el cable negre del commutador de mode i, finalment, soldeu els dos parells de cables negres que teniu junts. Utilitzeu un tub encongit per aïllar la soldadura per evitar curtmetratges a l’interior del controlador.

Pas 9:

Imatge
Imatge

Com a últim pas, ara podem soldar els dos cables blaus al commutador de mode. Aquests commutadors funcionen connectant el passador central a un dels passadors externs en funció de quin costat estigui activat l’interruptor. Com que els pins 7 i 8 estan configurats per activar-se quan es connecta a GND, podem utilitzar els pins externs del commutador per als pins i el mig per a GND. D’aquesta manera, sempre s’activa un dels pins.

Finalment, poseu un cable vermell a través de l’obertura d’alimentació i soldeu-lo al pin central de l’interruptor d’alimentació i poseu un altre cable vermell llarg a través de l’obertura al LED i soldeu-lo al mateix pin de l’interruptor d’alimentació al qual està connectat l’Arduino.

Pas 10:

Imatge
Imatge

Soldeu els cables d’alimentació al suport de la bateria i enrosqueu el clip que subjecta els cables que condueixen al LED. Això completa el cablejat del controlador.

Pas 11: Muntatge del Light Pen

Com que aquesta eina està pensada per ser modular i utilitzar diferents bolígrafs, necessitem un connector als cables per al LED. He utilitzat un connector molex de 4 terminals barat que normalment es pot trobar als cables que s’utilitzen per als ventiladors d’un ordinador. Aquests cables són econòmics i fàcils d’aconseguir, de manera que són perfectes.

Pas 12:

Imatge
Imatge
Imatge
Imatge

Quan vaig començar a connectar el controlador no vaig comprovar els colors dels cables dels connectors, de manera que són una mica diferents, però fàcils de recordar. Vaig connectar els cables negres, l'alimentació al groc, el verd al verd i el blanc al blau, però podeu utilitzar qualsevol combinació que vulgueu, només ho recordeu per a les altres plomes. Tingueu cura d’aïllar les zones soldades amb un tub encongit per evitar curts.

Pas 13:

Imatge
Imatge
Imatge
Imatge

Introduïu un cable vermell llarg i un verd llarg a través del bolígraf i soldeu els cables negres a un costat del polsador i el cable blanc a l'altre costat. Aquest tipus de polsadors tenen quatre pins dels quals dos estan connectats per parelles. Podeu veure quins pins estan connectats mirant a la part inferior del botó, hi ha un buit entre els parells que estan connectats. Si premeu el botó, els dos costats estan connectats a un altre. El cable blanc i un negre s’extreuen fins a l’extrem de la ploma començant per l’obertura del botó. L'altre cable negre es tira cap a la part davantera. Assegureu-vos que teniu suficient cable als dos costats per treballar.

Pas 14:

Imatge
Imatge
Imatge
Imatge

Premeu ajustar el botó a l'obertura i prepareu la resta de cables. El millor és soldar els cables al LED de manera que estiguin orientats cap a la meitat del LED perquè els cables passen pel mig del bolígraf. Soldeu el cable vermell al coixinet de soldadura de 5V, el cable negre al coixinet de soldadura GND i el fil verd al coixinet de soldadura Din. Si teniu més d'un LED, el coixinet de soldadura Dout del primer LED està connectat al Din del següent LED, etc.

Pas 15:

Imatge
Imatge
Imatge
Imatge

Ara premeu el botó a la part frontal del bolígraf i poseu-hi una gota de cola per mantenir-lo al seu lloc.

Ara només cal soldar els cables de l’extrem de la ploma a l’altre costat del connector tenint en compte els colors.

El millor és fer servir una gota de cola i una mica de cinta per alliberar els cables a l’extrem de la ploma per evitar que es trenquin, per completar el muntatge de la ploma lleugera.

Pas 16: exemples

Exemples
Exemples
Exemples
Exemples
Exemples
Exemples
Exemples
Exemples

Finalment, vull mostrar-vos alguns exemples on he utilitzat aquesta eina. El bolígraf en angle és fantàstic per il·luminar les línies d’un grafiti i el bolígraf recte és fantàstic per dibuixar i escriure coses a l’aire (per al qual només tinc poc talent).

Aquest és l'objectiu principal d'aquesta eina. Com podeu veure, les possibilitats són increïbles si combineu exposicions llargues amb aquesta eina.

Per començar amb aquest tipus de fotografia, intenteu utilitzar la configuració ISO més baixa que admet la càmera i una obertura elevada. Una bona manera de trobar els paràmetres adequats és posar la càmera en mode d’obertura i tancar l’obertura fins que la càmera mostri un temps d’exposició del temps que necessiteu per dibuixar el que voleu afegir a la imatge. A continuació, canvieu a manual i utilitzeu aquest temps d’exposició o utilitzeu el mode de bombeta.

Diverteix-te provant-ho! És una forma d’art increïble.

He afegit aquesta instrucció al repte dels inventors i usos inusuals, de manera que si us agrada deixeu un vot;)

Pas 17: els fitxers

També he afegit models per a suports de corretges que s’han d’enganxar a la part inferior de la caixa del controlador perquè pugueu fixar-lo al braç i un clip per a la ploma que es pugui enganxar a la tapa quan no necessiteu la ploma a la mà.

També hi ha taps difusors que es poden utilitzar per fer la llum més suau i evitar flamarades quan la ploma apunta directament a la càmera.

Recomanat: