Satura rādītājs:

Interaktīvs ģeodēziskais LED kupols: 15 soļi (ar attēliem)
Interaktīvs ģeodēziskais LED kupols: 15 soļi (ar attēliem)

Video: Interaktīvs ģeodēziskais LED kupols: 15 soļi (ar attēliem)

Video: Interaktīvs ģeodēziskais LED kupols: 15 soļi (ar attēliem)
Video: Rīgas Motormuzejs - Interaktīvs muzejs visai ģimenei 2024, Novembris
Anonim
Image
Image
Interaktīvs ģeodēziskais LED kupols
Interaktīvs ģeodēziskais LED kupols
Interaktīvs ģeodēziskais LED kupols
Interaktīvs ģeodēziskais LED kupols
Interaktīvs ģeodēziskais LED kupols
Interaktīvs ģeodēziskais LED kupols

Es izveidoju ģeodēzisku kupolu, kas sastāv no 120 trīsstūriem ar LED un sensoru katrā trijstūrī. Katru gaismas diodi var adresēt atsevišķi, un katrs sensors ir pielāgots vienam trijstūrim. Kupols ir ieprogrammēts ar Arduino, lai tas iedegtos un radītu MIDI signālu atkarībā no tā, kurā trīsstūrī jūs novietojat roku.

Es izveidoju kupolu kā jautru displeju, kas cilvēkus interesē par gaismu, elektroniku un skaņu. Tā kā kupols lieliski sadalās piecās daļās, es izveidoju kupolu tā, lai tam būtu piecas atsevišķas MIDI izejas, kurām katrai var būt atšķirīga skaņa. Tas padara kupolu par milzīgu mūzikas instrumentu, kas ir ideāli piemērots mūzikas atskaņošanai vienlaikus ar vairākiem cilvēkiem. Papildus mūzikas atskaņošanai es programmēju arī kupolu gaismas šoviem un Simona un Ponga atskaņošanas atskaņošanai. Galīgā konstrukcija ir nedaudz vairāk par metru diametrā un 70 cm augsta, un tā galvenokārt ir izgatavota no koka, akrila un 3D drukātām detaļām.

Uz LED galdiem un kubiņiem ir vairākas lieliskas pamācības, kas iedvesmoja mani sākt šo projektu. Tomēr es gribēju mēģināt sakārtot gaismas diodes citā ģeometrijā. Es nevarēju iedomāties labāku projekta struktūru nekā ģeodēziskais kupols, kas arī ir labi dokumentēts Instructables. Tātad šis projekts ir LED galdu un ģeodēzisko kupolu remikss/mashup. Zemāk ir saites uz LED galdu un ģeodēzisko kupolu Instructables, ko es pārbaudīju projekta sākumā.

LED galdi un kubi:

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-…

Ģeodēziskais kupols:

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

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

1. darbība: piegādes saraksts

Piegādes saraksts
Piegādes saraksts
Piegādes saraksts
Piegādes saraksts
Piegādes saraksts
Piegādes saraksts

Materiāli:

1. Koks kupola statņiem un kupola pamatnei (daudzums atkarīgs no kupola veida un izmēra)

2. Adresējama LED sloksne (16,4 pēdas/5 m adresējama krāsu LED pikseļu sloksne 160leds Ws2801 Dc5v)

3. Arduino Uno (Atmega328 - samontēts)

4. Prototipa dēlis (Penta Angel Double-Side Prototype PCB Universal (7x9cm))

