Isi kandungan:
- Bekalan
- Langkah 1: Mari Buat
- Langkah 2: Penyediaan Bahan
- Langkah 3: Memotong Akrilik
- Langkah 4: Buat Sisi Dengan Pencetak 3D
- Langkah 5: Penggambaran
- Langkah 6: Pasang Jalur LED + Jalur LED Pematerian (NeoPixel) Dengan Wayar
- Langkah 7: Suis Tact Soldering Dengan Wayar
- Langkah 8: Pemasangan - Masukkan Bolt di Sisi = ①
- Langkah 9: Pasang Ⓛⓣ ke Ⓒ = ②
- Langkah 10: Perhimpunan -Gunakan a Ⓦ dan Ⓝ untuk Gabungkan ① dan ② = ③
- Langkah 11: Pemasangan -Lampirkan Ⓐⓔ dan ③ Menggunakan Ikatan Akrilik = ④
- Langkah 12: Lampirkan Ⓢ hingga Ⓓ = ⑤
- Langkah 13: Perhimpunan C Gabungkan ④ dan ⑤ Menggunakan Ⓦ dan Ⓝ = ⑥
- Langkah 14: Pemasangan Piece Lengkap
- Langkah 15: Penampilan Projek yang Bekerja
- Langkah 16: NeoPixel, Pendawaian Penyambung
- Langkah 17: Pendawaian NeoPixel dan Arduino
- Langkah 18: Program Arduino
- Langkah 19:
- Langkah 20: Corak
Video: Ringankan Saya !: 20 Langkah (dengan Gambar)
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:08
ahli pasukan projek
(Hyewon Shin, Eunjeong Ko, Junsung Yi)
Bagaimana jika anda boleh menyentuh dan merancang lampu? Bagaimana rasanya jika anda mempunyai corak cahaya yang indah yang anda reka sendiri dengan animasi yang menarik? Cahaya saya akan menjadi buku lakaran menarik yang menyentuh dan merancang cahaya itu sendiri dan membuat corak menarik! Projek ini mempunyai beberapa segitiga yang membentuk bentuk heksagon. Oleh itu, anda boleh membuat corak stereoskopik mengikut cara anda merancang cahaya! Cukup tekan setiap bahagian dan pelbagai warna akan digradasi, dan apabila warna yang anda inginkan keluar, tekan tangan yang anda tekan dan ia akan terus bersinar dengan indah dengan warna yang anda mahukan! Projek ini menggunakan kira-kira 312 segitiga, tetapi ia boleh mencipta cahaya yang bagus yang berfungsi dengan baik dengan 6 segitiga. Sekarang mari saya tunjukkan cara membuatnya dengan enam segitiga. Ikuti langkah-langkahnya dan anda akan mempunyai karya hebat anda sendiri!
Bekalan
Perkakasan: Arduino (saya menggunakan arduino mega 2560), Akrilik (jelas, putih), Jalur LED (NeoPixel), Filem Penyebar, butang, Penyambung 4 pin, Kawat, Papan Litar, Bekalan Kuasa
Alatan: Mesin Pemotong Berpandukan Laser, Pencetak 3D
Langkah 1: Mari Buat
Mari buat kepingan heksagon comel ini dengan saya!
Light Me Up dibuat menggunakan 312 segitiga, tetapi bahkan 6 segitiga dapat merancang cahaya yang indah. Sekiranya anda ingin membuatnya dalam skala yang lebih besar, anda boleh membuatnya dengan merujuk pada fail yang dilampirkan di bawah.
Langkah 2: Penyediaan Bahan
Langkah 3: Memotong Akrilik
Gunakan pemotong laser untuk memotong bahagian depan dan belakang setiap bahagian. Warna akrilik di bahagian belakang boleh menjadi apa sahaja yang anda mahukan, tetapi pastikan anda menggunakan akrilik lutsinar kerana bahagian depannya harus redup! Sekiranya anda menggunakan warna akrilik selain lutsinar, anda tidak akan melihat cahaya dengan baik.
Langkah 4: Buat Sisi Dengan Pencetak 3D
Kini tiba masanya untuk membuat sisi setiap bahagian. Mari buat! Fail pemodelan 3D di sebelahnya dilampirkan di bawah. Kami menggunakan PLA untuk membuat sisi. PLA lebih kuat dan kurang kontraksi daripada ABS, jadi filamen dianjurkan untuk menggunakan PLA.
Langkah 5: Penggambaran
Sekarang mari kita letakkan filem resapan cahaya pada akrilik di bahagian depan. Sekiranya anda meletakkan filem di atasnya, filem itu akan tersebar dan bersinar lebih cantik. Pertama, potong filem itu ke bentuk segitiga. (Sebaiknya potong filem lebih besar daripada akrilik yang dipotong) Mudah meletakkan filem seperti filem pelindung di telefon anda. Sekiranya anda ingin memberi petua di sini, anda boleh menggunakan kad untuk menolaknya supaya kad itu tersekat dengan kemas!
Langkah 6: Pasang Jalur LED + Jalur LED Pematerian (NeoPixel) Dengan Wayar
Sekiranya anda sudah pandai menyolder jalur LED, sudah tiba masanya untuk meletakkan jalur LED di bahagian belakang. Pertama, pasangkan pistol gam atau pita dua sisi di bahagian belakang jalur LED. Dan pertama-tama keluarkan wayar dari kedua sisi wayar pematerian melalui lubang di kedua-dua belah pihak. Akhirnya, pasangkan jalur LED ke akrilik belakang dan sudah habis!
Ini masa pematerian! sediakan jalur LED, penyambung 4-pin (penyambung atau wayar) dan apa yang anda perlukan untuk pematerian. Saya menggunakan LED dalam tiga unit. Anda boleh menggunakan satu atau dua LED jika anda mahu, tetapi saya cadangkan menggunakan tiga. Apabila semua bahan sudah siap, pateri wayar di kedua-dua garis data, garis 5v, dan garis tanah jalur LED.
Langkah 7: Suis Tact Soldering Dengan Wayar
Langkah 8: Pemasangan - Masukkan Bolt di Sisi = ①
Sekarang ia adalah bahagian yang sangat mudah! Letakkan satu baut pada setiap tiga sisi cetak 3D. Sebab mengapa menggunakan butang bolt seperti menggunakan bolt struktur dan mur akan dapat dibuat. Apabila kepingan selesai, saya akan meletakkan kepingan itu ke dalam casing dan menyelesaikannya dengan kacang.
Langkah 9: Pasang Ⓛⓣ ke Ⓒ = ②
Langkah 10: Perhimpunan -Gunakan a Ⓦ dan Ⓝ untuk Gabungkan ① dan ② = ③
Langkah 11: Pemasangan -Lampirkan Ⓐⓔ dan ③ Menggunakan Ikatan Akrilik = ④
Sekiranya anda meletakkan baut di sisi, kami akan meletakkannya di sisi dan bahagian depan. Bahagian depannya adalah akrilik, jadi anda harus memakainya dengan ikatan akrilik khusus. Sekiranya anda melekatkan akrilik pada ikatan biasa, ia akan meninggalkan tanda.
Langkah 12: Lampirkan Ⓢ hingga Ⓓ = ⑤
Langkah 13: Perhimpunan C Gabungkan ④ dan ⑤ Menggunakan Ⓦ dan Ⓝ = ⑥
Langkah 14: Pemasangan Piece Lengkap
Langkah 15: Penampilan Projek yang Bekerja
Langkah 16: NeoPixel, Pendawaian Penyambung
Langkah 17: Pendawaian NeoPixel dan Arduino
Langkah 18: Program Arduino
timer0_millis panjang tidak stabil yang tidak stabil;
#sertakan
#tentukan MODEBTNNUM 3 int ani_mode = 0; preM1, preM2, preM3 panjang yang tidak ditandatangani;
batal persediaan () {
Wire.begin (); untuk (int i = 0; i <MODEBTNNUM; i ++) {pinMode (i + 2, INPUT_PULLUP); } //Serial.begin(9600); }
gelung kosong () {
untuk (int i = 0; i <MODEBTNNUM; i ++) {if (! digitalRead (i + 2)) ani_mode = i + 1; } untuk (int i = 0; i <6; i ++) {Wire.requestFrom (i + 1, 1); sementara (Wire.available ()) {int x = Wire.read (); // Serial.println (x); jika (x == 5) {ani_mode = 0; // Serial.println ("x = 5"); }}} /////////////////////////////////////////////// /////// if (ani_mode == 0) {untuk (int i = 1; i 3000) {preM1 = current1; untuk (int i = 1; i 5000) {preM2 = current2; untuk (int i = 1; i 3000) {preM3 = current3; // pemasa0_millis = 0; // preM1 = 0; // preM2 = 0; // preM3 = 0; // Serial.println ("pemasa semula"); untuk (int i = 1; i <7; i ++) {Wire.beginTransmission (i); Wire.write (ani_mode); //Serial.println("3000 "); Wire.endTransmission (i); }}}}
Langkah 19:
timer0_millis panjang tidak stabil yang tidak menentu;
#sertakan
#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; warna int [num] [3]; int hue [num]; int sat [num]; int terang [num]; int pNumber = 0; int gValue [num] = {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, 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 [num]; boolean btnMode; int hueV [num] = {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, 1}; #include #define BTNNUM 1 int f_v = 1; preMillis1 panjang yang tidak ditandatangani; praM panjang yang tidak ditandatangani; int ani_mode = 0; int ani2_Counter = 0; kaunter int = 0; /////////////////////////////////////////// batal persediaan () {Wire. bermula (slaveNum); Wire.onRequest (requestEvent); Wire.onReceive (menerimaEvent); untuk (int i = 0; i <num; i ++) {pinMode (btnPin , INPUT_PULLUP); } //Serial.begin(9600); jalur.begin (); } ///////////////////////////////////////////
gelung kosong () {
jika (f_v == 1) {untuk (int i = 0; i <num; i ++) {hue = 50; sat = 95; terang = 100; } f_v = 0; } ////////////////////////////////////// // 버튼 입력 체크: 멈춤 신호 보내기 btnMode = salah; untuk (int i = 0; i <num; i ++) {if (! digitalRead (btnPin )) {btnMode = true; }} btnEvent (5); // Serial.println (ani_mode); ////////////////////////////////////// suis (ani_mode) {kes 0: ani0 (); rehat; kes 1: ani1 (); ani_mode = 0; ani2_Counter = 0; rehat; kes 2: ani2_Counter = 1; ani_mode = 0; rehat; kes 3: ani3 (); ani_mode = 0; ani2_Counter = 0; rehat; lalai: readyState (); rehat; } jika (ani2_Counter == 1) {ani2 (); } setPixels (bilangan); }
///////////////////////////////////////////
batal terimaEvent (int howMany) {int x = Wire.read (); jika (x == 5) {// Serial.println ("diterima 5"); ani_mode = 0; } ani_mode = x; // Serial.println (ani_mode); } /////////////////////////////////////////// batalkan permintaanEvent () {
jika (btnMode == benar) {
Wire.write (5); // Serial.println ("5 보냄"); } lain {Wire.write (0); }
}
batal ani0 () {
// Serial.println ("0"); }
batal ani1 () {
// Serial.println ("1"); if (pNumber == 0) {untuk (int i = 0; i <num; i ++) {terang = 0; gValue = 1; } int a1 = {25, 26}; int b1 = {39, 52}; int c1 = {40, 53}; untuk (int a = 0; a <2; a ++) {hue [a1 [a] = 100; sat [a1 [a] = 95; terang [a1 [a] = 100; } untuk (int b = 0; b <2; b ++) {hue [b1 = 200; sat [b1 = 95; terang [b1 = 100; } untuk (int c = 0; c <2; c ++) {hue [c1 [c] = 300; sat [c1 [c] = 95; terang [c1 [c] = 100; } // Serial.println ("0"); } lain jika (pNumber == 1) {untuk (int i = 0; i <num; i ++) {terang = 0; gValue = 1; } int a2 = {21, 22, 34, 35, 37, 46, 47, 51}; // int b2 = {}; // int c2 = {}; int d2 = {36, 48, 49, 50}; untuk (int a = 0; a <8; a ++) {hue [a2 [a] = 26; sat [a2 [a] = 95; terang [a2 [a] = 100; } untuk (int d = 0; d <4; d ++) {hue [d2 [d] = 63; sat [d2 [d] = 95; terang [d2 [d] = 100; } // Serial.println ("1"); } lain jika (pNumber == 2) {// corak kubus gergasi untuk (int i = 0; i <num; i ++) {terang = 0; gValue = 1; } int a14 = {34, 35, 46, 47, 48, 49}; // kuning 06 untuk (int a = 0; a <6; a ++) {hue [a14 [a] = 35; sat [a14 [a] = 95; terang [a14 [a] = 100; }} lain jika (pNumber == 3) {untuk (int i = 0; i <num; i ++) {terang = 0; gValue = 1; } int a3 = {34, 35, 46, 47, 48, 49}; // kuning untuk (int a = 0; a <6; a ++) {hue [a3 [a] = 53; sat [a3 [a] = 95; terang [a3 [a] = 100; }} lain jika (pNumber == 4) {untuk (int i = 0; i <num; i ++) {terang = 0; gValue = 1; } int a4 = {34, 35}; // kuning int b4 = {47}; // biru int c4 = {48}; // ungu
untuk (int a = 0; a <2; a ++) {hue [a4 [a] = 53; sat [a4 [a] = 95; terang [a4 [a] = 100; }
untuk (int b = 0; b <1; b ++) {hue [b4 = 210; sat [b4 = 95; terang [b4 = 100; } untuk (int c = 0; c <1; c ++) {hue [c4 [c] = 307; sat [c4 [c] = 95; terang [c4 [c] = 100; }} lain jika (pNumber == 5) {untuk (int i = 0; i <num; i ++) {terang = 0; gValue = 1; } int a5 = {34, 35, 46, 47, 48, 49};
untuk (int a = 0; a <6; a ++) {hue [a5 [a] = 100; sat [a5 [a] = 95; terang [a5 [a] = 100; }} lain jika (pNumber == 6) {untuk (int i = 0; i <num; i ++) {terang = 0; gValue = 1; } int a6 = {34, 35, 46, 47, 48, 49}; // kuning untuk (int a = 0; a <6; a ++) {hue [a6 [a] = 53; sat [a6 [a] = 95; terang [a6 [a] = 100; }} lain jika (pNumber == 7) {untuk (int i = 0; i <num; i ++) {terang = 0; gValue = 1; } int c7 = {34, 35, 46, 47, 48, 49}; // ungu untuk (int c = 0; c <6; c ++) {hue [c7 [c] = 307; sat [c7 [c] = 95; terang [c7 [c] = 100; }} lain jika (pNumber == 8) {untuk (int i = 0; i <num; i ++) {terang = 0; gValue = 1; } int c8 = {34, 35, 46, 47, 48, 49}; // ungu untuk (int c = 0; c <6; c ++) {hue [c8 [c] = 307; sat [c8 [c] = 95; terang [c8 [c] = 100; }} lain jika (pNumber == 9) {untuk (int i = 0; i <num; i ++) {terang = 0; gValue = 1; } int c9 = {34, 35, 46, 47, 48, 49}; // ungu untuk (int c = 0; c <6; c ++) {hue [c9 [c] = 307; sat [c9 [c] = 95; terang [c9 [c] = 100; }} lain jika (pNumber == 10) {untuk (int i = 0; i <num; i ++) {terang = 0; gValue = 1; } int c10 = {34, 35, 46, 47, 48, 49}; // ungu untuk (int c = 0; c <6; c ++) {hue [c10 [c] = 307; sat [c10 [c] = 95; terang [c10 [c] = 100; }} lain jika (pNumber == 11) {untuk (int i = 0; i <num; i ++) {terang = 0; gValue = 1; } int c11 = {34, 35, 46, 47, 48, 49}; // ungu untuk (int c = 0; c <6; c ++) {hue [c11 [c] = 307; sat [c11 [c] = 95; terang [c11 [c] = 100; }} lain jika (pNumber == 12) {untuk (int i = 0; i <num; i ++) {terang = 0; gValue = 1; } int c12 = {34, 35, 46, 47, 48, 49}; // ungu untuk (int c = 0; c <6; c ++) {hue [c12 [c] = 307; sat [c12 [c] = 95; terang [c12 [c] = 100; }} lain jika (pNumber == 13) {untuk (int i = 0; i <num; i ++) {terang = 0; gValue = 1; } int a13 = {34, 35}; // kuning int b13 = {47}; // biru int c13 = {48}; // ungu untuk (int a = 0; a <2; a ++) {hue [a13 [a] = 53; sat [a13 [a] = 95; terang [a13 [a] = 100; } untuk (int b = 0; b <1; b ++) {hue [b13 = 210; sat [b13 = 95; terang [b13 = 100; } untuk (int c = 0; c <1; c ++) {hue [c13 [c] = 307; sat [c13 [c] = 95; terang [c13 [c] = 100; }} pNumber = pNumber + 1;
jika (pNumber == 14) {
pNombor = 0; }}
batal ani2 () {
// Serial.println ("2"); curM panjang tidak bertanda = milis ();
jika (curM - preM> = 10) {
preM = curM; untuk (int i = 0; i <num; i ++) {if (hue = 360) {gValue = -1; } hue = hue + gValue ; } kaunter ++; if (counter == 360) {// Serial.print ("kaunter:"); // Serial.println (kaunter); // Serial.println (curM); pembilang = 0; ani2_Counter = 0; }}}
batal ani3 () {
// Serial.println ("3"); } /////////////////////////////////////////// batal siapState () {/ / Serial.println ("siap"); } /////////////////////////////////////////// batal btnEvent (int b_interval) {curMillis1 panjang yang tidak ditandatangani = milis ();
untuk (int i = 0; i <num; i ++) {btnState = digitalRead (btnPin ); }
jika (curMillis1 - preMillis1> b_interval) {
preMillis1 = curMillis1; untuk (int i = 0; i = 360) {hueV = -1; } lain jika (hue <= 0) {hueV = 1; } hue = hue + hueV ; terang = 100; }}}} /////////////////////////////////////////// batal setPixels (int k) {untuk (int i = 0; i <k; i ++) {H2R_HSBtoRGB (rona , sat , terang , warna ); int num1 = i * 3; strip.setPixelColor (bilangan 1, warna [0], warna [1], warna [2]); strip.setPixelColor (num1 + 1, warna [0], warna [1], warna [2]); strip.setPixelColor (num1 + 2, warna [0], warna [1], warna [2]); } strip.show (); }
Langkah 20: Corak
Projek ini mempunyai beberapa segitiga yang membentuk bentuk heksagon. Oleh itu, anda boleh membuat corak stereoskopik mengikut cara anda merancang cahaya! Cukup tekan setiap bahagian dan pelbagai warna akan digradasi, dan apabila warna yang anda inginkan keluar, tekan tangan yang anda tekan dan ia akan terus bersinar dengan indah dengan warna yang anda mahukan!
Disyorkan:
Bagaimana Saya Membuat Pembesar Suara Bluetooth Aneh Saya Sendiri: 4 Langkah
Bagaimana Saya Membuat Pembesar Suara Bluetooth Aneh Saya Sendiri: Dalam Instruksional ini saya akan menunjukkan kepada anda bagaimana saya membuat pembesar suara Bluetooth pelik ini sendiri yang menghasilkan bunyi yang luar biasa dengan bass semasa menggunakannya dengan botol
Bagaimana Saya Membina Penjana Basikal Elektrik Saya: 10 Langkah
Bagaimana Saya Membina Penjana Basikal Elektrik Saya: Paul Fleck
Bagaimana Saya Membantu Bateri Netbook Saya !: 4 Langkah
Bagaimana Saya Membantu Bateri Netbook Saya !: Saya baru sahaja menemui perisian yang hebat ini dari tanda kanan yang membolehkan bateri saya bertahan lebih lama setiap cas dan juga membiarkan netbook berjalan jauh lebih sejuk. Mari saya tunjukkan apa yang saya buat pada 2-in-1 saya model netbook dell 3147
Bagaimana Saya Memperbaiki Laptop Mati Saya Lebih Dari Dua Tahun: 8 Langkah
Bagaimana Saya Memperbaiki Laptop Mati Saya Lebih Dari Dua Tahun: Catatan ** sila undi jika anda menghargai projek ini, terima kasih Saya tahu patut memperbaikinya dan berkongsi semua pembaikan
Papan Kekunci Saya Tangan Saya: 8 Langkah (dengan Gambar)
Papan Kekunci Saya Tangan Saya: Saya menggunakan pemotong laser Epilog yang baru yang baru-baru ini dapat diarahkan oleh Instructables menggunakan gambar tangan saya ke papan kekunci komputer riba saya … secara kekal. Sekarang ini membatalkan jaminan anda dalam gaya DIY! Saya telah laser menggunakan lebih banyak komputer riba daripada kebanyakan kerana saya menolong