Daftar Isi:

RGB LED Pen untuk Lightpainting: 17 Langkah (dengan Gambar)
RGB LED Pen untuk Lightpainting: 17 Langkah (dengan Gambar)

Video: RGB LED Pen untuk Lightpainting: 17 Langkah (dengan Gambar)

Video: RGB LED Pen untuk Lightpainting: 17 Langkah (dengan Gambar)
Video: How To Make Light Painting | Light Painting tutorial #2023 #trending 2024, November
Anonim
Pena LED RGB untuk Lightpainting
Pena LED RGB untuk Lightpainting
Pena LED RGB untuk Lightpainting
Pena LED RGB untuk Lightpainting
Pena LED RGB untuk Lightpainting
Pena LED RGB untuk Lightpainting

Ini adalah instruksi build lengkap untuk alat pengecatan cahaya yang menggunakan pengontrol LED RGB. Saya sering menggunakan pengontrol ini di alat canggih saya dan berpikir sebuah film dokumenter tentang bagaimana ini dibangun dan diprogram dapat membantu beberapa orang.

Alat ini adalah pena cahaya RGB modular yang dimaksudkan untuk menulis ringan, menggambar ringan, dan menerangi grafiti. Mudah digunakan karena Anda hanya memiliki pena di tangan Anda dan Anda dapat dengan cepat mengubah warnanya.

Alat tersebut terdiri dari:

  • kasing yang dicetak 3D
  • sebuah Mikro Arduino
  • LED WS2816B
  • dua potensiometer (10K atau 100K)
  • dua sakelar
  • tombol tekan
  • dan beberapa kabel.

Mikro Arduino sangat cocok untuk ini karena sangat kecil dan bagus untuk mengontrol LED RGB. Anda juga mungkin menggunakan mikrokontroler yang lebih kecil seperti LilyPad atau bahkan ATtiny85, tetapi saya sering menggunakan Mikro karena mudah digunakan karena dilengkapi dengan konektor USB yang siap digunakan. Baik Arduino dan LED ditenagai dengan 5V, jadi Anda harus menjaga dukungan daya yang tepat. Alat ini dirancang menggunakan empat buah baterai isi ulang AAA karena biasanya memiliki 1.2V dan gabungan 4.8V yang cukup untuk menyalakan Arduino dan LED. Berhati-hatilah untuk tidak menggunakan baterai AAA biasa, karena mereka memiliki 1,5V dan tegangan gabungan mungkin terlalu banyak untuk komponen dan dapat merusaknya. Jika ingin menggunakan baterai biasa silahkan gunakan hanya tiga, tegangannya harus tetap cukup. Saya menggunakan bagian cetakan 3D hebat lainnya dari orang lain untuk wadah baterai yang dapat ditemukan di sini: "Melenturkan tempat baterai".

Langkah 1: Pemrograman

Pertama, Anda memerlukan Arduino IDE untuk memprogram pengontrol mikro yang dapat diunduh dan digunakan secara gratis. Ini terdengar cukup rumit pada pandangan pertama, tetapi sebenarnya cukup sederhana. Setelah menginstal perangkat lunak, Anda akan mendapatkan jendela editor teks sederhana yang digunakan untuk mengkodekan sketsa yang diunggah ke Arduino. Alat ini juga menggunakan perpustakaan FastLED yang merupakan perpustakaan yang hebat dan mudah digunakan untuk mengontrol hampir semua jenis LED RGB yang dapat Anda beli. Setelah mendownload library tersebut Anda harus menginstall dengan meletakkan file-file tersebut di folder library yang dibuat oleh Arduino IDE. Ini biasanya dapat ditemukan di C:\Users\{User Name}\Documents\Arduino\libraries“jika Anda belum mengubahnya. Setelah meletakkan perpustakaan di folder ini Anda harus me-restart IDE jika sudah berjalan. Sekarang kita siap untuk membuat kode untuk controller.

Langkah 2: Kode

Untuk menggunakan perpustakaan FastLED pertama kita harus memasukkannya ke dalam kode kita. Ini dilakukan di bagian atas kode sebelum hal lain dengan baris ini:

#termasuk

Selanjutnya kita akan mendefinisikan beberapa konstanta. Hal ini dilakukan karena nilai-nilai ini tidak akan berubah saat kode sedang berjalan dan juga agar lebih mudah dibaca. Anda dapat memasukkan nilai-nilai ini langsung ke dalam kode, tetapi kemudian jika Anda perlu mengubah apa pun, Anda harus melalui seluruh kode dan mengubah setiap baris nilai yang digunakan. Dengan menggunakan konstanta yang ditentukan, Anda hanya perlu mengubahnya di satu tempat dan tidak perlu menyentuh kode utama. Pertama kita tentukan pin yang digunakan oleh controller ini:

