Codul Arduino pentru transfuzie cu culori diferite. RGB LED și Arduino. Posturi de lecții

Am cumpărat recent 2 rulouri rGB LED panglica 5 metri, și a decis imediat să experimenteze cu ea. A inclus un bloc pentru controlul panglica, dar mi sa părut că au fost mici programe de interes, iar la îndemână a fost Tinyos Uno (analogul complet chinezesc Arduino Uno.). Dat fiind faptul ca arduino. Funcționează cu un maxim de 5V pentru a ieși și mai des 3.3b atunci a fost necesar să găsiți o soluție. Acest articol discută cum să conectați o panglică LED de 12 volți la arduino. cu nutriție separată pentru bandă și control cu arduinka. Folosind MOSFETS (MOSFETS) pentru a controla canalele RGB panglici.

Să începem cu specificația standard a benzii LED analogice, care mi se pare cel mai frecvent.

  • 10,5 mm (0,41 ") Grosime 3MM (0,12"), lungime de 100 mm (3,95 ") pentru fiecare segment
  • Există o rezistență la umiditate ( rezistent la apă) și fără protecție ( nu este impermeabil)
  • Are bandă adezivă pe spate pentru fixarea benzii
  • Tensiune maximă 12V și 60mA pentru fiecare segment
  • 3 LED-uri cu un anod comun pe fiecare segment
  • LED-uri de undă LED: 630nm / 530nm / 475nm
  • Nici un microcontroler sau cip de controler (control analogic pur)

Înainte de a începe lucrul cu Arduino. și tensiunea mai mare de 5 volți foarte sfătuiește citirea despre să nu vă ardeți Arduino.. Este bine descris în ea. Mosfetov. din Arduino.. Dacă ați citit deja acest articol, să mergem mai departe.
Pentru so. panglică LED Noi vom avea nevoie:

  1. MOSFET. Tranzistoare care pot fi găsite pe același eBay
  2. Rezistori pe 10k?
  3. Fascicul de machiaj ( pâine.)
  4. Anunțuri pentru conectare arduino. Cu o taxă îndrăzneață (tatăl tată)
  5. Bandă cu LED (am luat aliexpress. Aici este această bandă și planificați să comandați un cuplu mai mult din același vânzător)

Acum, să ne întoarcem la schema de conectare, partea principală a acestui articol va fi clară din acesta:

Acum să ne întoarcem Arduino IDE.În care veți scrie un test pentru a controla panglica noastră:

// Rețineți că există un anumit cod de vechi rămase aici, care semne să nu facă nimic // nu ar trebui să facă nici un rău ... // Don "Tutz cu aceste, sume ilicite mai târziu #Define roșu 9 // PIN pentru LED roșu #Define verde 10 // PIN pentru verde - Nu se referă niciodată în mod explicit #define albastru 11 // pin pentru albastru - niciodată explicat în mod explicit #define dimensiune 255 #define întârziere 20 #define hue_max 6.0 #define Hue_delta 0.01 // Deltas lungime \u003d (5, 6, 7); Lung RGB; lung rgbval; // Din motive necunoscute, dacă valoarea! \u003d 0, LED-ul nu are lumină T. Hmm ... // și saturația semei care urmează să fie inversate Hue Hue \u003d 0,0, Saturație \u003d 1, Valoare \u003d 1; / * Aleasă LED Sparkfun Sku : COM-09264 are o luminozitate maximă (RGB): (2800, 6500, 1200) MCD astfel încât să le normalizăm toate la 1200 mcd - R 250/600 \u003d 107/256 G 250/950 \u003d 67/256 B 250/250 \u003d 256 / 256 * / lung luminos \u003d (107, 67, 256); // lung luminos \u003d (256, 256, 256); lung k, temp_value; VOID SETUP () (randomseed (4)); pentru (k \u003d 0; k.<3; k++) { pinMode(RED + k, OUTPUT); rgb[k]=0; analogWrite(RED + k, rgb[k] * bright[k]/256); } } void loop() { hue += HUE_DELTA; if (hue > Hue_max) (Hue \u003d 0,0;) RGBVAL \u003d HSV_TO_RGB (Hue, Saturație, Valoare); RGB \u003d (RGBVAL & 0X00FF0000) \u003e\u003e 16; // Trebuie să existe moduri mai bune RGB \u003d (RGBVAL & 0X0000FF00) \u003e\u003e<3; k++) { // for all three colours analogWrite(RED + k, rgb[k] * bright[k]/256); } delay(DELAY); } long HSV_to_RGB(float h, float s, float v) { // H is given on . S and V are given on . // RGB is returned as a 24-bit long #rrggbb int i; float m, n, f; // not very elegant way of dealing with out of range: return black if ((s<0.0) || (s>1.0) ||. (V.<1.0) || (v> < 0.0) || (h > 6.0)) (returnați lungi (V * 255) + lung (V * 255) * 256 + lung (V * 255) * 65536;) I \u003d podea (H); f \u003d h - i; dacă (I & 1)) (f \u003d 1 - f; // dacă i este uniformă) m \u003d v * (1 - s); n \u003d v * (1 - s * f); Comutator (I) (Cazul 6: Cazul 0: Return Long (V * 255) * 65536 + Long (N * 255) * 256 + Long (M * 255); Cazul 1: Întoarcerea lungă (N * 255) * 65536 + Lung (V * 255) * 256 + lungime (M * 255); Cazul 2: Întoarcerea lungă (M * 255) * 65536 + lungime (V * 255) * 256 + lungime (N * 255); Cazul 3: Întoarceți-vă lung (M * 255) * 65536 + lung (N * 255) * 256 + lungime (V * 255); Cazul 4: Întoarcerea lungă (N * 255) * 65536 + Long (M * 255) * 256 + Long (V * 255); Cazul 5: Întoarceți lung (V * 255) * 65536 + lung (M * 255) * 256 + lung (N * 255)))

Se toarnă schița pe Arduino și bucurați-vă.
Există, de asemenea, o opțiune utilizând un senzor de temperatură. DS18B20.care funcționează pe protocol 1-sârmă..

Ideea este că " temperatura la rece ", De obicei, albastru și " temperatura fierbinte"Ia roșu. Dacă aruncați o privire la roata HSV, pe care am folosit-o în prima schiță (cm. Wiki), culoarea va fi de la 240 ° când este rece și până la 0 °, dacă este fierbinte, deplasarea în sensul acelor de ceasornic (trecerea în sensul acelor de ceasornic (trecerea albastru, verde și galben).

Temperaturi la rece În acest caz, se intenționează în funcție de 18 ° C și fierbinte Aceasta implică 30 ° C. Temperatura sub pragul rece va fi considerată rece, deasupra pragului fierbinte - fierbinte. Codul final este de fapt destul de simplu atunci când aveți un cod HSV gata gata:

HSV Fade / Bounce pentru Arduino // Notă că există un anumit cod vechi rămas aici care semne să nu facă nimic // nu ar trebui să facă rău ... #include "Onewire.h" / / # includ "streaming. H" Const int ds18s20_pin \u003d 2; // DS18S20 pin semnal pe digital 2 #define min_temp 18 #define max_temp 30 // cip de temperatură I / o Onewire DS (DS18S20_PIN); // pe Pin 2 // Don "T Futz cu acestea, Sumele ilicite mai târziu #define roșu 9 // PIN pentru roșu LED #define verde 10 // PIN pentru verde - Nu se referă niciodată în mod explicit #define albastru 11 // pin pentru albastru - niciodată explicat în mod explicit #define dimensiune 255 #define întârziere 0 # define Hue_max 6.0 #define hue_delta 0.01 // lung deltas \u003d (5, 6, 7); Lung RGB; lung rgbval; // Din motive necunoscute, dacă valoarea! \u003d 0, LED-ul nu are lumină T. Hmm ... // și saturația semei care urmează să fie inversate Hue Hue \u003d 0,0, Saturație \u003d 1, Valoare \u003d 1; / * Aleasă LED Sparkfun Sku : COM-09264 are o luminozitate maximă (RGB): (2800, 6500, 1200) MCD astfel încât să le normalizăm toate la 1200 mcd - R 250/600 \u003d 107/256 G 250/950 \u003d 67/256 B 250/250 \u003d 256 / 256 * / lung luminos \u003d (107, 67, 256); // lung luminos \u003d (256, 256, 256); lung k, temp_value; VOID Setup () (Randomseed (4)); Serial.BEGIN ( 57600); pentru (k \u003d 0; k<3; k++) { pinMode(RED + k, OUTPUT); rgb[k]=0; analogWrite(RED + k, rgb[k] * bright[k]/256); } } void loop() { float temperature = constrain(getTemp(), MIN_TEMP, MAX_TEMP); float deltaTemp = (MAX_TEMP - MIN_TEMP); float deltaHue = 4 - 0; hue = map((temperature - MIN_TEMP) * 100, 0, deltaTemp * 100, deltaHue * 100, 0) / 100.0; //Serial << "Temperature: " << temperature << endl; //Serial << "HUE: " << hue << endl; rgbval=HSV_to_RGB(hue, saturation, value); rgb = (rgbval & 0x00FF0000) >\u003e 16; // trebuie să existe moduri mai bune RGB \u003d (RGBVAL & 0X0000FF00) \u003e\u003e 8; Rgb \u003d rgbval & 0x000000ff; pentru (k \u003d 0; k<3; k++) { // for all three colours analogWrite(RED + k, rgb[k] * bright[k]/256); } //delay(DELAY); } float getTemp(){ //returns the temperature from one DS18S20 in DEG Celsius byte data; byte addr; if (!ds.search(addr)) { //no more sensors on chain, reset search ds.reset_search(); return -1000; } if (OneWire::crc8(addr, 7) != addr) { Serial.println("CRC is not valid!"); return -1000; } if (addr != 0x10 && addr != 0x28) { Serial.print("Device is not recognized"); return -1000; } ds.reset(); ds.select(addr); ds.write(0x44,1); // start conversion, with parasite power on at the end byte present = ds.reset(); ds.select(addr); ds.write(0xBE); // Read Scratchpad for (int i = 0; i < 9; i++) { // we need 9 bytes data[i] = ds.read(); } ds.reset_search(); byte MSB = data; byte LSB = data; float tempRead = ((MSB << 8) | LSB); //using two"s compliment float TemperatureSum = tempRead / 16; return TemperatureSum; } long HSV_to_RGB(float h, float s, float v) { // H is given on . S and V are given on . // RGB is returned as a 24-bit long #rrggbb int i; float m, n, f; // not very elegant way of dealing with out of range: return black if ((s<0.0) || (s>1.0) ||. (V.<1.0) || (v>1.0) (RETURN 0L;) dacă ((h< 0.0) || (h > 6.0)) (returnați lungi (V * 255) + lung (V * 255) * 256 + lung (V * 255) * 65536;) I \u003d podea (H); f \u003d h - i; dacă (I & 1)) (f \u003d 1 - f; // dacă i este uniformă) m \u003d v * (1 - s); n \u003d v * (1 - s * f); Comutator (I) (Cazul 6: Cazul 0: Return Long (V * 255) * 65536 + Long (N * 255) * 256 + Long (M * 255); Cazul 1: Întoarcerea lungă (N * 255) * 65536 + Lung (V * 255) * 256 + lungime (M * 255); Cazul 2: Întoarcerea lungă (M * 255) * 65536 + lungime (V * 255) * 256 + lungime (N * 255); Cazul 3: Întoarceți-vă lung (M * 255) * 65536 + lung (N * 255) * 256 + lungime (V * 255); Cazul 4: Întoarcerea lungă (N * 255) * 65536 + Long (M * 255) * 256 + Long (V * 255); Cazul 5: Întoarceți lung (V * 255) * 65536 + lung (M * 255) * 256 + lung (N * 255)))

Pentru a gestiona aceste dispozitive, se utilizează un controler RGB. Dar, pe lângă el, taxa Arduino a fost aplicată în ultimii ani.

Arduino - Principiul de funcționare

Arduino Board.

Arduino Board este un dispozitiv pe care este instalat un microcontroler programabil. Diferitele senzori, control sau control al codificatorului sunt conectate la acesta și, conform unei schițe (program), comenzile plăcii controlează motorul, LED-urile și alte mecanisme de acționare, inclusiv alte plăci Arduino prin protocolul SPI. Controlul dispozitivului poate fi monitorizat prin telecomandă, modulul Bluetooth, HC-06, Wi-Fi, ESP sau Internet și butoanele. Unele dintre cele mai populare plăci - Arduino Nano și Arduino Uno, precum și dispozitivul de microcontroler ARDUINO PRO MINI - ATMEGA 328


Aspect Arduino Pro Mini
Aspect Arduino Uno.
Aspect Arduino Micro.

Programarea se efectuează într-un mediu Open Source Arduino instalat pe computerul obișnuit. Programele sunt încărcate prin USB.

Principiul managementului încărcăturii prin Arduino


Office Arduino.

Pe tablă există numeroase ieșiri, atât digitale, având două stări activate și dezactivate și analogice, controlate prin intermediul controlerului PWM cu o frecvență de 500 Hz.

Dar prizele sunt calculate pe curent de 20-40 mA cu o tensiune de 5 V. Acest lucru este suficient pentru a alimenta indicatorul RGB-LED sau un modul LED de matrice 32 × 32 mm. Pentru o sarcină mai puternică, acest lucru nu este suficient.

Pentru a rezolva o astfel de problemă în multe proiecte, trebuie să conectați dispozitive suplimentare:

  • Releu. În plus față de releele individuale de alimentare 2V, există ansambluri întregi cu număr diferit de contacte, precum și cu începători încorporați.
  • Amplificatoare pe tranzistoare bipolare. Puterea unor astfel de dispozitive este limitată la curentul de control, dar puteți colecta o diagramă a mai multor elemente sau puteți utiliza un ansamblu de tranzistor.
  • Teren sau tranzistori MOSFET. Aceștia pot controla curentul cu curenții în mai multe amperi și tensiune până la 40-50 V. La conectarea MOSFTA la PWM și la motorul electric sau la o altă sarcină inductivă, este necesară o diodă de protecție. Când este conectat la LED-uri sau lămpi cu LED-uri, nu este nevoie.
  • Panouri de expansiune.

Conectarea panglică LED-urilor la Arduino


Conectarea panglică LED-urilor la Arduino

Expert de opinie

Alexey Bartosh.

Specialist în reparații, întreținere de echipamente electrice și electronice industriale.

Puneți o întrebare expert

Arduino Nano poate gestiona nu numai motoarele electrice. Ele sunt, de asemenea, utilizate pentru benzi cu LED-uri. Dar, deoarece curentul de ieșire și tensiunea plăcii sunt insuficiente pentru a conecta direct benzile cu LED-uri, este necesar să se instaleze dispozitive suplimentare între controler și panglica LED.

Prin relee


Conectarea releelor

Releul se conectează la dispozitiv la ieșirea digitală. Trupa a reușit cu ea are doar două stări - pe și oprite. Pentru a gestiona verde-albastru-verde, o panglică necesită trei relee. Curentul că un astfel de dispozitiv poate controla este limitat la puterea bobinei (bobina cu putere redusă nu este capabilă să încetinească contactele mari). Ansamblurile de releu sunt utilizate pentru a conecta mai multă putere.

Folosind tranzistor bipolar.


Conectarea cu un tranzistor

Pentru a spori curentul de ieșire și tensiunea, puteți utiliza un tranzistor bipolar. Acesta este selectat de tensiunea curentă și de încărcare. Curentul de control nu trebuie să fie peste 20 mA, prin urmare, este alimentat printr-o rezistență curentă de limitare de 1-10 com.

Tranzistorul este mai bine să se aplice n-p-n Cu un emițător comun. Pentru un câștig mai mare, se utilizează un circuit cu mai multe elemente sau un ansamblu de tranzistor (cip Amplificator).

Folosind tranzistor de câmp

În plus față de bipolar, tranzistoarele de câmp sunt folosite pentru a controla benzile. Un alt nume al acestor dispozitive este MOS sau Mosfet-tranzistor.

Un astfel de element, spre deosebire de bipolar, nu este controlat de un curent, ci o tensiune pe poartă. Acest lucru permite un curent mic de declanșare pentru a controla curenții de încărcare mare - până la zece amperi.

Elementul este conectat prin rezistența limitativă curentă. În plus, este sensibil la interferență, astfel încât ieșirea controlerului trebuie combinată cu un rezistor de masă în 10 com.

Utilizarea plăcilor de extensie


Conectați Arduino utilizând plăci de extensie

În plus față de relee și tranzistoare, se utilizează blocuri și plăci de prelungire gata.

Acesta poate fi un Wi-Fi sau Bluetooth, un driver de control al motorului electric, de exemplu, un modul L298N sau un egalizator. Acestea sunt concepute pentru a controla încărcăturile de diferite puteri și tensiune. Astfel de dispozitive sunt unice - pot controla numai banda monocromă și multi-canal - sunt destinate dispozitivelor RGB și RGBW, precum și benzi cu LED-uri WS 2812.

Exemplu de program.


Arduino și bandă LED

Panourile Arduino sunt capabile să controleze desenele LED în conformitate cu programele predeterminate. Bibliotecile lor pot fi descărcate de pe site-ul oficial, găsiți pe Internet sau scrieți o nouă schiță (cod). Puteți colecta un astfel de dispozitiv cu mâinile tale.

Iată câteva opțiuni pentru utilizarea unor astfel de sisteme:

  • Controlul iluminatului. Cu ajutorul senzorului de iluminare, lumina din cameră este aprinsă atât imediat, cât și cu creșterea treptată a luminozității ca apus de soare. Includerea poate fi făcută și prin Wi-Fi, cu integrare în sistemul Smart Home sau conectarea la telefon.
  • Includerea luminii pe scări sau într-un coridor lung. Seamănă foarte mult la lumina de fundal a diodă a fiecărui pas separat. Când se conectează la placa senzorului de mișcare, acesta va fi declanșatorului pentru a fi consecvent, cu o întârziere de timp, porniți lumina de fundal sau coridorul, iar dezactivarea acestui element va duce la procesul invers.
  • Muzică de culoare. După ce ați aplicat intrările analogice, un semnal sonor al filtrelor, ieșirea va duce la o instalare de muzică color.
  • Modding de calculator. Cu ajutorul senzorilor și programelor adecvate, culoarea LED-urilor poate depinde de temperatura sau încărcarea procesorului sau a memoriei RAM. Un astfel de dispozitiv sub protocolul DMX 512.
  • Controlul vitezei luminilor de rulare cu ajutorul unui encoder. Astfel de instalații sunt colectate pe jetoane WS 2811, WS 2812 și WS 2812B.

Instrucțiuni video.

În multe aplicații, atât amatori, cât și profesioniști, uneori este necesar să genereze culorile diferitelor nuanțe. Utilizarea LED-urilor monocrome individuale în astfel de cazuri este în mod nejustificat constructiv și din punct de vedere economic. Prin urmare, au fost elaborate LED-urile RGB în astfel de scopuri.



RGB LED (abreviere înseamnă roșu, verde, albastru) este o combinație de cristale capabile să genereze roșu, verde și albastru. Datorită acestei combinații, aceste LED-uri pot reproduce 16 milioane de nuanțe de lumină. Controlul LED-urile RGB este ușor și pot fi utilizate cu ușurință în proiecte cu Arduino. Acest material va afișa un exemplu de control al LED-ului RGB folosind Arduino.


Deoarece LED-ul RGB, după cum sa menționat mai sus, este o combinație de cristale de trei culori de bază diferite, este schemat-prezentată ca trei LED-uri. Din punct de vedere structural, un astfel de LED are o ieșire comună și trei ieșiri pentru fiecare culoare. Mai jos este schema de conexiune cu LED-uri RGB la Arduino. De asemenea, schema conține un afișaj LCD alfanumeric de 16 × 2, potențiometre și rezistoare mulțumite cu linii LED-uri RGB. Aceste rezistoare (R1 \u003d 100 ohm, R2 \u003d 270 ohm, R3 \u003d 330 ohm) limitează curentul LED-ului, astfel încât acestea să nu eșueze. Rezistențele variabile (potențiometrele) Rezistența VR1-VR3 10 KΩ sunt utilizați pentru a controla intensitatea strălucirii LED-ului RGB, adică, cu ajutorul acestora puteți seta culoarea LED-ului, schimbând intensitatea roșie, verde și cristale albastre. Potentiometrul VR1 este conectat la intrarea analogică A0, VR2 cu intrare analogică A1 și VR3 cu intrare analogică A2.



Afișajul LCD este utilizat în acest caz pentru a afișa valoarea de culoare și valoarea hexazecimală a codului de culoare. Valoarea codului de culoare este afișată în prima linie a afișajului LCD (ca RXXX GXXX BXXX, unde XXX este o valoare numerică), iar codul hexazecimal este afișat în linia 2 a afișajului LCD (ca Hexxxxxx). Rezistența Rezistenței R4 100 Ohmi este utilizată pentru a limita curentul aplicat în lumina de fundal LCD și rezistența VR4 variabilă este utilizată pentru a regla contrastul dispersiei LCD.


Mai jos este codul (skatch), care vă permite să controlați variația culorii LED-urilor RGB utilizând placa Arduino și potențiometrele conectate la acesta.


#Include. // LCD LCD LCD LCD (7, 6, 5, 4, 3, 2); // linia Arduino pentru a conecta un LCD INT RADJ; int gadj; Int badj; int rval \u003d 0; INT GVAL \u003d 0; int bval \u003d 0; int r \u003d 9; int g \u003d 10; int b \u003d 11; Setupul VOD () (Pinmode (R, Ieșire); // Linia 9 este direcționat către ieșirea de pinmode (g, ieșire); // linia 10 este direcționată spre ieșirea de pinmode (B, ieșire); // linia 11 este direcționată la ieșirea LCD.BEGING (16,2); // întârzierea (1) inițializarea afișajului; LCD.SetCursor (0,0); LCD.print ("Culoarea RGB"); LCD.SetCursor (4,1); LCD .print ("generator"); întârziere (2000); lcd.SetCursor (0, 0); lcd.print ("rgb"); lcd.SetCursor (3,1); lcd.print ("hex \u003d"); ) bucla medie () (RADJ \u003d analog (0); gadj \u003d analog (1); badj \u003d analog (2); rval \u003d RDJ / 4; // convertiți intervalul de la (0-1023) la (0-255) GVAL \u003d GADJ / 4; // Conversia gama de la (0-1023) la (0-255) Bval \u003d Badj / 4; // Conversia intervalului de la (0-1023) la (0-255) LCD.SETCRSOR ( 2.0); dacă (rval<10) { lcd.setCursor(2,0); lcd.print("00"); lcd.print(Rval); } else if(Rval<100) { lcd.setCursor(2,0); lcd.print("0"); lcd.print(Rval); } else { lcd.setCursor(2,0); lcd.print(Rval); } lcd.setCursor(8,1); if (Rval<16) { lcd.print("0"); lcd.print(Rval, 16); } else { lcd.print(Rval, 16); } lcd.setCursor(7,0); if (Gval<10) { lcd.setCursor(7,0); lcd.print("00"); lcd.print(Gval); } else if(Gval<100) { lcd.setCursor(7,0); lcd.print("0"); lcd.print(Gval); } else { lcd.setCursor(7,0); lcd.print(Gval); } lcd.setCursor(10,1); if (Gval<16) { lcd.print("0"); lcd.print(Gval, 16); } else { lcd.print(Gval, 16); } lcd.setCursor(12,0); if (Bval<10) { lcd.setCursor(12,0); lcd.print("00"); lcd.print(Bval); } else if(Bval<100) { lcd.setCursor(12,0); lcd.print("0"); lcd.print(Bval); } else { lcd.setCursor(12,0); lcd.print(Bval); } lcd.setCursor(12,1); if (Bval<16) { lcd.print("0"); lcd.print(Bval, 16); } else { lcd.print(Bval, 16); } analogWrite(R, Rval); // ШИМ-выход для красного цвета analogWrite(G, Gval); // ШИМ-выход для зеленого цвета analogWrite(B, Bval); // ШИМ-выход для синего цвета }

În lecția anterioară, am încercat deja. Acum ne vom da seama cu un LED multicolor, care este adesea numit abreviat: RGB LED..

RGB este o abreviere care este decriptată ca: roșu - roșu, verde - verde, albastru - albastru. Adică, în interiorul acestui dispozitiv există trei LED-uri separate. În funcție de tip, LED-ul RGB poate avea un catod comun sau un anod comun.

Amestecând flori

Cum este LED-ul RGB, mai bun decât trei obișnuiți? Este vorba despre proprietatea viziunii noastre de a amesteca lumina din diferite surse plasate aproape unul de celălalt. De exemplu, dacă livrăm lângă LED-uri albastre și roșii, atunci la o distanță de câțiva metri strălucirea lor va fi tălpi, iar ochiul va vedea un punct purpuriu. Și dacă adăugați mai verde, punctul va părea albă pentru noi. Acesta este modul în care lucrează monitoarele, televizoarele și ecranele de stradă.

Matricea televizorului constă din puncte separate de culori diferite. Dacă luați o lupă și urmăriți-l pe monitor pornit, atunci aceste puncte pot fi ușor de văzut. Dar pe ecranul străzii, punctele nu sunt foarte strânse, astfel încât acestea pot fi distinse prin ochiul liber. Dar de la o distanță de câteva zeci de metri, aceste puncte sunt indistinguizabile.

Se pare că cu atât mai aproape unul de celălalt există puncte multi-colorate, distanța mai mică este necesară pentru a amesteca aceste culori. Prin urmare, concluzia: Spre deosebire de cele trei LED-uri detașate, amestecarea culorilor LED-urilor RGB se află într-o distanță de 30-70 cm. Apropo, LED-ul RGB cu un obiectiv mat arată chiar mai bine.

LED-urile multicolore sau, așa cum sunt numite și RGB, sunt utilizate pentru a indica și a crea o culoare din punct de vedere al luminii de fundal dinamic. De fapt, nimic special în ele, să ne dăm seama cum lucrează și care sunt LED-urile RGB.

Organizația internă

De fapt, LED-ul RGB este trei cristale monocrome combinate într-un caz. Numele RGB este decriptat ca roșu - roșu, verde - verde, albastru albastru, respectiv, culorile care emite fiecare dintre cristale.

Aceste trei culori sunt de bază, iar la amestecarea lor se formează orice culoare, o astfel de tehnologie a fost aplicată de mult timp în televiziune și fotografie. În imagine, care este situată mai sus, strălucirea fiecărui cristal este văzut separat.

În această imagine vedeți principiul amestecării culorilor, pentru toate nuanțele.

Cristalele în LED-urile RGB pot fi conectate conform schemei:

Cu un anod comun;

Cu un catod comun;

Nu este conectat.

În primele două opțiuni, veți vedea că LED-ul are 4 ieșiri:

Sau a 6-a concluzii în acest din urmă caz:

Puteți vedea trei cristale vizibile în fotografie sub lentile.

Site-urile de montare speciale sunt vândute pentru astfel de LED-uri, chiar indică atribuirea concluziilor.

Este imposibil să lași LED-urile RGBW, diferența lor este că există un alt cristal în carcasa lor care emite lumină albă.

Bineînțeles, fără panglici cu astfel de LED-uri.

Această imagine prezintă o panglică cu LED-uri RGB colectate conform unui circuit cu un anod comun, ajustarea intensității strălucirii este efectuată prin controlul sursei de alimentare "-" (minus).

Pentru a modifica culoarea RGB-RBBBON, sunt utilizate controlere speciale RGB - dispozitivele pentru alimentarea tensiunii de comutare pe bandă.

Aici este Cocolul RGB SMD5050:

Și casetele, caracteristicile de lucru cu RGB-panglici nu sunt, totul rămâne, precum și cu modele de o singură culoare.

Există conectori pentru a conecta banda LED fără lipire.

Aici este linia de 5 mm RGB LED:

Cum se schimbă culoarea strălucirii

Reglarea culorilor se efectuează prin ajustarea luminozității emisiilor de către fiecare dintre cristale. Am luat deja luat în considerare.

Controlerul RGB pentru bandă funcționează pe același principiu, costă un microprocesor care controlează ieșirea minus a sursei de alimentare - se conectează și o dezactivează de la lanțul culorii corespunzătoare. De obicei, incluse în controler există o telecomandă. Controlorii sunt de putere diferită, mărimea lor depinde de acest lucru, variind de la o astfel de miniatură.

Da, un dispozitiv atât de puternic în dimensiunea carcasei cu o sursă de alimentare.

Ele sunt conectate la bandă conform unei astfel de scheme:

Deoarece secțiunea transversală a căilor de panglică nu vă permite să conectați următorul segment de bandă secvențial cu acesta, dacă prima lungime depășește 5 m, trebuie să conectați cel de-al doilea segment cu firele direct de la controlerul RGB.

Dar puteți ieși din poziție și nu trageți firele suplimentare la 5 metri de controler și utilizați amplificatorul RGB. Pentru munca sa, trebuie să vă întindeți numai 2 fire (plus și minus 12V) sau să economisiți o altă sursă de alimentare de la cea mai apropiată sursă 220V, precum și fire de 4 "informații" din segmentul anterior (r, g și b) sunt necesare Pentru a obține comenzi de la controler, astfel încât întreaga strălucire de design este în mod egal.

Iar următorul segment este deja conectat la amplificator, adică Utilizează un semnal de la bucata anterioară de panglică. Adică, puteți menține panglica de la amplificator, care va fi localizată direct în apropierea ei, economisind astfel bani și timp pe firul de fixare de la controlerul RGB primar.

Reglarea lui RGB-condus cu propriile mâini

Deci, există două opțiuni pentru controlul LED-urilor RGB:

Iată o opțiune a schemei fără a utiliza Arduin și alte microcontrolere, folosind trei drivere CAT4101 capabile să elibereze curentul la 1a.

Cu toate acestea, acum controlerele sunt destul de ieftin și dacă trebuie să reglementezi banda LED, atunci este mai bine să achiziționați o opțiune gata făcută. Schemele cu Arduino sunt mult mai ușor, cu atât mai mult puteți scrie schița cu care veți seta manual culoarea, fie bustul culorilor va fi automat în conformitate cu algoritmul specificat.

Concluzie

LED-urile RGB fac posibilă realizarea unor efecte ușoare interesante în designul interior, cum ar fi evidențierea pentru aparatele de uz casnic, pentru efectul expansiunii ecranului televizorului. Diferențe speciale atunci când lucrați cu ele de la LED-uri obișnuite - nr.