Kode Arduino untuk transfusi dengan warna yang berbeda. RGB LED dan Arduino. Posting oleh Pelajaran

Saya baru-baru ini membeli 2 gulungan rGB LED Ribbon. 5 meter, dan segera memutuskan untuk bereksperimen dengannya. Termasuk blok untuk mengendalikan pita, tetapi bagi saya sepertinya ada sedikit program minat, dan di tangan adalah tinyos uno (analog Cina penuh Arduino Uno.). Mengingat fakta itu arduino. Ini bekerja dengan maksimum 5V untuk keluar, dan lebih sering 3.3b maka perlu untuk menemukan solusi. Artikel ini membahas cara menghubungkan pita LED 12 volt ke arduino. dengan nutrisi terpisah untuk pita dan kontrol dengan arduinka. Menggunakan MOSFETS (MOSFET) untuk mengontrol saluran RGB Ribbons..

Mari kita mulai dengan spesifikasi standar pita LED analog, yang menurut saya paling umum.

  • 10.5mm (0,41 ") lebar, ketebalan 3mm (0,12"), panjang 100mm (3,95 ") untuk setiap segmen
  • Ada bukti kelembaban ( tahan air) Dan tanpa perlindungan ( tidak tahan air)
  • Dia memiliki pita perekat di belakang untuk mengikat rekaman itu
  • Tegangan maksimum 12V dan 60mA untuk setiap segmen
  • 3 LED dengan anoda umum pada setiap segmen
  • Panjang gelombang dipimpin: 630nm / 530nm / 475nm
  • Tidak ada mikrokontroler atau chip controller (kontrol analog murni)

Sebelum mulai bekerja dengan Arduino. dan tegangan lebih tinggi dari 5 volt sangat menyarankan membaca tentang untuk tidak membakar Anda Arduino.. Ini dijelaskan dengan baik di dalamnya. Mosfetov dari Arduino.. Jika Anda sudah membaca artikel ini, mari kita lanjutkan.
Untuk itu lED Ribbon. Kita akan butuh:

  1. MOSFET. Transistor yang dapat ditemukan di ebay yang sama
  2. Resistor pada 10k?
  3. Balok makeup ( papan tempat memotong roti.)
  4. Posting untuk koneksi arduino. Dengan biaya berani (Ayah Ayah)
  5. Pita led (saya ambil aliexpress. Ini rekaman ini, dan berencana untuk memesan beberapa penjual yang sama)

Sekarang mari kita beralih ke skema koneksi, bagian utama dari artikel ini akan jelas dari itu:

Sekarang mari kita beralih ke Arduino IDE.di mana Anda akan menulis tes untuk mengontrol pita kami:

// Perhatikan bahwa ada beberapa kode warisan yang tersisa di sini yang SEM tidak melakukan apa-apa // tetapi tidak boleh membahayakan ... // don "t futz dengan ini, jumlah ilegal kemudian #define merah 9 // pin untuk merah 9 // #Define green 10 // pin untuk hijau - tidak pernah secara eksplisit merujuk #define biru 11 // pin untuk biru - tidak pernah secara eksplisit merujuk #define ukuran 255 #define delay 20 #define hue_delta 0.01 // long delta \u003d (5 6, 7); RGB panjang; rgbval panjang; // Untuk alasan yang tidak diketahui, jika nilai! \u003d 0, LED tidak ringan. Hmm ... // dan saturasi SEM untuk menjadi hue float terbalik \u003d 0,0, saturasi \u003d 1, / * Dipimpin LED Sparkfun SKU : Com-09264 memiliki max luminosity (RGB): (2800, 6500, 1200) mcd jadi kami menormalkan semuanya ke 1200 mcd - r 250/600 \u003d 107/256 g 250/950 \u003d 67/256 b 250/250 \u003d 257/256 B 250/250 \u003d 256 / 256 * / Long Bright \u003d (107, 67, 256); // Long Bright \u003d (256, 256, 256); Panjang K, Temp_Value; Void Setup () (acakseed (analograf (4)); untuk (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, Saturation, Nilai); RGB \u003d (RGBVAL & 0x00FF0000) \u003e\u003e 16; // Harus ada cara yang lebih baik 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)) (kembali panjang (v * 255) + panjang (v * 255) * 256 + panjang (v * 255) * 65536;) i \u003d lantai (h); f \u003d h - i; Jika (! (i & 1)) (f \u003d 1 - f; // jika i genap) m \u003d v * (1 - s); n \u003d v * (1 - S * F); Switch (i) (Kasus 6: Kasus 0: Kembali Panjang (v * 255) * 65536 + PANJANG (N * 255) * 256 + panjang (M * 255); Kasus 1: Kembali Panjang (N * 255) * 65536 + Panjang (v * 255) * 256 + panjang (m * 255); kasus 2: kembali panjang (m * 255) * 65536 + panjang (v * 255) * 256 + panjang (n * 255); Kasus 3: kembali (M * 255) * 65536 + panjang (n * 255) * 256 + panjang (v * 255); Kasus 4: kembali panjang (n * 255) * 65536 + panjang (m * 255) * 256 + panjang (v * 255); Kasus 5: kembali panjang (v * 255) * 65536 + panjang (m * 255) * 256 + panjang (n * 255);))

Tuang sketsa di Arduino dan bersukacitalah.
Ada juga opsi menggunakan sensor suhu. Ds18b20.yang bekerja pada protokol 1-kawat..

Idenya adalah " suhu dingin ", Biasanya, biru, dan " suhu panas"Dapatkan merah. Jika Anda melihat roda HSV, yang kami gunakan dalam sketsa pertama (cm. Wiki), warnanya akan dari 240 ° ketika dingin dan hingga 0 °, jika panas, bergerak searah jarum jam (lewat. biru, hijau dan kuning).

Suhu dingin Dalam hal ini, itu dimaksudkan dalam pandangan 18 ° C, dan panas Ini menyiratkan 30 ° C. Suhu di bawah ambang air dingin akan dianggap dingin, di atas ambang pintu panas - panas. Kode akhir sebenarnya cukup sederhana ketika Anda memiliki kode HSV yang sudah jadi:

HSV Fade / Bounce untuk Arduino // Perhatikan bahwa ada beberapa kode warisan yang tersisa di sini yang tidak melakukan apa-apa // tetapi tidak boleh membahayakan ... #include "onewire.h" // # termasuk "streaming. H" Const int ds18s20_pin \u003d 2; // ds18s20 sinyal pin pada digital 2 #define min_temp 18 #define max_temp 30 // suhu chip i / o onewire ds (ds18s20_pin); // pada pin digital 2 // don "t futz dengan ini, Jumlah terlarang kemudian #Define Red 9 // PIN untuk LED merah #define green 10 // pin untuk hijau - tidak pernah secara eksplisit direferensikan #define blue 11 // pin untuk biru - tidak pernah secara eksplisit mereferensikan #define delay 0 # define hue_max 6.0 #define Hue_Delta 0.01 // long delta \u003d (5, 6, 7); RGB panjang; rgbval panjang; // Untuk alasan yang tidak diketahui, jika nilai! \u003d 0, LED tidak ringan. Hmm ... // dan saturasi SEM untuk menjadi hue float terbalik \u003d 0,0, saturasi \u003d 1, / * Dipimpin LED Sparkfun SKU : Com-09264 memiliki max luminosity (RGB): (2800, 6500, 1200) mcd jadi kami menormalkan semuanya ke 1200 mcd - r 250/600 \u003d 107/256 g 250/950 \u003d 67/256 b 250/250 \u003d 257/256 B 250/250 \u003d 256 / 256 * / Long Bright \u003d (107, 67, 256); // Long Bright \u003d (256, 256, 256); Long K, Temp_Value; Void Setup () (acakseed (analograf (4)); serial.begin ( 57600); untuk (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; // Harus ada cara yang lebih baik RGB \u003d (RGBVAL & 0x0000FF00) \u003e\u003e 8; RGB \u003d RGBVAL & 0x000000FF; untuk (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)) (mengembalikan 0l;) jika ((h< 0.0) || (h > 6.0)) (kembali panjang (v * 255) + panjang (v * 255) * 256 + panjang (v * 255) * 65536;) i \u003d lantai (h); f \u003d h - i; Jika (! (i & 1)) (f \u003d 1 - f; // jika i genap) m \u003d v * (1 - s); n \u003d v * (1 - S * F); Switch (i) (Kasus 6: Kasus 0: Kembali Panjang (v * 255) * 65536 + PANJANG (N * 255) * 256 + panjang (M * 255); Kasus 1: Kembali Panjang (N * 255) * 65536 + Panjang (v * 255) * 256 + panjang (m * 255); kasus 2: kembali panjang (m * 255) * 65536 + panjang (v * 255) * 256 + panjang (n * 255); Kasus 3: kembali (M * 255) * 65536 + panjang (n * 255) * 256 + panjang (v * 255); Kasus 4: kembali panjang (n * 255) * 65536 + panjang (m * 255) * 256 + panjang (v * 255); Kasus 5: kembali panjang (v * 255) * 65536 + panjang (m * 255) * 256 + panjang (n * 255);))

Untuk mengelola perangkat ini, pengontrol RGB digunakan. Tapi, selain itu, biaya Arduino telah diterapkan dalam beberapa tahun terakhir.

Arduino - Prinsip Operasi

Papan Arduino

Papan Arduino adalah perangkat di mana mikrokontroler yang dapat diprogram diinstal. Sensor yang berbeda, kontrol kontrol atau encoder terhubung ke sana, dan, menurut sketsa (program) yang diberikan, dewan mengontrol motor, LED dan mekanisme aktuat lainnya, termasuk papan Arduino lainnya melalui protokol SPI. Kontrol perangkat dapat dipantau melalui remote control, Bluetooth, HC-06, Wi-Fi, ESP, atau Internet modul dan tombol. Beberapa piring paling populer - Arduino Nano dan Arduino Uno, serta Arduino Pro Mini - ATMEGA 328 Microcontroller Device


Penampilan Arduino Pro Mini
Penampilan Arduino Uno.
Penampilan Arduino Micro.

Pemrograman dilakukan di lingkungan arduino open source yang dipasang pada komputer biasa. Program-program dimuat melalui USB.

Prinsip Manajemen Beban Melalui Arduino


Office Arduino.

Di papan ada banyak output, baik digital, memiliki dua status - diaktifkan dan dinonaktifkan dan analog, dikontrol melalui pwm-controller dengan frekuensi 500 Hz.

Tetapi outlet dihitung pada 20 - 40 MA saat ini dengan tegangan 5 V. Ini cukup untuk menaikkan indikator RGB-LED atau modul LED matriks 32 × 32 mm. Untuk beban yang lebih kuat, ini tidak cukup.

Untuk memecahkan masalah seperti itu dalam banyak proyek, Anda perlu menghubungkan perangkat tambahan:

  • Menyampaikan. Selain relay catu daya 2V individu, ada seluruh rakitan dengan jumlah kontak yang berbeda, serta dengan pemula bawaan.
  • Amplifier pada transistor bipolar. Kekuatan perangkat tersebut terbatas pada arus kontrol, tetapi Anda dapat mengumpulkan diagram beberapa elemen atau menggunakan perakitan transistor.
  • Transistor lapangan atau MOSFET. Mereka dapat mengontrol arus dengan arus menjadi beberapa amp dan tegangan hingga 40 - 50 V. Saat menghubungkan MOSFTA ke PWM dan motor listrik atau beban induktif lainnya, diperlukan dioda pelindung. Ketika terhubung ke LED atau lampu LED tidak perlu.
  • Papan ekspansi.

Menghubungkan pita LED ke Arduino


Menghubungkan pita LED ke Arduino

PENDAPAT PENDAPATAN

Alexey Bartosh

Spesialis dalam perbaikan, pemeliharaan peralatan listrik dan elektronik industri.

Ajukan seorang ahli pertanyaan

Arduino Nano dapat mengelola tidak hanya motor listrik. Mereka juga digunakan untuk kaset LED. Tetapi karena arus output dan tegangan dewan tidak cukup untuk menghubungkan secara langsung band dengan LED, perlu untuk menginstal perangkat tambahan antara pengontrol dan pita LED.

Melalui relay.


Menghubungkan relay

Relai terhubung ke perangkat ke output digital. Band yang dikelola hanya memiliki dua status on dan off. Untuk mengelola merah-biru-hijau, pita membutuhkan tiga relay. Arus yang dapat dikontrol perangkat seperti itu terbatas pada daya koil (koil daya rendah tidak mampu memperlambat kontak besar). Rakitan relai digunakan untuk menghubungkan lebih banyak daya.

Menggunakan transistor bipolar


Menghubungkan dengan transistor

Untuk meningkatkan arus keluaran dan tegangan, Anda dapat menggunakan transistor bipolar. Ini dipilih dengan tegangan saat ini dan muat. Arus kontrol tidak boleh di atas 20 mA, oleh karena itu, diberi makan melalui resistensi 1 - 10 yang membatasi saat ini.

Transistor lebih baik untuk diterapkan n-p-n Dengan emitor umum. Untuk gain yang lebih besar, sirkuit dengan berbagai elemen atau perakitan transistor (chip amplifier) \u200b\u200bdigunakan.

Menggunakan Field Transistor

Selain bipolar, transistor lapangan digunakan untuk mengontrol strip. Nama lain dari perangkat ini adalah MOS atau MOSFET-transistor.

Elemen seperti itu, berbeda dengan bipolar, tidak dikendalikan oleh arus, tetapi tegangan pada gerbang. Ini memungkinkan arus rana kecil untuk mengontrol arus beban besar - hingga selusin amp.

Elemen terhubung melalui resistensi pembatas saat ini. Selain itu, sensitif terhadap gangguan, sehingga output controller harus dikombinasikan dengan resistor massa di 10 com.

Menggunakan papan ekstensi


Hubungkan Arduino menggunakan papan ekstensi

Selain relay dan transistor, blok yang sudah jadi dan papan ekstensi digunakan.

Ini bisa berupa Wi-Fi atau Bluetooth, driver kontrol motorik listrik, misalnya, modul L298N atau equalizer. Mereka dirancang untuk mengontrol beban daya dan tegangan yang berbeda. Perangkat seperti itu adalah saluran tunggal - hanya dapat mengontrol pita monokrom, dan multichannel - ditujukan untuk perangkat RGB dan RGBW, serta kaset dengan WS 2812 LED.

Contoh program.


Arduino dan pita LED

Papan Arduino dapat mengontrol desain LED sesuai dengan program yang telah ditentukan. Perpustakaan mereka dapat diunduh dari situs resmi, temukan di Internet atau tulis sketsa baru (kode) sendiri. Anda dapat mengumpulkan perangkat seperti itu dengan tangan Anda sendiri.

Berikut adalah beberapa opsi untuk menggunakan sistem tersebut:

  • Kontrol pencahayaan. Dengan bantuan sensor pencahayaan, lampu di kamar dihidupkan sekaligus dan dengan peningkatan kecerahan bertahap sebagai matahari terbenam. Inklusi juga dapat dilakukan melalui Wi-Fi, dengan integrasi ke dalam sistem rumah pintar atau menghubungkan ke telepon.
  • Dimasukkannya cahaya di tangga atau di koridor panjang. Itu terlihat sangat indah untuk lampu latar dioda setiap langkah secara terpisah. Saat menghubungkan ke papan sensor gerak, itu akan memicu agar konsisten, dengan tunda waktu, nyalakan lampu latar atau koridor, dan penonaktifan item ini akan mengarah pada proses terbalik.
  • Musik warna. Setelah diterapkan pada input analog, bunyi bip melalui filter, output akan menghasilkan instalasi musik-musik.
  • Modding komputer. Dengan bantuan sensor dan program yang sesuai, warna LED mungkin tergantung pada suhu atau pemuatan prosesor atau RAM. Perangkat seperti itu di bawah protokol DMX 512.
  • Kontrol kecepatan lampu berjalan dengan bantuan encoder. Instalasi semacam itu dikumpulkan pada WS 2811, chip WS 2812 dan WS 2812B.

Instruksi video

Dalam banyak aplikasi, baik amatir maupun profesional, kadang-kadang perlu untuk menghasilkan warna berbagai nuansa. Penggunaan LED monokrom individu dalam kasus-kasus seperti itu secara konstruktif dan ekonomis. Karena itu, RGB-LED dikembangkan untuk tujuan tersebut.



RGB LED (singkatan berarti merah, hijau, biru) adalah kombinasi kristal yang mampu menghasilkan merah, hijau dan biru. Berkat kombinasi ini, LED ini dapat mereproduksi 16 juta nuansa cahaya. Kontrol RGB-LED mudah, dan mereka dapat dengan mudah digunakan dalam proyek dengan Arduino. Bahan ini akan menunjukkan contoh mengendalikan LED RGB menggunakan Arduino.


Karena RGB LED, sebagaimana disebutkan di atas, adalah kombinasi kristal dari tiga warna dasar yang berbeda, ia disiplin - ditampilkan sebagai tiga LED. Secara struktural, LED seperti itu memiliki satu output umum dan tiga output untuk setiap warna. Di bawah ini adalah skema koneksi LED RGB ke Arduino. Juga, skema ini berisi layar LCD alfanumerik 16 × 2, potensiometer dan resistor yang puas dengan garis-garis LED RGB. Resistor ini (R1 \u003d 100 ohm, R2 \u003d 270 ohm, R3 \u003d 330 ohm) Batasi arus LED sehingga mereka tidak gagal. Resistor variabel (potensiometer) Resistansi VR1-VR3 10 KΩ digunakan untuk mengontrol intensitas cahaya RGB-LED, yaitu dengan bantuan mereka Anda dapat mengatur warna LED, mengubah intensitas merah, hijau dan kristal biru. Potensiometer VR1 terhubung ke input analog A0, VR2 dengan input analog A1, dan VR3 dengan input analog A2.



Layar LCD digunakan dalam hal ini untuk menampilkan nilai warna dan nilai heksadesimal dari kode warna. Nilai kode warna ditampilkan di baris pertama layar LCD (sebagai RXXX GXXX BXXX, di mana XXX adalah nilai numerik), dan kode heksadesimal ditampilkan di baris kedua layar LCD (sebagai hexxxxxx). Resistor R4 Resistance 100 ohm digunakan untuk membatasi saat ini diterapkan pada lampu latar LCD, dan resistor variabel resistansi VR4 digunakan untuk menyesuaikan kontras dispersi LCD.


Di bawah ini adalah kode (skatch), yang memungkinkan Anda untuk mengontrol variasi warna LED RGB menggunakan papan Arduino dan potensiometer yang terhubung dengannya.


#Include. // LCD Library LiquidCrystal LCD (7, 6, 5, 4, 3, 2); // garis Arduino untuk menghubungkan 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; Void Setup () (PinMode (R, output); // baris 9 diarahkan ke output PinMode (G, Output); // baris 10 diarahkan ke output PinMode (B, output); // baris 11 diarahkan ke output LCD.begin (16,2); // tunda (1) inisialisasi tampilan; LCD.Setcursor (0,0); LCD.print ("warna RGB"); LCD.Setcursor (4,1); LCD .print ("generator"); delay (2000); lcd.setcursor (0, 0); lcd.print ("RGB"); LCD.Setcursor (3,1); LCD.print ("hex \u003d"); ) void loop () (radj \u003d analografe (0); gadj \u003d analografe (1); badj \u003d analografe (2); rval \u003d radj / 4; // konversi kisaran dari (0-1023) ke (0-255) GVAL \u003d GADJ / 4; // Konversi kisaran dari (0-1023) ke (0-255) BVAL \u003d BADJ / 4; // Konversi kisaran dari (0-1023) ke (0-255) LCD.Setcursor (0-255) ( 2.0); jika (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); // ШИМ-выход для синего цвета }

Dalam pelajaran sebelumnya, kita sudah mencoba. Sekarang kita akan mengetahuinya dengan LED multicolor, yang sering disebut disingkat: RGB LED..

RGB adalah singkatan yang didekripsi sebagai: merah - merah, hijau - hijau, biru - biru. Artinya, di dalam perangkat ini ada tiga LED terpisah. Tergantung pada jenisnya, LED RGB mungkin memiliki katoda umum atau anoda umum.

Mencampur bunga

Bagaimana LED RGB, lebih baik dari tiga biasa? Ini semua tentang properti visi kami untuk mencampur cahaya dari berbagai sumber yang ditempatkan dekat satu sama lain. Misalnya, jika kita melahirkan di sebelah LED biru dan merah, lalu pada jarak beberapa meter, cahaya mereka akan menjadi sol, dan mata akan melihat satu titik ungu. Dan jika Anda menambahkan lebih banyak hijau, intinya akan tampak putih bagi kami. Ini adalah bagaimana monitor komputer, televisi, dan layar jalan bekerja.

Matriks TV terdiri dari titik-titik terpisah dengan warna yang berbeda. Jika Anda mengambil kaca pembesar dan menontonnya di monitor dihidupkan, maka titik-titik ini dapat dengan mudah dilihat. Tetapi di layar jalan, poin tidak terlalu ketat, sehingga mereka dapat dibedakan dengan mata telanjang. Tetapi dari jarak beberapa puluhan meter poin-poin ini tidak dapat dibedakan.

Ternyata semakin dekat satu sama lain ada titik multi-warna, diperlukan jarak yang lebih kecil untuk mencampur warna-warna ini. Karenanya kesimpulannya: Tidak seperti tiga LED terpisah, pencampuran warna LED RGB sudah terasa pada jarak 30-70 cm. Ngomong-ngomong, RGB LED dengan lensa matte menunjukkan lebih baik.

LED multicolor, atau karena mereka juga disebut RGB, digunakan untuk menunjukkan dan membuat warna backlight yang berubah secara dinamis. Bahkan, tidak ada yang istimewa di dalamnya, mari kita cari tahu bagaimana mereka bekerja dan apa itu LED RGB.

Organisasi Internal.

Bahkan, LED RGB adalah tiga kristal monokrom yang digabungkan dalam satu kasus. Nama RGB didekripsi sebagai merah - merah, hijau - hijau, biru - biru, warna yang memancarkan masing-masing kristal.

Ketiga warna ini mendasar, dan pada pencampuran mereka terbentuk warna apa pun, teknologi seperti itu telah lama diterapkan dalam televisi dan fotografi. Dalam gambar, yang terletak di atas, cahaya setiap kristal terlihat secara terpisah.

Pada gambar ini Anda melihat prinsip pencampuran warna, untuk semua nuansa.

Kristal di LED RGB dapat dihubungkan sesuai dengan skema:

Dengan anoda umum;

Dengan katoda umum;

Tidak terhubung.

Dalam dua opsi pertama, Anda akan melihat bahwa LED memiliki 4 output:

Atau kesimpulan ke-6 dalam kasus terakhir:

Anda dapat melihat tiga kristal yang terlihat jelas di foto di bawah lensa.

Situs pemasangan khusus dijual untuk LED seperti itu, mereka bahkan menunjukkan penugasan kesimpulan.

Tidak mungkin meninggalkan RGBW - LED, perbedaan mereka adalah bahwa ada kristal lain di perumahan mereka yang memancarkan cahaya putih.

Secara alami, tanpa pita dengan LED seperti itu.

Gambar ini menunjukkan pita dengan LED RGB yang dikumpulkan sesuai dengan sirkuit dengan anoda umum, penyesuaian intensitas cahaya yang dilakukan dengan mengendalikan catu daya "-" (minus).

Untuk mengubah warna RGB-Ribbon, pengontrol RGB khusus digunakan - perangkat untuk mengaktifkan umpan tegangan pada pita.

Ini cocol RGB SMD5050:

Dan kaset, fitur-fitur bekerja dengan RGB-pita tidak, semuanya tetap seperti model satu warna.

Ada konektor bagi mereka untuk menghubungkan pita LED tanpa menyolder.

Berikut adalah pinout LED RGB 5 mm:

Bagaimana warna perubahan cahaya

Penyesuaian warna dilakukan dengan menyesuaikan kecerahan emisi oleh masing-masing kristal. Kami sudah mempertimbangkan.

Pengontrol RGB untuk pita bekerja pada prinsip yang sama, biayanya mikroprosesor yang mengontrol output minus dari sumber daya - menghubungkan dan mematikannya dari rantai warna yang sesuai. Biasanya disertakan dengan controller ada remote control. Pengendali memiliki daya yang berbeda, ukurannya tergantung pada ini, mulai dari miniatur seperti itu.

Ya, perangkat yang kuat dalam ukuran perumahan dengan catu daya.

Mereka terhubung ke rekaman itu sesuai dengan skema seperti itu:

Sejak penampang jalur pita tidak memungkinkan Anda untuk menghubungkan segmen pita berikut secara berurutan dengannya, jika panjang pertama melebihi 5m, Anda perlu menghubungkan segmen kedua dengan kabel langsung dari pengontrol RGB.

Tetapi Anda bisa keluar dari posisi, dan jangan menarik 4 kabel ekstra 5 meter dari controller dan menggunakan amplifier RGB. Untuk pekerjaannya, Anda perlu meregangkan hanya 2 kabel (plus dan minus 12V) atau menyimpan catu daya lain dari sumber 220V terdekat, serta 4 "informasi" dari segmen sebelumnya (R, G dan B) yang dibutuhkan Untuk mendapatkan perintah dari controller, sehingga seluruh desain desain sama.

Dan segmen berikutnya sudah terhubung ke amplifier, mis. Ini menggunakan sinyal dari potongan pita sebelumnya. Artinya, Anda dapat mempertahankan pita dari amplifier, yang akan terletak tepat di dekatnya, sehingga menghemat uang dan waktu pada kawat yang berbaring dari pengontrol RGB primer.

Mengatur RGB-LED dengan tangan Anda sendiri

Jadi, ada dua opsi untuk mengendalikan LED RGB:

Berikut adalah opsi dari skema tanpa menggunakan Arduin dan mikrokontroler lainnya, menggunakan tiga driver CAT4101 yang mampu menerbitkan arus ke 1A.

Namun, sekarang pengontrolnya cukup murah dan jika Anda perlu mengatur pita LED, maka lebih baik untuk membeli opsi yang sudah jadi. Skema dengan Arduino jauh lebih mudah, semakin banyak Anda dapat menulis sketsa yang dengannya Anda akan secara manual mengatur warna atau bust of the Colors akan otomatis sesuai dengan algoritma yang ditentukan.

Kesimpulan

LED RGB memungkinkan untuk membuat efek cahaya yang menarik digunakan dalam desain interior, seperti menyoroti peralatan rumah tangga, untuk efek ekspansi layar TV. Perbedaan khusus saat bekerja dengan mereka dari LED biasa - tidak.