Isi kandungan:

Pena LED RGB untuk Pencahayaan Ringan: 17 Langkah (dengan Gambar)
Pena LED RGB untuk Pencahayaan Ringan: 17 Langkah (dengan Gambar)

Video: Pena LED RGB untuk Pencahayaan Ringan: 17 Langkah (dengan Gambar)

Video: Pena LED RGB untuk Pencahayaan Ringan: 17 Langkah (dengan Gambar)
Video: lampu LED strip 10 meter lengkap dengan remote control untuk ganti warna dan mode | link di komen 2024, November
Anonim
Pena LED RGB untuk Pencahayaan Ringan
Pena LED RGB untuk Pencahayaan Ringan
Pena LED RGB untuk Pencahayaan Ringan
Pena LED RGB untuk Pencahayaan Ringan
Pena LED RGB untuk Pencahayaan Ringan
Pena LED RGB untuk Pencahayaan Ringan

Ini adalah arahan membina yang lengkap untuk alat lukisan cahaya yang menggunakan pengawal LED RGB. Saya banyak menggunakan alat kawalan ini dalam alat canggih saya dan berpendapat bahawa dokumentari bagaimana ini dibina dan diprogramkan dapat membantu beberapa orang.

Alat ini adalah pen ringan RGB modular yang dimaksudkan untuk penulisan cahaya, lukisan cahaya dan grafiti pencahayaan. Ia mudah digunakan kerana anda hanya mempunyai pen di tangan anda dan anda dapat menukar warnanya dengan cepat.

Alat ini terdiri daripada:

  • kes yang dicetak 3D
  • sebuah Arduino Micro
  • LED WS2816B
  • dua potensiometer (10K atau 100K)
  • dua suis
  • butang tekan
  • dan beberapa kabel.

Arduino Micro sangat sesuai untuk ini kerana ia sangat kecil dan bagus untuk mengawal LED RGB. Anda juga mungkin menggunakan mikrokontroler yang lebih kecil seperti LilyPad atau bahkan ATtiny85, tetapi saya sering menggunakan Mikro kerana mudah digunakan kerana dilengkapi dengan penyambung USB yang siap digunakan. Arduino dan LED dikuasakan dengan 5V, jadi anda harus menjaga sokongan kuasa yang betul. Alat ini direka untuk menggunakan empat bateri boleh dicas semula AAA kerana biasanya mempunyai 1.2V dan gabungan 4.8V yang cukup untuk menggerakkan Arduino dan LED. Berhati-hatilah untuk tidak menggunakan bateri AAA biasa, kerana ia mempunyai 1.5V dan voltan gabungan mungkin terlalu banyak untuk komponen dan mungkin merosakkannya. Sekiranya anda ingin menggunakan bateri biasa sila gunakan hanya tiga, voltan tetap mencukupi. Saya menggunakan bahagian cetak 3D hebat dari orang lain untuk sarung bateri yang terdapat di sini: "Pemegang bateri yang dilenturkan".

Langkah 1: Pengaturcaraan

Mula-mula anda memerlukan Arduino IDE untuk memprogram pengawal mikro yang boleh dimuat turun dan digunakan secara percuma. Kedengarannya agak rumit pada pandangan pertama, tetapi sangat mudah. Setelah memasang perisian, anda akan mendapat tetingkap editor teks sederhana yang digunakan untuk membuat kod sketsa yang dimuat ke Arduino. Alat ini juga menggunakan perpustakaan FastLED yang merupakan perpustakaan yang hebat dan mudah digunakan yang dapat mengawal hampir semua jenis LED RGB yang boleh anda beli. Setelah memuat turun perpustakaan, anda harus memasang dengan meletakkan fail di folder perpustakaan yang dibuat oleh Arduino IDE. Ini biasanya terdapat di bawah "C: / Users {User Name} Documents / Arduino / library" jika anda belum mengubahnya. Setelah meletakkan perpustakaan dalam folder ini, anda harus memulakan semula IDE jika sudah berjalan. Sekarang kita sudah bersedia untuk membuat kod untuk pengawal.

Langkah 2: Kodnya

Untuk menggunakan perpustakaan FastLED terlebih dahulu kita harus memasukkannya ke dalam kod kita. Ini dilakukan di bahagian atas kod sebelum ada perkara lain dengan baris ini:

#sertakan

Seterusnya kita akan menentukan beberapa pemalar. Ini dilakukan kerana nilai-nilai ini tidak akan berubah semasa kod sedang berjalan dan juga untuk menjadikannya lebih mudah dibaca. Anda boleh memasukkan nilai-nilai ini terus ke dalam kod, tetapi jika anda perlu mengubah apa-apa, anda perlu melalui keseluruhan kod dan mengubah setiap baris yang digunakan. Dengan menggunakan pemalar yang ditentukan anda hanya perlu mengubahnya di satu tempat dan tidak perlu menyentuh kod utama. Mula-mula kita menentukan pin yang digunakan oleh pengawal ini:

#tentukan HUE_PIN A0

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

Nombor atau nama adalah sama yang dicetak di Arduino. Pin analog dikenal pasti oleh A di hadapan nombornya, pin digital hanya menggunakan nombor dalam kod tetapi kadangkala dicetak dengan huruf D di papan.

Potensiometer pada pin A0 digunakan untuk mengendalikan rona warna, potensiometer pada pin A1 digunakan untuk mengawal kecerahan. Pin D3 digunakan sebagai isyarat kepada LED sehingga Arduino dapat mengirim data untuk mengendalikan warnanya. Pin D6 digunakan untuk menukar cahaya dan pin D7 dan D8 digunakan untuk mengatur modus pengawal. Saya telah menerapkan mod pada pengawal ini, yang satu hanya meletakkan warna yang ditentukan oleh potensiometer warna pada LED, dan yang lain akan memudar melalui semua warna. Seterusnya kita juga memerlukan beberapa definisi untuk perpustakaan FastLED:

#tentukan COLOR_ORDER GRB

#tentukan CHIPSET WS2811 # tentukan NUM_LEDS 5

Chipset digunakan untuk memberitahu perpustakaan jenis LED yang kita gunakan. FastLED menyokong hampir semua LED RGB yang tersedia (seperti NeoPixel, APA106, WS2816B, dan lain-lain). LED yang saya gunakan dijual sebagai WS2816B tetapi nampaknya sedikit berbeza sehingga berfungsi dengan baik menggunakan chipset WS2811. Urutan byte yang dihantar ke LED untuk menetapkan warna juga boleh berbeza antara pengeluar, jadi kami juga mempunyai definisi untuk pesanan bait. Definisi di sini hanya memberitahu perpustakaan untuk menghantar warna mengikut urutan hijau, merah, biru. Definisi terakhir adalah untuk jumlah LED yang disambungkan. Anda selalu boleh menggunakan lebih sedikit LED kemudian anda menentukan dalam kod, jadi saya menetapkan nombor menjadi 5 kerana dengan alat ini saya tidak akan merancang pen dengan lebih dari 5 LED. Anda boleh menetapkan jumlahnya jauh lebih tinggi tetapi kerana prestasi saya menyimpannya sekecil yang saya perlukan.

Untuk kod utama, kami juga memerlukan beberapa pemboleh ubah:

kecerahan int = 255;

int pot tidak bertanda_Reading1 = 0; int pot tidak bertanda_Reading1 = 0; LastTick panjang yang tidak ditandatangani = 0; int wheel_Speed = 10 yang tidak ditandatangani;

Pemboleh ubah ini digunakan untuk kecerahan, pembacaan dari potensiometer, mengingat terakhir kali kod ini dilaksanakan dan seberapa cepat warna akan pudar.

Seterusnya kami menentukan susunan untuk LED yang merupakan cara mudah untuk menetapkan warna. Jumlah LED yang ditentukan digunakan untuk menetapkan ukuran array di sini:

CRGB memimpin [NUM_LEDS];

Setelah mengurus definisi, kita sekarang dapat menulis fungsi persediaan. Ini cukup pendek untuk program ini:

batal persediaan () {

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

Baris pertama menginisialisasi perpustakaan FastLED menggunakan definisi yang kami tetapkan sebelumnya. Tiga baris terakhir memberitahu Arduino bahawa pin ini digunakan sebagai input dan bahawa jika tidak disambungkan ke sesuatu, voltan mereka harus ditetapkan ke tinggi (PULLUP). Ini bermaksud kita harus menyambungkan pin ini ke GND untuk mencetuskan sesuatu.

Sekarang kita dapat mengurus program utama. Ini dilakukan dalam fungsi gelung. Mula-mula kita menetapkan beberapa pemboleh ubah dan membaca potensiometer:

gelung kosong () {

statik uint8_t hue = 0; roda uint8_t statik_Hue = 0; pot_Reading1 = analogRead (HUE_PIN); hue = peta (pot_Reading1, 0, 1023, 0, 255); pot_Reading2 = analogRead (BRIGHT_PIN); kecerahan = peta (pot_Reading2, 0, 1023, 0, 255);

Dua baris pertama menetapkan pemboleh ubah yang kemudian digunakan untuk warna. Dua blok berikut menjaga membaca nilai potensiometer. Kerana anda mendapat nilai antara 0 dan 1023 jika anda membaca pin menggunakan "analogRead" tetapi rona dan kecerahan memerlukan nilai antara 0 dan 255, kami menggunakan fungsi "peta" untuk menterjemahkan bacaan dari satu wilayah nilai ke wilayah nilai yang lain. Parameter pertama fungsi ini adalah nilai yang ingin anda terjemahkan, empat yang terakhir adalah minimum dan maksimum kawasan yang ingin anda gunakan untuk terjemahan.

Seterusnya kita akan menilai butang tekan:

jika (digitalRead (LIGHT_PIN) == RENDAH) {

Kami memeriksa pembacaan terhadap RENDAH kerana kami menentukan pin menjadi tinggi jika tidak dipicu. Jadi jika butang tekan ditekan pin akan disambungkan ke GND dan akan dibaca rendah. Sekiranya pin tidak ditekan, tidak banyak yang perlu dilakukan.

Pertama, mari kita hanya menyalakan LED dalam satu warna:

jika (digitalRead (COLOR_PIN) == RENDAH) {

jika (rona <2) {FastLED.showColor (CRGB:: White); FastLED.setBrightness (kecerahan); } lain {FastLED.showColor (CHSV (rona, 255, kecerahan)); FastLED.setBrightness (kecerahan); } kelewatan (10);

Kita perlu menilai pin warna untuk mengetahui bahawa kita mahu menggunakan mod ini. Kemudian kita dapat memeriksa warna apa yang diperlukan. Oleh kerana model warna HSV digunakan di sini, kita hanya memerlukan rona untuk menentukan warna. Tetapi ini juga menimbulkan masalah bahawa kita tidak mempunyai cara untuk menetapkan warna menjadi putih. Oleh kerana hue 0 dan hue 255 kedua-duanya diterjemahkan menjadi merah, saya menggunakan sedikit helah di sini dan periksa sama ada bacaan dari potensiometer rona lebih kecil daripada 2. Ini bermakna potensiometer dipusingkan ke satu sisi dan kita boleh menggunakannya untuk menetapkan warna putih. Kami masih merah di seberang jadi tidak akan kehilangan apa-apa di sini.

Jadi sama ada kita menetapkan warna menjadi putih dan kemudian kecerahan atau yang lain kita menetapkan warna berdasarkan bacaan rona dan juga kecerahan.

Selepas itu saya menambah sedikit kelewatan kerana jauh lebih baik untuk memberi pengawal sedikit masa henti untuk menjimatkan kuasa dan kelewatan 10 milisaat tidak akan dirasakan.

Seterusnya kita mengkodkan warna pudar:

lain jika (digitalRead (RAINBOW_PIN) == RENDAH) {

wheel_Speed = peta (pot_Reading1, 0, 1023, 2, 30); jika (lastTick + wheel_Speed 255) {wheel_Hue = 0; } lastTick = millis (); } FastLED.showColor (CHSV (wheel_Hue, 255, brightness)); }

Mula-mula pin untuk menukar mod ini diperiksa. Oleh kerana saya tidak mahu menambahkan potensiometer ketiga untuk mengawal kelajuan pudar dan kerana potensiometer rona tidak digunakan dalam mod ini, kita dapat menggunakan potensiometer itu untuk menetapkan kelajuan. Dengan menggunakan fungsi peta lagi kita dapat menterjemahkan bacaan menjadi kelewatan yang diterjemahkan ke dalam kelajuan pudar. Saya menggunakan nilai antara 2 dan 30 untuk kelewatan kerana dari pengalaman ini adalah kelajuan yang baik. Fungsi "millis" akan mengembalikan milisaat sejak Arduino dihidupkan, jadi kita dapat menggunakannya untuk mengukur waktu. Perubahan rona terakhir disimpan dalam pemboleh ubah yang kita tentukan sebelumnya dan ini dibandingkan setiap kali untuk melihat apakah kita harus mengubah rona semula. Baris terakhir hanya menetapkan warna yang perlu dipaparkan seterusnya.

Untuk menyelesaikan kod:

} lain {

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

Kita hanya perlu mematikan LED jika butang tidak ditekan dengan menetapkan warna menjadi hitam dan menutup tanda kurung terbuka.

Seperti yang anda lihat, ini adalah kod yang cukup pendek dan mudah yang boleh digunakan untuk banyak alat yang menggunakan LED RGB.

Sebaik sahaja anda mempunyai kod penuh, anda boleh memuat naiknya ke Arduino. Untuk ini, sambungkan Arduino ke PC anda dengan kabel USB dan pilih jenis Arduino di IDE.

Dalam arahan ini saya menggunakan Arduino Pro Micro. Setelah menetapkan model Arduino, anda harus memilih port di mana IDE dapat mencarinya. Buka menu port dan anda akan melihat Arduino yang bersambung.

Sekarang satu-satunya perkara yang perlu dilakukan ialah memuat naik kod ke Arduino dengan menekan butang pusingan kedua di bahagian atas tetingkap. IDE akan membina kod dan memuat naiknya. Setelah berjaya, anda boleh memutuskan sambungan Arduino dan terus memasang pengawal.

Langkah 3: Pemasangan Elektronik untuk Pengawal

Oleh kerana kami mengurus pengekodan Arduino, kami kini dapat memasang perkakasan pengawal. Kita mulakan dengan meletakkan komponen di dalam casing. Potensiometer masuk ke dalam dua lubang bulat di sebelah kiri, suis untuk kuasa berada di bahagian bawah, suis untuk mod berada di kanan atas dan Arduino masuk ke pemegang di tengah.

Langkah 4:

Imej
Imej

Mulakan dengan menyolder kabel merah dari suis kuasa ke pin RAW Arduino. Pin ini adalah pin untuk bekalan kuasa kerana disambungkan ke pengatur voltan, jadi walaupun voltan lebih tinggi daripada 5V pin ini dapat digunakan untuk memberi kuasa kepada Arduino. Selanjutnya pasangkan wayar merah lain ke pin VCC kerana kita memerlukan voltan tahap tinggi untuk potensiometer. Pateri dua wayar putih ke pin A0 dan A1 untuk digunakan untuk bacaan potensiometer.

Langkah 5:

Imej
Imej

Sekarang masukkan wayar putih dan hijau panjang melalui bukaan di bahagian atas yang kemudian digunakan untuk menyambungkan LED. Pateri hijau ke pin 3 dan putih ke pin 6 dan tekan rata di Arduino. Pateri dua kabel hitam ke pin GND di sebelah kiri Arduino, ini digunakan untuk voltan tahap rendah untuk potensiometer. Pateri dua wayar biru ke pin 7 dan pin 8 untuk digunakan untuk suis mod.

Langkah 6:

Imej
Imej
Imej
Imej

Kabel merah yang kita solder pada pin VCC sekarang perlu disolder ke salah satu pin luar potensiometer pertama. Gunakan kabel merah lain untuk meneruskannya ke potensiometer kedua. Berhati-hati menggunakan sisi yang sama pada kedua potensiometer sehingga penuh akan menjadi sisi yang sama pada kedua-duanya. Pateri dua kabel hitam ke sisi lain dari potensiometer dan kabel putih dari Pin A0 dan A1 pada pin tengah. Potensiometer berfungsi dengan menetapkan voltan pada pin tengah ke voltan antara voltan yang dikenakan pada pin luar, jadi jika kita menyambungkan voltan tinggi dan rendah kita dapat memperoleh voltan di antara pada pin tengah. Ini menyelesaikan pendawaian untuk potensiometer dan mereka boleh dipusingkan sedikit sehingga pin tidak dapat dihalangi.

Langkah 7:

Imej
Imej

Pateri kabel hitam ke pin tengah suis mod dan masukkan kabel hitam panjang melalui bukaan yang menuju ke bekalan kuasa. Masukkan kabel hitam panjang yang lain melalui bukaan atas untuk digunakan sebagai GND untuk LED.

Langkah 8:

Imej
Imej

Kabel hitam yang berasal dari bekalan kuasa disolder ke wayar hitam lain yang disambungkan ke pin GND percuma terakhir Arduino. Memateri wayar yang menuju ke LED dan wayar hitam pada mod beralih bersama-sama dan akhirnya menyatukan dua pasang wayar hitam yang anda miliki sekarang. Gunakan tiub pengecutan untuk mengasingkan pematerian untuk mengelakkan celana pendek di dalam alat kawalan.

Langkah 9:

Imej
Imej

Sebagai langkah terakhir, kita kini dapat menyatukan dua wayar biru ke suis mod. Suis ini berfungsi dengan menghubungkan pin tengah ke salah satu pin luar bergantung pada bahagian mana suis dihidupkan. Oleh kerana pin 7 dan 8 diatur untuk dipicu ketika disambungkan ke GND, kita dapat menggunakan pin luar suis untuk pin dan tengah untuk GND. Dengan cara ini salah satu pin selalu dicetuskan.

Akhirnya pasangkan wayar merah melalui bukaan kuasa dan pateri pada pin tengah suis kuasa dan masukkan wayar merah panjang yang lain melalui bukaan ke LED dan pasangkan ini ke pin yang sama pada suis kuasa yang disambungkan oleh Arduino.

Langkah 10:

Imej
Imej

Pateri kabel kuasa ke pemegang bateri dan skru pada klip yang menahan kabel yang menuju ke LED. Ini melengkapkan pendawaian untuk pengawal.

Langkah 11: Pemasangan Pen ringan

Oleh kerana alat ini dimaksudkan untuk berbentuk modular dan menggunakan pen yang berbeza, kita memerlukan penyambung pada wayar untuk LED. Saya menggunakan penyambung molex terminal 4 murah yang biasanya terdapat pada kabel yang digunakan untuk kipas di komputer. Kabel ini murah dan mudah didapati, jadi sempurna.

Langkah 12:

Imej
Imej
Imej
Imej

Semasa saya memulakan pendawaian pengawal, saya tidak memeriksa warna kabel pada penyambung sehingga sedikit berbeza, tetapi mudah diingat. Saya menyambungkan wayar hitam, kuasa ke kuning, hijau di hijau dan putih di biru, tetapi anda boleh menggunakan kombinasi yang anda suka, ingat juga untuk pen lain. Berhati-hati untuk mengasingkan kawasan yang dipateri dengan tiub yang mengecut untuk mengelakkan seluar pendek.

Langkah 13:

Imej
Imej
Imej
Imej

Masukkan wayar merah panjang dan hijau panjang melalui pena dan kabel hitam pateri ke satu sisi butang tekan dan wayar putih ke sisi lain. Butang tekan jenis ini mempunyai empat pin di mana dua dihubungkan secara berpasangan. Anda dapat melihat pin mana yang dihubungkan dengan melihat bahagian bawah butang, terdapat jurang antara pasangan yang disambungkan. Sekiranya anda menekan butang, kedua-dua belah pihak saling bersambung. Kabel putih dan satu hitam kemudian ditarik hingga ke hujung pen bermula pada pembukaan butang. Kabel hitam yang lain ditarik ke depan. Pastikan anda mempunyai kabel yang mencukupi di kedua-dua belah pihak untuk digunakan.

Langkah 14:

Imej
Imej
Imej
Imej

Tekan butang muat di bukaan dan sediakan kabel yang selebihnya. Sebaiknya solder kabel ke LED sehingga menghadap ke tengah LED kerana kabel berjalan melalui tengah pen. Pateri wayar merah ke pad solder 5V, wayar hitam ke pad solder GND dan wayar hijau ke pad solder Din. Sekiranya anda mempunyai lebih daripada satu LED, pad solder Dout dari LED pertama disambungkan ke Din dari LED seterusnya dan seterusnya.

Langkah 15:

Imej
Imej
Imej
Imej

Sekarang tekan butang di bahagian depan pen dan letakkan setetes gam di belakangnya untuk menahannya di tempat.

Sekarang anda hanya perlu memasangkan wayar di hujung pen ke bahagian penyambung yang lain dengan mengingat warnanya.

Sebaiknya gunakan setetes gam dan beberapa pita untuk tekanan melepaskan kabel di hujung pen untuk mengelakkannya pecah. Ini melengkapkan pemasangan pen ringan.

Langkah 16: Contohnya

Contoh
Contoh
Contoh
Contoh
Contoh
Contoh
Contoh
Contoh

Akhirnya saya ingin menunjukkan kepada anda beberapa contoh di mana saya menggunakan alat ini. Pena bersudut bagus untuk menyalakan garis grafiti dan pen lurus sangat bagus untuk melukis dan menulis barang di udara (yang saya hanya mempunyai sedikit bakat).

Ini adalah tujuan utama alat ini. Seperti yang anda lihat kemungkinan besar jika anda menggabungkan pendedahan panjang dengan alat ini.

Untuk memulakan dengan fotografi seperti ini, cuba gunakan tetapan ISO terendah yang disokong kamera anda dan bukaan tinggi. Cara yang baik untuk mencari tetapan yang tepat adalah meletakkan kamera anda dalam mod aperture dan menutup bukaan sehingga kamera anda menunjukkan masa pendedahan sekitar waktu yang anda perlukan untuk menarik apa yang ingin anda tambahkan ke dalam gambar. Kemudian beralih ke manual dan gunakan masa pendedahan itu atau gunakan mod mentol.

Selamat mencuba ini! Ia adalah bentuk seni yang luar biasa.

Saya menambahkan arahan ini kepada pencipta dan cabaran penggunaan yang tidak biasa, jadi jika anda suka ia meninggalkan suara;)

Langkah 17: Fail

Saya juga menambahkan model untuk pemegang tali yang hendak dilekatkan di bahagian bawah casing pengawal supaya anda dapat mengikatnya di lengan anda dan klip untuk pen yang boleh dilekatkan pada penutup apabila anda tidak memerlukan pen di tangan anda.

Terdapat juga penutup diffuser yang dapat digunakan untuk membuat cahaya lebih halus dan mencegah suar ketika pena menunjuk langsung ke kamera.

Disyorkan: