Obsah:

Interaktivní geodetický dóm LED: 15 kroků (s obrázky)
Interaktivní geodetický dóm LED: 15 kroků (s obrázky)

Video: Interaktivní geodetický dóm LED: 15 kroků (s obrázky)

Video: Interaktivní geodetický dóm LED: 15 kroků (s obrázky)
Video: Dřevěná kupolová konstrukce s PVC krytem. Systém konektorů STAR od VikingDome 2024, Červenec
Anonim
Image
Image
Interaktivní geodetický LED dóm
Interaktivní geodetický LED dóm
Interaktivní geodetický LED dóm
Interaktivní geodetický LED dóm
Interaktivní geodetický LED dóm
Interaktivní geodetický LED dóm

Postavil jsem geodetickou kopuli skládající se ze 120 trojúhelníků s LED a senzorem v každém trojúhelníku. Každou LED lze adresovat samostatně a každý senzor je vyladěn speciálně pro jeden trojúhelník. Kopule je naprogramována pomocí Arduina tak, aby se rozsvítilo a produkovalo MIDI signál podle toho, do kterého trojúhelníku přiložíte ruku.

Kopuli jsem navrhl jako zábavný displej, který lidi zajímá o světlo, elektroniku a zvuk. Protože se kupole rozděluje na pět částí, navrhl jsem, aby měla pět samostatných MIDI výstupů, z nichž každá může mít jiný zvuk. Díky tomu je z kopule obrovský hudební nástroj, ideální pro přehrávání hudby s více lidmi současně. Kromě přehrávání hudby jsem kupoli naprogramoval také pro světelné show a hraní ztvárnění Simona a Ponga. Konečná struktura je o něco více než metr v průměru a 70 cm vysoká a je primárně vyrobena ze dřeva, akrylu a 3D tištěných dílů.

Existuje několik skvělých instruktáží na LED tabulkách a kostkách, které mě inspirovaly k zahájení tohoto projektu. Chtěl jsem však zkusit uspořádat LED diody do jiné geometrie. Nemohl jsem si představit lepší strukturu projektu než geodetickou kopuli, která je také dobře zdokumentována na Instructables. Tento projekt je tedy remixem/mashupem LED tabulek a geodetických kopulí. Níže jsou uvedeny odkazy na tabulku LED a pokyny pro geodetickou kopuli, které jsem zkontroloval na začátku projektu.

LED stoly a kostky:

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

Geodetická kopule:

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

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

Krok 1: Seznam dodávek

Seznam dodávek
Seznam dodávek
Seznam dodávek
Seznam dodávek
Seznam dodávek
Seznam dodávek

Materiály:

1. Dřevo pro vzpěry kopule a základny kopule (množství závisí na typu a velikosti kopule)

2. Adresovatelný LED pásek (16,4ft/5m adresovatelný barevný LED pixelový pás 160leds Ws2801 Dc5v)

3. Arduino Uno (Atmega328 - sestavené)

4. Prototypová deska (Penta Angel Double-Side Prototype PCB Universal (7x9cm))

5. Akryl pro difúzní LED diody (litý akrylový list, čirý, velikost 12 palců x 12 palců x 0,118 palců)

6. Napájení (Aiposen 110/220V až DC12V 30A 360W ovladač napájecího zdroje)

7. Buck převodník pro Arduino (RioRand LM2596 DC-DC Buck Converter 1,23V-30V)

8. Buck převodník pro LED a senzory (DROK Mini Electric Buck Voltage Converter 15A)

9. 120 IR senzorů (modul senzoru vyhýbání se infračerveným překážkám)

10. Pět 16kanálových multiplexorů (analogový/digitální MUX Breakout - CD74HC4067)

11. Šest 8kanálových multiplexorů (Multiplexer Breakout - 8kanálový (74HC4051))

12. Pět 2kanálových multiplexorů (MAX4544CPA+)

13. Drát ovinutý drátem (PCB pájka 0,25 mm pocínovaná měděná šňůra Dia drát pro ovinutí drátu 305M 30AWG červený)

14. Propojovací vodič (plné jádro, 22 AWG)

15. Pinové záhlaví (Gikfun 1 x 40 Pin 2,54 mm jednořadý odpojovací konektor Male Pin)

16. Pět konektorů MIDI (MIDI konektor vhodný pro Breadboard (5kolíkový DIN))

17. Deset 220ohm odporů pro MIDI konektory

18. Distanční podložky pro montáž elektroniky do kopule (Distanční distanční podložka Hex M3 Male x M3 Female)

19. Závitové adaptéry pro připojení stojanů ke dřevu (závitová vložka EZ Lok, mosaz, nůž)

20. Epoxidové nebo Gorilla Superglue

21. Elektrická páska

22. Pájka

Nástroje:

1. Pájecí stanice

2. Elektrická vrtačka

3. Kotoučová pila

4. Orbitální bruska

5. Přímočará pila

6. Pokosová pila

7. Úhloměr

8. 3D tiskárna

9. Nůžky na drát

10. Nástroj na ovinutí drátu

11. Laserová řezačka pro řezání LED desek (volitelně)

12. CNC shopbot pro základnu kopule (volitelně)

Krok 2: Navrhování geodetického dómu

Navrhování geodetického dómu
Navrhování geodetického dómu
Navrhování geodetického dómu
Navrhování geodetického dómu

Jak jsem zmínil v úvodu, existuje několik online zdrojů pro stavbu vlastní geodetické kopule. Tato místa poskytují kopulovité kalkulačky, které určují délku každé strany (tj. Vzpěry) a počet konektorů požadovaných pro jakýkoli typ kopule, kterou chcete postavit. Složitost geodetické kupole (tj. Hustota trojúhelníků) je dána její třídou (1V, 2V, 3V atd.), Přičemž vyšší složitost se stává lepší aproximací dokonalého sférického povrchu. Chcete -li zkonstruovat vlastní kopuli, musíte nejprve vybrat průměr a třídu kopule.

Použil jsem web s názvem Domerama, který mi pomohl navrhnout 4V kopuli, která byla zkrácena na 5/12 koule o poloměru 40 cm. Pro tento typ kopule existuje šest různě dlouhých vzpěr:

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

To je celkem 190 vzpěr, které přidávají až 2223 cm (73 stop) materiálu. Na vzpěry v této kopuli jsem použil borovicové řezivo 1x3 (3/4 "× 2-1/2"). Pro připojení vzpěr jsem navrhl a 3D vytiskl konektory pomocí Autocad. Soubory STL jsou k dispozici ke stažení na konci tohoto kroku. Počet konektorů pro kopuli 4V 5/12 je:

20 X 4-konektor

6 X 5 konektorů

45 X 6 konektorů

V dalším kroku popisuji, jak je tato kopule konstruována pomocí dřevěných vzpěr a 3D tištěných konektorů, které jsem navrhl.

Krok 3: Konstrukce kopule se vzpěrami a konektory

Stavba kopule se vzpěrami a konektory
Stavba kopule se vzpěrami a konektory
Konstrukce kopule se vzpěrami a konektory
Konstrukce kopule se vzpěrami a konektory
Stavba kopule se vzpěrami a konektory
Stavba kopule se vzpěrami a konektory
Konstrukce kopule se vzpěrami a konektory
Konstrukce kopule se vzpěrami a konektory

Pomocí výpočtů od společnosti Domerama pro kopuli 4V 5/12 jsem rozřezal vzpěry pomocí kotoučové pily. 190 vzpěr bylo označeno a umístěno do krabice po řezání. 71 konektorů (20 čtyř konektorů, 6 pěti konektorů a 45 šesti konektorů) bylo 3D vytištěno pomocí Makerbot. Dřevěné vzpěry byly vloženy do konektorů podle schématu vytvořeného Domerama. Začal jsem stavbu shora a pohyboval se radiálně ven.

Poté, co byly všechny vzpěry spojeny, vyjmul jsem jednu vzpěru najednou a přidal epoxid do dřeva a konektoru. Konektory byly navrženy tak, aby měly flexibilitu v tom, jak spojovaly struktury, takže před přidáním jakéhokoli epoxidu bylo důležité zkontrolovat symetrii kopule.

Krok 4: Laserové řezání a montáž základních desek

Laserové řezání a montáž základních desek
Laserové řezání a montáž základních desek
Laserové řezání a montáž základních desek
Laserové řezání a montáž základních desek
Laserové řezání a montáž základních desek
Laserové řezání a montáž základních desek
Laserové řezání a montáž základních desek
Laserové řezání a montáž základních desek

Nyní, když je kostra kopule zkonstruována, je na čase řezat trojúhelníkové základní desky. Tyto základní desky jsou připevněny ke spodní části vzpěr a slouží k montáži LED diod do kupole. Nejprve jsem vyřezal základní desky z překližky o tloušťce 5 mm (3/16”) měřením pěti různých trojúhelníků, které jsou na kopuli: AAB (30 trojúhelníků), BCC (25 trojúhelníků), DDE (20 trojúhelníků), CDF (40 trojúhelníků)) a EEE (5 trojúhelníků). Rozměry každé strany a tvar trojúhelníků byly určeny pomocí kopulovité kalkulačky (Domerama) a některé geometrie. Po vyřezání testovacích základních desek pomocí skládačky jsem nakreslil trojúhelníkový design pomocí aplikace Coral Draw a zbývající základní desky vyřízl laserovou řezačkou (mnohem rychleji!). Pokud nemáte přístup k laserové řezačce, můžete základní desky nakreslit na překližku pomocí pravítka a úhloměru a všechny je oříznout skládačkou. Jakmile jsou základní desky rozříznuty, kopule se převrátí a desky se k kupoli přilepí pomocí lepidla na dřevo.

Krok 5: Přehled elektroniky

Přehled elektroniky
Přehled elektroniky

Na obrázku výše je schéma elektroniky pro kopuli. Arduino Uno se používá pro zápis a čtení signálů pro kopuli. K rozsvícení kopule je přes kopuli veden RGB LED pás, takže v každém ze 120 trojúhelníků je umístěna LED dioda. Informace o tom, jak LED pás funguje, najdete v tomto návodu. Každou LED lze adresovat samostatně pomocí Arduina, který produkuje sériová data a hodinový signál pro pásek (schematicky viz pin A0 a A1). Pouze s pásem a těmito dvěma signály můžete mít úžasnou světelnou kopuli. Existují i jiné způsoby, jak psát signály pro mnoho LED z Arduina, například Charlieplexing a posuvné registry.

Abych mohl komunikovat s kopulí, nastavil jsem nad každou LED infračervený senzor. Tyto senzory se používají k detekci, když je něčí ruka blízko trojúhelníku na kopuli. Protože každý trojúhelník na kopuli má svůj vlastní IR senzor a je zde 120 trojúhelníků, budete muset před Arduinem udělat nějaký multiplex. Rozhodl jsem se použít pět 24kanálových multiplexorů (MUX) pro 120 senzorů na kopuli. Pokud nejste obeznámeni, zde je návod k multiplexování. 24kanálový MUX vyžaduje pět řídicích signálů. Vybral jsem piny 8-12 na Arduinu, abych mohl provádět manipulaci s porty (další informace viz krok 10). Výstup desek MUX se načítá pomocí pinů 3-7.

Na kopuli jsem také zahrnoval pět MIDI výstupů, aby mohl produkovat zvuk (krok 11). Jinými slovy, pět lidí může hrát na kopuli současně, přičemž každý výstup hraje jiný zvuk. Na Arduinu je pouze jeden TX pin, takže pět MIDI signálů vyžaduje demultiplexování. Protože je MIDI výstup produkován v jiném čase, než je čtení z IR senzoru, použil jsem stejné řídicí signály.

Poté, co jsou všechny vstupy IR senzoru načteny do Arduina, kopule se může rozsvítit a přehrávat zvuky, jakkoli Arduino naprogramujete. V kroku 14 tohoto pokynu mám několik příkladů.

Krok 6: Montáž LED na kopuli

Montáž LED na kopuli
Montáž LED na kopuli
Montáž LED na kopuli
Montáž LED na kopuli
Montáž LED na kopuli
Montáž LED na kopuli

Protože je kupole tak velká, je třeba pásek LED oříznout, aby na každý trojúhelník byla umístěna jedna LED. Každá LED je nalepena na trojúhelník pomocí super lepidla. Na obou stranách diody LED je skrz základní desku vyvrtán otvor pro vedení kabelů kopulí. Poté jsem na každý kontakt na LED (5V, uzemnění, hodiny, signál) připájel připojovací vodič a vodiče protáhl základovou deskou. Tyto dráty jsou nařezány tak, aby byly dostatečně dlouhé, aby dosáhly na další LED diodu na kopuli. Vodiče jsou protaženy k další LED a proces pokračuje. Připojil jsem LED diody v konfiguraci, která by minimalizovala množství požadovaného vodiče, a přesto měla smysl pro pozdější adresování LED pomocí Arduina. Menší kopule by eliminovala potřebu řezání pásu a ušetřila by spoustu času na pájení. Další možností je použít samostatné RGB LED s posuvnými registry.

Sériová komunikace na pás je zajištěna pomocí dvou pinů (datový a hodinový pin) z Arduina. Jinými slovy, data pro osvětlení kopule jsou předávána z jedné LED do druhé, když opouští datový kolík. Zde je příklad kódu upraveného z tohoto fóra Arduino:

// Nechte celou kopuli zvýšit a snížit intenzitu jedné barvy

#define numLeds 120 // Počet LED // VÝSTUPNÍ PINY // int clockPin = A1; // definujte hodinový pin int dataPin = A0; // definujte datový pin // VARIABLES // int red [numLeds]; // Inicializace pole pro LED pásek int zelená [numLeds]; // Inicializace pole pro LED pásek int modrá [numLeds]; // Inicializace pole pro LED pásek // KONSTANTNÍ dvojité měřítkoA = {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}; // zlomek intenzity LED neplatí setup () {pinMode (clockPin, OUTPUT); pinMode (dataPin, OUTPUT); memset (červená, 0, numLeds); memset (zelený, 0, numLeds); memset (modrý, 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 ++) // smyčka pro zvýšení intenzity světla kopule {double scale = scaleA [p]; zpoždění (20); for (int i = 0; i <numLeds; i ++) // cyklus všemi LED diodami {červená = 255 * stupnice; zelená = měřítko 80 *; modrá = 0; } aktualizační řetězec (červený, zelený, modrý); // aktualizovat LED pás}}

Krok 7: Návrh a implementace držáku senzoru

Návrh a implementace držáku senzoru
Návrh a implementace držáku senzoru
Návrh a implementace držáku senzoru
Návrh a implementace držáku senzoru
Návrh a implementace držáku senzoru
Návrh a implementace držáku senzoru

Pro kopuli jsem se rozhodl použít IR senzory. Tyto senzory mají IR LED a přijímač. Když se objekt dostane před senzor, určité IR záření z IR LED se odráží směrem k přijímači. Tento projekt jsem zahájil výrobou vlastních IR senzorů, které vycházely z instrukcí Richardouviny. Celé pájení trvalo příliš dlouho, takže jsem od eBay koupil 120 IR senzorů, z nichž každý produkuje digitální výstup. Prahová hodnota senzoru je nastavena potenciometrem na desce tak, aby byl výstup vysoký pouze tehdy, když je v blízkosti tohoto trojúhelníku ruka.

Každý trojúhelník se skládá z překližkové LED základní desky, listu difuzního akrylu namontovaného asi 2,5 cm nad LED deskou a infračerveného senzoru. Senzor pro každý trojúhelník byl namontován na list tenké překližky ve tvaru pětiúhelníku nebo šestiúhelníku v závislosti na poloze na kopuli (viz obrázek výše). Do základny infračerveného senzoru jsem vyvrtal otvory, abych namontoval infračervené senzory, a poté jsem propojil zem a 5V kolíky drátem s omotaným drátem a nástrojem pro zabalení drátu (červené a černé dráty). Po připojení uzemnění a 5V jsem na každý výstup (žlutý), uzemnění a 5V omotal dlouhý drát na omotání, aby protáhl kopuli.

Šestihranné nebo pětiúhelníkové držáky infračerveného senzoru byly poté epoxidovány na kopuli, přímo nad 3D tištěnými konektory, aby drát mohl procházet kupolí. Tím, že jsem měl senzory nad konektory, jsem také mohl přistupovat k potenciometrům na IR senzorech, které ovládají citlivost senzorů, a nastavovat je. V dalším kroku popíšu, jak jsou výstupy IR senzorů propojeny s multiplexery a načteny do Arduina.

Krok 8: Výstup snímače multiplexování

Multiplexní výstup snímače
Multiplexní výstup snímače
Multiplexní výstup snímače
Multiplexní výstup snímače
Multiplexní výstup snímače
Multiplexní výstup snímače

Protože Arduino Uno má pouze 14 digitálních I/O pinů a 6 analogových vstupních pinů a existuje 120 senzorových signálů, které je nutné přečíst, dome vyžaduje multiplexory ke čtení všech signálů. Rozhodl jsem se sestrojit pět 24kanálových multiplexorů, z nichž každý čte 24 IR senzorů (viz obrázek přehledu elektroniky). 24kanálový MUX se skládá z 8kanálové odpojovací desky MUX, 16kanálové odpojovací desky MUX a 2kanálového MUX. Na každou odpojovací desku byly připájeny kolíkové hlavičky, aby mohly být připojeny k prototypové desce. Pomocí nástroje pro ovíjení drátu jsem poté připojil kostru, 5V a piny řídicího signálu na rozpojovacích deskách MUX.

24kanálový MUX vyžaduje pět řídicích signálů, které jsem se rozhodl připojit k pinu 8-12 na Arduinu. Všech pět 24kanálových MUX přijímá stejné řídicí signály z Arduina, takže jsem připojil vodič z pinů Arduino k 24kanálovému MUXu. Digitální výstupy infračervených senzorů jsou připojeny ke vstupním pinům 24kanálového MUXu, takže je lze sériově číst do Arduina. Protože existuje pět samostatných kolíků pro čtení ve všech 120 výstupech senzorů, je užitečné si představit, že kopule je rozdělena do pěti samostatných sekcí sestávajících z 24 trojúhelníků (zkontrolujte barvy kopule na obrázku).

Pomocí manipulace s portem Arduino můžete rychle zvýšit řídicí signály vysílané piny 8-12 do multiplexorů. Zde jsem připojil příklad kódu pro provoz multiplexorů:

int numChannel = 24;

// VÝSTUPY // int s0 = 8; // Ovládání MUX 0 - PORTbD int s1 = 9; // Ovládání MUX 1 - PORTb int s2 = 10; // Ovládání MUX 2 - PORTb int s3 = 11; // Ovládání MUX 3 - PORTb int s4 = 12; // Ovládání MUX 4 - PORTb // VSTUPY // int m0 = 3; // vstup MUX 0 int m1 = 4; // MUX vstup 1 int m2 = 5; // Vstup MUX 2 int m3 = 6; // Vstup MUX 3 int m4 = 7; // vstup MUX 4 // VARIABILY // int arr0r; // digitální čtení z MUX0 int arr1r; // digitální čtení z MUX1 int arr2r; // digitální čtení z MUX2 int arr3r; // digitální čtení z MUX3 int arr4r; // digitální čtení z MUX4 void setup () {// sem vložte svůj instalační kód, aby se spustil jednou: DDRB = B11111111; // nastaví piny Arduino 8 až 13 jako vstupy pinMode (s0, OUTPUT); pinMode (s1, VÝSTUP); pinMode (s2, VÝSTUP); pinMode (s3, VÝSTUP); pinMode (s4, VÝSTUP); pinMode (m0, INPUT); pinMode (m1, INPUT); pinMode (m2, VSTUP); pinMode (m3, VSTUP); pinMode (m4, INPUT); } void loop () {// sem vložte svůj hlavní kód, aby se spustil opakovaně: PORTB = B00000000; // SET control pins for mux low for (int i = 0; i <numChannel; i ++) {// Digital read output of MUX0 - MUX4 for IR sensor i // If IR sensor is LO, the triangle is an touching player. arr0r = digitalRead (m0); // čtení z Mux 0, IR senzor i arr1r = digitalRead (m1); // čtení z Mux 1, IR senzor i arr2r = digitalRead (m2); // čtení z Mux 2, IR senzor i arr3r = digitalRead (m3); // čtení z Mux 3, IR senzor i arr4r = digitalRead (m4); // čtení z Mux 4, IR senzor i // DO NĚCO S MUX VSTUPY NEBO ULOŽTE V POLE ZDE // PORTB ++; // přírůstkové řídicí signály pro MUX}}

Krok 9: Difúzní světlo s akrylem

Difuzní světlo s akrylem
Difuzní světlo s akrylem
Difuzní světlo s akrylem
Difuzní světlo s akrylem
Difuzní světlo s akrylem
Difuzní světlo s akrylem

Abych rozptýlil světlo z LED diod, obrousil jsem průhledný akryl kruhovou orbitální bruskou. Bruska se pohybovala po obou stranách akrylu pohybem číslo 8. Zjistil jsem, že tato metoda je mnohem lepší než barva ve spreji „z matného skla“.

Po vybroušení a vyčištění akrylu jsem pomocí laserové řezačky vyřízl trojúhelníky, aby se vešly přes LED diody. Je možné řezat akrylát pomocí akrylového řezacího nástroje nebo dokonce skládačky, pokud akrylát nepraská. Akryl byl držen nad LED diodami 5 mm silnými překližkovými obdélníky také řezanými laserovou řezačkou. Tato malá prkna byla nalepena na vzpěry na kopuli a akrylové trojúhelníky byly na prkna epoxidovány.

Krok 10: Vytváření hudby s kopulí pomocí MIDI

Vytváření hudby s kopulí pomocí MIDI
Vytváření hudby s kopulí pomocí MIDI
Vytváření hudby s kopulí pomocí MIDI
Vytváření hudby s kopulí pomocí MIDI
Vytváření hudby s kopulí pomocí MIDI
Vytváření hudby s kopulí pomocí MIDI

Chtěl jsem, aby kopule byla schopná produkovat zvuk, a tak jsem nastavil pět MIDI kanálů, jeden pro každou podmnožinu kopule. Nejprve musíte zakoupit pět MIDI konektorů a připojit je podle schématu (více informací najdete v tomto tutoriálu podpory Arduina).

Protože na Arduino Uno je pouze jeden vysílací sériový pin (pin 2 označený jako TX pin), musíte de-multiplexovat signály vysílané do pěti MIDI konektorů. Použil jsem stejné řídicí signály (pin 8-12), protože MIDI signály jsou vysílány v jinou dobu, než když se načítají IR snímače do Arduina. Tyto řídicí signály jsou odesílány do 8kanálového demultiplexoru, takže můžete ovládat, který MIDI konektor přijímá MIDI signál vytvořený Arduinem. MIDI signály byly generovány Arduinem s úžasnou knihovnou MIDI signálů vytvořenou Francoisem Bestem. Zde je příklad kódu pro produkci více MIDI výstupů do různých MIDI konektorů pomocí Arduino Uno:

#include // zahrnout MIDI knihovnu

#define numChannel 24 // Počet IR na trojúhelník #definovat numSections 5 // počet sekcí v dome, počet 24kanálových MUX, počet MIDI konektorů // VÝSTUPY // int s0 = 8; // Ovládání MUX 0 - PORTbD int s1 = 9; // Ovládání MUX 1 - PORTb int s2 = 10; // Ovládání MUX 2 - PORTb int s3 = 11; // Ovládání MUX 3 - PORTb int s4 = 12; // Ovládání MUX 4 - PORTb // VSTUPY // int m0 = 3; // vstup MUX 0 int m1 = 4; // MUX vstup 1 int m2 = 5; // Vstup MUX 2 int m3 = 6; // Vstup MUX 3 int m4 = 7; // vstup MUX 4 // VARIABILY // int arr0r; // digitální čtení z MUX0 int arr1r; // digitální čtení z MUX1 int arr2r; // digitální čtení z MUX2 int arr3r; // digitální čtení z MUX3 int arr4r; // digitální čtení z MUX4 int midArr [numSections]; // Uložte, zda některý z hráčů stiskl notu int note2play [numSections]; // Uložení not, které se mají přehrát, pokud se dotknete senzoru, v notách [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; // doba pauzy mezi midi signály MIDI_CREATE_DEFAULT_INSTANCE (); void setup () {// sem vložte svůj instalační kód, aby se spustil jednou: DDRB = B11111111; // nastaví piny Arduino 8 až 13 jako vstupy MIDI.begin (MIDI_CHANNEL_OFF); pinMode (s0, VÝSTUP); pinMode (s1, VÝSTUP); pinMode (s2, VÝSTUP); pinMode (s3, VÝSTUP); pinMode (s4, VÝSTUP); pinMode (m0, INPUT); pinMode (m1, INPUT); pinMode (m2, VSTUP); pinMode (m3, VSTUP); pinMode (m4, INPUT); } void loop () {// sem vložte svůj hlavní kód, aby se spustil opakovaně: PORTB = B00000000; // SET control pins for mux low for (int i = 0; i <numChannel; i ++) {// Digital read output of MUX0 - MUX4 for IR sensor i // If IR sensor is LO, the triangle is an touching player. arr0r = digitalRead (m0); // čtení z Mux 0, IR senzor i arr1r = digitalRead (m1); // čtení z Mux 1, IR senzor i arr2r = digitalRead (m2); // čtení z Mux 2, IR senzor i arr3r = digitalRead (m3); // čtení z Mux 3, IR senzor i arr4r = digitalRead (m4); // čtení z Mux 4, IR senzor i if (arr0r == 0) // Senzor na sekci 0 byl zablokován {midArr [0] = 1; // Hráč 0 trefil notu, nastavte HI tak, aby existoval MIDI výstup pro hráče 0 note2play [0] = noty ; // Poznámka ke hře pro hráče 0}, pokud (arr1r == 0) // Senzor v sekci 1 byl zablokován {midArr [1] = 1; // Hráč 0 trefil notu, nastavte HI tak, aby byl MIDI výstup pro hráče 0 note2play [1] = noty ; // Poznámka ke hře pro hráče 0}, pokud (arr2r == 0) // Senzor v sekci 2 byl zablokován {midArr [2] = 1; // Hráč 0 trefil notu, nastavte HI tak, aby existoval MIDI výstup pro hráče 0 note2play [2] = noty ; // Poznámka ke hře pro hráče 0}, pokud (arr3r == 0) // Senzor v sekci 3 byl zablokován {midArr [3] = 1; // Hráč 0 trefil notu, nastavte HI tak, aby existoval MIDI výstup pro hráče 0 note2play [3] = noty ; // Poznámka ke hře pro hráče 0}, pokud (arr4r == 0) // Senzor v sekci 4 byl zablokován {midArr [4] = 1; // Hráč 0 trefil notu, nastavte HI tak, aby byl MIDI výstup pro hráče 0 note2play [4] = noty ; // Poznámka k hraní pro hráče 0} PORTB ++; // přírůstkové řídicí signály pro MUX} updateMIDI (); } neplatné updateMIDI () {PORTB = B00000000; // SET ovládací piny pro mux low if (midArr [0] == 1) // Player 0 MIDI výstup {MIDI.sendNoteOn (note2play [0], 127, 1); delayMicroseconds (pauseMidi); MIDI.sendNoteOff (note2play [0], 127, 1); delayMicroseconds (pauseMidi); } PORTB ++; // přírůstek MUX if (midArr [1] == 1) // Player 1 MIDI výstup {MIDI.sendNoteOn (note2play [1], 127, 1); delayMicroseconds (pauseMidi); MIDI.sendNoteOff (note2play [1], 127, 1); delayMicroseconds (pauseMidi); } PORTB ++; // inkrementovat MUX if (midArr [2] == 1) // Player 2 MIDI výstup {MIDI.sendNoteOn (note2play [2], 127, 1); delayMicroseconds (pauseMidi); MIDI.sendNoteOff (note2play [2], 127, 1); delayMicroseconds (pauseMidi); } PORTB ++; // přírůstek MUX if (midArr [3] == 1) // Přehrávač 3 MIDI výstup {MIDI.sendNoteOn (note2play [3], 127, 1); delayMicroseconds (pauseMidi); MIDI.sendNoteOff (note2play [3], 127, 1); delayMicroseconds (pauseMidi); } PORTB ++; // přírůstek MUX if (midArr [4] == 1) // Player 4 MIDI výstup {MIDI.sendNoteOn (note2play [4], 127, 1); delayMicroseconds (pauseMidi); MIDI.sendNoteOff (note2play [4], 127, 1); delayMicroseconds (pauseMidi); } midArr [0] = 0; midArr [1] = 0; midArr [2] = 0; midArr [3] = 0; midArr [4] = 0; }

Krok 11: Napájení kopule

Napájení Dome
Napájení Dome
Napájení Dome
Napájení Dome
Napájení Dome
Napájení Dome
Napájení Dome
Napájení Dome

Existuje několik komponent, které je třeba napájet v kopuli. Proto budete muset vypočítat zesilovače odebírané z každé součásti, abyste zjistili napájecí zdroj, který potřebujete koupit.

LED pásek: Použil jsem přibližně 3,75 metru LED pásku Ws2801, který spotřebuje 6,4 W/metr. To odpovídá 24 W (3,75*6,4). Chcete -li to převést na zesilovače, použijte Power = proud*voltů (P = iV), kde V je napětí LED pásky, v tomto případě 5V. Proto je proud odebíraný z LED diod 4,8 A (24 W/5 V = 4,8 A).

IR senzory: Každý IR senzor čerpá asi 25 mA, celkem 3 A pro 120 senzorů.

Arduino: 100mA, 9V

Multiplexory: Existuje pět 24kanálových multiplexorů, z nichž každý se skládá ze 16kanálového multiplexeru a 8kanálového multiplexeru. 8kanálový a 16kanálový MUX spotřebovávají přibližně 100 mA. Proto je celková spotřeba energie všech MUX 1A.

Sečtením těchto komponent se očekává celková spotřeba energie kolem 9A. LED pásek, infračervené senzory a multiplexory mají vstupní napětí 5 V a Arduino má vstupní napětí 9 V. Proto jsem pro Arduino vybral napájecí zdroj 12V 15A, převodník 15A pro převod 12 V na 5 V a převodník 3 A pro převod 12 V na 9 V.

Krok 12: Základna kruhového dómu

Kruhová kopulovitá základna
Kruhová kopulovitá základna
Kruhová kopulovitá základna
Kruhová kopulovitá základna
Kruhová kopulovitá základna
Kruhová kopulovitá základna

Kopule spočívá na kruhovém kusu dřeva s pětiúhelníkem vyříznutým uprostřed pro snadný přístup k elektronice. K vytvoření této kruhové základny byl pomocí dřevěného CNC routeru nařezán list překližky 4x6. K tomuto kroku by mohla být také použita skládačka. Poté, co byla základna nařezána, byla k ní kupole připevněna pomocí malých dřevěných bloků 2x3 “.

Na základnu jsem připojil napájecí zdroj s epoxidem a převaděče MUX a Buck s distančními distančními podložkami PCB. Distanční vložky byly k překližce připevněny pomocí závitových adaptérů E-Z Lok.

Krok 13: Pentagon Dome Base

Pentagonová kopulovitá základna
Pentagonová kopulovitá základna
Pentagonová kopulovitá základna
Pentagonová kopulovitá základna
Pentagonová kopulovitá základna
Pentagonová kopulovitá základna

Kromě kruhové základny jsem zkonstruoval také pětibokou základnu pro kopuli s okénkem ve spodní části. Tato základna a vypadající okno byly také vyrobeny z překližky řezané dřevěným CNC routerem. Boky pětiúhelníku jsou vyrobeny z dřevěných prken, přičemž jedna strana má v sobě otvor pro průchod konektorů. Pomocí kovových konzol a blokových spojů 2x3 jsou dřevěná prkna připevněna k základně pětiúhelníku. K přednímu panelu, který jsem vytvořil pomocí laserové řezačky, je připojen vypínač, MIDI konektory a USB konektor. Celá základna pětiúhelníku je přišroubována ke kruhové základně popsané v kroku 12.

Nainstaloval jsem okno do spodní části kopule, aby se kdokoli mohl podívat do kopule a vidět elektroniku. Vypadající sklo je vyrobeno z akrylu řezaného laserovou řezačkou a je epoxidováno na kruhový kus překližky.

Krok 14: Programování kopule

Programování kopule má nekonečné možnosti. Každý cyklus kódu přijímá signály z infračervených senzorů, které označují trojúhelníky, kterých se někdo dotkl. Pomocí těchto informací můžete kopuli obarvit jakoukoli barvou RGB a/nebo vytvořit MIDI signál. Zde je několik příkladů programů, které jsem napsal pro kopuli:

Vybarvěte kopuli: Každý trojúhelník při dotyku cykluje čtyřmi barvami. Jak se barvy mění, hraje se arpeggio. S tímto programem se dostanete k barvení kopule tisíci různými způsoby.

Kopulovitá hudba: Kopule je zbarvena pěti barvami, přičemž každá sekce odpovídá jinému MIDI výstupu. V programu si můžete vybrat, jaké noty každý trojúhelník hraje. Rozhodl jsem se začít ve středu C v horní části kopule a zvyšovat výšku, jak se trojúhelníky přibližovaly k základně. Protože je k dispozici pět výstupů, je tento program ideální pro hraní více lidí současně. Pomocí MIDI nástroje nebo MIDI softwaru mohou tyto MIDI signály znít jako jakýkoli nástroj.

Simon: Napsal jsem ztvárnění Simona, klasické hry s osvětlením paměti. Náhodný sled světel je osvětlen jeden po druhém v celé kopuli. V každém tahu musí hráč kopírovat sekvenci. Pokud hráč odpovídá sekvenci správně, je k sekvenci přidáno další světlo. Vysoké skóre je uloženo na jedné z částí kopule. Tuto hru je také velmi zábavné hrát s více lidmi.

Pong: Proč si nezahrát pong na kopuli? Míč se šíří po kopuli, dokud nenarazí na pádlo. Když se tak stane, vydá se MIDI signál, který indikuje, že pádlo zasáhlo míč. Druhý hráč pak musí nasměrovat pádlo podél spodní části kopule tak, aby zasáhlo míč zpět.

Krok 15: Fotografie dokončeného dómu

Fotografie dokončeného dómu
Fotografie dokončeného dómu
Fotografie dokončeného dómu
Fotografie dokončeného dómu
Fotografie dokončeného dómu
Fotografie dokončeného dómu
Fotografie dokončeného dómu
Fotografie dokončeného dómu
Soutěž Arduino 2016
Soutěž Arduino 2016
Soutěž Arduino 2016
Soutěž Arduino 2016

Velká cena v soutěži Arduino 2016

Remix Contest 2016
Remix Contest 2016
Remix Contest 2016
Remix Contest 2016

Druhá cena v soutěži Remix 2016

Make it Glow Contest 2016
Make it Glow Contest 2016
Make it Glow Contest 2016
Make it Glow Contest 2016

Druhá cena v soutěži Make it Glow Contest 2016

Doporučuje: