Cuprins:
- Pasul 1: De ce aveți nevoie
- Pasul 2: Instrucțiuni pentru utilizator
- Pasul 3: câteva cuvinte despre culorile RGB
- Pasul 4: Schemele
- Pasul 5: Codul
- Pasul 6: În acțiune
- Pasul 7: Dezvoltare ulterioară
Video: Incendiu: 7 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:44
Acest proiect a fost inspirat de misticul incendiu din Game of Thrones, un lichid verzui, care, atunci când a fost aprins, a explodat în flăcări verzi. Proiectul se concentrează pe utilizarea benzilor LED RGB SMD5050 pentru efecte de culoare personalizate. Trei obiecte din sticlă sunt echipate cu o bandă de șase LED-uri RGB fiecare. Un Arduino Uno creează un foc ca un model pâlpâitor pentru lumini. LED-urile RGB sunt necesare pentru a crea un model de culoare de gradient de la verde închis la verde strălucitor până la cel mai strălucitor alb. Un LED verde simplu nu este suficient, are nevoie de componentele roșu și albastru pentru a crea un alb strălucitor. Ca bonus, acest hardware poate produce orice alte culori. Obiectele din sticlă sunt necesare pentru a refracta lumina și pentru a masca sursa de lumină reală, adică benzile mici RGB SMD5050 cu aspect tehnic.
Ideea poate fi extinsă la cât de multe obiecte doriți și la orice scenă dinamică de culoare doriți. Acest instructable descrie modul în care am implementat o configurație cu trei obiecte de sticlă cu următoarele scheme de culori. Schema de incendii este văzută în videoclipul de introducere. Restul schemelor sunt văzute într-un videoclip în pagina Pasul 6 al acestui instructiv.
- Foc salbatic. Un joc de tronuri a inspirat focul ca spectacolul.
- Atractor Unicorn. Un spectacol, care se estompează prin culorile curcubeului.
- Clipiți. Schimbare aleatorie de culoare în două viteze diferite.
- Decolorare. Schimbarea lină a culorilor aleatorii la două viteze diferite.
- Culori vii. Colorează-ți obiectele cu o lumină care oscilează ușor în jurul unei singure culori.
- Lumânări. Solicitați LED-urilor dvs. să imite o flacără naturală de lumânare.
Pregatirea
În configurația de bază avansați prin cele șase scheme de culori printr-un singur clic pe buton. Un dublu clic va avansa într-o schemă de culori de la o setare la alta, dacă este cazul. Setările de culoare pot fi adăugate prin editarea programului Arduino.
Într-o viitoare versiune extinsă, butonul este înlocuit de o placă ESP8266, care va interfața cu o pagină web, care va controla schemele de culori. La rândul său, pagina web poate fi controlată cu un browser de dispozitive mobile. Acest lucru oferă mult mai multă varietate în ajustarea lucrurilor:
- setați viteza și direcția de schimbare
- setați culoarea pentru lumânările pâlpâitoare
- setați luminozitatea și saturația culorilor
Această instrucțiune se concentrează pe configurarea de bază, care include doar un buton ca interfață cu utilizatorul.
Pasul 1: De ce aveți nevoie
- O bandă LED RGB ieftină, pe care o puteți tăia în benzi mai scurte
- O unitate de alimentare, de preferință 12 V 1.5 Un lucru care a venit cu banda LED RGB
- Un Arduino UNO sau similar
- Două IC ULN2803AP: s
- Un simplu buton de apăsare
- O placă de măsurare Perma-Proto
- Sârmă
- O cutie pentru electronice
- Unele obiecte din sticlă care trebuie iluminate de benzile LED RGB
- Unelte (decapant de sârmă, lipitor, lipit …)
Banda cu leduri
Am cumpărat o bandă LED ieftină, care constă din aproximativ 90 de LED-uri SMD RGB. O unitate mică acționează ledurile, schimbându-le culoarea. Unitatea este controlată de la distanță și banda poate schimba culorile în diferite moduri. Dar toată banda are aceeași culoare. Interesant este că puteți tăia banda în benzi mici care conțin doar trei led-uri rgb în fiecare bandă. Fiecare bandă, indiferent cât de lungă este, trebuie alimentată cu 12 V. Fiecare secțiune din trei leduri rgb are propriul set de rezistențe care au grijă de căderea de tensiune pentru leduri. Trebuie doar să furnizați 12 V și suficient de amperi, ei bine, miliamperi. Pentru acest proiect, folosesc trei benzi ale benzii led, care conțin 6 unități în fiecare, și unitatea de putere 12 V 1.0 A. Unitatea de control și telecomanda nu sunt necesare.
ULN2803AP
Un singur led are nevoie doar de curent. De obicei, puteți aprinde un led direct de la un pin de date Arduino, atâta timp cât aveți un rezistor care scade pinul de date 5 V la aproximativ 3 V pentru led. Dar un singur LED RGB SMD5050 este format din trei leduri, unul roșu, un gren și unul albastru. Și pentru acest proiect, folosesc benzi de 6 LED-uri RGB SMD5050. Un pin de date al Arduino Uno controlează 6 LED-uri. Numai asta ar prăji pinul de date, dacă puterea de a aprinde ledurile ar proveni de la pinul de date. Dar vor fi în total nouă astfel de pini de date și sigur că va fi prea mult curent pentru Arduino. De aceea, ULN2803AP intră în funcțiune. ULN2803AP este un cip integrat cu 8 tranzistori darlington. Am nevoie de 9, așa că folosesc doar două cipuri ULN2803AP. Asta mă lasă cu 7 tranzistoare de rezervă, dacă vreau să extind proiectul pentru a spune cinci obiecte.
Un singur LED din interiorul LED-ului RGB SMD5050 atrage 20 mA. Șase dintre ele ar însemna 120 mA. Un pin (un tranzistor darlington) din ULN2803 poate scădea 500 mA. Dar întregul cip poate suporta maximum 1,44 W de căldură produsă de curent. 120 mA produce 0,144 W. Pun cinci linii pe unul dintre cipurile ULN2803 și patru linii pe cealaltă. Aceasta va fi 0,72 W pe un cip și 0,58 W pe celălalt cip. Deci ar trebui să fiu bine. Folosirea tuturor celor 8 linii ale unui ULN2803 cu 120 mA pe fiecare ar încălzi cipul cu 1,2 W. S-ar încălzi, dar l-ar tolera în continuare.
Pur și simplu explicat, banda LED RGB SMD obține 12 V de la sursa de alimentare. Din banda LED, curentul din fiecare dintre cele trei LED-uri color merge la propriul pin în ULN2803AP și mai departe la GND. Circuitul este închis și LED-ul se aprinde. Dar ULN2803AP este pornit / oprit de semnalele de date de 5 V de la Arduino. Aceste semnale vor atrage doar câțiva miliamperi de la Arduino.
Obiectele din sticlă și benzile LED
Am avut aceste obiecte ciudate de sticlă, care sunt destinate luminilor de ceai. Am tăiat farfurii din bușteni de mesteacăn pentru ca aceștia să stea și să aibă ceva pe care să lipească benzile LED. Am făcut niște pliuri în benzi pentru a le transforma în inele, unde unitățile LED individuale erau orientate în sus. Aveți grijă la pliuri, pentru a nu tăia liniile.
Pasul 2: Instrucțiuni pentru utilizator
Dispozitivul va avea o interfață simplă de utilizare. Se aprinde prin conectarea sursei de alimentare la priza de perete și începe cu prima schemă de culori, care este Wildfire. Se oprește prin deconectare. Un clic pe buton va trece la următoarea schemă de culori. Un dublu clic va avansa prin sub schemele fiecărei scheme de culori. Voi implementa următoarele scheme de culori:
- Foc salbatic. Un Joc de Tronuri a inspirat focul ca spectacolul, unde flăcările verzi se deplasează de la un obiect de sticlă la celelalte. Acest efect va arăta cel mai spectaculos, atunci când obiectele din sticlă sunt așezate vertical unul față de celălalt. Trei subscheme diferite sunt implementate cu ritm diferit de flăcări.
- Atractor Unicorn. Un spectacol, care se estompează prin culorile curcubeului. Decolorarea se întâmplă într-un mod rotativ, ca și cum fiecare culoare se deplasează de la un obiect de sticlă la următorul. Subschemele vor avea viteze diferite de estompare.
- Clipiți. Schimbare aleatorie de culoare în două viteze diferite. Subschemele vor avea palete variabile (doar culori complet saturate, culori pe jumătate saturate, culori din doar jumătate din cercul de culori)
- Decolorare. Schimbarea lină a culorilor aleatorii la două viteze diferite. Subsceme similare ca în # 3.
- Culori vii. Colorează-ți obiectele cu o lumină care oscilează ușor în jurul unei singure culori. Subschemele vor seta culorile la roșu, portocaliu, galben, verde, albastru, indigo sau violet. Oscilația se întâmplă într-un sector de 10 grade în jurul culorii alese. Cele trei obiecte din sticlă au aceeași culoare aleasă, dar fiecare obiect are propria frecvență de oscilare care se schimbă aleatoriu, pentru a conferi întregului set o culoare vie vibrantă.
-
Lumânări. Solicitați LED-urilor dvs. să imite o flacără naturală de lumânare. Trei subscheme:
- „cât mai calm posibil”
- „o fereastră deschisă undeva”
- "a fost o noapte întunecată și furtunoasă"
Pasul 3: câteva cuvinte despre culorile RGB
În această secțiune discut despre punctul meu de vedere asupra spațiului de culoare RGB. Puteți sări peste această secțiune. Vă dau doar câteva informații despre motivul pentru care tratez culorile LED-urilor RGB așa cum fac eu.
Deci LED-ul RGB are doar lumină roșie, verde și albastră. Amestecarea acestora va crea toate culorile pe care ochiul uman le poate recunoaște (aproape). Cantitatea fiecărei părți - roșu, verde sau albastru - este în lumea digitală de obicei definită printr-un număr de la 0 la 255. O culoare complet saturată are nevoie de una dintre componentele de culoare pentru a fi zero și o componentă de culoare pentru a fi 255. În această simț că avem doar 1530 de culori diferite complet saturate în lumea noastră digitală.
Un mod de modelare a spațiului RGB este cubul. Un vârf al cubului este negru. Din acel vârf putem călători de-a lungul marginii roșie, albastră sau verde. Orice punct din cub este o culoare definită de coordonatele sale roșii, verzi și albastre. Călătorind către cel mai îndepărtat vârf de la vârful negru, ajungem la vârful alb. Concentrându-ne pe cele șase vârfuri, cu excepția celui negru și cel alb, putem forma o cale care traversează toate cele șase vârfuri urmărind marginile. Fiecare margine are 256 de puncte sau culori. Fiecare vârf este împărțit de două margini, deci numărul total de puncte este de 6 * 255 = 1530. Urmarea acestei căi traversează toate cele 1530 de culori complet saturate din spectrul de culori. Sau curcubeul. Vârfurile reprezintă culorile roșu, galben, verde, cian, albastru și magenta.
Orice alt punct din cub reprezintă o culoare care nu este complet saturată.
- Fie punctul este în interiorul cubului, ceea ce înseamnă că coordonatele roșu, verde și albastru diferă de zero. Gândiți-vă la diagonala de la vârful negru la vârful alb ca linia tuturor nuanțelor de gri. Și toate „culorile care nu sunt complet saturate” din interiorul cubului se estompează de la saturația completă la margine către această diagonală de „saturație zero”.
- Sau punctul se află pe una dintre cele trei suprafețe plane ale cubului care atinge vârful negru. O astfel de culoare ar putea fi considerată complet saturată, dar întunecată. Cu cât îl întunecați mai mult, cu atât își pierde mai mult saturația de culoare percepută.
În loc să avem o cale de șase margini în jurul cubului care descrie toate culorile complet saturate, putem așeza aceste 1530 de culori într-un cerc, unde avem 255 de culori diferite într-un sector de 60 de grade - cum ar fi când decolorăm de la roșu la galben adăugând verde la acesta. Rularea prin toate culorile din cercul culorilor este ca alunecarea a trei controlere de culoare, unul la rând, în timp ce celelalte două sunt în opoziția celor mai multe poziții. Deoarece voi folosi cercul de culori sau spectrul curcubeu, în unele dintre schemele de culori, voi defini o culoare (nuanța) ca punct al cercului, folosind propria mea scară 1530:
Scara 1530 standard 360 scară
========== ================== roșu 0 0 portocaliu 128 30 galben 256 60 verde 512 120 turcoaz 768 180 albastru 1024 240 indigo 1152 270 violet 1280 300 roz 1408 330
Această scară 1530 simplifică conversia culorilor curcubeului în valori pentru LED-urile RGB.
De ce 255 de culori în fiecare secțiune? De ce nu 256? Ei bine, culoarea 256 a unui sector este prima culoare a sectorului următor. Nu poți număra acea culoare de două ori.
Cu toate acestea, câteva cuvinte despre PWM
Un LED tipic este proiectat să strălucească puternic la o anumită tensiune. Scăderea acestei tensiuni ar putea scădea luminozitatea, dar LED-ul în sine nu este conceput pentru a fi reglabil doar prin scăderea tensiunii. La jumătate din tensiune s-ar putea să nu se aprindă deloc. În schimb, diminuarea se realizează prin comutarea între tensiunea completă și tensiunea zero. Cu cât comutarea este mai rapidă, cu atât ochiul uman poate recunoaște mai puțin pâlpâire. Dacă LED-ul este aprins și jumătate din timp, ochiul uman percepe lumina ca și cum ar străluci cu jumătate din efectul unui LED complet luminos. Reglarea raportului dintre timpul efectului complet și timpul efectului zero este ceea ce înseamnă diminuarea unui LED. Aceasta este PWM sau modulația lățimii impulsurilor.
Banda LED SMD RGB ieftină pe care am cumpărat-o pentru acest proiect include un dispozitiv care se ocupă de PWM. În acest proiect, în schimb creez PWM cu Arduino UNO. Spațiul de culoare RGB, așa cum este implementat de obicei într-un ecran de computer, este o structură teoretică, în care se imaginează fiecare canal de culoare care deține o valoare de la 0 la 255 și luminozitatea canalului ar urma liniar valoarea. Cardul grafic al computerului ar putea compensa orice abreviere din această așteptare liniară pe care ar putea să o aibă ledurile reale. Indiferent dacă LED-urile SMD utilizate în acest proiect urmează sau nu liniar valorile PWM utilizate nu intră în sfera acestui proiect. O valoare PWM de 255 creează cea mai puternică lumină. Dar o valoare de 128 s-ar putea să nu fie o luminozitate percepută ca jumătate din luminozitatea de 255. Și 192 s-ar putea să nu fie percepută ca o luminozitate exact la mijlocul lui 255 și 128.
Pasul 4: Schemele
Aici vă prezint schemele electronice. Fotografia arată cum arată conexiunea mea. Am lipit cipurile, firele și butonul pe o placă proto perma. Până în prezent componentele sunt doar conectate cu firele, dar vă las pe voi să proiectați cum să le încadrați într-o cutie frumoasă și cum să trageți firele pe benzile LED. Dacă găsiți un cablu plat cu 4 fire, utilizați-l, deoarece o bandă LED are nevoie de 4 fire. Aveam doar un cablu plat cu 3 fire, așa că aveam nevoie de un fir suplimentar, care îl făcea să pară puțin urât.
Pasul 5: Codul
Codul este scris pentru un Arduino Uno. Uno are doar 6 pini capabili PWM, dar am nevoie de 9 dintre ei. Așa că folosesc o bibliotecă specială PWM scrisă de Brett Hagman. Acest lucru trebuie instalat în ID-ul dvs. Arduino.
wildfire.ino este fișierul principal al proiectului, include funcțiile setup () și loop (), precum și alte funcții comune pentru toate schemele.
wildfire.h este fișierul antet comun.
Diferitele fișiere de schemă pot fi lipite ca file separate în proiect.
Pasul 6: În acțiune
Pasul 7: Dezvoltare ulterioară
- Înlocuiți interfața cu un singur buton cu un ESP8266 pentru a permite contactul wireless cu un telefon Android, unde interfața cu utilizatorul este o pagină web pentru controlul schemelor.
- În bandă au mai rămas aproximativ 70 de LED-uri SMD RGB pentru a fi utilizate. Adică 24 de benzi cu câte 3 în fiecare. Încă 24 de canale au nevoie de o nouă abordare. Ar avea nevoie de un Arduino Mega 2560 și de alte cipuri ULN2803AP, alternativ două plăci servo cu 16 canale, care sunt adesea folosite pentru LED-uri.
- Neutilizate sunt, de asemenea, telecomanda pentru banda LED originală, precum și receptorul acesteia. Nu am deschis încă receptorul, dar poate fi reutilizat cumva. S-ar putea lăsa un Arduino să-și deturneze logica și să-i facă să livreze date numerice către Arduino pentru a controla spectacolul de lumini.
Recomandat:
Cum se face un detector de fum / alcool LoT și alarme de incendiu cu NodeMCU ESP8266 Blynk DHT11, MQ-2, MQ-3: 7 pași
Cum să faci un detector de fum / alcool LoT și alarme de incendiu cu NodeMCU ESP8266 Blynk DHT11, MQ-2, MQ-3: Mai multe detalii îmi poți viziona video Youtube
Alarmă de incendiu cu notificare prin SMS: 3 pași
Alarmă de incendiu cu notificare prin SMS: GSM 800H, senzor de incendiu pe bază de Arduino și sistem de notificare prin SMS, utilizează senzor IR pentru a detecta focul în camera întunecată. Trimite SMS prin modem GSM 800H care este atașat Serial Rx și Tx Pins de Arduino Setați numărul de telefon mobil în interiorul codului
Alarmă de incendiu: 6 pași
Alarmă de incendiu: IR este un modul foarte util, dar știți și IR și pentru detectarea flamului. Folosind acest fapt, vom crea un dispozitiv de siguranță împotriva incendiilor cu Arduino
Stație de tragere / punct de apel pentru alarmă de incendiu din carton: 4 pași
Stație de tragere / Punct de apel pentru alarmă de incendiu din carton: Bună ziua. Aceasta este o stație de tragere din carton / punct de apel pentru un sistem de alarmă de incendiu hobby. Aceasta este intrarea mea în concursul de carton 2020 și un prototip de design tipărit 3D. Înainte de a construi, vă rugăm să citiți aceste declinări de răspundere … DISCLAIMER 1: Deoarece este nebun
Sistem de alarmă de incendiu care utilizează Arduino [în câțiva pași simpli]: 3 pași
Sistem de alarmă la incendiu care utilizează Arduino [în câțiva pași simpli]: Căutați să faceți un proiect simplu și interesant cu Arduino care, în același timp, ar putea fi cu adevărat util și potențial salvator de vieți? Dacă da, ați venit la locul potrivit pentru a învăța ceva nou și inovator. În această postare suntem plecați