5. Akrils gaismas diožu izkliedēšanai (lietota akrila loksne, caurspīdīga, 12 "x 12" x 0,118 "izmērs)

6. Barošanas avots (Aiposen 110/220V līdz DC12V 30A 360W slēdža barošanas avota draiveris)

7. Buck pārveidotājs Arduino (RioRand LM2596 DC-DC Buck Converter 1.23V-30V)

8. Buck pārveidotājs gaismas diodēm un sensoriem (DROK Mini Electric Buck Voltage Converter 15A)

9. 120 IR sensori (infrasarkano staru novēršanas sensora modulis)

10. Pieci 16 kanālu multipleksori (Analog/Digital MUX Breakout - CD74HC4067)

11. Seši 8 kanālu multipleksori (Multiplexer Breakout - 8 Channel (74HC4051))

12. Pieci 2 kanālu multipleksori (MAX4544CPA+)

13. Stiepļu iesaiņošanas stieple (PCB lodēšanas 0,25 mm alvas pārklājuma vara aukla Dia stieples ietīšanas stieple 305M 30AWG sarkana)

14. Pievienojamais vads (cietais kodols, 22 AWG)

15. Tapu galvenes (Gikfun 1 x 40 Pin 2.54mm Single Row Breakaway Male Pin Header)

16. Piecas MIDI ligzdas (maizei piemērots MIDI ligzda (5 kontaktu DIN))

17. Desmit 220ohm rezistori MIDI ligzdām

18. Stand-off starplikas elektronikas montāžai kupolā (Stand-off Spacer Hex M3 Male x M3 Female)

19. Vītņu adapteri, lai savienotu statīvus ar koku (E-Z Lok vītņu ieliktnis, misiņš, naža vītne)

20. Epoksīda vai Gorilla Superglue

21. Elektriskā lente

22. Lodēt

Rīki:

1. Lodēšanas stacija

2. Sējmašīna

3. Ripzāģis

4. Orbitālā slīpmašīna

5. Džigzāģis

6. Šķēres zāģis

7. transportieris

8. 3D printeris

9. Stiepļu griezēji

10. Stiepļu ietīšanas rīks

11. Lāzera griezējs LED plākšņu griešanai (pēc izvēles)

12. CNC shopbot kupola pamatnei (pēc izvēles)

2. solis: Ģeodēziskā kupola projektēšana

Ģeodēziskā kupola projektēšana
Ģeodēziskā kupola projektēšana
Ģeodēziskā kupola projektēšana
Ģeodēziskā kupola projektēšana

Kā jau minēju ievadā, ir vairāki tiešsaistes avoti, lai izveidotu savu ģeodēzisko kupolu. Šajās vietnēs ir pieejami kupola kalkulatori, kas nosaka katras puses garumu (ti, statni) un savienotāju skaitu, kas nepieciešams jebkura veida kupolam, kuru vēlaties veidot. Ģeodēziskā kupola sarežģītību (ti, trijstūru blīvumu) nosaka tā klase (1V, 2V, 3V utt.), Un augstāka sarežģītība kļūst par perfektas sfēriskās virsmas tuvinājumu. Lai izveidotu savu kupolu, vispirms jāizvēlas kupola diametrs un klase.

Es izmantoju vietni ar nosaukumu Domerama, lai palīdzētu man izveidot 4 V kupolu, kas tika saīsināts līdz 5/12 sfēras ar 40 cm rādiusu. Šim kupola veidam ir seši dažāda garuma statņi:

30 X “A” - 8,9 cm

30 X “B” - 10,4 cm

50 X “C” - 12,4 cm

40 X “D” - 12,5 cm

20 X “E” - 13,0 cm

20 X “F” - 13,2 cm

Tas kopumā ir 190 balsti, kas kopā veido 2223 cm (73 pēdas) materiāla. Šajā kupolā balstiem es izmantoju 1x3 (3/4 "× 2-1/2") priežu zāģmateriālus. Lai savienotu statņus, es izstrādāju un 3D drukāju savienotājus, izmantojot Autocad. STL faili ir pieejami lejupielādei šīs darbības beigās. 4V 5/12 kupola savienotāju skaits ir:

20 X 4 savienotājs

6 X 5 savienotājs

45 X 6 savienotājs

Nākamajā solī es aprakstīšu, kā šis kupols ir uzbūvēts ar koka statņiem un manis projektētajiem 3D drukātajiem savienotājiem.

3. darbība: kupola konstrukcija ar balstiem un savienotājiem

Doma konstrukcija ar balstiem un savienotājiem
Doma konstrukcija ar balstiem un savienotājiem
Doma konstrukcija ar balstiem un savienotājiem
Doma konstrukcija ar balstiem un savienotājiem
Doma konstrukcija ar balstiem un savienotājiem
Doma konstrukcija ar balstiem un savienotājiem
Doma konstrukcija ar balstiem un savienotājiem
Doma konstrukcija ar balstiem un savienotājiem

Izmantojot aprēķinus no Domerama 4V 5/12 kupolam, es sagriezu statņus, izmantojot ripzāģi. 190 statņi tika marķēti un pēc griešanas ievietoti kastē. 71 savienotājs (20 četri savienotāji, 6 pieci savienotāji un 45 seši savienotāji) tika izdrukāts 3D formātā, izmantojot Makerbot. Koka statņi tika ievietoti savienotājos saskaņā ar Domerama izveidoto shēmu. Es sāku būvniecību no augšas un radiāli virzījos uz āru.

Pēc tam, kad visi statņi bija savienoti, es pa vienam noņemu statni un pievienoju kokam un savienotājam epoksīdu. Savienotāji tika veidoti tā, lai tie elastīgi savienotu konstrukcijas, tāpēc pirms epoksīda pievienošanas bija svarīgi pārbaudīt kupola simetriju.

4. solis: Lāzera griešanas un montāžas pamatplāksnes

Lāzera griešanas un montāžas pamatplāksnes
Lāzera griešanas un montāžas pamatplāksnes
Lāzera griešanas un montāžas pamatplāksnes
Lāzera griešanas un montāžas pamatplāksnes
Lāzera griešanas un montāžas pamatplāksnes
Lāzera griešanas un montāžas pamatplāksnes
Lāzera griešanas un montāžas pamatplāksnes
Lāzera griešanas un montāžas pamatplāksnes

Tagad, kad ir izveidots kupola skelets, ir pienācis laiks sagriezt trīsstūrveida pamatplāksnes. Šīs pamatplāksnes ir piestiprinātas statņu apakšai un tiek izmantotas, lai gaismas diodes piestiprinātu pie kupola. Sākotnēji es izgriezu pamatplāksnes no 5 mm (3/16”) bieza saplākšņa, mērot piecus dažādus trijstūrus, kas atrodas uz kupola: AAB (30 trīsstūri), BCC (25 trīsstūri), DDE (20 trīsstūri), CDF (40 trīsstūri)) un EEI (5 trīsstūri). Katras malas izmēri un trīsstūru forma tika noteikti, izmantojot kupola kalkulatoru (Domerama) un kādu ģeometriju. Pēc testa pamatplākšņu griešanas ar finierzāģi es uzzīmēju trīsstūra dizainu, izmantojot Coral Draw, un atlikušās pamatplāksnes sagriezu ar lāzera griezēju (daudz ātrāk!). Ja jums nav piekļuves lāzera griezējam, jūs varat uzzīmēt pamatplāksnes uz saplākšņa, izmantojot lineālu un transportieri, un sagriezt tās visas ar finierzāģi. Kad pamatplāksnes ir sagrieztas, kupolu apgriež un plāksnes pielīmē pie kupola, izmantojot koka līmi.

5. darbība. Elektronikas pārskats

Elektronikas pārskats
Elektronikas pārskats

Augšējā attēlā parādīta kupola elektronikas shēma. Arduino Uno tiek izmantots kupola signālu rakstīšanai un lasīšanai. Lai apgaismotu kupolu, virs kupola tiek uzlikta RGB LED sloksne tā, lai gaismas diode būtu novietota pie katra no 120 trīsstūriem. Lai iegūtu informāciju par LED sloksnes darbību, skatiet šo pamācību. Katru gaismas diodi var adresēt atsevišķi, izmantojot Arduino, kas rada sloksnes sērijas datus un pulksteņa signālu (skatiet A0 un A1 tapu shematiski). Tikai ar sloksni un šiem diviem signāliem jūs varat iegūt lielisku iedegto kupolu. Ir arī citi veidi, kā rakstīt signālus daudziem LED no Arduino, piemēram, Charlieplexing un maiņu reģistri.

Lai mijiedarbotos ar kupolu, es uzstādīju IR sensoru virs katras gaismas diodes. Šie sensori tiek izmantoti, lai noteiktu, kad kāda roka ir tuvu kupola trīsstūrim. Tā kā katram kupola trīsstūrim ir savs IR sensors un ir 120 trīsstūri, pirms Arduino jums būs jāveic sava veida multipleksēšana. Nolēmu 120 kupola sensoriem izmantot piecus 24 kanālu multipleksorus (MUX). Šeit ir pamācība par multipleksēšanu, ja neesat pazīstams. 24 kanālu MUX ir nepieciešami pieci vadības signāli. Es izvēlējos Arduino tapas 8-12, lai es varētu veikt manipulācijas ar ostu (lai iegūtu plašāku informāciju, skatiet 10. darbību). MUX plākšņu izeja tiek nolasīta, izmantojot tapas 3-7.

Es arī iekļāvu piecas MIDI izejas uz kupola, lai tas varētu radīt skaņu (11. darbība). Citiem vārdiem sakot, pieci cilvēki var atskaņot kupolu vienlaikus, kad katra izeja atskaņo atšķirīgu skaņu. Arduino ir tikai viena TX tapa, tāpēc pieci MIDI signāli prasa demultipleksēšanu. Tā kā MIDI izeja tiek ražota citā laikā nekā IR sensora rādījums, es izmantoju tos pašus vadības signālus.

Kad visas IR sensora ieejas ir nolasītas Arduino, kupols var iedegties un atskaņot skaņas, lai kā jūs programmētos Arduino. Man ir daži piemēri šīs pamācības 14. solī.

6. solis: gaismas diožu uzstādīšana uz kupola

Gaismas diodes uzstādīšana uz kupola
Gaismas diodes uzstādīšana uz kupola
Gaismas diodes uzstādīšana uz kupola
Gaismas diodes uzstādīšana uz kupola
Gaismas diodes uzstādīšana uz kupola
Gaismas diodes uzstādīšana uz kupola

Tā kā kupols ir tik liels, LED sloksne ir jāizgriež, lai uz katra trīsstūra novietotu vienu gaismas diodi. Katra gaismas diode tiek pielīmēta uz trīsstūra, izmantojot super līmi. Abās gaismas diodes pusēs caur pamatplāksni tiek izurbts caurums kabeļiem, kas tiek izvadīti caur kupolu. Pēc tam pie katras gaismas diodes kontakta (5V, zemējums, pulkstenis, signāls) pielodēju savienojamo vadu un baroju vadus caur pamatplāksni. Šie vadi ir sagriezti tā, lai tie būtu pietiekami gari, lai sasniegtu nākamo kupola gaismas diodi. Vadi tiek izvilkti līdz nākamajai gaismas diodei, un process tiek turpināts. Es pievienoju gaismas diodes konfigurācijā, kas samazinātu nepieciešamo vadu daudzumu, vienlaikus saglabājot jēgu, lai vēlāk risinātu gaismas diodes, izmantojot Arduino. Mazāks kupols novērstu nepieciešamību griezt sloksni un ietaupītu daudz laika lodēšanai. Vēl viena iespēja ir izmantot atsevišķus RGB gaismas diodes ar maiņu reģistriem.

Sērijveida saziņa ar sloksni tiek panākta, izmantojot divas Arduino tapas (datu un pulksteņa tapu). Citiem vārdiem sakot, dati kupola apgaismošanai tiek nodoti no vienas gaismas diodes uz otru, kad tas atstāj datu tapu. Šeit ir koda paraugs, kas pārveidots no šī Arduino foruma:

// Padarīt visu kupolu palielināt un samazināt vienas krāsas intensitāti

#define numLeds 120 // LED skaits // OUTPUT PINS // int clockPin = A1; // definēt pulksteņa tapu int dataPin = A0; // definēt datu tapu // MAINĪGIE // int red [numLeds]; // Inicializēt masīvu LED sloksnei int zaļā krāsā [numLeds]; // Inicializēt masīvu LED sloksnei int blue [numLeds]; // Inicializēt masīvu LED sloksnei // KONSTANTĀ dubultā skalaA = {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}; // gaismas diodes intensitātes daļa void setup () {pinMode (clockPin, OUTPUT); pinMode (dataPin, OUTPUT); memset (sarkans, 0, numLeds); memset (zaļš, 0, numLeds); memset (zils, 0, numLeds); } void updatestring (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 ++) // cilpa kupola gaismas intensitātes palielināšanai {double scale = scaleA [p]; kavēšanās (20); par (int i = 0; i <numLeds; i ++) // ciklu cauri visiem gaismas diodēm {red = 255 * skala; zaļa = 80 * skala; zils = 0; } atjaunināšanas virkne (sarkana, zaļa, zila); // atjaunināt LED sloksni}}

7. solis: Sensora stiprinājuma projektēšana un ieviešana

Sensora stiprinājuma dizains un ieviešana
Sensora stiprinājuma dizains un ieviešana
Sensora stiprinājuma dizains un ieviešana
Sensora stiprinājuma dizains un ieviešana
Sensora stiprinājuma dizains un ieviešana
Sensora stiprinājuma dizains un ieviešana

Es nolēmu kupolam izmantot IR sensorus. Šiem sensoriem ir IR LED un uztvērējs. Kad priekšmets nokļūst sensora priekšā, daži IR starojumi no IR LED tiek atspoguļoti uztvērēja virzienā. Es sāku šo projektu, izveidojot savus IR sensorus, kuru pamatā bija Ričarduvinas norādījumi. Visa lodēšana aizņēma pārāk ilgu laiku, tāpēc no eBay es iegādājos 120 IR sensorus, kas katrs rada digitālo izeju. Sensora slieksnis tiek iestatīts ar potenciometru uz tāfeles tā, ka izeja ir augsta tikai tad, ja roka atrodas šī trijstūra tuvumā.

Katrs trīsstūris sastāv no saplākšņa LED pamatnes, difūzijas akrila loksnes, kas uzstādīta apmēram 2,5 cm virs LED plāksnes, un IR sensora. Katra trijstūra sensors tika uzstādīts uz plānas saplākšņa loksnes, kas veidota kā piecstūris vai sešstūris atkarībā no stāvokļa uz kupola (skatiet attēlu iepriekš). Es izurbju caurumus IR sensora pamatnē, lai uzstādītu IR sensorus, un pēc tam savienoju zemi un 5 V tapas ar stiepļu ietīšanas vadu un stiepļu ietīšanas instrumentu (sarkani un melni vadi). Pēc zemes un 5V pieslēgšanas es katrā izejā (dzeltenā krāsā), zemē un 5 V aptinu garu vadu aptīšanas vadu, lai tas izietu cauri kupolam.

Pēc tam sešstūra vai piecstūra IR sensora stiprinājumi tika epoksēti uz kupola, tieši virs 3D drukātajiem savienotājiem, lai vads varētu iet cauri kupolam. Ja sensori bija virs savienotājiem, es varēju piekļūt un pielāgot potenciometrus IS sensoros, kas kontrolē sensoru jutību. Nākamajā solī es aprakstīšu, kā IR sensoru izejas ir savienotas ar multipleksoriem un tiek nolasītas Arduino.

8. darbība: sensora izvadīšana

Multipleksēšanas sensora izeja
Multipleksēšanas sensora izeja
Multipleksēšanas sensora izeja
Multipleksēšanas sensora izeja
Multipleksēšanas sensora izeja
Multipleksēšanas sensora izeja

Tā kā Arduino Uno ir tikai 14 digitālās I/O tapas un 6 analogās ieejas tapas, un ir jālasa 120 sensora signāli, kupolam ir nepieciešami multipleksori, lai nolasītu visus signālus. Es izvēlējos izveidot piecus 24 kanālu multipleksorus, no kuriem katrs nolasīja 24 IR sensorus (skat. Elektronikas pārskata attēlu). 24 kanālu MUX sastāv no 8 kanālu MUX sadalīšanas paneļa, 16 kanālu MUX sadalīšanas paneļa un 2 kanālu MUX. Piespraudes galvenes tika pielodētas pie katra sadalīšanas paneļa, lai tās varētu savienot ar prototipa plāksni. Izmantojot stiepļu ietīšanas rīku, es pievienoju zemi, 5 V un MUX sadalīšanas paneļu vadības signāla tapas.

24 kanālu MUX ir nepieciešami pieci vadības signāli, kurus es izvēlējos pieslēgt Arduino kontaktam 8-12. Visi pieci 24 kanālu MUX saņem vienādus vadības signālus no Arduino, tāpēc es pievienoju vadu no Arduino tapām ar 24 kanālu MUX. IR sensoru digitālās izejas ir savienotas ar 24 kanālu MUX ieejas tapām, lai tās varētu sērijveidā nolasīt Arduino. Tā kā visās 120 sensora izejās ir piecas atsevišķas tapas lasīšanai, ir lietderīgi iedomāties, ka kupols ir sadalīts piecās atsevišķās sadaļās, kas sastāv no 24 trīsstūriem (pārbaudiet kupola krāsas attēlā).

Izmantojot manipulācijas ar Arduino portu, jūs varat ātri palielināt vadības signālus, ko multipleksoriem nosūta tapas 8-12. Šeit esmu pievienojis kādu koda piemēru multipleksoru darbināšanai:

int numChannel = 24;

// IZEJAS // int s0 = 8; // MUX vadība 0 - PORTbD int s1 = 9; // MUX vadība 1 - PORTb int s2 = 10; // MUX vadība 2 - PORTb int s3 = 11; // MUX vadība 3 - PORTb int s4 = 12; // MUX vadība 4 - PORTb // IEVADES // int m0 = 3; // MUX ieeja 0 int m1 = 4; // MUX ieeja 1 int m2 = 5; // MUX ieeja 2 int m3 = 6; // MUX ieeja 3 int m4 = 7; // MUX ieeja 4 // MAINĪGIE // int arr0r; // digitālā lasīšana no MUX0 int arr1r; // digitālā lasīšana no MUX1 int arr2r; // digitālā lasīšana no MUX2 int arr3r; // digitālā lasīšana no MUX3 int arr4r; // digitālā lasīšana no MUX4 void setup () {// ievietojiet šeit savu iestatīšanas kodu, lai tas darbotos vienreiz: DDRB = B11111111; // iestata Arduino tapas no 8 līdz 13 kā ieejas 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); } void loop () {// ievietojiet šeit savu galveno kodu, lai palaistu atkārtoti: PORTB = B00000000; // SET vadības tapas mux low (int i = 0; i <numChannel; i ++) {// MUX0 - MUX4 digitālās lasīšanas izeja IR sensoram i // Ja IR sensors ir LO, atskaņotājs pieskaras trijstūrim. arr0r = digitalRead (m0); // lasīšana no Mux 0, IR sensors i arr1r = digitalRead (m1); // nolasīšana no Mux 1, IR sensors i arr2r = digitalRead (m2); // nolasīšana no Mux 2, IR sensors i arr3r = digitalRead (m3); // lasīšana no Mux 3, IR sensors i arr4r = digitalRead (m4); // lasīšana no Mux 4, IR sensora i // DARĪT KĀDU AR MUX IEEJĀM VAI UZGLABĀT ARRAY ŠEIT // PORTB ++; // MUX palielināšanas vadības signāli}}

9. solis: izkliedējiet gaismu ar akrilu

Izkliedējoša gaisma ar akrilu
Izkliedējoša gaisma ar akrilu
Izkliedējoša gaisma ar akrilu
Izkliedējoša gaisma ar akrilu
Izkliedējoša gaisma ar akrilu
Izkliedējoša gaisma ar akrilu

Lai izkliedētu gaismas diodes, es slīpēju caurspīdīgu akrilu ar apļveida orbītas slīpmašīnu. Slīpmašīna tika pārvietota pa abām akrila pusēm ar 8. attēla kustību. Es atklāju, ka šī metode ir daudz labāka nekā “matēta stikla” aerosola krāsa.

Pēc akrila slīpēšanas un tīrīšanas es izmantoju lāzera griezēju, lai izgrieztu trīsstūrus, lai tie ietilptu virs gaismas diodēm. Ir iespējams griezt akrilu, izmantojot akrila griezējinstrumentu vai pat finierzāģi, ja akrils neplaisā. Akrils tika turēts virs gaismas diodēm ar 5 mm bieziem saplākšņa taisnstūriem, kas sagriezti arī ar lāzera griezēju. Šie mazie dēļi tika pielīmēti pie kupola statņiem, un akrila trīsstūri tika uzklāti uz dēļiem.

10. darbība. Mūzikas radīšana ar kupolu, izmantojot MIDI

Mūzikas veidošana ar kupolu, izmantojot MIDI
Mūzikas veidošana ar kupolu, izmantojot MIDI
Mūzikas veidošana ar kupolu, izmantojot MIDI
Mūzikas veidošana ar kupolu, izmantojot MIDI
Mūzikas veidošana ar kupolu, izmantojot MIDI
Mūzikas veidošana ar kupolu, izmantojot MIDI

Es gribēju, lai kupols spēj radīt skaņu, tāpēc es izveidoju piecus MIDI kanālus, vienu katrai kupola apakškopai. Vispirms jums ir jāiegādājas piecas MIDI ligzdas un jāpievieno tā, kā parādīts shematiski (lai iegūtu vairāk informācijas, skatiet šo apmācību no Arduino atbalsta).

Tā kā Arduino Uno ir tikai viena pārraides sērijas tapa (2. tapa ir apzīmēta kā TX tapa), jums ir jāatvieno signāli, kas tiek nosūtīti uz piecām MIDI ligzdām. Es izmantoju tos pašus vadības signālus (8.-12. Tapa), jo MIDI signāli tiek nosūtīti citā laikā nekā tad, kad IR sensori tiek nolasīti Arduino. Šie vadības signāli tiek nosūtīti uz 8 kanālu demultipleksoru, lai jūs kontrolētu, kura MIDI ligzda saņem Arduino radīto MIDI signālu. MIDI signālus ģenerēja Arduino ar drausmīgo MIDI signālu bibliotēku, ko izveidoja Francois Best. Šeit ir daži koda piemēri vairāku MIDI izeju ražošanai dažādām MIDI ligzdām, izmantojot Arduino Uno:

#include // iekļaut MIDI bibliotēku

#define num 24. kanāls // IS skaits trijstūrī #define numSections 5 // sekciju skaits kupolā, 24 kanālu MUX skaits, MIDI ligzdu skaits // OUTPUTS // int s0 = 8; // MUX vadība 0 - PORTbD int s1 = 9; // MUX vadība 1 - PORTb int s2 = 10; // MUX vadība 2 - PORTb int s3 = 11; // MUX vadība 3 - PORTb int s4 = 12; // MUX vadība 4 - PORTb // IEVADES // int m0 = 3; // MUX ieeja 0 int m1 = 4; // MUX ieeja 1 int m2 = 5; // MUX ieeja 2 int m3 = 6; // MUX ieeja 3 int m4 = 7; // MUX ieeja 4 // MAINĪGIE // int arr0r; // digitālā lasīšana no MUX0 int arr1r; // digitālā lasīšana no MUX1 int arr2r; // digitālā lasīšana no MUX2 int arr3r; // digitālā lasīšana no MUX3 int arr4r; // digitālā lasīšana no MUX4 int midArr [numSections]; // Saglabāt, vai kādu no spēlētājiem ir nospiesta piezīme int note2play [numSections]; // Uzglabāt piezīmi, kas jāatskaņo, ja pieskaras sensoram piezīmēs [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}; int pauseMidi = 4000; // pauzes laiks starp midi signāliem MIDI_CREATE_DEFAULT_INSTANCE (); void setup () {// ievietojiet šeit savu iestatīšanas kodu, lai palaistu vienu reizi: DDRB = B11111111; // iestata Arduino tapas no 8 līdz 13 kā ievadi 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 (m2, INPUT); pinMode (m3, INPUT); pinMode (m4, INPUT); } void loop () {// ievietojiet šeit savu galveno kodu, lai palaistu atkārtoti: PORTB = B00000000; // SET vadības tapas mux low (int i = 0; i <numChannel; i ++) {// MUX0 - MUX4 digitālās lasīšanas izeja IR sensoram i // Ja IR sensors ir LO, atskaņotājs pieskaras trijstūrim. arr0r = digitalRead (m0); // lasīšana no Mux 0, IR sensors i arr1r = digitalRead (m1); // nolasīšana no Mux 1, IR sensors i arr2r = digitalRead (m2); // nolasīšana no Mux 2, IR sensors i arr3r = digitalRead (m3); // lasīšana no Mux 3, IR sensors i arr4r = digitalRead (m4); // nolasīšana no Mux 4, IR sensors i if (arr0r == 0) // Sensors 0. sadaļā tika bloķēts {midArr [0] = 1; // Spēlētājs 0 ir trāpījis piezīmi, iestatiet HI tā, lai spēlētājam 0 būtu MIDI izeja note2play [0] = piezīmes ; // Piezīme spēlēt spēlētājam 0}, ja (arr1r == 0) // Sensors 1. sadaļā tika bloķēts {midArr [1] = 1; // Spēlētājs 0 ir trāpījis piezīmi, iestatiet HI tā, lai spēlētājam 0 būtu MIDI izeja note2play [1] = piezīmes ; // Piezīme spēlēt spēlētājam 0}, ja (arr2r == 0) // Sensors 2. sadaļā tika bloķēts {midArr [2] = 1; // Spēlētājs 0 ir trāpījis piezīmi, iestatiet HI tā, lai spēlētājam 0 būtu MIDI izeja note2play [2] = piezīmes ; // Piezīme spēlēt spēlētājam 0}, ja (arr3r == 0) // Sensors 3. sadaļā tika bloķēts {midArr [3] = 1; // Spēlētājs 0 ir trāpījis piezīmi, iestatiet HI tā, lai spēlētājam 0 būtu MIDI izeja note2play [3] = piezīmes ; // Piezīme spēlēt spēlētājam 0}, ja (arr4r == 0) // Sensors 4. sadaļā tika bloķēts {midArr [4] = 1; // Spēlētājs 0 ir trāpījis piezīmi, iestatiet HI tā, lai spēlētājam 0 būtu MIDI izeja note2play [4] = piezīmes ; // Piezīme spēlēt spēlētājam 0} PORTB ++; // palielinājuma vadības signāli MUX} updateMIDI (); } void updateMIDI () {PORTB = B00000000; // SET kontroles tapas mux low, ja (midArr [0] == 1) // Atskaņotāja 0 MIDI izvade {MIDI.sendNoteOn (note2play [0], 127, 1); delayMikrosekundes (pauseMidi); MIDI.sendNoteOff (note2play [0], 127, 1); delayMikrosekundes (pauseMidi); } PORTB ++; // palielināt MUX, ja (midArr [1] == 1) // Atskaņotāja 1 MIDI izvade {MIDI.sendNoteOn (note2play [1], 127, 1); delayMikrosekundes (pauseMidi); MIDI.sendNoteOff (note2play [1], 127, 1); delayMikrosekundes (pauseMidi); } PORTB ++; // palielināt MUX, ja (midArr [2] == 1) // 2. atskaņotāja MIDI izvade {MIDI.sendNoteOn (note2play [2], 127, 1); delayMikrosekundes (pauseMidi); MIDI.sendNoteOff (note2play [2], 127, 1); delayMikrosekundes (pauseMidi); } PORTB ++; // MUX pieaugums, ja (midArr [3] == 1) // Atskaņotāja 3 MIDI izvade {MIDI.sendNoteOn (note2play [3], 127, 1); delayMikrosekundes (pauseMidi); MIDI.sendNoteOff (note2play [3], 127, 1); delayMikrosekundes (pauseMidi); } PORTB ++; // palielināt MUX, ja (midArr [4] == 1) // 4. atskaņotāja MIDI izvade {MIDI.sendNoteOn (note2play [4], 127, 1); delayMikrosekundes (pauseMidi); MIDI.sendNoteOff (note2play [4], 127, 1); delayMikrosekundes (pauseMidi); } midArr [0] = 0; midArr [1] = 0; midArr [2] = 0; midArr [3] = 0; midArr [4] = 0; }

11. solis: barošana kupolā

Barošana Domei
Barošana Domei
Barošana Domei
Barošana Domei
Barošana Domei
Barošana Domei
Barošana Domei
Barošana Domei

Kupolā ir jāieslēdz vairākas sastāvdaļas. Tāpēc jums būs jāaprēķina pastiprinātāji, kas iegūti no katra komponenta, lai noteiktu iegādājamo barošanas avotu.

LED sloksne: es izmantoju aptuveni 3,75 metrus Ws2801 LED sloksnes, kas patērē 6,4 W/metrā. Tas atbilst 24W (3,75*6,4). Lai to pārvērstu ampēros, izmantojiet Jauda = strāva*volti (P = iV), kur V ir LED sloksnes spriegums, šajā gadījumā 5 V. Tāpēc no gaismas diodēm iegūtā strāva ir 4,8A (24W/5V = 4,8A).

IR sensori: katrs IR sensors patērē aptuveni 25 mA, kopā 3A 120 sensoriem.

Arduino: 100mA, 9V

Multiplekseri: Ir pieci 24 kanālu multipleksori, no kuriem katrs sastāv no 16 kanālu multipleksora un 8 kanālu multipleksora. 8 kanālu un 16 kanālu MUX patērē aptuveni 100 mA. Tāpēc visu MUX kopējais enerģijas patēriņš ir 1A.

Saskaitot šīs sastāvdaļas, paredzams, ka kopējais enerģijas patēriņš būs aptuveni 9A. LED sloksnei, IR sensoriem un multipleksoriem ir 5 V ieejas spriegums, un Arduino ir 9 V ieejas spriegums. Tāpēc es izvēlējos 12V 15A barošanas avotu, 15A buck pārveidotāju 12V pārveidošanai uz 5V un 3A buck pārveidotāju 12V pārveidošanai uz 9V Arduino.

12. solis: apļveida kupola pamatne

Apļveida kupola pamatne
Apļveida kupola pamatne
Apļveida kupola pamatne
Apļveida kupola pamatne
Apļveida kupola pamatne
Apļveida kupola pamatne

Kupols balstās uz apaļa koka gabala ar piecstūri, kas izgriezts no vidus, lai ērti piekļūtu elektronikai. Lai izveidotu šo apļveida pamatni, izmantojot koka CNC maršrutētāju, tika sagriezta 4x6 collu saplākšņa loksne. Šim solim var izmantot arī finierzāģi. Pēc pamatnes sagriešanas kupols tika piestiprināts pie tā, izmantojot mazus 2x3”koka blokus.

Pamatnes augšpusē es pievienoju barošanas bloku ar epoksīdu un MUX un Buck pārveidotājus ar PCB stand-off starplikām. Starplikas tika piestiprinātas pie saplākšņa, izmantojot E-Z Lok vītņu adapterus.

13. solis: Pentagona kupola bāze

Pentagona kupola bāze
Pentagona kupola bāze
Pentagona kupola bāze
Pentagona kupola bāze
Pentagona kupola bāze
Pentagona kupola bāze

Papildus apļveida pamatnei es uzbūvēju arī piecstūra pamatni kupolam ar stikla logu apakšā. Šī pamatne un izskatīgais logs tika izgatavoti arī no saplākšņa, kas sagriezts ar koka CNC maršrutētāju. Piecstūra malas ir izgatavotas no koka dēļiem, un vienā pusē ir caurums savienotājiem. Izmantojot metāla kronšteinus un 2x3 bloku savienojumus, koka dēļi ir piestiprināti pie piecstūra pamatnes. Strāvas slēdzis, MIDI savienotāji un USB savienotājs ir pievienoti priekšējam panelim, ko izveidoju, izmantojot lāzera griezēju. Visa piecstūra pamatne ir pieskrūvēta pie apaļās pamatnes, kas aprakstīta 12. solī.

Es uzstādīju logu kupola apakšā, lai ikviens varētu paskatīties uz kupolu, lai redzētu elektroniku. Izskats stikls ir izgatavots no akrila griezuma ar lāzera griezēju un tiek epoksēts uz apaļa saplākšņa gabala.

14. solis: Doma programmēšana

Kupola programmēšanai ir bezgalīgas iespējas. Katrs koda cikls uztver signālus no IR sensoriem, kas norāda uz trijstūriem, kuriem kāds ir pieskāries. Ar šo informāciju jūs varat krāsot kupolu ar jebkuru RGB krāsu un/vai radīt MIDI signālu. Šeit ir daži programmu piemēri, kurus es uzrakstīju kupolam:

Krāsojiet kupolu: katrs trijstūris cikliski izdara četras krāsas, kad tam pieskaras. Mainoties krāsām, tiek atskaņots arpeggio. Izmantojot šo programmu, jūs varat nokrāsot kupolu tūkstošiem dažādu veidu.

Kupola mūzika: kupols ir iekrāsots piecās krāsās, katra sadaļa atbilst citai MIDI izvadei. Programmā jūs varat izvēlēties, kuras piezīmes atskaņo katrs trīsstūris. Es izvēlējos sākt no C vidusdaļas kupola augšpusē un palielināt piķi, kad trīsstūri tuvojās pamatnei. Tā kā ir pieci izvadi, šī programma ir ideāli piemērota, lai vairāki cilvēki vienlaikus spēlētu kupolu. Izmantojot MIDI instrumentu vai MIDI programmatūru, šos MIDI signālus var likt izklausīties kā jebkuram instrumentam.

Saimons: Es uzrakstīju Simona, klasiskās atmiņas iedegšanas spēles, atveidojumu. Visā kupolā pa vienam tiek izgaismota nejauša gaismu secība. Katrā pagriezienā spēlētājam ir jākopē secība. Ja atskaņotājs pareizi atbilst secībai, secībai tiek pievienots papildu apgaismojums. Labākais rezultāts tiek saglabāts vienā no kupola sekcijām. Šo spēli ir arī ļoti jautri spēlēt ar vairākiem cilvēkiem.

Pongs: Kāpēc nespēlēt tenisu uz kupola? Bumba izplatās pa kupolu, līdz tā ietriecas lāpstiņā. Kad tas notiek, tiek radīts MIDI signāls, kas norāda, ka lāpstiņa trāpa pa bumbu. Pēc tam otram spēlētājam ir jānovirza lāpstiņa gar kupola dibenu tā, lai tā atsit bumbu atpakaļ.

15. darbība. Pabeigtā kupola fotoattēli

Pabeigtā kupola fotoattēli
Pabeigtā kupola fotoattēli
Pabeigtā kupola fotoattēli
Pabeigtā kupola fotoattēli
Pabeigtā kupola fotoattēli
Pabeigtā kupola fotoattēli
Pabeigtā kupola fotoattēli
Pabeigtā kupola fotoattēli
Arduino konkurss 2016
Arduino konkurss 2016
Arduino konkurss 2016
Arduino konkurss 2016

Galvenā balva Arduino konkursā 2016

Remiksu konkurss 2016
Remiksu konkurss 2016
Remiksu konkurss 2016
Remiksu konkurss 2016

Otrā balva remiksu konkursā 2016

Konkurss Padariet to mirdzošu 2016
Konkurss Padariet to mirdzošu 2016
Konkurss Padariet to mirdzošu 2016
Konkurss Padariet to mirdzošu 2016

Otrā balva konkursā Make it Glow 2016

Ieteicams: