Orodha ya maudhui:

Dome ya LED inayoingiliana ya Gome: Hatua 15 (na Picha)
Dome ya LED inayoingiliana ya Gome: Hatua 15 (na Picha)

Video: Dome ya LED inayoingiliana ya Gome: Hatua 15 (na Picha)

Video: Dome ya LED inayoingiliana ya Gome: Hatua 15 (na Picha)
Video: Я ОДЕРЖИМЫЙ ДЕМОНАМИ 2024, Julai
Anonim
Image
Image
Dome ya LED inayoingiliana
Dome ya LED inayoingiliana
Dome ya LED inayoingiliana
Dome ya LED inayoingiliana
Dome ya LED inayoingiliana
Dome ya LED inayoingiliana

Niliunda kuba ya geodesic iliyo na pembetatu 120 na LED na sensa kwenye kila pembetatu. Kila LED inaweza kushughulikiwa peke yake na kila sensorer imewekwa haswa kwa pembetatu moja. Dome imewekwa na Arduino kuwasha na kutoa ishara ya MIDI kulingana na pembetatu ipi unaweka mkono wako.

Niliunda dome kuwa onyesho la kufurahisha ambalo huwafanya watu kupendezwa na mwanga, umeme, na sauti. Kwa sababu kuba hugawanyika vizuri katika sehemu tano, nilitengeneza dome kuwa na matokeo matano tofauti ya MIDI ambayo kila mmoja anaweza kuwa na sauti tofauti. Hii inafanya dome kuwa chombo kubwa cha muziki, bora kwa kucheza muziki na watu wengi wakati huo huo. Mbali na kucheza muziki, pia nilipanga dome kwa maonyesho nyepesi na kucheza wimbo wa Simon na Pong. Muundo wa mwisho ni zaidi ya kipenyo cha mita na urefu wa 70cm, na kimsingi umejengwa kwa mbao, akriliki, na sehemu zilizochapishwa za 3D.

Kuna maagizo kadhaa mazuri kwenye meza na cubes za LED ambazo zilinihamasisha kuanza mradi huu. Walakini, nilitaka kujaribu kupanga LED kwenye jiometri tofauti. Sikuweza kufikiria muundo bora wa mradi kuliko kuba ya geodesic, ambayo pia imeandikwa vizuri kwenye Maagizo. Kwa hivyo mradi huu ni remix / mashup ya meza za LED na nyumba za geodesic. Hapo chini kuna viungo vya meza ya LED na Maagizo ya kuba ya geodesic ambayo niliangalia mwanzoni mwa mradi.

Jedwali na cubes za 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-…

Dome ya Geodesic:

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

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

Hatua ya 1: Orodha ya Ugavi

Orodha ya Ugavi
Orodha ya Ugavi
Orodha ya Ugavi
Orodha ya Ugavi
Orodha ya Ugavi
Orodha ya Ugavi

Vifaa:

1. Mbao kwa vipande vya kuba na msingi wa kuba (kiasi kinategemea aina na saizi ya kuba)

2. Ukanda wa LED unaoweza kusemwa (16.4ft / 5m Rangi inayowasilishwa ya Strip ya Pixel 160leds Ws2801 Dc5v)

3. Arduino Uno (Atmega328 - wamekusanyika)

4. Bodi ya mfano (Penta Angel Double-Side Prototype PCB Universal (7x9cm))

5. Akriliki kwa kutawanya LED

Ugavi wa umeme (Aiposen 110 / 220V hadi DC12V 30A 360W Badilisha Dereva wa Ugavi wa Umeme)

7. Kubadilisha Buck kwa Arduino (RioRand LM2596 DC-DC Buck Converter 1.23V-30V)

8. Kubadilisha Buck kwa LED na sensorer (DROK Mini Electric Buck Voltage Converter 15A)

Sensorer 120 za IR (Moduli ya Sensor ya Kuzuia Kizuizi cha infrared)

10. Multiplexers tano za kituo (Analog / Digital MUX Breakout - CD74HC4067)

11. Multiplexers sita za kituo (Multiplexer Breakout - 8 Channel (74HC4051))

12. Multiplexers tano za kituo (MAX4544CPA +)

13. Waya ya kufungia waya (PCB Solder 0.25mm Bati iliyofunikwa na Kamba ya Shaba Dia Kufunga kwa waya 305M 30AWG Nyekundu)

14. Hook-up waya (Msingi Mango, 22 AWG)

15. Vichwa vya pini (Gikfun 1 x 40 Pin 2.54mm Single Row Break Breakway Male Pin Header)

16. Mikoba mitano ya MIDI (MIDI Jack ya urafiki na mkate (5-pin DIN))

17. Kuzuia kumi kwa 220ohm kwa vifurushi vya MIDI

18. Spacers za kusimama kwa kuweka umeme kwenye dome (Stand-off Spacer Hex M3 Kiume x M3 Kike)

19. Adapta za nyuzi kuungana na kuni (E-Z Lok Threaded Insert, Brass, Knife Thread)

20. Epoxy au Gorilla Superglue

21. Mkanda wa umeme

22. Solder

Zana:

1. Kituo cha Soldering

2. Kuchimba nguvu

3. Mzunguko wa mviringo

4. Mtembezi wa mdomo

5. Jig aliona

6. Miter aliona

7. Protractor

8. Printa ya 3D

9. Wakata waya

10. Chombo cha kufunika waya

11. Laser cutter ya kukata sahani za LED (hiari)

12. duka la duka la CNC kwa msingi wa kuba (hiari)

Hatua ya 2: Kubuni Dome ya Geodesic

Kubuni Dome ya Geodesic
Kubuni Dome ya Geodesic
Kubuni Dome ya Geodesic
Kubuni Dome ya Geodesic

Kama nilivyosema kwenye utangulizi, kuna vyanzo kadhaa mkondoni vya kujenga kuba yako ya kijiografia. Tovuti hizi hutoa mahesabu ya kuba ambayo huamua urefu wa kila upande (i.e. strut) na idadi ya viunganisho vinavyohitajika kwa aina yoyote ya kuba ambayo unataka kujenga. Ugumu wa kuba ya kijiografia (i.e. wiani wa pembetatu) imeainishwa na darasa lake (1V, 2V, 3V, na kadhalika), na ugumu wa juu unakuwa ukaribu bora wa uso kamili wa duara. Ili kujenga kuba yako mwenyewe, lazima kwanza uchague kipenyo cha dome na darasa.

Nilitumia tovuti inayoitwa Domerama kunisaidia kubuni dome ya 4V ambayo ilikatwa hadi 5/12 ya uwanja na eneo la 40cm. Kwa aina hii ya kuba, kuna vipande sita vya urefu tofauti:

30 X "A" - 8.9cm

30 X "B" - 10.4cm

50 X "C" - 12.4cm

40 X "D" - 12.5cm

20 X "E" - 13.0cm

20 X "F" - 13.2cm

Hiyo ni jumla ya nyuzi 190 zinazoongeza hadi 2223cm (73 ft) ya nyenzo. Nilitumia mbao za pine za 1x3 (3/4 "× 2-1 / 2") kwa struts katika dome hii. Ili kuunganisha struts, nilitengeneza na viungio vya 3D vilivyochapishwa kwa kutumia Autocad. Faili za STL zinapatikana kupakua mwishoni mwa hatua hii. Idadi ya viunganisho kwa kuba ya 4V 5/12 ni:

20 X 4-kontakt

6 X 5-kontakt

45 X 6-kontakt

Katika hatua inayofuata, ninaelezea jinsi dome hii imejengwa na vipande vya mbao na viunganisho vya 3D vilivyochapishwa nilivyobuni.

Hatua ya 3: Kuunda Dome na Struts na Viunganishi

Kuunda Dome na Struts na Viunganishi
Kuunda Dome na Struts na Viunganishi
Kuunda Dome na Struts na Viunganishi
Kuunda Dome na Struts na Viunganishi
Kuunda Dome na Struts na Viunganishi
Kuunda Dome na Struts na Viunganishi
Kuunda Dome na Struts na Viunganishi
Kuunda Dome na Struts na Viunganishi

Kutumia mahesabu kutoka Domerama kwa kuba ya 4V 5/12, nilikata struts kwa kutumia msumeno wa mviringo. Vipande 190 viliwekwa lebo na kuwekwa kwenye sanduku baada ya kukata. Viunganishi 71 (20 viunganishi vinne, viunganishi 6 vitano, na viunganishi 45 sita) vilichapishwa 3D kwa kutumia Makerbot. Vipande vya kuni viliingizwa ndani ya viunganishi kulingana na mchoro ulioundwa na Domerama. Nilianza ujenzi kutoka juu na nikahamia nje kwa radially.

Baada ya mikanda yote kushikamana, niliondoa strut moja kwa wakati na kuongeza epoxy kwenye kuni na kiunganishi. Viunganishi vilibuniwa kuwa na kubadilika kwa jinsi walivyounganisha viunga, kwa hivyo ilikuwa muhimu kuangalia ulinganifu wa kuba kabla ya kuongeza epoxy yoyote.

Hatua ya 4: Kukata Laser na Kupanda Sahani za Msingi

Laser Kukata na Kupandisha Sahani za Msingi
Laser Kukata na Kupandisha Sahani za Msingi
Laser Kukata na Kupandisha Sahani za Msingi
Laser Kukata na Kupandisha Sahani za Msingi
Laser Kukata na Kupandisha Sahani za Msingi
Laser Kukata na Kupandisha Sahani za Msingi
Laser Kukata na Kupandisha Sahani za Msingi
Laser Kukata na Kupandisha Sahani za Msingi

Sasa kwa kuwa mifupa ya kuba imejengwa, ni wakati wa kukata bamba za pembetatu. Sahani hizi za msingi zimeambatanishwa chini ya vipande, na hutumiwa kuweka LED kwenye dome. Hapo awali nilikata mabamba ya msingi kutoka kwa plywood nene ya 5mm (3/16”) kwa kupima pembetatu tano tofauti ambazo ziko kwenye kuba: AAB (pembetatu 30), BCC (pembetatu 25), DDE (pembetatu 20), CDF (pembetatu 40)), na EEE (pembetatu 5). Vipimo vya kila upande na umbo la pembetatu ziliamuliwa kwa kutumia kikokotoo cha kuba (Domerama) na jiometri fulani. Baada ya kukata besi za jaribio na jigsaw, nilichora muundo wa pembetatu kwa kutumia Coral Draw, na kukata mabamba ya msingi iliyobaki na mkataji wa laser (haraka sana!). Ikiwa huna ufikiaji wa mkataji wa laser, unaweza kuteka bamba za msingi kwenye plywood kwa kutumia rula na protractor na kuzikata zote na jigsaw. Mara bamba za msingi zinapokatwa, kuba hiyo hupinduliwa na sahani hutiwa kwenye gombo kwa kutumia gundi ya kuni.

Hatua ya 5: Muhtasari wa Elektroniki

Muhtasari wa Elektroniki
Muhtasari wa Elektroniki

Imeonyeshwa kwenye takwimu hapo juu ni muundo wa vifaa vya elektroniki kwa kuba. Arduino Uno hutumiwa kwa kuandika na kusoma ishara kwa kuba. Ili kuwasha dome, ukanda wa LED wa RGB unaendeshwa juu ya kuba ili LED iwe imewekwa katika kila pembetatu 120. Kwa habari juu ya jinsi mkanda wa LED unavyofanya kazi, angalia hii inayoweza kufundishwa. Kila LED inaweza kushughulikiwa kando kwa kutumia Arduino, ambayo hutoa data ya serial na ishara ya saa kwa ukanda (angalia pini ya A0 na A1 kwa skimu). Ukiwa na ukanda na ishara hizi mbili peke yako, unaweza kuwa na taa ya kushangaza ya kuba. Kuna njia zingine za kwenda juu ya kuandika ishara kwa LED nyingi kutoka Arduino, kama vile Charlieplexing na rejista za kuhama.

Ili kuingiliana na kuba, niliweka kihisi cha IR juu ya kila LED. Sensorer hizi hutumiwa kugundua wakati mkono wa mtu uko karibu na pembetatu kwenye kuba. Kwa sababu kila pembetatu kwenye dome ina sensorer yake ya IR na kuna pembetatu 120, itabidi ufanye aina kadhaa ya kuzidisha mbele ya Arduino. Niliamua kutumia anuwai ya vituo 24 (MUX) kwa sensorer 120 kwenye dome. Hapa kuna mafunzo juu ya kuzidisha, ikiwa haujui. Kituo 24 cha MUX kinahitaji ishara tano za kudhibiti. Nilichagua pini 8-12 kwenye Arduino, kwa hivyo ningeweza kufanya ujanja wa bandari (angalia Hatua ya 10 kwa habari zaidi). Pato la bodi za MUX husomwa kwa kutumia pini 3-7.

Nilijumuisha pia matokeo matano ya MIDI kwenye kuba ili iweze kutoa sauti (Hatua ya 11). Kwa maneno mengine, watu watano wanaweza kucheza kuba wakati huo huo na kila pato likicheza sauti tofauti. Kuna pini moja tu ya TX kwenye Arduino, kwa hivyo ishara tano za MIDI zinahitaji kutafakari. Kwa sababu pato la MIDI linazalishwa kwa wakati tofauti na usomaji wa sensa ya IR, nilitumia ishara sawa za kudhibiti.

Baada ya pembejeo zote za sensa ya IR kusomwa ndani ya Arduino, kuba inaweza kuwasha na kucheza sauti hata hivyo ukipanga Arduino. Nina mifano michache katika Hatua ya 14 ya hii inayoweza kufundishwa.

Hatua ya 6: Kuweka LED kwenye Dome

Kuweka LED kwenye Dome
Kuweka LED kwenye Dome
Kuweka LED kwenye Dome
Kuweka LED kwenye Dome
Kuweka LED kwenye Dome
Kuweka LED kwenye Dome

Kwa sababu kuba ni kubwa sana, ukanda wa LED unahitaji kukatwa ili kuweka LED moja kwenye kila pembetatu. Kila LED imewekwa kwenye pembetatu kwa kutumia gundi kubwa. Kwa upande wowote wa LED, shimo limepigwa kupitia bamba la msingi kwa nyaya zinazoendeshwa kupitia kuba. Kisha nikauza waya wa kunasa kwenye kila mawasiliano kwenye LED (5V, ardhi, saa, ishara) na kulisha waya kupitia bamba la msingi. Waya hizi hukatwa ili ziwe na urefu wa kutosha kufikia LED inayofuata kwenye kuba. Waya huvutwa kupitia LED inayofuata, na mchakato unaendelea. Niliunganisha LEDs katika usanidi ambao utapunguza kiwango cha waya kinachohitajika wakati bado ina maana ya kushughulikia LEDs kutumia Arduino baadaye. Dome ndogo ingeondoa haja ya kukata ukanda na kuokoa muda mwingi wa kutengeneza. Chaguo jingine ni kutumia RGB LED tofauti na rejista za mabadiliko.

Mawasiliano ya serial kwa ukanda hupatikana kwa kutumia pini mbili (data na pini ya saa) kutoka Arduino. Kwa maneno mengine, data ya kuwasha dome hupitishwa kutoka kwa LED moja hadi nyingine wakati inacha pini ya data. Hapa kuna nambari ya mfano iliyobadilishwa kutoka kwa jukwaa hili la Arduino:

// Fanya dome nzima kuongezeka na kupunguza kiwango cha rangi moja

#fafanua Nambari za Namba 120 // Idadi ya LEDs // OPPUT PINS // int clockPin = A1; // fafanua pini ya saa int dataPin = A0; // fafanua pini ya data // MBALIMBALI // int nyekundu [numLeds]; // Anzisha safu ya ukanda wa LED wa kijani kibichi [numLeds]; // Anzisha safu ya ukanda wa LED ndani ya bluu [numLeds]; // Anzisha safu ya mkanda wa 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, 0.3, 0.2, 0.1}; // sehemu ya ukali wa usanidi batili wa LED () {pinMode (clockPin, OUTPUT); pinMode (dataPin, OUTPUT); memset (nyekundu, 0, numLeds); memset (kijani, 0, numLeds); memset (bluu, 0, numLeds); } uppdatering tupu (int redA [numLeds], int greenA [numLeds], int blueA [numLeds]) {kwa (int i = 0; i <numLeds; i ++) {shiftOut (dataPin, clockPin, MSBFIRST, redA ); shiftOut (dataPin, clockPin, MSBFIRST, kijaniA ); shiftOut (dataPin, clockPin, MSBFIRST, bluuA ); }} kitanzi batili () {for (int p = 0; p <20; p ++) // kitanzi kwa kuongeza mwangaza wa mwangaza wa kuba {double scale = scaleA [p]; kuchelewesha (20); kwa (int i = 0; i <numLeds; i ++) // mzunguko kupitia LED zote {nyekundu = 255 * wadogo; kijani = kiwango cha 80 *; bluu = 0; } uppdatering (nyekundu, kijani kibichi, bluu); // sasisho lililoongozwa}

Hatua ya 7: Uundaji wa Mlima wa Sensor na Utekelezaji

Ubunifu wa Mlima wa Sensor na Utekelezaji
Ubunifu wa Mlima wa Sensor na Utekelezaji
Ubunifu wa Mlima wa Sensor na Utekelezaji
Ubunifu wa Mlima wa Sensor na Utekelezaji
Ubunifu wa Mlima wa Sensor na Utekelezaji
Ubunifu wa Mlima wa Sensor na Utekelezaji

Niliamua kutumia sensorer za IR kwa kuba. Sensorer hizi zina IR LED na mpokeaji. Wakati kitu kinapofika mbele ya sensa, mionzi mingine ya IR kutoka kwa IR IR inaonyeshwa kuelekea mpokeaji. Nilianza mradi huu kwa kutengeneza sensorer zangu za IR, ambazo zilitokana na maagizo ya Richardouvina. Uuzaji wote ulichukua muda mrefu sana, kwa hivyo nilinunua sensorer 120 za IR kutoka eBay ambazo kila moja hutoa pato la dijiti. Kizingiti cha sensor imewekwa na potentiometer kwenye ubao ili pato liwe juu tu wakati mkono uko karibu na pembetatu hiyo.

Kila pembetatu ina bamba ya LED ya plywood, karatasi ya akriliki iliyoenea imewekwa karibu 2.5cm juu ya bamba la LED, na sensa ya IR. Sensor ya kila pembetatu ilikuwa imewekwa kwenye karatasi ya plywood nyembamba iliyoundwa na pentagon au hexagon kulingana na nafasi kwenye kuba (angalia takwimu hapo juu). Nilichimba mashimo kwenye wigo wa sensorer ya IR ili kuweka sensorer za IR, kisha nikaunganisha ardhi na pini 5V na waya wa kufunika waya na zana ya kufunika waya (waya nyekundu na nyeusi). Baada ya kuunganisha ardhi na 5V, nilifunga waya mrefu wa kufunga waya kwenye kila pato (njano), ardhi, na 5V kukimbia kwenye kuba.

Hexagon au milima ya sensa ya IR ya pentagon kisha ilipelekwa kwenye kuba, hapo juu juu ya viunganisho vya 3D vilivyochapishwa, ili waya iweze kupita kwenye kuba. Kwa kuwa na sensorer juu ya viunganishi, niliweza pia kupata na kurekebisha potentiometers kwenye sensorer za IR zinazodhibiti unyeti wa sensorer. Katika hatua inayofuata, nitaelezea jinsi matokeo ya sensorer za IR yameunganishwa na multiplexers na kusoma katika Arduino.

Hatua ya 8: Pato la Sensor ya Multiplexing

Pato la Sensor ya Multiplexing
Pato la Sensor ya Multiplexing
Pato la Sensor ya Multiplexing
Pato la Sensor ya Multiplexing
Pato la Sensor ya Multiplexing
Pato la Sensor ya Multiplexing

Kwa sababu Arduino Uno ina pini 14 tu za I / O za dijiti na pini 6 za pembejeo za analog na kuna ishara 120 za sensa ambazo zinapaswa kusomwa, kuba hiyo inahitaji multiplexers kusoma katika ishara zote. Nilichagua kujenga vituo vingi vya njia 24, kila moja ikisoma sensorer 24 za IR (angalia picha ya muhtasari wa elektroniki). Kituo cha 24 MUX kina bodi ya kuzuka ya MUX ya 8, bodi ya kuzuka ya MUX ya 16, na MUX-channel 2. Vichwa vya pini viliuzwa kwa kila bodi ya kuzuka ili waweze kuunganishwa na bodi ya mfano. Kutumia zana ya kufunika waya, kisha nikaunganisha ardhi, 5V, na pini za ishara ya kudhibiti bodi za kuzuka za MUX.

MUX ya kituo cha 24 inahitaji ishara tano za kudhibiti, ambazo nilichagua kuunganisha ili kubandika 8-12 kwenye Arduino. Vituo vyote vitano vya MUX vinapata ishara sawa za kudhibiti kutoka Arduino kwa hivyo niliunganisha waya kutoka kwa pini za Arduino hadi MUX ya kituo cha 24. Matokeo ya dijiti ya sensorer za IR yameunganishwa na pini za kuingiza za MUX-chaneli 24 ili ziweze kusomwa kwa mfululizo kwa Arduino. Kwa sababu kuna pini tano tofauti za kusoma katika matokeo yote ya sensorer 120, ni muhimu kufikiria kuba ikigawanywa katika sehemu tano tofauti zilizo na pembetatu 24 (angalia rangi za kuba kwenye kielelezo).

Kutumia udanganyifu wa bandari ya Arduino, unaweza kuongeza haraka ishara za kudhibiti zilizotumwa na pini 8-12 kwa multiplexers. Nimeambatanisha nambari fulani ya mfano ya kutumia multiplexers hapa:

NambariChannel = 24;

// MABADILIKO // int s0 = 8; // Udhibiti wa MUX 0 - PORTbD int s1 = 9; // Udhibiti wa MUX 1 - PORTb int s2 = 10; // MUX kudhibiti 2 - PORTb int s3 = 11; // MUX kudhibiti 3 - PORTb int s4 = 12; // MUX kudhibiti 4 - PORTb // INPUTS // int m0 = 3; // Uingizaji wa MUX 0 int m1 = 4; // Uingizaji wa MUX 1 int m2 = 5; // Uingizaji wa MUX 2 int m3 = 6; // Uingizaji wa MUX 3 int m4 = 7; // Uingizaji wa MUX 4 // VARIABLES // int arr0r; // kusoma kwa dijiti kutoka MUX0 int arr1r; // kusoma kwa dijiti kutoka MUX1 int arr2r; // kusoma kwa dijiti kutoka MUX2 int arr3r; // kusoma kwa dijiti kutoka MUX3 int arr4r; // kusoma kwa dijiti kutoka kwa usanidi batili wa MUX4 () {// weka nambari yako ya usanidi hapa, kukimbia mara moja: DDRB = B11111111; // huweka pini za Arduino 8 hadi 13 kama pembejeo pinMode (s0, OUTPUT); pinMode (s1, OUTPUT); pinMode (s2, OUTPUT); pinMode (s3, OUTPUT); pinMode (s4, OUTPUT); pinMode (m0, INPUT); pinMode (m1, INPUT); pinMode (m2, INPUT); pinMode (m3, INPUT); pinMode (m4, INPUT); } kitanzi batili () {// weka nambari yako kuu hapa, kuendesha mara kwa mara: PORTB = B00000000; // Pini za kudhibiti SET za mux chini kwa (int i = 0; i <numChannel; i ++) {// Usomaji wa dijiti wa MUX0 - MUX4 kwa sensa ya IR i // Ikiwa sensa ya IR ni LO, pembetatu inaguswa na mchezaji. arr0r = kusoma kwa dijiti (m0); // kusoma kutoka kwa Mux 0, sensor ya IR i arr1r = digitalRead (m1); // kusoma kutoka kwa Mux 1, sensor ya IR i arr2r = digitalRead (m2); // kusoma kutoka kwa Mux 2, sensor ya IR i arr3r = digitalRead (m3); // kusoma kutoka kwa Mux 3, sensor ya IR i arr4r = digitalRead (m4); // kusoma kutoka kwa Mux 4, sensa ya IR i // FANYA KITU KWA KIINGILIO ZA MUX AU DUKA KWA UWANGO HAPA // PORTB ++; Ishara za // nyongeza ya MUX}}

Hatua ya 9: Kueneza Mwanga na Akriliki

Mwanga wa Kueneza na Akriliki
Mwanga wa Kueneza na Akriliki
Mwanga wa Kueneza na Akriliki
Mwanga wa Kueneza na Akriliki
Mwanga wa Kueneza na Akriliki
Mwanga wa Kueneza na Akriliki

Ili kueneza nuru kutoka kwa LED, nilitia akriliki ya uwazi na sander ya mzunguko wa orbital. Sander ilihamishwa juu ya pande zote mbili za akriliki kwa mwendo wa takwimu-8. Niliona njia hii kuwa bora zaidi kuliko rangi ya dawa ya "glasi iliyohifadhiwa".

Baada ya mchanga na kusafisha akriliki, nilitumia mkataji wa laser kukata pembetatu ili kutoshea juu ya LED. Inawezekana kukata akriliki kwa kutumia zana ya kukata akriliki au hata jigsaw ikiwa akriliki haifariki. Akriliki ilifanyika juu ya taa za LED na mistari minene ya plywood pia iliyokatwa na mkataji wa laser. Vibao hivi vidogo vilikuwa vimetundikwa kwa vipande kwenye kuba, na pembetatu za akriliki zilipandishwa kwenye mbao.

Hatua ya 10: Kufanya Muziki na Dome Kutumia MIDI

Kufanya Muziki na Dome Kutumia MIDI
Kufanya Muziki na Dome Kutumia MIDI
Kufanya Muziki na Dome Kutumia MIDI
Kufanya Muziki na Dome Kutumia MIDI
Kufanya Muziki na Dome Kutumia MIDI
Kufanya Muziki na Dome Kutumia MIDI

Nilitaka dome liwe na uwezo wa kutoa sauti, kwa hivyo niliweka njia tano za MIDI, moja kwa kila sehemu ndogo ya kuba. Kwanza unahitaji kununua viroba vitano vya MIDI na uiunganishe kama inavyoonekana katika mpango (angalia mafunzo haya kutoka kwa msaada wa Arduino kwa habari zaidi).

Kwa sababu kuna pini moja tu ya kusambaza serial kwenye Arduino Uno (pini 2 iliyoitwa kama pini ya TX), unahitaji kuondoa -kuzidisha ishara zinazotumwa kwa mikoba mitano ya MIDI. Nilitumia ishara sawa za kudhibiti (pini 8-12), kwa sababu ishara za MIDI zinatumwa kwa wakati tofauti na wakati sensorer za IR zinasomwa kwenye Arduino. Ishara hizi za kudhibiti zinatumwa kwa demultiplexer ya njia 8 ili uweze kudhibiti ambayo jack ya MIDI inapokea ishara ya MIDI iliyoundwa na Arduino. Ishara za MIDI zilitengenezwa na Arduino na maktaba ya ishara kali ya MIDI iliyoundwa na Francois Best. Hapa kuna nambari ya mfano ya kutoa matokeo mengi ya MIDI kwa viroba tofauti vya MIDI na Arduino Uno:

# pamoja na // ni pamoja na maktaba ya MIDI

#fafanua nambariChannel 24 // Idadi ya IR kwa pembetatu #fafanua idadiSura ya 5 // idadi ya sehemu kwenye kuba, idadi ya MUCH 24channel, idadi ya jacks za MIDI // OUTPUTS // int s0 = 8; // Udhibiti wa MUX 0 - PORTbD int s1 = 9; // Udhibiti wa MUX 1 - PORTb int s2 = 10; // MUX kudhibiti 2 - PORTb int s3 = 11; // MUX kudhibiti 3 - PORTb int s4 = 12; // MUX kudhibiti 4 - PORTb // INPUTS // int m0 = 3; // Uingizaji wa MUX 0 int m1 = 4; // Uingizaji wa MUX 1 int m2 = 5; // Uingizaji wa MUX 2 int m3 = 6; // Uingizaji wa MUX 3 int m4 = 7; // Uingizaji wa MUX 4 // VARIABLES // int arr0r; // kusoma kwa dijiti kutoka MUX0 int arr1r; // kusoma kwa dijiti kutoka MUX1 int arr2r; // kusoma kwa dijiti kutoka MUX2 int arr3r; // kusoma kwa dijiti kutoka MUX3 int arr4r; // kusoma kwa dijiti kutoka MUX4 int midArr [numSections]; // Hifadhi ikiwa noti imesisitizwa au la na mmoja wa wachezaji int note2play [numSections]; // Dokezo la duka litachezwa ikiwa sensorer imeguswa maelezo ya ndani [numChannel] = {60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83}; pauseMidi = 4000; // muda wa kupumzika kati ya ishara za midi MIDI_CREATE_DEFAULT_INSTANCE (); kuanzisha batili () {// weka msimbo wako wa kusanidi hapa, ili uendeshe mara moja: DDRB = B11111111; // huweka pini za Arduino 8 hadi 13 kama pembejeo MIDI. kuanza (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 (m2, INPUT); pinMode (m3, INPUT); pinMode (m4, INPUT); } kitanzi batili () {// weka nambari yako kuu hapa, kuendesha mara kwa mara: PORTB = B00000000; // Pini za kudhibiti SET za mux chini kwa (int i = 0; i <numChannel; i ++) {// Usomaji wa dijiti wa MUX0 - MUX4 kwa sensa ya IR i // Ikiwa sensa ya IR ni LO, pembetatu inaguswa na mchezaji. arr0r = kusoma kwa dijiti (m0); // kusoma kutoka kwa Mux 0, sensor ya IR i arr1r = digitalRead (m1); // kusoma kutoka kwa Mux 1, sensor ya IR i arr2r = digitalRead (m2); // kusoma kutoka kwa Mux 2, sensor ya IR i arr3r = digitalRead (m3); // kusoma kutoka kwa Mux 3, sensor ya IR i arr4r = digitalRead (m4); // kusoma kutoka kwa Mux 4, sensa ya IR i ikiwa (arr0r == 0) // Sensor kwenye sehemu ya 0 ilizuiwa {midArr [0] = 1; // Mchezaji 0 amepiga noti, weka HI ili kuwe na pato la MIDI kwa mchezaji 0 note2play [0] = noti ; // Kumbuka ya kucheza kwa Mchezaji 0} ikiwa (arr1r == 0) // Sensorer kwenye sehemu ya 1 ilizuiwa {midArr [1] = 1; // Mchezaji 0 amepiga noti, weka HI ili iwe na pato la MIDI kwa mchezaji 0 note2play [1] = maelezo ; // Kumbuka ya kucheza kwa Mchezaji 0} ikiwa (arr2r == 0) // Sensorer kwenye sehemu ya 2 ilizuiwa {midArr [2] = 1; // Mchezaji 0 amepiga noti, weka HI ili kuwe na pato la MIDI kwa mchezaji 0 note2play [2] = maelezo ; // Kumbuka ya kucheza kwa Mchezaji 0} ikiwa (arr3r == 0) // Sensorer kwenye sehemu ya 3 ilizuiwa {midArr [3] = 1; // Mchezaji 0 amepiga noti, weka HI ili kuwe na pato la MIDI kwa mchezaji 0 note2play [3] = noti ; // Kumbuka ya kucheza kwa Mchezaji 0} ikiwa (arr4r == 0) // Sensorer kwenye sehemu ya 4 ilizuiwa {midArr [4] = 1; // Mchezaji 0 amepiga noti, weka HI ili kuwe na pato la MIDI kwa mchezaji 0 note2play [4] = maelezo ; // Kumbuka ya kucheza kwa Mchezaji 0} PORTB ++; // ishara za kudhibiti nyongeza kwa MUX} sasishoMIDI (); } sasisho batiliMIDI () {PORTB = B00000000; // Pini za kudhibiti SET za mux chini ikiwa (midArr [0] == 1) // Mchezaji 0 pato la MIDI {MIDI.sendNoteOn (note2play [0], 127, 1); kuchelewesha Microsconds (pauseMidi); MIDI.sendNoteOff (mchezo wa kucheza 2 [0], 127, 1); kuchelewesha Microsconds (pauseMidi); } PORTB ++; // nyongeza MUX ikiwa (midArr [1] == 1) // Mchezaji 1 pato la MIDI {MIDI.sendNoteOn (note2play [1], 127, 1); kuchelewesha Microsconds (pauseMidi); MIDI.tumaNoteOff (kumbuka2kucheza [1], 127, 1); kuchelewesha Microsconds (pauseMidi); } PORTB ++; // nyongeza MUX ikiwa (midArr [2] == 1) // Mchezaji 2 pato la MIDI {MIDI.sendNoteOn (note2play [2], 127, 1); kuchelewesha Microsconds (pauseMidi); MIDI.sendNoteOff (mchezo wa kucheza 2 [2], 127, 1); kuchelewesha Microsconds (pauseMidi); } PORTB ++; // nyongeza MUX ikiwa (midArr [3] == 1) // Mchezaji 3 pato la MIDI {MIDI.sendNoteOn (note2play [3], 127, 1); kuchelewesha Microsconds (pauseMidi); MIDI.sendNoteOff (mchezo wa kucheza 2 [3], 127, 1); kuchelewesha Microsconds (pauseMidi); } PORTB ++; // nyongeza MUX ikiwa (midArr [4] == 1) // Mchezaji 4 pato la MIDI {MIDI.sendNoteOn (note2play [4], 127, 1); kuchelewesha Microsconds (pauseMidi); MIDI.sendNoteOff (mchezo wa kucheza 2 [4], 127, 1); kuchelewesha Microsconds (pauseMidi); } MidArr [0] = 0; midArr [1] = 0; midArr [2] = 0; midArr [3] = 0; katikatiArr [4] = 0; }

Hatua ya 11: Kuimarisha Dome

Kuimarisha Dome
Kuimarisha Dome
Kuimarisha Dome
Kuimarisha Dome
Kuimarisha Dome
Kuimarisha Dome
Kuimarisha Dome
Kuimarisha Dome

Kuna vifaa kadhaa ambavyo vinahitaji kuwezeshwa kwenye dome. Kwa hivyo utahitaji kuhesabu amps zilizochorwa kutoka kwa kila sehemu kuamua usambazaji wa umeme unahitaji kununua.

Ukanda wa LED: Nilitumia takriban mita 3.75 za ukanda wa LED wa Ws2801, ambao hutumia 6.4W / mita. Hii inalingana na 24W (3.75 * 6.4). Kubadilisha hii kuwa amps, tumia Power = current * volts (P = iV), ambapo V ni voltage ya ukanda wa LED, katika kesi hii 5V. Kwa hivyo, sasa inayotolewa kutoka kwa LED ni 4.8A (24W / 5V = 4.8A).

Sensorer za IR: Kila sensorer ya IR huchota karibu 25mA, jumla ya 3A kwa sensorer 120.

Arduino: 100mA, 9V

Multiplexers: Kuna anuwai 24 ya vituo vingi ambavyo kila moja inajumuisha njia 16 za kuzidisha na 8 ya multiplexer ya kituo. Kituo cha 8 na kituo 16 cha MUX kila moja hutumia karibu 100mA. Kwa hivyo, jumla ya matumizi ya nguvu ya MUX yote ni 1A.

Kuongeza vifaa hivi, jumla ya matumizi ya nguvu inatarajiwa kuwa karibu 9A. Mstari wa LED, sensorer za IR, na multiplexers zina voltage ya kuingiza saa 5V, na Arduino ina voltage ya pembejeo ya 9V. Kwa hivyo, nilichagua ugavi wa umeme wa 12V 15A, kibadilishaji cha 15A kwa kubadilisha 12V kuwa 5V, na kibadilishaji cha 3A kwa kubadilisha 12V kuwa 9V kwa Arduino.

Hatua ya 12: Msingi wa Dome Base

Msingi wa Dome Base
Msingi wa Dome Base
Msingi wa Dome Base
Msingi wa Dome Base
Msingi wa Dome Base
Msingi wa Dome Base

Ukuta hutegemea kipande cha kuni na pentagon iliyokatwa katikati ili ufikie urahisi wa umeme. Ili kuunda msingi huu wa mviringo, karatasi ya plywood ya 4x6 ilikatwa kwa kutumia router ya kuni ya CNC. Jigsaw pia inaweza kutumika kwa hatua hii. Baada ya msingi kukatwa, kuba iliambatanishwa nayo kwa kutumia vizuizi vidogo vya mbao 2x3”.

Juu ya msingi, niliunganisha usambazaji wa umeme na epoxy na waongofu wa MUX na Buck na spacers za kusimama za PCB. Spacers ziliambatanishwa na plywood kwa kutumia adapta za uzi wa EZ Lok.

Hatua ya 13: Pentagon Dome Base

Msingi wa Dome ya Pentagon
Msingi wa Dome ya Pentagon
Msingi wa Dome ya Pentagon
Msingi wa Dome ya Pentagon
Msingi wa Dome ya Pentagon
Msingi wa Dome ya Pentagon

Mbali na msingi wa mviringo, niliunda pia msingi wa pentagon kwa kuba na dirisha la glasi iliyo chini. Dirisha hili la msingi na la kutazama pia lilitengenezwa kwa plywood iliyokatwa na router ya kuni ya CNC. Pande za pentagon zimetengenezwa kwa mbao za mbao na upande mmoja una shimo ndani yake kwa viunganisho kupitia. Kutumia mabano ya chuma na viungo 2x3 vya kuzuia, mbao za mbao zimeunganishwa kwenye msingi wa pentagon. Kubadilisha nguvu, viunganisho vya MIDI, na kontakt USB ni masharti kwenye jopo la mbele ambalo niliunda kwa kutumia mkataji wa laser. Msingi mzima wa pentagon umepigwa kwa msingi wa mviringo ulioelezewa katika Hatua ya 12.

Niliweka dirisha chini ya dome ili kila mtu aweze kutazama ndani ili kuona umeme. Kioo kinachotazama kinafanywa kwa kata ya akriliki na mkataji wa laser na imewekwa kwenye kipande cha plywood.

Hatua ya 14: Kupanga Dome

Kuna uwezekano mkubwa wa kupanga programu. Kila mzunguko wa nambari huchukua ishara kutoka kwa sensorer za IR, ambazo zinaonyesha pembetatu ambazo zimeguswa na mtu. Kwa habari hii unaweza kupaka rangi kwa rangi yoyote ya RGB na / au kutoa ishara ya MIDI. Hapa kuna mifano michache ya programu ambazo niliandika kwa kuba:

Rangi dome: Kila mzunguko wa pembetatu kupitia rangi nne unavyoguswa. Wakati rangi hubadilika, arpeggio inachezwa. Pamoja na programu hii, unapata rangi kwenye dome kwa maelfu ya njia tofauti.

Muziki wa Dome: Dome ina rangi na rangi tano, kila sehemu inayolingana na pato tofauti la MIDI. Katika programu, unaweza kuchagua ni maelezo gani ambayo kila pembetatu hucheza. Nilichagua kuanza katikati C juu ya kuba, na kuongeza uwanja wakati pembetatu zilisogea karibu na msingi. Kwa sababu kuna matokeo matano, mpango huu ni mzuri kwa kuwa na watu wengi wanaocheza dome wakati huo huo. Kutumia chombo cha MIDI au programu ya MIDI, ishara hizi za MIDI zinaweza kufanywa kuwa sauti kama chombo chochote.

Simon: Niliandika tafsiri ya Simon, mchezo wa kumbukumbu ya kawaida ya kumbukumbu. Mlolongo wa taa huangaziwa moja kwa moja juu ya kuba nzima. Katika kila zamu, mchezaji lazima aiga nakala ya mlolongo. Ikiwa mchezaji analingana na mlolongo kwa usahihi, taa ya ziada inaongezwa kwenye mlolongo. Alama ya juu imehifadhiwa kwenye moja ya sehemu za kuba. Mchezo huu pia ni wa kufurahisha sana kucheza na watu anuwai.

Pong: Kwanini usicheze pong kwenye kuba? Mpira hueneza juu ya kuba mpaka uingie kwenye paddle. Wakati inafanya, ishara ya MIDI inazalishwa, ikionyesha paddle iligonga mpira. Mchezaji mwingine lazima aelekeze paddle chini ya kuba ili iweze kupiga mpira nyuma.

Hatua ya 15: Picha za Dome iliyokamilika

Picha za Dome iliyokamilika
Picha za Dome iliyokamilika
Picha za Dome iliyokamilika
Picha za Dome iliyokamilika
Picha za Dome iliyokamilika
Picha za Dome iliyokamilika
Picha za Dome iliyokamilika
Picha za Dome iliyokamilika
Mashindano ya Arduino 2016
Mashindano ya Arduino 2016
Mashindano ya Arduino 2016
Mashindano ya Arduino 2016

Tuzo kubwa katika Mashindano ya Arduino 2016

Mashindano ya Remix 2016
Mashindano ya Remix 2016
Mashindano ya Remix 2016
Mashindano ya Remix 2016

Tuzo ya pili katika Mashindano ya Remix 2016

Fanya Mashindano ya Glow 2016
Fanya Mashindano ya Glow 2016
Fanya Mashindano ya Glow 2016
Fanya Mashindano ya Glow 2016

Tuzo ya pili katika Shindano la Kuifanya iwe Nyepesi 2016

Ilipendekeza: