Агуулгын хүснэгт:
- Хангамж
- Алхам 1: Амжилтаа биелүүлцгээе
- Алхам 2: Материал бэлтгэх
- Алхам 3: Нийлэг огтлох
- Алхам 4: 3D принтер ашиглан талууд бий болгох
- Алхам 5: Зураг авалт
- Алхам 6: LED тууз + гагнуурын LED туузыг (NeoPixel) утсаар холбоно уу
- Алхам 7: Утас ашиглан гагнах арчдас
- Алхам 8: Угсрах -Болтыг хажуу тийш оруулах = ①
- Алхам 9: Ⓛⓣ -г Ⓒ = ② дээр хавсаргана уу
- Алхам 10: Ассемблей -Ⓦ ба Ⓝ ашиглан ① ба ② = ③ -г нэгтгэнэ
- Алхам 11: Ассемблей -Нийлэг бонд ашиглан Ⓐⓔ ба ③ хавсаргана уу = ④
- Алхам 12: Ⓢ = ⑤ дээр Ⓢ хавсаргана уу
- Алхам 13: Ассемблей -④ ба ⑤ -г Ⓦ ба Ⓝ = ⑥ ашиглан нэгтгэнэ
- Алхам 14: Хэсэг угсрах ажлыг дуусгах
- Алхам 15: Төслийн ажлын дүр төрх
- Алхам 16: NeoPixel, Connector Wiring
- Алхам 17: NeoPixel ба Arduino Wiring
- Алхам 18: Arduino програмчлах
- Алхам 19:
- Алхам 20: Хээ
Видео: Намайг гэрэлтүүлээрэй!: 20 алхам (зурагтай)
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:02
төслийн багийн гишүүд
(Hyewon Shin, Eunjeong Ko, Junsung Y)
Хэрэв та гэрэлд хүрч, дизайн хийж чадвал яах вэ? Хэрэв танд сонирхолтой хөдөлгөөнт дүрс бүхий гоёмсог гэрлийн загвар байсан бол танд ямар санагдах вэ? Гэрэл намайг гэрэлтүүлснээр гэрэл өөрөө хүрч, дизайн хийж, сонирхолтой хээ угалз гаргах болно. Энэхүү төсөл нь хэд хэдэн гурвалжинтай бөгөөд зургаан өнцөгт хэлбэртэй. Тиймээс та гэрлийг хэрхэн зохион бүтээсэнийхээ дагуу стереоскопийн хэв маягийг бий болгож чадна! Хэсэг бүрийг дарахад л янз бүрийн өнгийг ангилах бөгөөд хүссэн өнгө гарч ирмэгц дарсан гараа дарахад л хүссэн өнгөөрөө гоё сайхан гэрэлтэх болно! Төсөлд 312 орчим гурвалжин ашигласан ч үүнийг бий болгож чадна. 6 гурвалжинтай сайн ажилладаг сайхан гэрэл. Одоо зургаан гурвалжингаар хэрхэн яаж хийхийг танд харуулъя. Алхам алхмуудыг дагана уу, та өөрийн гайхалтай бүтээлтэй болно!
Хангамж
Техник хангамж: Arduino (би arduino mega 2560 ашигласан), нийлэг (тунгалаг, цагаан), LED зурвас (NeoPixel), сарниулагч хальс, товчлуур, 4 зүү холбогч, утас, хэлхээний самбар, цахилгаан хангамж
Хэрэгсэл: Лазераар удирддаг хайчлах машин, 3D принтер
Алхам 1: Амжилтаа биелүүлцгээе
Энэ хөөрхөн зургаан өнцөгт хэсгийг надтай хамт хийцгээе!
Light Me Up -ийг 312 гурвалжин ашиглан бүтээсэн боловч 6 гурвалжин ч гэсэн гайхалтай гэрэл зохион бүтээх боломжтой. Хэрэв та үүнийг илүү өргөн хүрээнд хийхийг хүсч байвал доор хавсаргасан файлыг ашиглан үүнийг хийж болно.
Алхам 2: Материал бэлтгэх
Алхам 3: Нийлэг огтлох
Лазер таслагч ашиглан хэсэг бүрийн урд болон хойд хэсгийг хайчилж ав. Нуруун дээрх нийлэг өнгө нь таны хүссэн зүйл байж болно, гэхдээ тунгалаг нийлэг хэрэглэхээ мартуузай. Хэрэв та ил тод биш өөр өнгийн нийлэг хэрэглэвэл гэрэл сайн харагдахгүй болно.
Алхам 4: 3D принтер ашиглан талууд бий болгох
Одоо хэсэг бүрийн хажуу талыг хийх цаг болжээ. Хажуу талын 3D загварчлалын файлуудыг доор хавсаргасан болно. Бид ХАЧА -г хажуу тийш нь болгохын тулд ашигладаг байсан, ХАЧА нь ABS -ээс илүү хүчтэй бөгөөд агшилт багатай байдаг тул утаснуудыг ХАЧА ашиглахыг зөвлөж байна.
Алхам 5: Зураг авалт
Одоо урд талын нийлэг дээр хөнгөн диффузийн хальс тавьж үзье. Хэрэв та хальсан дээр тавьвал тэр илүү сайхан харагдаж, гэрэлтдэг. Нэгдүгээрт, хальсыг гурвалжин хэлбэрээр хайчилж ав. (Хальсыг нийлэг зүссэнээс томоор нь огтолсон нь дээр) Утсан дээрээ хамгаалалтын хальс тавих гэх мэт хальс тавих нь маш энгийн. Хэрэв та энд зөвлөгөө өгөхийг хүсч байвал картаа түлхэж, нямбай гацах болно!
Алхам 6: LED тууз + гагнуурын LED туузыг (NeoPixel) утсаар холбоно уу
Хэрэв та LED туузыг гагнахдаа маш сайн байсан бол LED туузыг ар талд нь тавих цаг болжээ. Нэгдүгээрт, LED туузны ар талд цавуу буу эсвэл хоёр талт соронзон хальс бэхлээрэй. Тэгээд эхлээд гагнуурын утасны хоёр талын утсыг хоёр талын нүхээр зайлуулна. Эцэст нь LED туузыг арын нийлэгт наалдуулаад дуусга!
Гагнах цаг боллоо! LED тууз, 4 зүү холбогч (холбогч эсвэл утас) болон гагнуур хийхэд танд хэрэгтэй зүйлийг бэлтгэ. Би LED -ийг гурван нэгжээр ашигласан. Хэрэв та хүсвэл нэг эсвэл хоёр LED ашиглаж болно, гэхдээ би гурван ширхэгийг ашиглахыг зөвлөж байна. Бүх материал бэлэн болсны дараа LED зурвасын өгөгдлийн шугам, 5в шугам, газрын шугамын аль алинд нь утсыг гагнана.
Алхам 7: Утас ашиглан гагнах арчдас
Алхам 8: Угсрах -Болтыг хажуу тийш оруулах = ①
Одоо энэ бол үнэхээр хялбар хэсэг юм! 3D хэвлэсэн гурван тал тус бүрт нэг боолт байрлуул. Шургийн товчлуурыг бүтцийн боолт, самар ашиглах гэх мэт шалтгааныг гаргах боломжтой болно. Хэсэг дууссаны дараа би уг хайрцгийг хайрцагт хийж, самараар дуусгах болно.
Алхам 9: Ⓛⓣ -г Ⓒ = ② дээр хавсаргана уу
Алхам 10: Ассемблей -Ⓦ ба Ⓝ ашиглан ① ба ② = ③ -г нэгтгэнэ
Алхам 11: Ассемблей -Нийлэг бонд ашиглан Ⓐⓔ ба ③ хавсаргана уу = ④
Хэрэв та хажуу тийш боолт хийвэл бид хажуу ба урд талд нь боолт хийнэ. Урд хэсэг нь нийлэг тул та үүнийг зориулалтын нийлэг бондоор хийх хэрэгтэй. Хэрэв та ердийн бондонд нийлэг наалдсан бол энэ нь ул мөр үлдээх болно.
Алхам 12: Ⓢ = ⑤ дээр Ⓢ хавсаргана уу
Алхам 13: Ассемблей -④ ба ⑤ -г Ⓦ ба Ⓝ = ⑥ ашиглан нэгтгэнэ
Алхам 14: Хэсэг угсрах ажлыг дуусгах
Алхам 15: Төслийн ажлын дүр төрх
Алхам 16: NeoPixel, Connector Wiring
Алхам 17: NeoPixel ба Arduino Wiring
Алхам 18: Arduino програмчлах
extern дэгдэмхий тэмдэггүй урт хугацааны таймер0_millis;
#оруулах
#define MODEBTNNUM 3 int ani_mode = 0; гарын үсэг зураагүй урт preM1, preM2, preM3;
хүчингүй тохиргоо () {
Wire.begin (); for (int i = 0; i <MODEBTNNUM; i ++) {pinMode (i+2, INPUT_PULLUP); } //Serial.begin(9600); }
void loop () {
for (int i = 0; i <MODEBTNNUM; i ++) {if (! digitalRead (i + 2)) ani_mode = i + 1; } (int i = 0; i <6; i ++) {Wire.requestFrom (i+1, 1); while (Wire.available ()) {int x = Wire.read (); // Serial.println (x); хэрэв (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_millis = 0; // preM1 = 0; // preM2 = 0; // preM3 = 0; // Serial.println ("цаг хэмжигчийг дахин тохируулах"); for (int i = 1; i <7; i ++) {Wire.beginTransmission (i); Wire.write (ani_mode); //Serial.println("3000 "); Wire.endTransmission (i); }}}}
Алхам 19:
extern дэгдэмхий тэмдэггүй урт хугацааны таймер0_millis;
#оруулах
#оруулах #тодорхойлох PIN 12 #NUMPIXELS тодорхойлох 162 Adafruit_NeoPixel зурвас = Adafruit_NeoPixel (NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800); const int num = NUMPIXELS / 3; const int slaveNum = 1; int өнгө [тоо] [3]; int hue [тоо]; int sat [тоо]; int тод [тоо]; 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}; 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}; #include #define BTNNUM 1 int f_v = 1; гарын үсэг зураагүй урт preMillis1; гарын үсэг зураагүй урт preM; int ani_mode = 0; int ani2_Counter = 0; int тоолуур = 0; ////////////////////////////////////////////////////// Хүчингүй тохиргоо () {Wire. эхлэх (slaveNum); Wire.onRequest (requestEvent); Wire.onReceive (хүлээн авахEvent); for (int i = 0; i <num; i ++) {pinMode (btnPin , INPUT_PULLUP); } //Serial.begin(9600); strip.begin (); } /////////////////////////////////////////////
void loop () {
if (f_v == 1) {for (int i = 0; i <num; i ++) {hue = 50; суусан = 95; тод = 100; } f_v = 0; } ////////////////////////////////////////// 버튼 입력 체크: 멈춤 신호 보내기 btnMode = худал; for (int i = 0; i <num; i ++) {if (! digitalRead (btnPin )) {btnMode = true; }} btnEvent (5); // Serial.println (ani_mode); ///////////////////////////////////////// шилжүүлэгч (ani_mode) {тохиолдол 0: ani0 (); завсарлага; тохиолдол 1: ani1 (); ani_mode = 0; ani2_Counter = 0; завсарлага; тохиолдол 2: ani2_Counter = 1; ani_mode = 0; завсарлага; тохиолдол 3: ani3 (); ani_mode = 0; ani2_Counter = 0; завсарлага; анхдагч: readyState (); завсарлага; } if (ani2_Counter == 1) {ani2 (); } setPixels (тоо); }
///////////////////////////////////////////
void receiveEvent (int howMany) {int x = Wire.read (); if (x == 5) {// Serial.println ("хүлээн авсан 5"); ani_mode = 0; } ani_mode = x; // Serial.println (ani_mode); } /////////////////////////////////////////////////////// Хүчингүй хүсэлтEvent () {
хэрэв (btnMode == үнэн) {
Утас. бичих (5); // Serial.println ("5 보냄"); } өөр {Wire.write (0); }
}
void ani0 () {
// Serial.println ("0"); }
void ani1 () {
// Serial.println ("1"); if (pNumber == 0) {for (int i = 0; i <num; i ++) {тод = 0; gValue = 1; } int a1 = {25, 26}; int b1 = {39, 52}; int c1 = {40, 53}; for (int a = 0; a <2; a ++) {hue [a1 [a] = 100; суусан [a1 [a] = 95; тод [a1 [a] = 100; } (int b = 0; b <2; b ++) {hue [b1 = 200; суусан [b1 = 95; тод [b1 = 100; } (int c = 0; c <2; c ++) {hue [c1 [c] = 300; суусан [c1 [c] = 95; тод [c1 [c] = 100; } // Serial.println ("0"); } if if (pNumber == 1) {for (int i = 0; i <num; i ++) {тод = 0; gValue = 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 ++) {hue [a2 [a] = 26; суусан [a2 [a] = 95; тод [a2 [a] = 100; } (int d = 0; d <4; d ++) {hue [d2 [d] = 63; суусан [d2 [d] = 95; тод [d2 [d] = 100; } // Serial.println ("1"); } else if (pNumber == 2) {// аварга том куб загвар (int i = 0; i <num; i ++) {тод = 0; gValue = 1; } int a14 = {34, 35, 46, 47, 48, 49}; // шар 06 for (int a = 0; a <6; a ++) {hue [a14 [a] = 35; суусан [a14 [a] = 95; тод [a14 [a] = 100; }} өөр if (pNumber == 3) {for (int i = 0; i <num; i ++) {тод = 0; gValue = 1; } int a3 = {34, 35, 46, 47, 48, 49}; // шар нь (int a = 0; a <6; a ++) {hue [a3 [a] = 53; суусан [a3 [a] = 95; тод [a3 [a] = 100; }} өөр if (pNumber == 4) {for (int i = 0; i <num; i ++) {тод = 0; gValue = 1; } int a4 = {34, 35}; // шар int b4 = {47}; // цэнхэр int c4 = {48}; // нил ягаан
for (int a = 0; a <2; a ++) {hue [a4 [a] = 53; суусан [a4 [a] = 95; тод [a4 [a] = 100; }
for (int b = 0; b <1; b ++) {hue [b4 = 210; суусан [b4 = 95; тод [b4 = 100; } (int c = 0; c <1; c ++) {hue [c4 [c] = 307; суусан [c4 [c] = 95; тод [c4 [c] = 100; }} өөр if (pNumber == 5) {for (int i = 0; i <num; i ++) {тод = 0; gValue = 1; } int a5 = {34, 35, 46, 47, 48, 49};
for (int a = 0; a <6; a ++) {hue [a5 [a] = 100; суусан [a5 [a] = 95; тод [a5 [a] = 100; }} өөр if (pNumber == 6) {for (int i = 0; i <num; i ++) {тод = 0; gValue = 1; } int a6 = {34, 35, 46, 47, 48, 49}; // шар нь (int a = 0; a <6; a ++) {hue [a6 [a] = 53; суусан [a6 [a] = 95; тод [a6 [a] = 100; }} өөр if (pNumber == 7) {for (int i = 0; i <num; i ++) {тод = 0; gValue = 1; } int c7 = {34, 35, 46, 47, 48, 49}; // нил ягаан (int c = 0; c <6; c ++) {hue [c7 [c] = 307; суусан [c7 [c] = 95; тод [c7 [c] = 100; }} өөр if (pNumber == 8) {for (int i = 0; i <num; i ++) {тод = 0; gValue = 1; } int c8 = {34, 35, 46, 47, 48, 49}; // нил ягаан (int c = 0; c <6; c ++) {hue [c8 [c] = 307; суусан [c8 [c] = 95; тод [c8 [c] = 100; }} өөр if (pNumber == 9) {for (int i = 0; i <num; i ++) {тод = 0; gValue = 1; } int c9 = {34, 35, 46, 47, 48, 49}; // нил ягаан (int c = 0; c <6; c ++) {hue [c9 [c] = 307; суусан [c9 [c] = 95; тод [c9 [c] = 100; }} өөр if (pNumber == 10) {for (int i = 0; i <num; i ++) {тод = 0; gValue = 1; } int c10 = {34, 35, 46, 47, 48, 49}; // нил ягаан (int c = 0; c <6; c ++) {hue [c10 [c] = 307; суусан [c10 [c] = 95; тод [c10 [c] = 100; }} өөр if (pNumber == 11) {for (int i = 0; i <num; i ++) {тод = 0; gValue = 1; } int c11 = {34, 35, 46, 47, 48, 49}; // нил ягаан (int c = 0; c <6; c ++) {hue [c11 [c] = 307; суусан [c11 [c] = 95; тод [c11 [c] = 100; }} өөр if (pNumber == 12) {for (int i = 0; i <num; i ++) {тод = 0; gValue = 1; } int c12 = {34, 35, 46, 47, 48, 49}; // нил ягаан (int c = 0; c <6; c ++) {hue [c12 [c] = 307; суусан [c12 [c] = 95; тод [c12 [c] = 100; }} өөр if (pNumber == 13) {for (int i = 0; i <num; i ++) {тод = 0; gValue = 1; } int a13 = {34, 35}; // шар int b13 = {47}; // цэнхэр int c13 = {48}; // нил ягаан (int a = 0; a <2; a ++) {hue [a13 [a] = 53; суусан [a13 [a] = 95; тод [a13 [a] = 100; } (int b = 0; b <1; b ++) {hue [b13 = 210; суусан [b13 = 95; тод [b13 = 100; } (int c = 0; c <1; c ++) {hue [c13 [c] = 307; суусан [c13 [c] = 95; тод [c13 [c] = 100; }} pNumber = pNumber + 1;
хэрэв (pNumber == 14) {
pNumber = 0; }}
void ani2 () {
// Serial.println ("2"); тэмдэггүй урт curM = millis ();
if (curM - preM> = 10) {
preM = curM; for (int i = 0; i <num; i ++) {if (hue = 360) {gValue = -1; } өнгө = өнгө + gValue ; } тоолуур ++; if (counter == 360) {// Serial.print ("тоолуур:"); // Serial.println (тоолуур); // Serial.println (curM); тоолуур = 0; ani2_Counter = 0; }}}
void ani3 () {
// Serial.println ("3"); } ///////////////////////////////////////////////////////// хүчингүй болсон бэлэнState () {/ / Serial.println ("бэлэн"); } //////////////////////////////////////////////////////////// хүчин төгөлдөр бус btnEvent (int b_interval) {гарын үсэг зураагүй урт curMillis1 = millis ();
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; } өөр if (hue <= 0) {hueV = 1; } өнгө = өнгө + өнгө V ; тод = 100; }}}} /////////////////////////////////////////////////////////// хүчингүй setPixels (int k) {for (int i = 0; i <k; i ++) {H2R_HSBtoRGB (өнгө , суусан , тод , өнгө ); int num1 = i * 3; strip.setPixelColor (тоо1, өнгө [0], өнгө [1], өнгө [2]); strip.setPixelColor (тоо1 + 1, өнгө [0], өнгө [1], өнгө [2]); strip.setPixelColor (тоо1 + 2, өнгө [0], өнгө [1], өнгө [2]); } strip.show (); }
Алхам 20: Хээ
Энэхүү төсөл нь зургаан өнцөгт хэлбэртэй хэд хэдэн гурвалжинтай. Тиймээс та гэрлийг хэрхэн зохион бүтээсэнийхээ дагуу стереоскопийн хэв маягийг бий болгож чадна! Хэсэг бүрийг дарахад л янз бүрийн өнгөнүүд зэрэглэлд орох бөгөөд таны хүссэн өнгө гарч ирэхэд дарсан гараа дарахад л тэр хүссэн өнгөөрөө сайхан гэрэлтэх болно!
Зөвлөмж болгож буй:
Цагаан ажилтнууд Гэндальфыг гэрэлтүүлээрэй: 9 алхам
Цагаан таяг Гэндальфыг гэрэлтүүлээрэй: Бөгжний Эзэнийг харснаас хойш би Цагаан Гандалфыг үргэлж хүсч байсан. Би Thingivers.com дээрээс нэг загварыг олсон. Tinkercad -ийг ашиглан би гэрэлтүүлгийнхээ төлөө дизайныг өөрчилсөн
Шоогоо гэрэлтүүлээрэй!: 4 алхам
Шоогоо гэрэлтүүл! Энэ бол тэднийг гэрэлтүүлэх миний DIY төсөл боловч үүний цаад санаа нь " цэнэглэх " Шоо.Ганцхан нэг үндсэн санаа бол ижил төстэй хайрцгийг бие даан бүтээхэд таатай байна
Гэгээн Валентинаа гялалзсан RGB матрицаар гэрэлтүүлээрэй: 3 алхам
Гэгээн Валентинаа гялалзсан RGB матрицаар гэрэлтүүлээрэй: Гэгээн Валентины өдөр ирж байна, та анхны харцаар дурласан хүнтэй уулзаж байна уу?
DIY Smart намайг камертай дроноор дагана уу (Arduino дээр суурилсан): 22 алхам (зурагтай)
DIY Smart Follow Me Drone with Camera (Arduino дээр суурилсан): Дрон бол өнөө үед маш алдартай тоглоом, хэрэгсэл юм. Та зах зээл дээр мэргэжлийн, бүр эхлэгч дрон, нисдэг хэрэгсэл олж болно. Би дөрвөн нисгэгчгүй онгоцтой (квадкоптер ба гекскоптер), учир нь би нисдэг бүх зүйлд дуртай, гэхдээ 200 дахь нислэг нь тийм биш юм
Энэ зургийг гэрэлтүүлээрэй!: 6 алхам (зурагтай)
Энэ зургийг гэрэлтүүлээрэй!: Сайн байна уу, энэ бол бяцхан зураг авч, ямар ч хөвгүүн, эрэгтэй, аав, чөмөгчинг биширдэг маш гоё чимэглэлийн объект болгон хувиргах маш энгийн төсөл юм. :) Энэхүү төслийн өртөг маш бага байна. -Энд бидэнд хэрэгтэй зүйл байна-1. Бүтэн хуудас a4 эсвэл түүнээс том хэмжээтэй пр