#tentukan HUE_PIN A0

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

Nomor atau nama sama dengan yang tertera di Arduino. Pin analog ditandai dengan A di depan nomornya, pin digital hanya menggunakan nomor dalam kode tetapi terkadang dicetak dengan huruf D di papan tulis.

Potensiometer pada pin A0 digunakan untuk mengontrol hue warna, potensiometer pada pin A1 digunakan untuk mengontrol kecerahan. Pin D3 digunakan sebagai sinyal ke LED sehingga Arduino dapat mengirim data untuk mengontrol warna. Pin D6 digunakan untuk mengaktifkan lampu dan pin D7 dan D8 digunakan untuk mengatur mode pengontrol. Saya telah menerapkan ke mode di pengontrol ini, satu hanya menempatkan warna yang ditentukan oleh potensiometer warna pada LED, dan yang lainnya akan memudar melalui semua warna. Selanjutnya kita juga memerlukan beberapa definisi untuk perpustakaan FastLED:

#define COLOR_ORDER GRB

#menentukan CHIPSET WS2811 #menentukan NUM_LEDS 5

Chipset digunakan untuk memberi tahu perpustakaan jenis LED apa yang kita gunakan. FastLED mendukung hampir semua LED RGB yang tersedia (seperti NeoPixel, APA106, WS2816B, dll). LED yang saya gunakan dijual sebagai WS2816B tetapi tampaknya sedikit berbeda sehingga berfungsi paling baik menggunakan chipset WS2811. Urutan byte yang dikirim ke LED untuk mengatur warna juga dapat berbeda antara produsen, jadi kami juga memiliki definisi untuk urutan byte. Definisi di sini hanya memberitahu perpustakaan untuk mengirim warna dalam urutan hijau, merah, biru. Definisi terakhir adalah untuk jumlah LED yang terhubung. Anda selalu dapat menggunakan lebih sedikit LED daripada yang Anda tentukan dalam kode, jadi saya menetapkan angka menjadi 5 karena dengan alat ini saya tidak akan mendesain pena dengan lebih dari 5 LED. Anda dapat mengatur angkanya jauh lebih tinggi tetapi karena kinerjanya, saya menyimpannya sekecil yang saya butuhkan.

Untuk kode utama kita juga membutuhkan beberapa variabel:

int kecerahan = 255;

unsigned int pot_Reading1 = 0; unsigned int pot_Reading1 = 0; unsigned long lastTick = 0; unsigned int wheel_Speed = 10;

Variabel-variabel ini digunakan untuk kecerahan, pembacaan dari potensiometer, mengingat terakhir kali kode dieksekusi dan seberapa cepat warna memudar.

Selanjutnya kita mendefinisikan sebuah array untuk LED yang merupakan cara mudah untuk mengatur warna. Jumlah LED yang ditentukan digunakan untuk mengatur ukuran array di sini:

CRGB led [NUM_LEDS];

Setelah mengurus definisi kita sekarang dapat menulis fungsi setup. Ini cukup singkat untuk program ini:

batalkan pengaturan() {

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 pustaka FastLED menggunakan definisi yang kami tetapkan sebelumnya. Tiga baris terakhir memberi tahu Arduino bahwa pin ini digunakan sebagai input dan jika tidak terhubung ke apa pun, tegangannya harus disetel ke tinggi (PULLUP). Ini berarti kita harus menghubungkan pin ini ke GND untuk memicu sesuatu.

Sekarang kita bisa mengurus program utama. Ini dilakukan dalam fungsi loop. Pertama kita mengatur beberapa variabel dan membaca potensiometer:

lingkaran kosong() {

rona uint8_t statis = 0; static uint8_t wheel_Hue = 0; pot_Reading1 = analogRead(HUE_PIN); rona = peta(pot_Reading1, 0, 1023, 0, 255); pot_Reading2 = analogRead(BRIGHT_PIN); kecerahan = peta(pot_Reading2, 0, 1023, 0, 255);

Dua baris pertama mengatur variabel yang nantinya digunakan untuk warna. Dua blok berikut menangani pembacaan nilai potensiometer. Karena Anda mendapatkan nilai antara 0 dan 1023 jika Anda membaca pin menggunakan "analogRead" tetapi rona dan kecerahan membutuhkan nilai antara 0 dan 255, kami menggunakan fungsi "peta" untuk menerjemahkan pembacaan dari satu wilayah nilai ke wilayah nilai lainnya. Parameter pertama dari fungsi ini adalah nilai yang ingin Anda terjemahkan, empat terakhir adalah wilayah minimum dan maksimum yang ingin Anda gunakan untuk terjemahan.

Selanjutnya kita akan mengevaluasi tombol tekan:

if (digitalRead(LIGHT_PIN) == RENDAH) {

Kami memeriksa pembacaan terhadap LOW karena kami mendefinisikan pin menjadi tinggi jika tidak dipicu. Jadi jika push button ditekan maka pin akan terhubung ke GND dan akan terbaca low. Jika pin tidak ditekan, tidak banyak yang bisa dilakukan.

Pertama mari kita urus hanya dengan menyalakan LED dalam satu warna:

if (digitalRead(COLOR_PIN) == RENDAH) {

if (rona < 2) { FastLED.showColor(CRGB::Putih); FastLED.setBrightness(kecerahan); } else { FastLED.showColor(CHSV(hue, 255, brightness)); FastLED.setBrightness(kecerahan); } penundaan(10);

Kita perlu mengevaluasi pin warna untuk mengetahui bahwa kita ingin menggunakan mode ini. Kemudian kita bisa mengecek warna apa yang dibutuhkan. Karena model warna HSV digunakan di sini, kita hanya membutuhkan rona untuk mendefinisikan warna. Tetapi ini juga menimbulkan masalah bahwa kita tidak memiliki cara untuk mengatur warna menjadi putih. Karena hue 0 dan hue 255 keduanya diterjemahkan menjadi merah, saya menggunakan sedikit trik di sini dan memeriksa apakah pembacaan dari potensiometer rona lebih kecil dari 2. Ini berarti potensiometer diputar ke satu sisi dan kita dapat menggunakan ini untuk mengatur putih. Kami masih memiliki warna merah di sisi lain sehingga tidak akan kehilangan apa pun di sini.

Jadi kita mengatur warna menjadi putih dan kemudian kecerahan atau kita mengatur warna berdasarkan pembacaan rona dan juga kecerahan.

Setelah itu saya menambahkan sedikit delay karena jauh lebih baik memberikan controller sedikit downtime untuk menghemat daya dan delay 10 milidetik tidak akan terasa.

Selanjutnya kita coding color fade:

else if (digitalRead(RAINBOW_PIN) == RENDAH) {

wheel_Speed = peta(pot_Reading1, 0, 1023, 2, 30); if (lastTick + wheel_Speed 255) { wheel_Hue = 0; } lastTick = milis(); } FastLED.showColor(CHSV(wheel_Hue, 255, kecerahan)); }

Pertama pin untuk beralih mode ini dicentang. Karena saya tidak ingin menambahkan potensiometer ketiga untuk mengontrol kecepatan fade dan karena potensiometer rona tidak digunakan dalam mode ini, kita dapat menggunakan potensiometer itu untuk mengatur kecepatan. Menggunakan fungsi peta lagi, kita dapat menerjemahkan pembacaan menjadi penundaan yang diterjemahkan ke dalam kecepatan memudar. Saya menggunakan nilai antara 2 dan 30 untuk penundaan karena dari pengalaman ini adalah kecepatan yang baik. Fungsi "milis" akan mengembalikan milidetik sejak Arduino dihidupkan, sehingga kita dapat menggunakan ini untuk mengukur waktu. Perubahan hue terakhir disimpan dalam variabel yang kita definisikan sebelumnya dan ini dibandingkan setiap kali untuk melihat apakah kita harus mengubah hue lagi. Baris terakhir hanya mengatur warna yang perlu ditampilkan selanjutnya.

Untuk menyelesaikan kode:

} lain {

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

Kita hanya perlu mematikan LED jika tombol tidak ditekan dengan mengatur warna menjadi hitam dan menutup tanda kurung yang terbuka.

Seperti yang Anda lihat, ini adalah kode yang cukup singkat dan mudah yang dapat digunakan untuk banyak alat yang menggunakan LED RGB.

Setelah Anda memiliki kode lengkap, Anda dapat mengunggahnya ke Arduino. Untuk ini, hubungkan Arduino ke PC Anda dengan kabel USB dan pilih jenis Arduino di IDE.

Dalam instruksi ini saya menggunakan Arduino Pro Micro. Setelah mengatur model Arduino Anda harus memilih port di mana IDE dapat menemukannya. Buka menu port dan Anda akan melihat Arduino Anda yang terhubung.

Sekarang satu-satunya yang harus dilakukan adalah mengunggah kode ke Arduino dengan menekan tombol putaran kedua di bagian atas jendela. IDE akan membuat kode dan mengunggahnya. Setelah ini berhasil, Anda dapat melepaskan Arduino dan melanjutkan merakit pengontrol.

Langkah 3: Perakitan Elektronik untuk Pengontrol

Karena kami menangani pengkodean Arduino, kami sekarang dapat merakit perangkat keras pengontrol. Kita mulai dengan meletakkan komponen di dalam casing. Potensiometer masuk dalam dua lubang bundar di sebelah kiri, sakelar untuk daya ada di bawah, sakelar untuk mode ada di kanan atas dan Arduino masuk ke dudukan di tengah.

Langkah 4:

Gambar
Gambar

Mulailah dengan menyolder kabel merah dari sakelar daya ke pin RAW Arduino. Pin ini adalah pin untuk catu daya karena terhubung ke pengatur tegangan, jadi meskipun tegangannya lebih tinggi dari 5V, pin ini dapat digunakan untuk memberi daya pada Arduino. Selanjutnya solder kabel merah lain ke pin VCC karena kita membutuhkan tegangan tingkat tinggi untuk potensiometer. Solder dua kabel putih ke pin A0 dan A1 yang akan digunakan untuk pembacaan potensiometer.

Langkah 5:

Gambar
Gambar

Sekarang masukkan kabel panjang putih dan hijau panjang melalui lubang di bagian atas yang nantinya digunakan untuk menghubungkan LED. Solder hijau ke pin 3 dan putih ke pin 6 dan tekan rata di Arduino. Solder dua kabel hitam ke pin GND di sisi kiri Arduino, ini digunakan untuk tegangan level rendah untuk potensiometer. Solder dua kabel biru ke pin 7 dan pin 8 yang akan digunakan untuk sakelar mode.

Langkah 6:

Gambar
Gambar
Gambar
Gambar

Kabel merah yang kita solder pada pin VCC sekarang perlu disolder ke salah satu pin luar potensiometer pertama. Gunakan kabel merah lain untuk melanjutkan ini ke potensiometer kedua. Berhati-hatilah untuk menggunakan sisi yang sama pada kedua potensiometer sehingga penuh akan menjadi sisi yang sama pada keduanya. Solder dua kabel hitam ke sisi lain potensiometer dan kabel putih dari Pin A0 dan A1 di pin tengah. Potensiometer bekerja dengan mengatur tegangan pada pin tengah menjadi tegangan antara tegangan yang diberikan pada pin luar, sehingga jika kita menghubungkan tegangan tinggi dan rendah kita bisa mendapatkan tegangan di antara pada pin tengah. Ini menyelesaikan pengkabelan untuk potensiometer dan mereka dapat diputar sedikit sehingga pinnya menyingkir.

Langkah 7:

Gambar
Gambar

Solder kabel hitam ke pin tengah sakelar mode dan pasang kabel hitam panjang melalui lubang yang mengarah ke catu daya. Masukkan kabel hitam panjang lainnya melalui bukaan atas untuk digunakan sebagai GND untuk LED.

Langkah 8:

Gambar
Gambar

Kabel hitam yang berasal dari catu daya disolder ke kabel hitam lain yang terhubung ke pin GND bebas terakhir dari Arduino. Solder kabel yang mengarah ke LED dan kabel hitam pada sakelar mode bersama-sama dan akhirnya solder dua pasang kabel hitam yang sekarang Anda miliki bersama. Gunakan tabung menyusut untuk mengisolasi solder untuk mencegah celana pendek di dalam pengontrol.

Langkah 9:

Gambar
Gambar

Sebagai langkah terakhir, kita sekarang dapat menyolder dua kabel biru ke sakelar mode. Sakelar ini bekerja dengan menghubungkan pin tengah ke salah satu pin luar tergantung di sisi mana sakelar itu berada. Karena pin 7 dan 8 diatur untuk dipicu saat terhubung ke GND, kita dapat menggunakan pin luar sakelar untuk pin dan tengah untuk GND. Dengan cara ini salah satu pin selalu terpicu.

Terakhir masukkan kabel merah melalui bukaan daya dan solder pada pin tengah sakelar daya dan masukkan kabel merah panjang lainnya melalui bukaan ke LED dan solder ini ke pin yang sama pada sakelar daya yang terhubung dengan Arduino.

Langkah 10:

Gambar
Gambar

Solder kabel daya ke dudukan baterai dan kencangkan klip yang menahan kabel yang mengarah ke LED. Ini melengkapi pengkabelan untuk pengontrol.

Langkah 11: Perakitan Pena Cahaya

Karena alat ini dimaksudkan untuk menjadi modular dan menggunakan pena yang berbeda, kami memerlukan konektor pada kabel untuk LED. Saya menggunakan konektor molex 4 terminal murah yang biasanya terdapat pada kabel yang digunakan untuk kipas di komputer. Kabel ini murah dan mudah didapat, sehingga sangat cocok.

Langkah 12:

Gambar
Gambar
Gambar
Gambar

Ketika saya mulai memasang kabel pengontrol, saya tidak memeriksa warna kabel pada konektor sehingga sedikit berbeda, tetapi mudah diingat. Saya menghubungkan kabel hitam, daya ke kuning, hijau di hijau dan putih di biru, tetapi Anda dapat menggunakan kombinasi apa pun yang Anda suka, ingat saja untuk pena lain juga. Berhati-hatilah untuk mengisolasi area yang disolder dengan tabung menyusut untuk mencegah celana pendek.

Langkah 13:

Gambar
Gambar
Gambar
Gambar

Masukkan kabel panjang merah dan hijau panjang melalui pena dan solder kabel hitam ke satu sisi tombol tekan dan kabel putih ke sisi lain. Tombol tekan semacam ini memiliki empat pin yang dua di antaranya terhubung berpasangan. Anda dapat melihat pin mana yang terhubung dengan melihat bagian bawah tombol, ada celah di antara pasangan yang terhubung. Jika Anda menekan tombol, kedua sisi terhubung ke yang lain. Kabel putih dan satu kabel hitam kemudian ditarik ke ujung pena mulai dari bukaan tombol. Kabel hitam lainnya ditarik ke depan. Pastikan Anda memiliki cukup kabel di kedua sisi untuk digunakan.

Langkah 14:

Gambar
Gambar
Gambar
Gambar

Tekan pas tombol di bukaan dan siapkan sisa kabel. Yang terbaik adalah menyolder kabel ke LED sehingga menghadap ke tengah LED karena kabel melewati bagian tengah pena. Solder kabel merah ke bantalan solder 5V, kabel hitam ke bantalan solder GND dan kabel hijau ke bantalan solder Din. Jika Anda memiliki lebih dari satu LED, bantalan solder Dout dari LED pertama terhubung ke Din dari LED berikutnya dan seterusnya.

Langkah 15:

Gambar
Gambar
Gambar
Gambar

Sekarang tekan tombol di bagian depan pena dan letakkan setetes lem di belakangnya untuk menahannya.

Sekarang Anda hanya perlu menyolder kabel di ujung pena ke sisi lain konektor dengan memperhatikan warnanya.

Cara terbaik adalah menggunakan setetes lem dan beberapa selotip untuk melepaskan kabel di ujung pena agar tidak putus. Ini menyelesaikan perakitan pena ringan.

Langkah 16: Contoh

Contoh
Contoh
Contoh
Contoh
Contoh
Contoh
Contoh
Contoh

Akhirnya saya ingin menunjukkan beberapa contoh di mana saya menggunakan alat ini. Pena miring sangat bagus untuk menerangi garis grafiti dan pena lurus sangat bagus untuk menggambar dan menulis sesuatu di udara (untuk itu saya hanya memiliki sedikit bakat).

Ini adalah tujuan utama dari alat ini. Seperti yang Anda lihat, kemungkinannya luar biasa jika Anda menggabungkan eksposur panjang dengan alat ini.

Untuk memulai dengan jenis fotografi ini, coba gunakan pengaturan ISO terendah yang didukung kamera Anda dan aperture tinggi. Cara yang baik untuk menemukan pengaturan yang tepat adalah menempatkan kamera Anda dalam mode aperture dan menutup aperture sampai kamera Anda menunjukkan waktu eksposur sekitar waktu yang Anda butuhkan untuk menggambar apa yang ingin Anda tambahkan ke dalam gambar. Kemudian beralih ke manual dan gunakan waktu pencahayaan itu atau gunakan mode bohlam.

Bersenang-senang mencoba ini! Ini adalah bentuk seni yang luar biasa.

Saya menambahkan instruksi ini ke penemu dan tantangan penggunaan yang tidak biasa, jadi jika Anda suka tinggalkan suara;)

Langkah 17: File

Saya juga menambahkan model untuk pemegang tali yang dimaksudkan untuk direkatkan di bagian bawah kotak pengontrol sehingga Anda dapat mengikatnya di lengan Anda dan klip untuk pena yang dapat direkatkan ke tutupnya ketika Anda tidak membutuhkan pena di tanganmu.

Ada juga tutup diffuser yang dapat digunakan untuk membuat cahaya lebih halus dan mencegah flare saat pena menunjuk langsung ke kamera.

Direkomendasikan: