Агуулгын хүснэгт:

Интерактив геодезийн LED Dome: 15 алхам (зурагтай)
Интерактив геодезийн LED Dome: 15 алхам (зурагтай)

Видео: Интерактив геодезийн LED Dome: 15 алхам (зурагтай)

Видео: Интерактив геодезийн LED Dome: 15 алхам (зурагтай)
Видео: SnowRunner Year 1 vs Year 2 Pass: DLC SHOWDOWN 2024, Долдугаар сарын
Anonim
Image
Image
Интерактив геодезийн LED Dome
Интерактив геодезийн LED Dome
Интерактив геодезийн LED Dome
Интерактив геодезийн LED Dome
Интерактив геодезийн LED Dome
Интерактив геодезийн LED Dome

Би гурвалжин бүрт LED, мэдрэгч бүхий 120 гурвалжингаас бүрдсэн геодезийн бөмбөгөр хийжээ. LED бүрийг дангаар нь авч үзэх боломжтой бөгөөд мэдрэгч бүрийг нэг гурвалжинд тусгайлан тохируулдаг. Бөмбөгөр нь Arduino програмчлагдсан бөгөөд гараа ямар гурвалжин байрлуулахаас хамааран MIDI дохиог асааж, гаргадаг.

Би бөмбөгийг хүмүүст гэрэл, электроник, дууны сонирхлыг татахуйц хөгжилтэй дэлгэц болгон бүтээсэн. Бөмбөгөр нь таван хэсэгт сайхан хуваагддаг тул би бөмбөгийг таван өөр MIDI гаралттай байхаар зохион бүтээсэн. Энэ нь бөмбөгийг аварга том хөгжмийн зэмсэг болгож, олон хүнтэй нэгэн зэрэг хөгжим тоглоход тохиромжтой. Хөгжим тоглохоос гадна би бөмбөгийг гэрлийн шоу, Саймон, Понг хоёрын дуун дээр програмчилсан. Эцсийн бүтэц нь нэг метр гаруй диаметртэй, 70 см өндөр бөгөөд үндсэндээ мод, нийлэг, 3D хэвлэмэл хэсгүүдээр хийгдсэн байдаг.

Энэ төслийг эхлүүлэхэд надад урам зориг өгсөн LED ширээ, куб дээр хэд хэдэн гайхалтай заавар байдаг. Гэсэн хэдий ч би LED -ийг өөр геометрээр зохион байгуулахыг хүсч байсан. Төслийн хувьд зааварчилгаа материалд сайн бичигдсэн геодезийн бөмбөгөр бөмбөгөөс илүү сайн бүтцийн талаар би бодож чадсангүй. Тиймээс энэ төсөл бол LED хүснэгт, геодезийн бөмбөгний remix/mashup юм. Төслийн эхэнд шалгаж үзсэн LED хүснэгт ба геодезийн бөмбөгний зааварчилгааны линкүүдийг доор харуулав.

LED ширээ ба куб:

www.instructables.com/id/RGB-LED-Pixel-Touc…

www.instructables.com/id/Touch-LED-Table-Re…

www.instructables.com/id/Led-Cube-8x8x8/

www.instructables.com/id/500-LED-Pixel-RGB-…

Геодезийн бөмбөг:

www.instructables.com/id/Folding-Geodesic-D…

www.instructables.com/id/Geodesic-dome-kit/

Алхам 1: Нийлүүлэлтийн жагсаалт

Нийлүүлэлтийн жагсаалт
Нийлүүлэлтийн жагсаалт
Нийлүүлэлтийн жагсаалт
Нийлүүлэлтийн жагсаалт
Нийлүүлэлтийн жагсаалт
Нийлүүлэлтийн жагсаалт

Материал:

1. Бөмбөгөр баганын суурийн мод (хэмжээ нь бөмбөгний төрөл, хэмжээнээс хамаарна)

2. Хаягдах LED зурвас (16.4ft/5m хаяглагдах өнгөт LED пиксел зурвас 160leds Ws2801 Dc5v)

3. Arduino Uno (Atmega328 - угсарсан)

4. Прототип самбар (Пента Angel хоёр талт ПХБ-ийн бүх нийтийн загвар (7х9 см))

5. LED -ийг сарниулах нийлэг (Цутгамал нийлэг хуудас, Цэвэр, 12 "x 12" x 0.118 "Хэмжээ)

6. Цахилгаан хангамж (Ayposen 110/220V to DC12V 30A 360W Switch Power Supply Driver)

7. Arduino-ийн Бак хөрвүүлэгч (RioRand LM2596 DC-DC Бак хөрвүүлэгч 1.23V-30V)

8. LED ба мэдрэгчийн Бак хөрвүүлэгч (DROK Mini Electric Buck Voltage Converter 15A)

9. 120 IR мэдрэгч (Хэт улаан туяаны саад бэрхшээлээс зайлсхийх мэдрэгчийн модуль)

10. Таван 16 сувгийн мультиплексор (Аналог/Дижитал MUX Breakout - CD74HC4067)

11. Зургаан 8 сувгийн мультиплексор (Multiplexer Breakout - 8 Channel (74HC4051))

12. Таван 2 сувгийн мультиплексор (MAX4544CPA+)

13. Утас боох утас (ПХБ-ийн гагнуур 0.25 мм цагаан тугалга бүхий зэс хүйн Dia утас ороох утас 305M 30AWG улаан)

14. Холбох утас (Solid Core, 22 AWG)

15. Пин толгой (Гикфун 1 х 40 зүү 2.54мм -ийн нэг эгнээтэй, эрэгтэй зүү толгой)

16. Таван MIDI залгуур (Breadboard-т ээлтэй MIDI Жак (5 зүү DIN))

17. MIDI үүрэнд зориулсан 220 омын 10 резистор

18. Цахилгаан хэрэгслийг бөмбөгөр бэхлэх зориулалттай тусгаарлагч (Stand-off Spacer Hex M3 Male M x M3 Female)

19. Стандартуудыг модонд холбох утас адаптерууд (E-Z Lok Threaded Insert, Brass, хутганы утас)

20. Эпокси эсвэл Gorilla Superglue

21. Цахилгаан соронзон хальс

22. Гагнуур

Хэрэгсэл:

1. Гагнуурын станц

2. Цахилгаан өрөм

3. Дугуй хөрөө

4. Орбиталь зүлгүүр

5. Жиг харсан

6. Miter хөрөө

7. Дамжуулагч

8. 3D принтер

9. Утас таслагч

10. Утас боох хэрэгсэл

11. LED хавтанг огтлох лазер таслагч (заавал биш)

12. Бөмбөгөр суурийн CNC дэлгүүрийн боолт (заавал биш)

Алхам 2: Геодезийн бөмбөгийг зохион бүтээх

Геодезийн бөмбөгийг зохион бүтээх
Геодезийн бөмбөгийг зохион бүтээх
Геодезийн бөмбөгийг зохион бүтээх
Геодезийн бөмбөгийг зохион бүтээх

Миний танилцуулгад дурдсанчлан өөрийн геодезийн бөмбөгийг барих хэд хэдэн онлайн эх сурвалжууд байдаг. Эдгээр сайтууд нь тал бүрийн уртыг тодорхойлдог бөмбөгөр тооцоолуураар хангадаг. Геодезийн бөмбөгний нарийн төвөгтэй байдлыг (өөрөөр хэлбэл гурвалжингийн нягтрал) ангиллаар нь тодорхойлдог (1V, 2V, 3V гэх мэт), илүү нарийн төвөгтэй байдал нь төгс бөмбөрцөг гадаргууг илүү сайн ойртуулдаг. Өөрийнхөө гараар бөмбөг барихын тулд эхлээд бөмбөгний диаметр, анги сонгох ёстой.

Би 40 см радиустай бөмбөрцгийн 5/12 хүртэл зүсэгдсэн 4V бөмбөгөр хийц гаргахад туслахын тулд Домерама гэдэг сайтыг ашигласан. Энэ төрлийн бөмбөгний хувьд зургаан өөр урттай бэхэлгээ байдаг.

30 X "A" - 8.9 см

30 X "B" - 10.4 см

50 X "C" - 12.4 см

40 X "D" - 12.5 см

20 X "E" - 13.0см

20 X “F” - 13.2см

Энэ нь нийт 2223см (73 фут) хүртэлх материалын нийт 190 бэхэлгээ юм. Би энэ бөмбөгөр хөшүүрэгт 1x3 (3/4 "× 2-1/2") нарс мод ашигласан. Туузыг холбохын тулд би Autocad ашиглан 3D хэвлэсэн холбогчийг зохион бүтээсэн. STL файлуудыг энэ алхмын төгсгөлд татаж авах боломжтой. 4V 5/12 бөмбөгийг холбох холболтын тоо нь:

20 X 4 холбогч

6 X 5 холбогч

45 X 6 холбогч

Дараагийн алхамд би энэ бөмбөгөрийг модон тулгуур болон миний зохион бүтээсэн 3D хэвлэмэл холбогчоор хэрхэн бүтээсэн талаар тайлбарлах болно.

Алхам 3: Тулгуур ба холбогч бүхий бөмбөгөр байшин барих

Struts ба холбогч бүхий Dome барих
Struts ба холбогч бүхий Dome барих
Struts ба холбогч бүхий Dome барих
Struts ба холбогч бүхий Dome барих
Struts ба холбогч бүхий Dome барих
Struts ба холбогч бүхий Dome барих
Struts ба холбогч бүхий Dome барих
Struts ба холбогч бүхий Dome барих

Домерама -аас 4V 5/12 хэмжээтэй бөмбөг хийх тооцоог ашиглан дугуй хөрөө ашиглан бэхэлгээг хайчилж авав. 190 бэхэлгээг шошготой болгож хайчилж авсны дараа хайрцагт хийжээ. 71 холбогчийг (20 дөрвөн холбогч, 6 5 холбогч, 45 зургаан холбогч) Makerbot ашиглан 3D хэвлэсэн байна. Модон тулгуурыг Домерамагийн бүтээсэн схемийн дагуу холбогчдод оруулсан. Би барилгын ажлыг дээд талаас нь эхлүүлж, радиаль байдлаар гадагш чиглэсэн.

Бүх бэхэлгээг холбосны дараа би нэг тулгуурыг нэг нэгээр нь авч мод, холбогч дээр эпокси нэмэв. Холбогч нь бүтцийг хэрхэн холбох талаар уян хатан байхаар бүтээгдсэн тул эпокси оруулахаасаа өмнө бөмбөгний тэгш хэмийг шалгах нь чухал юм.

Алхам 4: Лазер хайчлах ба суурилуулах суурь хавтан

Лазер огтлох ба суурилуулах суурь хавтан
Лазер огтлох ба суурилуулах суурь хавтан
Лазер огтлох ба суурилуулах суурь хавтан
Лазер огтлох ба суурилуулах суурь хавтан
Лазер огтлох ба суурилуулах суурь хавтан
Лазер огтлох ба суурилуулах суурь хавтан
Лазер огтлох ба суурилуулах суурь хавтан
Лазер огтлох ба суурилуулах суурь хавтан

Домбоны араг ясыг бүтээсэн тул гурвалжин суурийн хавтанг огтлох цаг болжээ. Эдгээр суурь хавтанг бэхэлгээний доод хэсэгт бэхэлсэн бөгөөд LED -ийг бөмбөгөрт бэхлэхэд ашигладаг. Би эхлээд бөмбөгөр дээрх таван өөр гурвалжныг хэмжих замаар 5мм (3/16 ) зузаан фанераас суурийн хавтанг хайчилж авав: AAB (30 гурвалжин), BCC (25 гурвалжин), DDE (20 гурвалжин), CDF (40 гурвалжин)), мөн EEE (5 гурвалжин). Тал бүрийн хэмжээ, гурвалжны хэлбэрийг бөмбөгөр тооцоолуур (Домерама) болон зарим геометр ашиглан тодорхойлов. Туршилтын суурь хавтанг jigsaw ашиглан хайчилж авсны дараа би гурвалжингийн загварыг Coral Draw ашиглан зурж, үлдсэн суурийн хавтангуудыг лазер зүсэгчээр хайчилж авав (хамаагүй хурдан!). Хэрэв танд лазер таслагч байхгүй бол та фанер дээр суурийн хавтангуудыг захирагч, транспортер ашиглан зурж, бүгдийг нь jigsaw ашиглан хайчилж болно. Суурийн хавтанг хайчилж авсны дараа бөмбөгрийг эргүүлж, хавтанг модон цавуу ашиглан бөмбөгөр наасан байна.

Алхам 5: Электроникийн тойм

Электроникийн тойм
Электроникийн тойм

Дээрх зурган дээр бөмбөгний электроникийн схемийг үзүүлэв. Arduino Uno нь бөмбөгөр дохиог бичих, уншихад ашиглагддаг. Бөмбөгрийг гэрэлтүүлэхийн тулд RGB LED туузыг бөмбөгөр дээгүүр байрлуулсан бөгөөд ингэснээр 120 гурвалжин тус бүрт LED байрлуулна. LED зурвас хэрхэн ажилладаг талаар мэдээлэл авахыг хүсвэл энэхүү зааварчилгааг үзээрэй. LED тус бүрийг Arduino ашиглан тус тусад нь шийдвэрлэх боломжтой бөгөөд энэ нь туузан дээрх цуваа өгөгдөл, цагийн дохиог гаргадаг (A0 ба A1 зүүг бүдүүвчээс үзнэ үү). Зөвхөн эдгээр зурвас болон эдгээр хоёр дохиогоор та гайхалтай гэрэл гэгээтэй бөмбөг авч болно. Charlieplexing, ээлжийн бүртгэл гэх мэт Arduino -аас олон тооны LED дохио бичих өөр аргууд байдаг.

Бөмбөгөртэй харилцахын тулд би LED тус бүрийн дээр IR мэдрэгч суурилуулсан. Эдгээр мэдрэгчийг ашиглан хэн нэгэн гар бөмбөг дээрх гурвалжинтай ойрхон байгааг илрүүлэхэд ашигладаг. Бөмбөгөр дээрх гурвалжин бүр өөрийн IR мэдрэгчтэй бөгөөд 120 гурвалжин байдаг тул та Arduino -ийн өмнө ямар нэгэн мультиплекс хийх хэрэгтэй болно. Би бөмбөгөр дээрх 120 мэдрэгчийн хувьд 24 сувгийн таван мультиплексор (MUX) ашиглахаар шийдсэн. Хэрэв танил биш бол мультиплекс хийх заавар энд байна. 24 сувгийн MUX нь таван хяналтын дохио шаарддаг. Би Arduino дээр 8-12-р зүүг сонгосон тул портыг удирдах боломжтой байсан (дэлгэрэнгүй мэдээллийг 10-р алхамыг үзнэ үү). MUX хавтангийн гаралтыг 3-7-р зүү ашиглан уншдаг.

Би мөн дуу чимээ гаргахын тулд бөмбөгөр дээр MIDI -ийн таван гаралтыг оруулсан (Алхам 11). Өөрөөр хэлбэл таван хүн бөмбөгөр тоглуулах боломжтой бөгөөд гаралт бүр өөр өөр дуу тоглодог. Arduino дээр ганцхан TX зүү байдаг тул MIDI -ийн таван дохиог демультиплекс хийх шаардлагатай байдаг. MIDI гаралт нь IR мэдрэгчийн уншлагаас өөр хугацаанд үйлдвэрлэгддэг тул би ижил хяналтын дохиог ашигласан.

IR мэдрэгчийн бүх оролтыг Arduino -д уншсаны дараа бөмбөгийг гэрэлтүүлж, дууг тоглуулах боломжтой боловч Arduino -г програмчлах болно. Энэхүү зааварчилгааны 14 -р алхамд надад хэдэн жишээ байна.

Алхам 6: LED -ийг Dome дээр суурилуулах

LED -ийг Dome дээр суурилуулах
LED -ийг Dome дээр суурилуулах
LED -ийг Dome дээр суурилуулах
LED -ийг Dome дээр суурилуулах
LED -ийг Dome дээр суурилуулах
LED -ийг Dome дээр суурилуулах

Бөмбөгөр нь маш том тул гурвалжин бүрт нэг LED байрлуулахын тулд LED туузыг огтлох шаардлагатай. LED бүрийг супер цавуу ашиглан гурвалжин дээр наасан байна. LED -ийн хоёр талд кабелийг бөмбөгөр дамжуулахын тулд суурийн хавтангаар нүх гаргадаг. Дараа нь би LED (5V, газардуулга, цаг, дохио) дээрх контакт бүрт утсыг холбож, утсыг суурийн хавтангаар тэжээнэ. Эдгээр утаснууд нь бөмбөгөр дээрх дараагийн LED -д хүрэх хангалттай урт байхаар таслагдана. Утсыг дараагийн LED руу татаж, процессыг үргэлжлүүлнэ. Би LED -ийг шаардлагатай утсыг багасгах тохиргоогоор холбосон бөгөөд дараа нь Arduino ашиглан LED -ийг шийдвэрлэх нь утга учиртай хэвээр байна. Жижиг хэмжээтэй бөмбөгөр нь тууз хайчлах хэрэгцээг арилгаж, гагнуур хийхэд маш их цаг хэмнэх болно. Өөр нэг сонголт бол ээлжийн бүртгэлтэй тусдаа RGB LED ашиглах явдал юм.

Туузан дээрх цуваа холболтыг Arduino -ийн хоёр зүү (өгөгдөл ба цагны зүү) ашиглан гүйцэтгэдэг. Өөрөөр хэлбэл, бөмбөгийг гэрэлтүүлэх өгөгдлийг өгөгдлийн зүүг орхих үед нэг LED -ээс нөгөө рүү дамжуулдаг. Энэхүү Arduino форумаас өөрчилсөн кодын жишээ энд байна.

// Бөмбөгийг бүхэлд нь нэг өнгөний эрч хүчийг нэмэгдүүлж, бууруулна

#define numLeds 120 // LED тоо // OUTPUT PINS // int clockPin = A1; // цагны зүүг тодорхойлох int dataPin = A0; // өгөгдлийн зүү тодорхойлох // VARIABLES // int red [numLeds]; // LED ногоон зурвасын массивыг эхлүүлэх int green [numLeds]; // Цэнхэр өнгийн LED зурвасын массивыг эхлүүлэх [numLeds]; // LED зурвасын массивыг эхлүүлэх // CONSTANT double scaleA = {0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1, 0.9, 0.8, 0.7, 0.6, 0.5, 0.4, 0.3, 0.2, 0.1}; // LED -ийн эрчим хүчний фракцын хүчингүй тохиргоо () {pinMode (clockPin, OUTPUT); pinMode (dataPin, OUTPUT); memset (улаан, 0, numLeds); memset (ногоон, 0, numLeds); memset (цэнхэр, 0, numLeds); } void updateestring (int redA [numLeds], int greenA [numLeds], int blueA [numLeds]) {for (int i = 0; i <numLeds; i ++) {shiftOut (dataPin, clockPin, MSBFIRST, redA ); shiftOut (dataPin, clockPin, MSBFIRST, greenA ); shiftOut (dataPin, clockPin, MSBFIRST, blueA ); }} void loop () {for (int p = 0; p <20; p ++) // Dome -ийн гэрлийн эрч хүчийг нэмэгдүүлэх давталт {double scale = scaleA [p]; саатал (20); for (int i = 0; i <numLeds; i ++) // бүх LEDS дамжих мөчлөг {улаан = 255 * хуваарь; ногоон = 80 * масштаб; хөх = 0; } шинэчлэлтүүд (улаан, ногоон, цэнхэр); // LED зурвасыг шинэчлэх}}

Алхам 7: Мэдрэгчийн бэхэлгээний дизайн ба хэрэгжилт

Мэдрэгчийн холболтын дизайн ба хэрэгжилт
Мэдрэгчийн холболтын дизайн ба хэрэгжилт
Мэдрэгчийн холболтын дизайн ба хэрэгжилт
Мэдрэгчийн холболтын дизайн ба хэрэгжилт
Мэдрэгчийн холболтын дизайн ба хэрэгжилт
Мэдрэгчийн холболтын дизайн ба хэрэгжилт

Би бөмбөгөнд IR мэдрэгч ашиглахаар шийдсэн. Эдгээр мэдрэгч нь IR LED болон хүлээн авагчтай. Мэдрэгчийн урд объект ороход IR LED -ээс цацраг туяа хүлээн авагч руу тусдаг. Би энэ төслийг Ричардовинагийн зааварчилгаанд суурилсан IR мэдрэгчийг өөрийн гараар хийх замаар эхлүүлсэн. Бүх гагнуур маш удаан үргэлжилсэн тул би eBay -аас 120 IR мэдрэгч худалдаж авсан бөгөөд тус бүр нь дижитал гаралт гаргадаг. Мэдрэгчийн босгыг самбар дээрх потенциометрээр тохируулсан бөгөөд гар нь тэр гурвалжны ойролцоо байх үед л гаралт өндөр байх болно.

Гурвалжин бүр нь LED хавтан, фанер хавтан, LED хавтангаас 2.5 см орчим зайд байрлуулсан сарнисан нийлэг хуудас, IR мэдрэгчээс бүрдэнэ. Гурвалжин бүрийн мэдрэгчийг бөмбөгөр дээрх байрлалаас хамааран таван өнцөгт буюу зургаан өнцөгт хэлбэртэй нимгэн фанер хуудсан дээр суурилуулсан (дээрх зургийг үз). Би IR мэдрэгчийг суурилуулахын тулд IR мэдрэгчийн сууринд цооног өрөмдөж, дараа нь газардуулга ба 5V тээглүүрийг утас ороосон утас, утас боох хэрэгсэл (улаан ба хар утас) -аар холбов. Газар ба 5В-ыг холбосны дараа би бөмбөгөр дамжин өнгөрөхийн тулд гаралт (шар), газардуулга, 5В тус бүр дээр урт утас ороосон утсыг боосон.

Зургаан өнцөгт буюу таван өнцөгт хэт улаан туяаны мэдрэгчийн бэхэлгээг 3D хэвлэсэн холболтын дээд талд бөмбөг рүү эпоксиджуулсан бөгөөд ингэснээр утас нь бөмбөгөр дамжин өнгөрөх боломжтой байв. Мэдрэгчийг холбогч дээр байрлуулснаар би мэдрэгчийн мэдрэмтгий байдлыг хянадаг IR мэдрэгч дээрх потенциометрт хандах, тохируулах боломжтой болсон. Дараагийн алхамд би IR мэдрэгчийн гаралтыг мультиплексортой хэрхэн холбож, Arduino -д уншихыг тайлбарлах болно.

Алхам 8: Multiplexing Sensor Output

Олон талт мэдрэгчийн гаралт
Олон талт мэдрэгчийн гаралт
Олон талт мэдрэгчийн гаралт
Олон талт мэдрэгчийн гаралт
Олон талт мэдрэгчийн гаралт
Олон талт мэдрэгчийн гаралт

Arduino Uno нь зөвхөн 14 дижитал I/O зүү, 6 аналог оролтын зүүтэй бөгөөд 120 мэдрэгчийн дохиог унших ёстой байдаг тул бөмбөгөр бүх дохиог уншихын тулд мультиплексор шаарддаг. Би 24 сувгийн таван мультиплексор бүтээхээр сонгосон бөгөөд тус бүр нь 24 IR туяаны мэдрэгчийг уншдаг (электроникийн тоймыг үзнэ үү). 24 сувгийн MUX нь 8 сувгийн MUX таслах самбар, 16 сувгийн MUX таслах самбар, 2 сувгийн MUX-ээс бүрдэнэ. Зүү толгойг таслах самбар бүрт гагнаж, прототип хавтантай холбох боломжтой болсон. Утас боох хэрэгслийг ашиглан би MUX таслах самбарын газардуулга, 5V ба хяналтын дохионы зүүг холбов.

24 сувгийн MUX нь таван хяналтын дохиог шаарддаг бөгөөд үүнийг би Arduino дээрх 8-12 зүү рүү холбохыг сонгосон. Бүх 24 сувгийн MUX нь Arduino-аас ижил хяналтын дохиог хүлээн авдаг тул би Arduino-ийн тээглүүрээс 24 сувгийн MUX руу утас холбосон. IR мэдрэгчийн дижитал гаралтыг 24 сувгийн MUX оролтын зүүтэй холбосон бөгөөд ингэснээр Arduino руу цувралаар унших боломжтой болно. 120 мэдрэгчийн бүх гаралтанд унших таван тусдаа тээглүүр байдаг тул бөмбөгийг 24 гурвалжингаас бүрдсэн таван тусдаа хэсэгт хуваасан гэж төсөөлөхөд тустай (зураг дээрх бөмбөгний өнгийг шалгаарай).

Arduino порт ашиглан та 8-12-р зүүгээр дамжуулж буй хяналтын дохиог мультиплексор руу хурдан нэмэгдүүлэх боломжтой. Би энд мултиплексорыг ажиллуулах зарим жишээ кодыг хавсаргав.

int numChannel = 24;

// OUTPUTS // int s0 = 8; // MUX хяналт 0 - PORTbD int s1 = 9; // MUX хяналт 1 - PORTb int s2 = 10; // MUX хяналт 2 - PORTb int s3 = 11; // MUX хяналт 3 - PORTb int s4 = 12; // MUX control 4 - PORTb // INPUTS // int m0 = 3; // MUX оролт 0 int m1 = 4; // MUX оролт 1 int m2 = 5; // MUX оролт 2 int m3 = 6; // MUX оролт 3 int m4 = 7; // MUX оролт 4 // VARIABLES // int arr0r; // MUX0 int arr1r -ээс дижитал унших; // MUX1 int arr2r -ээс дижитал унших; // MUX2 int arr3r -аас дижитал унших; // MUX3 int arr4r -аас дижитал унших; // дижитал унших MUX4 void setup () {// нэг удаа ажиллуулахын тулд тохиргооны кодоо энд оруулна уу: DDRB = B11111111; // Arduino pin -ийг 8 -аас 13 хүртэл pinMode (s0, OUTPUT) оролт болгон тохируулдаг; pinMode (s1, OUTPUT); pinMode (s2, OUTPUT); pinMode (s3, OUTPUT); pinMode (s4, OUTPUT); pinMode (m0, INPUT); pinMode (m1, INPUT); pinMode (м2, оролт); pinMode (м3, оролт); pinMode (m4, INPUT); } void loop () {// давтан ажиллуулахын тулд үндсэн кодоо энд оруулна уу: PORTB = B00000000; // (int i = 0; i <numChannel; i ++) {// MUX0 - MUX4 дижитал уншлагын гаралт IR мэдрэгчийн хувьд SET хяналтын голууд. arr0r = digitalRead (m0); // Mux 0 -ээс унших, IR мэдрэгч i arr1r = digitalRead (m1); // Mux 1, IR мэдрэгчээс унших i arr2r = digitalRead (m2); // Mux 2, IR мэдрэгчээс унших i arr3r = digitalRead (m3); // Mux 3 -аас унших, IR мэдрэгч i arr4r = digitalRead (m4); // Mux 4, IR мэдрэгч i -ээс унших // ЭНД ДАРААГҮЙ МОКС ОРУУЛАЛТ, ХАДГАЛАГДАХ БОЛОМЖТОЙ ЮУ ХИЙГЭЭР // PORTB ++; // MUX -ийн хяналтын дохиог нэмэгдүүлэх}}

Алхам 9: Гэрлийг нийлэгээр сарниулах

Акрилаар цацдаг гэрэл
Акрилаар цацдаг гэрэл
Акрилаар цацдаг гэрэл
Акрилаар цацдаг гэрэл
Акрилаар цацдаг гэрэл
Акрилаар цацдаг гэрэл

LED -ээс гэрлийг сарниулахын тулд би тунгалаг нийлэгийг тойрог замын зүлгүүрээр зүлгэв. Зүлгүүрийг нийлэгний хоёр талаас дээгүүр нь 8-р хөдөлгөөнөөр хөдөлгөсөн. Би энэ аргыг "царцсан шил" шүршигч будгаас хамаагүй дээр гэж үзсэн.

Акрилийг зүлгэж, цэвэрлэсний дараа би лазер зүсэгч ашиглан гурвалжинг LED дээр тааруулан хайчилж авлаа. Хэрэв нийлэг хагардаггүй бол нийлэг хайчлах хэрэгсэл эсвэл бүр jigsaw ашиглан нийлэгийг огтлох боломжтой. Нийлэгийг LED дээр 5 мм зузаантай фанер тэгш өнцөгтөөр бэхлээд лазер зүсэгчээр хайчилж авав. Эдгээр жижиг банзыг бөмбөгөр дээрх бэхэлгээнд наасан бөгөөд нийлэг гурвалжинг банзан дээр эпоксидоор хучсан байв.

Алхам 10: MIDI ашиглан бөмбөгөр хөгжим хийх

MIDI ашиглан бөмбөгөр хөгжим хийх
MIDI ашиглан бөмбөгөр хөгжим хийх
MIDI ашиглан бөмбөгөр хөгжим хийх
MIDI ашиглан бөмбөгөр хөгжим хийх
MIDI ашиглан бөмбөгөр хөгжим хийх
MIDI ашиглан бөмбөгөр хөгжим хийх

Би бөмбөгийг дуу гаргах чадвартай байгаасай гэж хүссэн тул бөмбөгөр хэсэг тус бүрт нэг MIDI таван суваг суулгасан. Та эхлээд таван MIDI залгуур худалдаж аваад схемд үзүүлсэн шиг холбох хэрэгтэй (дэлгэрэнгүй мэдээллийг Arduino дэмжлэгийн энэ хичээлийг үзнэ үү).

Arduino Uno дээр ганц дамжуулагч цуваа зүү байдаг (2-р зүү нь TX зүү гэж тэмдэглэгдсэн байдаг), та таван MIDI үүрэнд илгээгдэж буй дохиог мултиплекс хийх хэрэгтэй. Би ижил хяналтын дохиог ашигласан (8-12-р зүү), учир нь MIDI дохио нь IR мэдрэгчийг Arduino-д уншиж байхаас өөр хугацаанд илгээдэг. Эдгээр хяналтын дохиог 8 сувгийн демультиплексор руу илгээдэг бөгөөд ингэснээр та ямар MIDI үүрэнд Arduino-ийн үүсгэсэн MIDI дохиог хүлээн авахыг хянах боломжтой болно. MIDI дохиог Arduino Франсуа Бестийн бүтээсэн гайхалтай MIDI дохионы номын сангаар бүтээжээ. Arduino Uno ашиглан өөр өөр MIDI үүрэнд олон MIDI гаралт үйлдвэрлэх жишээ код энд байна:

#include // MIDI номын санг оруулна уу

#define numChannel 24 // Гурвалжин тутамд IR -ийн тоо #numSections 5 -ийг тодорхойлно // бөмбөг дэх хэсгийн тоо, 24 сувгийн MUX тоо, MIDI үүрний тоо // OUTPUTS // int s0 = 8; // MUX хяналт 0 - PORTbD int s1 = 9; // MUX хяналт 1 - PORTb int s2 = 10; // MUX хяналт 2 - PORTb int s3 = 11; // MUX хяналт 3 - PORTb int s4 = 12; // MUX control 4 - PORTb // INPUTS // int m0 = 3; // MUX оролт 0 int m1 = 4; // MUX оролт 1 int m2 = 5; // MUX оролт 2 int m3 = 6; // MUX оролт 3 int m4 = 7; // MUX оролт 4 // VARIABLES // int arr0r; // MUX0 int arr1r -ээс дижитал унших; // MUX1 int arr2r -ээс дижитал унших; // MUX2 int arr3r -аас дижитал унших; // MUX3 int arr4r -аас дижитал унших; // MUX4 int midArr -аас дижитал унших [numSections]; // int note2play [numSections] тоглогчдын аль нэг нь тэмдэглэл дарсан эсэхээс үл хамааран хадгална уу; // Мэдрэгчийг дарахад [notChannel] = {60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83}; int pauseMidi = 4000; // MIDI_CREATE_DEFAULT_INSTANCE midi дохио хоорондын завсарлага (); void setup () {// нэг удаа ажиллуулахын тулд тохиргооны кодоо энд оруулна уу: DDRB = B11111111; // Arduino тээглүүрүүдийг 8 болгон 13 болгож MIDI.begin (MIDI_CHANNEL_OFF) оролт болгоно; pinMode (s0, OUTPUT); pinMode (s1, OUTPUT); pinMode (s2, OUTPUT); pinMode (s3, OUTPUT); pinMode (s4, OUTPUT); pinMode (m0, INPUT); pinMode (m1, INPUT); pinMode (м2, оролт); pinMode (м3, оролт); pinMode (m4, INPUT); } void loop () {// давтан ажиллуулахын тулд үндсэн кодоо энд оруулна уу: PORTB = B00000000; // (int i = 0; i <numChannel; i ++) {// MUX0 - MUX4 дижитал уншлагын гаралт IR мэдрэгчийн хувьд SET хяналтын голууд. arr0r = digitalRead (m0); // Mux 0 -ээс унших, IR мэдрэгч i arr1r = digitalRead (m1); // Mux 1, IR мэдрэгчээс унших i arr2r = digitalRead (m2); // Mux 2, IR мэдрэгчээс унших i arr3r = digitalRead (m3); // Mux 3 -аас унших, IR мэдрэгч i arr4r = digitalRead (m4); // Mux 4, IR мэдрэгчээс унших i if (arr0r == 0) // 0 хэсгийн мэдрэгчийг хаасан {midArr [0] = 1; // 0 тоглогч тэмдэглэлд хүрсэн тул HI -ийг тоглогч 0 -ийн MIDI гаралт байхаар тохируулаарай note2play [0] = тэмдэглэл ; // Тоглогч 0 -д тоглох тэмдэглэл} if (arr1r == 0) // 1 -р хэсгийн мэдрэгчийг хаасан {midArr [1] = 1; // 0 -р тоглогч тэмдэглэлд хүрсэн тул HI -ийг тоглогч 0 -ийн MIDI гаралт байхаар тохируулаарай note2play [1] = тэмдэглэл ; // 0 -р тоглогчийн хувьд тоглох тэмдэглэл: if (arr2r == 0) // 2 -р хэсгийн мэдрэгчийг хаасан {midArr [2] = 1; // 0 -р тоглогч тэмдэглэлд хүрсэн тул HI -ийг тоглогч 0 -ийн MIDI гаралт байхаар тохируулаарай note2play [2] = тэмдэглэл ; // 0 -р тоглогчийн хувьд тоглох тэмдэглэл: if (arr3r == 0) // 3 -р хэсгийн мэдрэгчийг хаасан {midArr [3] = 1; // 0 -р тоглогч тэмдэглэлд хүрч, HI -ийг тоглуулагчийн 0 MID2 гаралт байхаар тохируулаарай note2play [3] = тэмдэглэл ; // 0 -р тоглогчийн хувьд тоглох тэмдэглэл (хэрэв arr4r == 0) // 4 -р хэсгийн мэдрэгчийг хаасан бол {midArr [4] = 1; // 0 -р тоглогч тэмдэглэлд хүрч, HI -ийг тоглогч 0 -ийн MIDI гаралт байхаар тохируулаарай note2play [4] = тэмдэглэл ; // Тоглогч 0} PORTB ++ дээр тоглох тэмдэглэл; // MUX} шинэчлэх хяналтын дохио} updateMIDI (); } хүчингүй updateMIDI () {PORTB = B00000000; // mux бага бол SET хяналтын тээглүүрүүд if (midArr [0] == 1) // Тоглогч 0 MIDI гаралт {MIDI.sendNoteOn (note2play [0], 127, 1); сааталМикросекунд (pauseMidi); MIDI.sendNoteOff (note2play [0], 127, 1); сааталМикросекунд (pauseMidi); } PORTB ++; // нэмэгдүүлэх MUX if (midArr [1] == 1) // Тоглогч 1 MIDI гаралт {MIDI.sendNoteOn (note2play [1], 127, 1); сааталМикросекунд (pauseMidi); MIDI.sendNoteOff (note2play [1], 127, 1); сааталМикросекунд (pauseMidi); } PORTB ++; // нэмэгдүүлэх MUX if (midArr [2] == 1) // Тоглогч 2 MIDI гаралт {MIDI.sendNoteOn (note2play [2], 127, 1); сааталМикросекунд (pauseMidi); MIDI.sendNoteOff (note2play [2], 127, 1); сааталМикросекунд (pauseMidi); } PORTB ++; // MUX -ийг нэмэгдүүлэх (midArr [3] == 1) // Тоглогч 3 MIDI гаралт {MIDI.sendNoteOn (note2play [3], 127, 1); сааталМикросекунд (pauseMidi); MIDI.sendNoteOff (note2play [3], 127, 1); сааталМикросекунд (pauseMidi); } PORTB ++; // MUX -ийг нэмэгдүүлэх (midArr [4] == 1) // Тоглогч 4 MIDI гаралт {MIDI.sendNoteOn (note2play [4], 127, 1); сааталМикросекунд (pauseMidi); MIDI.sendNoteOff (note2play [4], 127, 1); сааталМикросекунд (pauseMidi); } midArr [0] = 0; midArr [1] = 0; midArr [2] = 0; midArr [3] = 0; midArr [4] = 0; }

Алхам 11: Домыг хүчдэлээр хангах

Dome -ийг тэжээх
Dome -ийг тэжээх
Dome -ийг тэжээх
Dome -ийг тэжээх
Dome -ийг тэжээх
Dome -ийг тэжээх
Dome -ийг тэжээх
Dome -ийг тэжээх

Бөмбөгөрт тэжээх шаардлагатай хэд хэдэн бүрэлдэхүүн хэсгүүд байдаг. Тиймээс худалдан авах шаардлагатай цахилгаан хангамжийг тодорхойлохын тулд бүрэлдэхүүн хэсэг бүрээс авсан өсгөгчийг тооцоолох шаардлагатай болно.

LED зурвас: Би 6.4W/метр зарцуулдаг Ws2801 LED туузны ойролцоогоор 3.75 метрийг ашигласан. Энэ нь 24W (3.75*6.4) хэмжээтэй тохирч байна. Үүнийг ампер болгон хөрвүүлэхийн тулд Power = current*вольт (P = iV) ашиглана, V нь LED зурвасын хүчдэл, энэ тохиолдолд 5V байна. Тиймээс LED -ээс авсан гүйдэл нь 4.8A (24W/5V = 4.8A) байна.

IR мэдрэгч: IR мэдрэгч бүр ойролцоогоор 25 мА, 120 мэдрэгчтэй 3А хэмжээтэй.

Arduino: 100mA, 9V

Мультиплексорууд: Тус бүр нь 16 суваг, 8 сувгийн мультиплексороос бүрдэх таван 24 сувгийн мультиплексор байдаг. 8 суваг, 16 сувгийн MUX тус бүр 100 мА зарцуулдаг. Тиймээс бүх MUX -ийн нийт эрчим хүчний хэрэглээ 1А байна.

Эдгээр бүрэлдэхүүн хэсгүүдийг нэмэхэд нийт эрчим хүчний хэрэглээ 9А орчим байх болно. LED зурвас, IR мэдрэгч, мультиплексор нь 5V оролтын хүчдэлтэй, Arduino нь 9V оролтын хүчдэлтэй байдаг. Тиймээс би 12V 15A тэжээлийн хангамж, 12V -ийг 5V болгон хувиргах 15A buck хөрвүүлэгч, Arduino -д 12V -ийг 9V болгон хөрвүүлэх 3A buck хөрвүүлэгчийг сонгосон.

Алхам 12: Бөөрөнхий бөмбөгний суурь

Дугуй бөмбөгний суурь
Дугуй бөмбөгний суурь
Дугуй бөмбөгний суурь
Дугуй бөмбөгний суурь
Дугуй бөмбөгний суурь
Дугуй бөмбөгний суурь

Цахилгаан хэрэгсэлд хялбар нэвтрэхийн тулд бөмбөгөр нь дугуй хэлбэртэй модон дээр байрладаг бөгөөд дундуур нь таван өнцөгт хайчилж авдаг. Энэхүү дугуй суурийг бий болгохын тулд модон CNC чиглүүлэгч ашиглан 4х6 хэмжээтэй фанер хайчилж авав. Энэ алхамд jigsaw ашиглаж болно. Суурийг хайчилж авсны дараа бөмбөгийг 2х3 хэмжээтэй жижиг модон модоор бэхлэв.

Суурийн дээр би эпокси бүхий тэжээлийн хангамж, ПХБ-ийн тусгаарлагчтай MUX ба Бак хувиргагчийг холбосон. Тусгаарлагчийг E-Z Lok утас адаптер ашиглан фанер дээр бэхэлсэн.

Алхам 13: Пентагоны бөмбөгөр бааз

Пентагоны бөмбөгөр бааз
Пентагоны бөмбөгөр бааз
Пентагоны бөмбөгөр бааз
Пентагоны бөмбөгөр бааз
Пентагоны бөмбөгөр бааз
Пентагоны бөмбөгөр бааз

Дугуй суурин дээрээс гадна би бөмбөгөрт зориулж таван өнцөгт суурийг барьсан бөгөөд доод талд нь шилэн цонхтой. Энэхүү суурь ба харагдах цонхыг модон CNC чиглүүлэгчээр зүссэн фанераар хийсэн байв. Таван тал нь модон банзаар хийгдсэн бөгөөд нэг тал нь нүхтэй бөгөөд холбогчийг дамжуулдаг. Металл хаалт, 2х3 блокны холболтыг ашиглан модон банзыг таван өнцөгт сууринд бэхлэнэ. Цахилгаан унтраалга, MIDI холбогч, USB холбогчийг лазер таслагч ашиглан миний үүсгэсэн урд самбарт хавсаргасан болно. Пентагон суурийг бүхэлд нь 12 -р алхамд тайлбарласан дугуй сууринд шургуулна.

Би бөмбөгний ёроолд цонх суулгасан бөгөөд ингэснээр хүн бүр бөмбөг рүү харж электрон бараа харах боломжтой болно. Нүдний шилийг лазер таслагчаар нийлэг зүсэлтээр хийсэн бөгөөд дугуй хэлбэртэй фанер руу эпоксидоор хучигдсан байдаг.

Алхам 14: Dome програмчлах

Домыг програмчлах хязгааргүй боломжууд байдаг. Кодын мөчлөг бүр нь IR мэдрэгчээс ирсэн дохиог хүлээн авдаг бөгөөд энэ нь хэн нэгэн хүрч байсан гурвалжинг харуулдаг. Энэхүү мэдээллийн тусламжтайгаар та бөмбөгийг ямар ч RGB өнгөөр будаж,/эсвэл MIDI дохио өгөх боломжтой. Домбонд зориулж бичсэн програмуудын цөөн хэдэн жишээг энд харуулав.

Домбыг өнгөөр будах: Гурвалжин бүр хүрэхэд дөрвөн өнгөөр эргэлддэг. Өнгө өөрчлөгдөхөд арпеджио тоглодог. Энэхүү програмын тусламжтайгаар та бөмбөгийг олон мянган янзаар будаж болно.

Dome хөгжим: Бөмбөгөр нь таван өнгөөр будаж, хэсэг бүр нь өөр өөр MIDI гаралттай тохирч байна. Хөтөлбөрт гурвалжин бүр ямар тэмдэглэл тоглохыг сонгож болно. Би бөмбөгөр оройноос С дундаас эхэлж гурвалжин суурь руу ойртох тусам давирхайг нэмэгдүүлэхийг сонгосон. Таван гаралттай тул энэ програм нь олон хүн бөмбөгөр тоглуулахад тохиромжтой. MIDI хэрэгсэл эсвэл MIDI програм хангамжийг ашиглан эдгээр MIDI дохиог ямар ч багаж шиг дуугаргах боломжтой.

Саймон: Би ой санамжийг гэрэлтүүлэх сонгодог тоглоом болох Саймоны тухай бичсэн. Санамсаргүй гэрлийн дарааллыг бүхэлд нь бөмбөгөр дээр нэг нэгээр нь гэрэлтүүлдэг. Алхам бүрт тоглогч дарааллыг хуулбарлах ёстой. Хэрэв тоглогч дараалалтай зөв таарч байвал нэмэлт гэрэл дараалалд нэмэгдэнэ. Өндөр оноог бөмбөгрийн нэг хэсэгт хадгалдаг. Энэ тоглоом нь олон хүнтэй тоглоход маш хөгжилтэй байдаг.

Понг: Бөмбөгөр дээр понг тоглож яагаад болохгүй гэж? Бөмбөг бөмбөг бөмбөгийг сэлүүрийг цохих хүртэл тархдаг. Үүнийг хийх үед сэлүүр бөмбөгийг оносон болохыг харуулсан MIDI дохио гарч ирдэг. Нөгөө тоглогч бөмбөгийг буцааж цохихын тулд сэлүүрийг бөмбөгөр ёроолын дагуу чиглүүлэх ёстой.

Алхам 15: Дууссан бөмбөгний гэрэл зургууд

Дууссан бөмбөгний гэрэл зургууд
Дууссан бөмбөгний гэрэл зургууд
Дууссан бөмбөгний гэрэл зургууд
Дууссан бөмбөгний гэрэл зургууд
Дууссан бөмбөгний гэрэл зургууд
Дууссан бөмбөгний гэрэл зургууд
Дууссан бөмбөгний гэрэл зургууд
Дууссан бөмбөгний гэрэл зургууд
Arduino тэмцээн 2016
Arduino тэмцээн 2016
Arduino тэмцээн 2016
Arduino тэмцээн 2016

2016 оны Arduino тэмцээний гол шагнал

Ремикс уралдаан 2016
Ремикс уралдаан 2016
Ремикс уралдаан 2016
Ремикс уралдаан 2016

2016 оны ремиксийн уралдааны хоёрдугаар шагнал

2016 оны Glow Contest -ийг хий
2016 оны Glow Contest -ийг хий
2016 оны Glow Contest -ийг хий
2016 оны Glow Contest -ийг хий

2016 оны Make It Glow уралдааны хоёрдугаар шагнал

Зөвлөмж болгож буй: