Daftar Isi:
- Perlengkapan
- Langkah 1: Ayo Berhasil
- Langkah 2: Persiapan Bahan
- Langkah 3: Memotong Akrilik
- Langkah 4: Buat Sisi Dengan Printer 3D
- Langkah 5: Syuting
- Langkah 6: Pasang Strip LED + Solder Strip LED (NeoPixel) Dengan Kabel
- Langkah 7: Saklar Kebijaksanaan Solder Dengan Kabel
- Langkah 8: Perakitan -Masukkan Baut di Sisi =
- Langkah 9: Lampirkan ke =
- Langkah 10: Perakitan -Gunakan dan untuk Menggabungkan dan =
- Langkah 11: Perakitan -Lampirkan dan Menggunakan Ikatan Akrilik=
- Langkah 12: Lampirkan ke =
- Langkah 13: Perakitan -Gabungkan dan Menggunakan dan =
- Langkah 14: Perakitan Sepotong Lengkap
- Langkah 15: Penampilan Kerja Proyek
- Langkah 16: NeoPixel, Pengkabelan Konektor
- Langkah 17: Kabel NeoPixel dan Arduino
- Langkah 18: Program Arduino
- Langkah 19:
- Langkah 20: Pola
Video: Light Me Up!: 20 Langkah (dengan Gambar)
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:55
anggota tim proyek
(Hyewon Shin, Eunjeong Ko, Junsung Yi)
Bagaimana jika Anda bisa menyentuh dan mendesain cahaya? Bagaimana rasanya jika Anda memiliki pola cahaya yang indah yang Anda rancang sendiri dengan animasi yang menarik? Light me up akan menjadi sketsa menarik yang menyentuh dan mendesain cahaya itu sendiri dan membuat pola yang menarik! Proyek ini memiliki beberapa segitiga yang membentuk bentuk heksagonal. Jadi Anda dapat membuat pola stereoskopik sesuai dengan bagaimana Anda mendesain cahaya! Cukup tekan masing-masing bagian dan berbagai warna akan bergradasi, dan ketika warna yang Anda inginkan keluar, cukup tekan tangan yang Anda tekan dan itu akan terus bersinar indah dengan warna yang Anda inginkan! Proyek ini menggunakan sekitar 312 segitiga, tetapi bisa membuat cahaya bagus yang bekerja dengan baik dengan 6 segitiga. Sekarang izinkan saya menunjukkan cara membuatnya dengan enam segitiga. Ikuti langkah-langkahnya dan Anda akan memiliki karya indah Anda sendiri!
Perlengkapan
Perangkat Keras: Arduino (saya menggunakan arduino mega 2560), Akrilik (bening, putih), Strip LED (NeoPixel), Film Diffuser, tombol, Konektor 4 pin, Kawat, Papan Sirkuit, Catu Daya
Alat: Mesin Pemotong Berpanduan Laser, Printer 3D
Langkah 1: Ayo Berhasil
Ayo buat potongan heksagonal yang lucu ini bersamaku!
The Light Me Up dibuat menggunakan 312 segitiga, tetapi bahkan 6 segitiga dapat mendesain cahaya yang indah. Jika Anda ingin membuatnya dalam skala yang lebih besar, Anda dapat membuatnya dengan mengacu pada file terlampir di bawah ini.
Langkah 2: Persiapan Bahan
Langkah 3: Memotong Akrilik
Gunakan pemotong laser untuk memotong bagian depan dan belakang setiap bagian. Warna akrilik di bagian belakang bisa apa saja yang Anda inginkan, tapi pastikan menggunakan akrilik transparan karena bagian depan harus diredupkan! Jika Anda menggunakan akrilik warna selain transparan, Anda tidak akan melihat cahaya dengan baik.
Langkah 4: Buat Sisi Dengan Printer 3D
Sekarang saatnya untuk membuat sisi masing-masing bagian. Mari kita membuatnya! File pemodelan 3D di samping terlampir di bawah ini. Kami menggunakan PLA untuk membuat sisi PLA lebih kuat dan lebih sedikit kontraksi daripada ABS, jadi filamen disarankan untuk menggunakan PLA.
Langkah 5: Syuting
Sekarang mari kita letakkan film difusi cahaya pada akrilik di bagian depan. Jika Anda meletakkan film di atasnya, itu menyebar dan bersinar jauh lebih cantik. Pertama, potong film menjadi bentuk segitiga. (Sebaiknya Anda memotong film lebih besar daripada akrilik yang dipotong) Sangat mudah untuk memasang film, seperti, film pelindung di ponsel Anda. Kalau mau tip di sini, kamu bisa menggunakan kartu untuk mendorongnya agar bisa menempel dengan rapi!
Langkah 6: Pasang Strip LED + Solder Strip LED (NeoPixel) Dengan Kabel
Jika Anda sudah pandai menyolder strip LED, saatnya memasang strip LED di bagian belakang. Pertama, pasang lem atau selotip dua sisi ke bagian belakang strip LED. Dan pertama-tama lepaskan kabel dari kedua sisi kawat solder melalui lubang di kedua sisi. Terakhir, pasang strip LED ke akrilik belakang dan selesai!
Saatnya menyolder! siapkan strip LED, konektor 4-pin (konektor atau kabel) dan apa yang Anda butuhkan untuk menyolder. Saya menggunakan LED dalam tiga unit. Anda dapat menggunakan satu atau dua LED jika Anda mau, tetapi saya sarankan menggunakan tiga. Ketika semua bahan sudah siap, solder kabel di kedua jalur data, jalur 5v, dan jalur ground strip LED.
Langkah 7: Saklar Kebijaksanaan Solder Dengan Kabel
Langkah 8: Perakitan -Masukkan Baut di Sisi =
Sekarang ini adalah bagian yang sangat mudah! Tempatkan satu baut pada masing-masing dari tiga sisi cetakan 3D. Alasan mengapa menggunakan tombol baut seperti menggunakan baut struktural dan mur akan dapat membuat. Ketika potongan itu selesai, saya akan memasukkan potongan itu ke dalam kotak dan menyelesaikannya dengan mur.
Langkah 9: Lampirkan ke =
Langkah 10: Perakitan -Gunakan dan untuk Menggabungkan dan =
Langkah 11: Perakitan -Lampirkan dan Menggunakan Ikatan Akrilik=
Jika Anda memasang baut di samping, kami akan memasangnya di samping dan depan. Bagian depan akrilik, jadi Anda harus memasangnya dengan ikatan akrilik khusus. Jika Anda menempelkan akrilik ke ikatan biasa, itu akan meninggalkan bekas.
Langkah 12: Lampirkan ke =
Langkah 13: Perakitan -Gabungkan dan Menggunakan dan =
Langkah 14: Perakitan Sepotong Lengkap
Langkah 15: Penampilan Kerja Proyek
Langkah 16: NeoPixel, Pengkabelan Konektor
Langkah 17: Kabel NeoPixel dan Arduino
Langkah 18: Program Arduino
extern volatile unsigned long timer0_millis;
#termasuk
#define MODEBTNNUM 3 int ani_mode = 0; preM1 panjang yang tidak ditandatangani, preM2, preM3;
batalkan pengaturan() {
Kawat.mulai(); for (int i = 0; i < MODEBTNNUM; i++) { pinMode(i + 2, INPUT_PULLUP); } //Serial.begin(9600); }
lingkaran kosong() {
for (int i = 0; i < MODEBTNNUM; i++) { if (!digitalRead(i + 2)) ani_mode = i + 1; } for (int i = 0; i < 6; i++) { Wire.requestFrom(i + 1, 1); while (Wire.available()) { int x = Wire.read(); // Serial.println(x); if (x == 5) { ani_mode = 0; // Serial.println("x=5"); } } } ////////////////////////////////////////////////////////////// /////// if (ani_mode == 0) { for (int i = 1; i 3000) { preM1 = current1; for (int i = 1; i 5000) { preM2 = current2; for (int i = 1; i 3000) { preM3 = current3; // timer0_milis = 0; // praM1 = 0; // praM2 = 0; // praM3 = 0; // Serial.println("pengatur waktu ulang"); for (int i = 1; i < 7; i++) { Wire.beginTransmission(i); Wire.write(ani_mode); //Serial.println("3000"); Wire.endTransmisi(i); } } } }
Langkah 19:
extern volatile unsigned long timer0_millis;
#termasuk
#include #define PIN 12 #define NUMPIXELS 162 Adafruit_NeoPixel strip = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800); const int num = NUMPIXELS / 3; const int slaveNum = 1; int warna[angka][3]; int warna[angka]; int sat[angka]; int terang[angka]; int pNomor = 0; int gValue[bil] = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; const int btnPin[num] = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 14, 15, 16, 17, 18, 19, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53, 54, 55, 56, 57, 58, 59 }; int btnState[angka]; btnMode boolean; int hueV[bil] = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; #include #define BTNNUM 1 int f_v = 1; preMillis1 panjang yang tidak ditandatangani; preM panjang yang tidak ditandatangani; int ani_mode = 0; int ani2_Penghitung = 0; int penghitung = 0; ///////////////////////////////////////// void setup() { Wire. mulai(slaveNum); Wire.onRequest(requestEvent); Wire.onReceive(receiveEvent); for (int i = 0; i < num; i++) { pinMode(btnPin, INPUT_PULLUP); } //Serial.begin(9600); strip.mulai(); } ///////////////////////////////////////////////////////////
lingkaran kosong() {
if (f_v == 1) { for (int i = 0; i < num; i++) { rona = 50; sat = 95; terang = 100; } f_v = 0; } //////////////////////////////////// //버튼 입력:멈춤신호 btnMode = Salah; for (int i = 0; i < num; i++) { if (!digitalRead(btnPin)) { btnMode = true; } } btnEvent(5); // Serial.println(ani_mode); //////////////////////////////////// switch (ani_mode) { case 0: ani0(); merusak; kasus 1: ani1(); ani_mode = 0; ani2_Penghitung = 0; merusak; kasus 2: ani2_Counter = 1; ani_mode = 0; merusak; kasus 3: ani3(); ani_mode = 0; ani2_Penghitung = 0; merusak; default: readyState(); merusak; } if (ani2_Counter == 1) { ani2(); } setPixels(jumlah); }
///////////////////////////////////////////
void acceptEvent(int howMany) { int x = Wire.read(); if (x == 5) { // Serial.println("diterima 5"); ani_mode = 0; } ani_mode = x; // Serial.println(ani_mode); } ///////////////////////////////////////// void requestEvent() {
if (btnMode == benar) {
Kawat.tulis(5); // Serial.println("5 "); } else { Kawat.tulis(0); }
}
batal ani0() {
// Serial.println("0"); }
batal ani1() {
// Serial.println("1"); if (pNumber == 0) { for (int i = 0; i < num; i++) { bright = 0; gNilai = 1; } int a1 = {25, 26}; int b1 = {39, 52}; int c1 = {40, 53}; for (int a = 0; a < 2; a++) { rona[a1[a] = 100; sat[a1[a] = 95; terang[a1[a] = 100; } untuk (int b = 0; b < 2; b++) { rona[b1 = 200; sat[b1 = 95; terang[b1 = 100; } untuk (int c = 0; c < 2; c++) { rona[c1[c] = 300; sat[c1[c] = 95; terang[c1[c] = 100; } // Serial.println("0"); } else if (pNumber == 1) { for (int i = 0; i < num; i++) { bright = 0; gNilai = 1; } int a2 = {21, 22, 34, 35, 37, 46, 47, 51}; // int b2 = {}; // int c2 = {}; int d2 = {36, 48, 49, 50}; for (int a = 0; a < 8; a++) { rona[a2[a] = 26; sat[a2[a] = 95; terang[a2[a] = 100; } untuk (int d = 0; d < 4; d++) { rona[d2[d] = 63; sat[d2[d] = 95; terang[d2[d] = 100; } // Serial.println("1"); } else if (pNumber == 2) { //pola kubus raksasa untuk (int i = 0; i < num; i++) { bright = 0; gNilai = 1; } int a14 = {34, 35, 46, 47, 48, 49};//kuning 06 untuk (int a = 0; a < 6; a++) { rona[a14[a] = 35; sat[a14[a] = 95; terang[a14[a] = 100; } }else if (pNumber == 3) { for (int i = 0; i < num; i++) { bright = 0; gNilai = 1; } int a3 = {34, 35, 46, 47, 48, 49};//kuning untuk (int a = 0; a < 6; a++) { rona[a3[a] = 53; sat[a3[a] = 95; terang[a3[a] = 100; } } else if (pNumber == 4) { for (int i = 0; i < num; i++) { bright = 0; gNilai = 1; } int a4 = {34, 35};//kuning int b4 = {47};//biru int c4 = {48};//ungu
for (int a = 0; a < 2; a++) { rona[a4[a] = 53; sat[a4[a] = 95; terang[a4[a] = 100; }
for (int b = 0; b < 1; b++) { rona[b4 = 210; sat[b4 = 95; terang[b4 = 100; } untuk (int c = 0; c < 1; c++) { rona[c4[c] = 307; sat[c4[c] = 95; terang[c4[c] = 100; } } else if (pNumber == 5) { for (int i = 0; i < num; i++) { bright = 0; gNilai = 1; } int a5 = {34, 35, 46, 47, 48, 49};
for (int a = 0; a < 6; a++) { rona[a5[a] = 100; sat[a5[a] = 95; terang[a5[a] = 100; } } else if (pNumber == 6) { for (int i = 0; i < num; i++) { bright = 0; gNilai = 1; } int a6 = {34, 35, 46, 47, 48, 49};//kuning untuk (int a = 0; a < 6; a++) { rona[a6[a] = 53; sat[a6[a] = 95; terang[a6[a] = 100; } } else if (pNumber == 7) { for (int i = 0; i < num; i++) { bright = 0; gNilai = 1; } int c7 = {34, 35, 46, 47, 48, 49};//ungu untuk (int c = 0; c < 6; c++) { rona[c7[c] = 307; sat[c7[c] = 95; terang[c7[c] = 100; } } else if (pNumber == 8) { for (int i = 0; i < num; i++) { bright = 0; gNilai = 1; } int c8 = {34, 35, 46, 47, 48, 49}; //ungu untuk (int c = 0; c < 6; c++) { rona[c8[c] = 307; sat[c8[c] = 95; terang[c8[c] = 100; } } else if (pNumber == 9) { for (int i = 0; i < num; i++) { bright = 0; gNilai = 1; } int c9 = {34, 35, 46, 47, 48, 49}; //ungu untuk (int c = 0; c < 6; c++) { rona[c9[c] = 307; sat[c9[c] = 95; terang[c9[c] = 100; } } else if (pNumber == 10) { for (int i = 0; i < num; i++) { bright = 0; gNilai = 1; } int c10 = {34, 35, 46, 47, 48, 49}; //ungu untuk (int c = 0; c < 6; c++) { rona[c10[c] = 307; sat[c10[c] = 95; terang[c10[c] = 100; } } else if (pNumber == 11) { for (int i = 0; i < num; i++) { bright = 0; gNilai = 1; } int c11 = {34, 35, 46, 47, 48, 49}; //ungu untuk (int c = 0; c < 6; c++) { rona[c11[c] = 307; sat[c11[c] = 95; terang[c11[c] = 100; } } else if (pNumber == 12) { for (int i = 0; i < num; i++) { bright = 0; gNilai = 1; } int c12 = {34, 35, 46, 47, 48, 49}; //ungu untuk (int c = 0; c < 6; c++) { rona[c12[c] = 307; sat[c12[c] = 95; terang[c12[c] = 100; } } else if (pNumber == 13) { for (int i = 0; i < num; i++) { bright = 0; gNilai = 1; } int a13 = {34, 35}; //kuning int b13 = {47}; //biru int c13 = {48}; //ungu untuk (int a = 0; a < 2; a++) { rona[a13[a] = 53; sat[a13[a] = 95; terang[a13[a] = 100; } untuk (int b = 0; b < 1; b++) { rona[b13 = 210; sat[b13 = 95; terang[b13 = 100; } untuk (int c = 0; c < 1; c++) { rona[c13[c] = 307; sat[c13[c] = 95; terang[c13[c] = 100; } } pNumber = pNumber + 1;
if (pNomor == 14) {
pNomor = 0; } }
batal ani2() {
// Serial.println("2"); unsigned long curM = milis();
if (curM - preM >= 10) {
preM = skrM; for (int i = 0; i < num; i++) { if (hue = 360) { gValue = -1; } warna = warna + gNilai; } penghitung++; if (penghitung == 360) { // Serial.print("penghitung: "); // Serial.println(penghitung); // Serial.println(curM); penghitung = 0; ani2_Penghitung = 0; } } }
batal ani3() {
// Serial.println("3"); } ///////////////////////////////////////// void readyState() { / / Serial.println("siap"); } ///////////////////////////////////////// void btnEvent(int b_interval) { unsigned long curMillis1 = milis();
for (int i = 0; i < num; i++) { btnState = digitalRead(btnPin); }
if (curMillis1 - preMillis1 > b_interval) {
preMillis1 = curMillis1; for (int i = 0; i = 360) { hueV = -1; } else if (hue <= 0) { hueV = 1; } warna = warna + warnaV; terang = 100; } } } } ///////////////////////////////////////// void setPixels(int k) { for (int i = 0; i < k; i++) { H2R_HSBtoRGB(hue, sat, bright, colors); int angka1 = i * 3; strip.setPixelColor(num1, warna[0], warna[1], warna[2]); strip.setPixelColor(angka1 + 1, warna[0], warna[1], warna[2]); strip.setPixelColor(angka1 + 2, warna[0], warna[1], warna[2]); } strip.tampilkan(); }
Langkah 20: Pola
Proyek ini memiliki beberapa segitiga yang membentuk bentuk heksagonal. Jadi Anda dapat membuat pola stereoskopik sesuai dengan bagaimana Anda mendesain cahaya! Cukup tekan masing-masing bagian dan berbagai warna akan bergradasi, dan ketika warna yang Anda inginkan keluar, cukup tekan tangan yang Anda tekan dan itu akan terus bersinar indah dengan warna yang Anda inginkan!
Direkomendasikan:
BookWorm Light-Up Book Light dan Bookmark: 13 Langkah (dengan Gambar)
BookWorm Light-Up Book Light dan Bookmark: Jadikan bookmark kutu buku yang menyenangkan ini yang berfungsi ganda sebagai lampu buku! Kami akan mencetaknya, memotongnya, mewarnai dan menghiasnya, dan mereka menggunakannya untuk menerangi malam sehingga Anda dapat membaca dalam gelap. Dia dibuat hanya dengan beberapa bahan dan membuat ci
Animated Mood Light & Night Light: 6 Langkah (dengan Gambar)
Animated Mood Light & Night Light: Memiliki daya tarik yang berbatasan dengan obsesi terhadap cahaya, saya memutuskan untuk membuat pilihan PCB modular kecil yang dapat digunakan untuk membuat tampilan cahaya RGB dalam berbagai ukuran. Setelah membuat PCB modular, saya menemukan ide untuk mengaturnya menjadi
Shadow Light Box - Kontrol dengan IR Remote Dengan Arduino: 8 Langkah (dengan Gambar)
Shadow Light Box - Kontrol dengan IR Remote Dengan Arduino: Instruksi ini akan memandu cara membuat kotak cahaya bayangan untuk Natal berikutnya. Anda dapat membuat sendiri untuk mendekorasi kamar Anda, atau menjadikannya untuk teman Anda sebagai hadiah. Kotak bayangan ini dapat membuat berbagai macam warna dengan mencampur warna dengan warna Merah, Biru, Hijau
Pull the Light - Light Module Menggunakan Neopixel & Pull Up Switch: 6 Langkah (dengan Gambar)
Pull the Light - Light Module Menggunakan Neopixel & Pull Up Switch : Fitur Modul Lampu Arduino Uno Hardware & enklosur yang dibeli dari internet Neopixel & Catu daya dipinjam dari School of Informatics & Desain Produk Modul lampu dikendalikan oleh catu daya Semua fungsi dikendalikan melalui
Cara Membongkar Komputer Dengan Langkah Mudah dan Gambar: 13 Langkah (dengan Gambar)
Cara Membongkar Komputer Dengan Langkah Mudah dan Gambar: Ini adalah instruksi tentang cara membongkar PC. Sebagian besar komponen dasar bersifat modular dan mudah dilepas. Namun penting bahwa Anda diatur tentang hal itu. Ini akan membantu Anda agar tidak kehilangan bagian, dan juga dalam membuat