Cuprins:

Baghetă de pictură cu lumină multicolor pe bază de Arduino: 13 pași (cu imagini)
Baghetă de pictură cu lumină multicolor pe bază de Arduino: 13 pași (cu imagini)

Video: Baghetă de pictură cu lumină multicolor pe bază de Arduino: 13 pași (cu imagini)

Video: Baghetă de pictură cu lumină multicolor pe bază de Arduino: 13 pași (cu imagini)
Video: Andra Gogan Tik Tok❤ 2024, Noiembrie
Anonim
Baghetă de pictură cu lumină colorată pe bază de Arduino
Baghetă de pictură cu lumină colorată pe bază de Arduino
Baghetă de pictură cu lumină multicolor pe bază de Arduino
Baghetă de pictură cu lumină multicolor pe bază de Arduino
Baghetă de pictură cu lumină multicolor pe bază de Arduino
Baghetă de pictură cu lumină multicolor pe bază de Arduino

Pictura cu lumină este o tehnică utilizată de fotografi, unde o sursă de lumină este utilizată pentru a desena modele interesante, iar Camera le va pune împreună. Ca rezultat, fotografia va conține trasee de lumină în ea, care vor da în cele din urmă un aspect de pictură folosind Lumina.

Fotografii folosesc în mod obișnuit instrumente precum lumini cu torțe, tuburi și alte surse de lumină pentru a crea picturi cu lumină, dar aceste instrumente sunt foarte limitate, cu o gamă îngustă de culori, manevrabilitate și control greu. Bastonul de pictură ușor pe care l-am făcut poate depăși cu ușurință aceste limitări.

Principalele caracteristici ale bastonului nostru de pictură ușoară sunt:

  • Funcționat prin WiFi - Acest stick de pictură ușoară poate fi controlat (PORNIT / OPRIT, schimbarea culorilor) foarte ușor utilizând un browser simplu în orice dispozitiv cu WiFi. Astfel, aceste dispozitive WiFi vor acționa ca o telecomandă, iar fotografii se pot juca cu o varietate de culori în timp ce își creează piesa principală.
  • Culori standard - Acest stick este codificat pentru a emite culori standard cum ar fi (roșu, albastru, verde, auriu, curcubeu, alb) utilizând o intrare simplă a butonului.
  • Culori personalizate - În afară de culorile standard, acest stick este destul de capabil să genereze orice culoare conform dorinței fotografului. A fost adăugat cu o caracteristică pentru a introduce codul RGB de orice culoare, după cum doriți, cum ar fi cyan, magenta, turcoaz, măslin, maron etc. Căutați „codurile de culoare RGB aici” și utilizați-l pentru a obține culoarea dvs. personalizată.

Pasul 1: Materiale necesare

Materiale necesare
Materiale necesare
Materiale necesare
Materiale necesare

Am enumerat materialele necesare pentru realizarea acestui proiect. De asemenea, am adăugat linkurile de unde îl puteți cumpăra de pe Amazon.com. Cumpărarea materialelor de pe linkurile de mai jos îmi va aduce câteva comisioane și la rândul meu mă va sprijini pentru proiecte viitoare:)

  1. Arduino Uno - Cumpărați aici
  2. Benzi LED RGB WS2812 (25 LED-uri) - Cumpărați aici
  3. Power bank (5v, 10000mAh) - Cumpărați aici
  4. Modul ESP8266 - Cumpărați aici
  5. Modul convertor logic bidirecțional - Cumpărați aici
  6. Conectarea firelor

Bandă LED WS2812 RGB - Aceste LED-uri RGB sunt înlănțuite și vândute în unități de 60/120 buc. Cel mai important lucru este că acest LED RGB are un cip integrat, care, la rândul său, face ca partea de control să fie destul de ușoară. Explicațiile detaliate cu privire la aceasta depășesc acest domeniu. Consultați acest link „WS2812 LED strip working” pentru mai multe detalii.

Modulul ESP8266: Aceasta este o mică placă de dezvoltare WiFi mică, utilizată pe scară largă în proiectele IOT. Consultați acest link pe „Noțiuni introductive despre modulul ESP8266” dacă nu ați folosit ESP8266 înainte.

Modul convertor de logică bidirecțională: Acest modul permite Arduino să comunice cu modulele ESP8266 prin conversia semnalului de la nivelul 5V la nivelul logic 3.3v.

Pasul 2: Diagrama bloc

Diagramă bloc
Diagramă bloc

Acest proiect Light Painting se bazează pe conceptul IOT în care două dispozitive de rețea se conectează între ele pentru a forma o rețea, stabilind la rândul său comunicații și control. Aici Arduino va găzdui o pagină web și va acționa ca un server. Această pagină web a fost concepută astfel încât să preia de la utilizator intrări de control LED (culori: roșu, albastru, verde și ON / OFF). Această pagină web găzduită poate fi accesată prin intermediul dispozitivului WiFi care este conectat cu Arduino și controlează banda LED RGB conectată la aceasta.

Pentru a înțelege mai bine acest proiect, vă sfătuiesc să citiți „Crearea unui server web Arduino cu ESP8266”. Acest lucru vă va oferi o înțelegere conceptuală de bază despre modul în care funcționează acest proiect. Pe scurt, Arduino va desfășura următoarele activități în acest proiect:

  1. Comandați ESP8266 să se alăture hotspotului WiFi al dispozitivului nostru.
  2. Creați un server utilizând placa ESP Găzduiți pagina web în Arduino în sine și așteptați ca clienții externi (browserul dispozitivului) să facă cererea
  3. Odată ce solicitarea clientului este introdusă, Arduino va trimite pagina web către client (browserul dispozitivului) prin modulul ESP8266.
  4. Apoi va scana infinit comenzile LED (vor fi explicate în secțiunea interfeței web) de la client.
  5. Odată ce comenzile LED sunt primite, Arduino va procesa acest lucru și va activa banda LED RGB conectată la acesta.

Pasul 3: Diagrama circuitului

Diagrama circuitului
Diagrama circuitului
Diagrama circuitului
Diagrama circuitului

Diagrama de circuit de mai sus arată cum să conectați Arduino cu banda LED ESP8266 și RGB. După cum puteți observa că TX și RX ale Arduino care vor intra în convertorul Logic, unde semnalele vor fi mutate la 3.3v compatibil cu ESP8266. Pinul 6 al Arduino, care este un pin PWM, alimentează impulsul de control al timpului pentru a controla culoarea benzii LED RGB.

Există două LED-uri care servesc drept indicatori pentru acest proiect. LED-ul D2 indică de fiecare dată când proiectul este pornit. În timp ce LED-ul D1 indică momentul în care Arduino a creat cu succes un server web. Acest LED verde va ajuta utilizatorul să realizeze că serverul este gata să primească cererea de la client (browser).

Alegerea powerbank-ului este cu adevărat importantă, deoarece circuitul poate atrage aproximativ un curent maxim de aproximativ 1700ma. Am folosit o baterie de 5.1 / 10000mah cu ieșire curentă de 2A în orice moment.

Pasul 4: Conectarea ESP8266 la hotspotul WiFi

Conectarea ESP8266 la hotspotul WiFi
Conectarea ESP8266 la hotspotul WiFi
Conectarea ESP8266 la hotspotul WiFi
Conectarea ESP8266 la hotspotul WiFi

Modulul ESP8266 este capabil să-și amintească hotspoturile împerecheate. Acest proiect funcționează pe baza capacității sale de conectare automată pentru a vă conecta la hotspoturi conectate anterior. Modulul ESP8266 poate fi controlat folosind comenzi AT specifice dedicate acestuia. Folosind Arduino putem transmite aceste comenzi și forța modulul ESP să se conecteze cu dispozitivul nostru Hotspot.

Pentru a face acest lucru, încărcați codul „Bareminimum” pe Arduino. Acum conectați ESP8266 cu Arduino așa cum se menționează mai jos, utilizând schimbătorul logic.

Arduino RX -> Schimbator logic -> ESP8266 RX

Arduino TX -> Schimbator logic -> ESP8266 TX

Acum deschideți monitorul serial cu rata de transmisie de 57600 (rata de transmisie implicită a modulelor ESP8266) și „Atât NL, cât și CR” selectate. Tastați următoarele comenzi.

  1. LA
  2. AT + RST
  3. AT + CWJAP = "SSID-ul dispozitivului tău", "Parola ta"

Odată ce primiți confirmarea „WIFI CONNECTED” și „WIFI GOT IP” pe monitorul dvs. serial. Acest pas este finalizat, iar modulul dvs. ESP se va conecta automat la dispozitivul meu data viitoare când este pornit.

Pasul 5: interfața web și codul său

Interfața web și codul său
Interfața web și codul său
Interfața web și codul său
Interfața web și codul său
Interfața web și codul său
Interfața web și codul său

Interfața web are o mare importanță, deoarece va servi ca interfață cu utilizatorul prin care comenzile merg la Arduino prin ESP8266. Interfața noastră web este destul de simplă și codificată în HTML simplu. Butoanele din această interfață transmit o comandă GET cu un parametru URL la fiecare apăsare a butonului. Mai jos este lista butoanelor cu parametrii URL respectivi.

  1. 6 butoane pentru culori standard - „/ Red”, „/ Gre”, „Blu”, „/ Whi”, „/ Gol”, „Rai”
  2. Introducere de culoare personalizată utilizând valori RGB - „? R = 255 & G = 255 & B = 255”
  3. Opriți banda - „/ Off”

Din anumite motive, nu am putut plasa codul interfeței web aici, puteți obține codul în acest link.

Pasul 6: Algoritm și cod

Algoritm și cod
Algoritm și cod

Înainte de a configura hardware-ul, trebuie să încărcați codul în Arduino, deoarece acesta trebuie să fie ambalat într-un container și nu poate fi făcut mai târziu. De atunci am scris algoritmul care vă va ajuta să înțelegeți codul Arduino.

Algoritm:

  1. Resetați modulul ESP8266 trimițând comanda „AT + RST / r / n”.
  2. Verificați răspunsul de la ESP8266 pentru a vedea dacă conexiunea la hotspotul dispozitivului nostru are succes. Odată conectat, începeți alimentarea secvenței de comandă „Creare server” (consultați mai jos) către ESP8266.
  3. Monitorizați răspunsul pentru fiecare comandă de intrare.
  4. Toate aceste comenzi ar trebui să returneze un răspuns de „OK / r / n”, în caz de răspuns incorect, repetați comanda cu un răspuns incorect sau „EROARE”.
  5. Odată ce toată secvența de comandă de creare a serverului este cu succes, aprindeți LED-ul verde în pinul 12 al Arduino. Va fi o indicație pentru utilizator să furnizeze cererea clientului.
  6. Forțați Arduino să aștepte solicitarea clientului din orice browser se află în rețeaua LAN sau în rețea.
  7. Odată ce solicitarea clientului este introdusă, verificați ID-ul conexiunii și trimiteți comanda „AT + CIPSEND ….” prin inserarea ID-ului de conexiune corespunzător la acesta.
  8. ESP8266 răspunde cu un semn „>” care indică disponibilitatea în primirea personajelor. La primirea acestui lucru, trimiteți codul paginii web pe care l-am văzut în pasul anterior către browserul clientului prin modulul ESP8266.
  9. Acum pagina web va fi vizibilă în browserul clientului utilizatorului, Arduino va intra apoi într-o stare de scanare pe termen nelimitat pentru „comenzi LED” de la client.
  10. Pagina web a fost scrisă într-un mod care să ofere parametri URL unici pentru fiecare apăsare de buton, astfel încât de fiecare dată când este apăsat un buton modulul ESP va transmite o cerere GET cu acel parametru URL unic.
  11. Arduino ar trebui să proceseze această adresă URL și să asigure controlul benzii LED RGB în consecință.

Comenzi de creare a serverului:

  • LA
  • AT + CWMODE = 3
  • AT + CIPSTA = 192.168.43.253 (Pentru dispozitiv Android)
  • AT + CIPMUX = 1
  • AT + CIPSERVER = 1, 80

Cod:

Pentru ca acest proiect să funcționeze, trebuie să instalați această „bibliotecă Neopixel Adafruit”, să le descărcați și să le instalați.

Puteți obține codul Arduino pentru acest proiect în acest link -> „Arduino actionat cu pictura ușoară”

Pasul 7: Pregătirea Light Stick

Image
Image
Pregătirea Light Stick
Pregătirea Light Stick
Pregătirea Light Stick
Pregătirea Light Stick
Pregătirea Light Stick
Pregătirea Light Stick

Am făcut un videoclip despre realizarea acestei „baghete de pictură ușoară”, căutați mai multă claritate.

Începeți prin lipirea firelor până la capătul benzii LED. Continuați cu aplicarea unui adeziv fierbinte peste el pentru a face conexiunea mai puternică. Găsiți o bucată de bandă de plastic peste care puteți lipi banda LED. Am folosit un tub de ambalare din plastic din care provin IC-urile. Am primit multe din asta în casă, așa că am decis să folosesc acest lucru și s-a potrivit perfect.

Decupați tubul de ambalare sau orice veți găsi utilizabil la dimensiunea necesară. Am lipit banda LED peste tubul de ambalare folosind un adeziv puternic. Adezivul fierbinte ar putea să nu fie o idee bună pentru acest lucru, deoarece excesul de căldură ar putea deteriora LED-urile și acesta este ultimul lucru pe care dorim să ni se întâmple. Apoi l-am lăsat să se usuce timp de aproximativ 20 de minute pentru a-i permite să se fixeze.

Pasul 8: Alegerea containerului și configurarea stick-ului

Alegerea containerului și configurarea stick-ului
Alegerea containerului și configurarea stick-ului
Alegerea containerului și configurarea stick-ului
Alegerea containerului și configurarea stick-ului
Alegerea containerului și configurarea stick-ului
Alegerea containerului și configurarea stick-ului
Alegerea containerului și configurarea stick-ului
Alegerea containerului și configurarea stick-ului

Acesta este un pas destul de important, deoarece powerbank-ul, Arduino, LED-urile indicatoare și modulele ESP8266 vor intra în acest container. Selectați un container de dimensiunea adecvată, astfel încât să poată găzdui toate cele de mai sus. Am ales un recipient cilindric, astfel încât să-mi fie ușor să-l țin în timp ce le operez.

De când am ales una cilindrică, am marcat direcția în care banda LED se va confrunta cu un semn cu săgeată. Am marcat recipientul pentru a mă ghida în timp ce așez conținutul în interiorul containerului. Puneți o gaură mică în capacul containerului cu pistolul de lipit. Asigurați-vă că ați făcut o gaură suficient de mare pentru a se potrivi cu bastonul ușor în interior.

Odată ce ați pus bățul în interiorul capacului, sigilați-l cu ajutorul unui pistol de lipit și asigurați-vă că bățul este stabil și nu se mișcă.

Pasul 9: Asamblarea LED-urilor Power Bank și a indicatorului

Asamblarea băncii de alimentare și a indicatorilor LED
Asamblarea băncii de alimentare și a indicatorilor LED
Asamblarea băncii de alimentare și a indicatorilor LED
Asamblarea băncii de alimentare și a indicatorilor LED
Asamblarea băncii de alimentare și a indicatorilor LED
Asamblarea băncii de alimentare și a indicatorilor LED

Banca de energie va fi destul de grea în comparație cu alte componente din acest proiect. Așezați banca de alimentare în partea stângă a liniei trasate în container. Deci, este important să vă asigurați că nu se va mișca în timpul funcționării. În acest scop, am folosit un patch Velcro și l-am înfășurat strâns în jurul băncii de alimentare. În interiorul containerului am pus o altă pereche de plasture Velcro. Am lipit banca de putere de patch-ul Velcro și o ține destul de strâns și de asta am nevoie.

Plasați un comutator chiar opus liniei trasate. Acest comutator este destinat activării / dezactivării întregului proiect. Sub comutator. Așezați cele două LED-uri (roșu și verde) și lipiți-le cu câte un rezistor (consultați schema circuitului la pasul 3) pentru referință. LED-urile și comutatorul ar trebui să fie direct opuse direcției în care va intra bățul de iluminat. Acest lucru este pentru a evita interferențele luminoase nedorite de la LED-urile indicator în timp ce pictează lumina. Conectați cablul USB dezbrăcat și câțiva conectori la buton așa cum se arată în ultima imagine. Cablurile conectorului sunt acolo pentru a alimenta modulele Arduino și ESP8266.

Pasul 10: Asamblarea modulelor Arduino și ESP8266 în interiorul containerului

Asamblarea modulelor Arduino și ESP8266 în interiorul containerului
Asamblarea modulelor Arduino și ESP8266 în interiorul containerului
Asamblarea modulelor Arduino și ESP8266 în interiorul containerului
Asamblarea modulelor Arduino și ESP8266 în interiorul containerului
Asamblarea modulelor Arduino și ESP8266 în interiorul containerului
Asamblarea modulelor Arduino și ESP8266 în interiorul containerului

Puneți împreună placa Arduino și modulul plugin ESP8266, care deține, de asemenea, schimbătorul de nivel logic bidirecțional. Sârmați-o, lipiți-o și puneți-o împreună. După ce ați terminat, ați pus acest lucru în interiorul containerului, am făcut acest lucru cu cea mai mare grijă, deoarece ar trebui să mă asigur că niciunul dintre fire nu se încurcă. Acest lucru se datorează faptului că am ales un container cu diametru mai mic. Dar, pe partea luminoasă, recipientul este foarte la îndemână și se potrivește ușor în palmele mele.

Conectați firele de la stick-ul de pictură ușoară la bornele de alimentare și al șaselea pin al Arduino. După ce ați terminat, închideți cu atenție capacul recipientului.

Pasul 11: Acoperă-l

Acopera-l
Acopera-l
Acopera-l
Acopera-l
Acopera-l
Acopera-l

Acoperiți recipientul cu o bandă neagră sau orice alt material. Acest lucru este pentru a preveni interferența luminii să perturbe funcționarea picturii cu lumină. Acest lucru se datorează faptului că Arduino, ESP8266 și Power bank au LED-uri în ele. Menținerea lor neacoperită ar putea interfera și strica fotografiile.

Am folosit o bandă neagră în acest scop. Deși puteți folosi orice altceva la alegere în acest scop. După ce ați terminat, pictorul luminos acționat prin WiFi este acum gata să picteze câteva nuanțe reci.

Pasul 12: Testează-l

Testează-l
Testează-l
Testează-l
Testează-l
Testează-l
Testează-l
Testează-l
Testează-l
  1. Porniți comutatorul și LED-ul roșu ar trebui să se aprindă
  2. Așteptați să se aprindă LED-ul verde, acest lucru apare de obicei în 5 până la 10 secunde și indică faptul că este creat serverul Arduino.
  3. După ce LED-ul verde este aprins, deschideți browserul de pe dispozitiv și introduceți adresa IP 192.168.43.253 lansați adresa URL
  4. Pagina web pe care am văzut-o la pasul 5 ar trebui să fie afișată pe ecran.
  5. Acum interacționați cu interfața web și controlați banda LED
  6. Și du-te și fă niște picturi ușoare.

Pasul 13: Lucruri de reținut și mai multe fotografii

Lucruri de reținut și mai multe fotografii
Lucruri de reținut și mai multe fotografii
Lucruri de reținut și mai multe fotografii
Lucruri de reținut și mai multe fotografii
Lucruri de reținut și mai multe fotografii
Lucruri de reținut și mai multe fotografii
  • Acest proiect se bazează pe capacitatea ESP8266 de a se conecta automat cu hotspot-ul WiFi odată pornit. Așadar, ESP8266 și dispozitivul dvs. hotspot trebuie asociate cel puțin o dată înainte de a fi utilizate în acest proiect.
  • Arduino a fost programat în așa fel încât să gestioneze o singură comunicare client, ceea ce înseamnă că un singur browser poate solicita Arduino să controleze LED-urile
  • Există un timp de așteptare pentru crearea serverului de către Arduino cu ESP8266. Sfârșitul acestui timp de așteptare poate fi cunoscut prin LED-ul verde.
  • Odată ce LED-ul verde se aprinde, sunteți bine să inițiați cererea clientului din browserul dvs. Ar trebui să furnizați întregul proiect cu o sursă de cel puțin 2A pentru a-l menține fără probleme.
  • Acest proiect este testat cu succes cu Google Chrome pentru desktop și Opera pentru smartphone-uri.

Sper că tuturor vă place acest Instructable, încercați acest lucru și anunțați-mi rezultatul. Am planificat să proiectez un PCB pentru acest proiect și îl voi publica în curând aici. Ideile de îmbunătățire ulterioară sunt binevenite.

Acest proiect a durat mult timp pentru a construi și documenta pentru a crea un instructabil. Vă rog să mă votați în „Concurs LED”, „Concurs Arduino” și „Concurs telecomandă” dacă credeți că merită. Sper să vă văd cu un alt instructable

Concurs LED 2017
Concurs LED 2017
Concurs LED 2017
Concurs LED 2017

Locul doi în concursul LED 2017

Recomandat: