Innehållsförteckning:

Arduino Infinity Mirror (Bluetooth & Sound Reactive): 9 steg (med bilder)
Arduino Infinity Mirror (Bluetooth & Sound Reactive): 9 steg (med bilder)

Video: Arduino Infinity Mirror (Bluetooth & Sound Reactive): 9 steg (med bilder)

Video: Arduino Infinity Mirror (Bluetooth & Sound Reactive): 9 steg (med bilder)
Video: AmazingChina: Modular & Flexible LED TV Wall 2024, November
Anonim
Image
Image
Arduino Infinity Mirror (Bluetooth och ljudreaktiv)
Arduino Infinity Mirror (Bluetooth och ljudreaktiv)
Arduino Infinity Mirror (Bluetooth och ljudreaktiv)
Arduino Infinity Mirror (Bluetooth och ljudreaktiv)

Jag skapade en Infinity Mirror för ett skolprojekt med Arduino som du kan styra med din telefon eller surfplatta med Bluetooth. Spegeln har också en inbyggd mikrofon som detekterar ljud/musik och reagerar därefter genom att generera iögonfallande ljusstrålar på musiken! Starta bara appen, anslut till bluetooth och se magin hända!

I denna instruktionsbok kommer jag att visa dig hur du kan göra denna Infinity Mirror. Så låt oss komma igång!

Steg 1: Samla material

Samla material
Samla material

För att göra denna oändliga spegel behöver du följande material:

1) Arduino Uno ($ 30)

Du kan också använda en annan typ av Arduino, men det är helt upp till dig.

2) Mini -brödbräda eller kretskort ($ 5)

Jag använde brödbrädan för prototyper och senare lödde jag allt till en perfboard/stripboard.

3) WS2813 Digital 5050 RGB LED Strip - 144 lysdioder (1 meter) ($ 25)

Du kan också använda en annan LED -remsa, men se till att alla lysdioder är individuellt adresserbara. Se också till att LED -remsan ger en "extra" 5V spänning för varje meter LED. Detta beror på att spänningen sjunker över remsan och strömmen i början kan öka avsevärt. (och kanske bränna starten på din LED -remsa!) Du kan läsa mer om detta här: Powering Neopixels.

4) Prototyptrådar ($ 3)

Färger spelar ingen roll i allmänhet, men det är mycket användbart att ha dem som referens för dig själv. Jag använde vit, svart, röd, grön, gul, orange och blå.

5) USB A till B -kabel ($ 4)

Detta kommer att användas för att ladda upp din Arduino -kod till Arduino Uno -kortet.

6) Mean Well Switching Power Supply - 5V 10A ($ 15)

Detta kommer att användas för att stödja LED -remsan med extern 5V spänning, eftersom Arduino själv inte är tillräckligt kraftfull för att tända alla lysdioder. Du kan också välja att använda en väggadapter, men se till att den går på 5V.

7) 230V strömkabel med kontakt ($ 3)

Detta kommer att användas för att ansluta strömförsörjningen till 230V -uttaget. Beroende på var du bor kan mängden spänning från eluttaget variera. I vilket fall som helst behöver du en ordentlig kabel med kontakt.

8) Bluetooth HC-06-modul RF-sändtagare Slave 4-PIN ($ 8)

Denna modul kommer att användas för att skicka data från din telefon eller surfplatta till Arduino. Denna bluetooth -modul kan bara fungera som en slav. Standard bluetooth -pin / lösenord är 1234.

9) Ljuddetekteringssensormodul 3-PIN ($ 3)

Denna modul kommer att användas för att upptäcka ljud eftersom den har en inbyggd mikrofon. Ställ in potentiometern för önskad mängd ljud vid vilket en signal genereras. Du kan också använda en annan ljudsensor, men det är upp till dig.

10) 220 Ω motstånd ($ 0,25)

Detta kommer att användas för att styra spänningarna på lysdioderna. Om du inte använder det här kommer lysdioderna så småningom att bli riktigt heta. Ett 220Ω motstånd har röda, röda och bruna ränder i den ordningen. Den sista randen representerar toleransen. Guld betyder ± 5%. Mer information här: 220 Ohm motstånd.

11) 1000uF 16V elektrolytkondensator ($ 0,25)

Detta kommer att användas för att lägga till och lagra kapacitans (energi) i din krets. Mer information här: Elektrolytkondensatorer.

Låda och spegel:

Det här är de material och dimensioner som jag använde för att skapa min låda. Du kan också välja att köpa en ram eller färdiggjord låda istället som är tillräckligt stor för att passa en envägs reflekterande spegel, normal spegel, lysdioder och elektronik i den. Jag rekommenderar bara att bygga det själv om du har rätt verktyg och material.

12) Glas 25 x 25 cm (3 mm tjockt) ($ 5)

Glaset kommer att användas som en envägs reflekterande spegel, som du behöver envägs spegel fönsterfilm för (se 13). Du kan också välja att köpa en envägs spegel/halvtransparent spegel istället som är tillräckligt stor för att passa inuti din låda. Du kan skära glas själv med en glasskärare (se 22), men jag rekommenderar snarare att konsultera specialister för att göra detta åt dig eller ännu bättre bara köpa glas med rätt dimensioner.

13) Tonad envägs spegel fönsterfilm 30 x 30 cm ($ 5)

För att replikera en envägs spegel behöver du glas och en rulle tonad envägs spegel fönsterfilm som appliceras på glaset med vatten och tvål (se 29). Anledningen till att det är något större än glaset är att det kommer att krympa med tiden. Om du väljer att köpa en envägs spegel istället som nämnts ovan behöver du inte detta.

14) Spegel 25 x 25 cm (3 mm tjock) ($ 5)

Bara en vanlig spegel, som den du har i badrummet. Detta kommer att användas, tillsammans med envägsspegeln, för att skapa "oändlighet" -effekten.

15) 2x Tjock Trälänk 25 x 10 x 2cm ($ 2)

Två träskenor för lådans topp och botten.

16) 2x Tjock Trälänk 27 x 10 x 2cm ($ 2)

Två träskenor för höger och vänster sida av lådan.

17) 2x tunn trästång 25 x 2,5 x 0,5 cm ($ 1)

Två träskenor för ovansidan och botten av lådans insida (som speglarna vilar på och som lysdioderna klistras på).

18) 2x tunn trästång 24 x 2,5 x 0,5 cm ($ 1)

Två träskenor för höger och vänster sida på insidan av lådan (som speglarna vilar på och som lysdioderna klistras på).

19) Svart färgburk/spray

Jag använde detta för att måla min låda svart för att få den att smälta in mer i det mörka temat.

Verktyg:

Det här är verktygen du behöver för att skapa lådan och spegeln:

20) Måttband ($ 3)

Används för att mäta din låda förstås. Mer information här: Hur man läser ett måttband.

21) Kvadratmått ($ 5)

Används också för att mäta din låda/material. Krävs egentligen inte, men det kan vara mycket praktiskt.

22) Wire cutter/stripper ($ 5)

Används för att ta bort och klippa dina trådar. Som alternativ kan du också använda en kökskniv eller stanleykniv. Mer information här: How to Strip Wire.

23) Glasskärare ($ 5)

Används för skärning av glas och speglar. Som alternativ kan du använda en diamant, men jag rekommenderar den inte. Mer information här: Hur man skär av målat glas.

24) Skruvmejsel/borr ($ 2)

Används för att driva skruvar och borra hål. Mer information här: Hur man kör en träskruv.

25) Hammer ($ 5)

Används för att köra naglar. Mer information här: Hur man använder en hammare på ett säkert sätt.

26) Trälim ($ 5)

Om skruvar eller spikar inte är tillräckligt bra kan du också applicera lite trälim för att hålla ihop delarna. Mer information här: Hur man limar ihop trä.

27) Såg ($ 5)

Används för sågning av trä. Mer information här: Hur man såg trä med en handsåg.

28) Naglar ($ 3)

Används för att hålla ihop delar, i vårt fall permanent.

29) Skruvar ($ 3)

Används också för att hålla ihop delar, men genom att använda skruvar istället för spikar kan du enkelt koppla bort delarna om det behövs.

30) Vatten och tvål

Används för att applicera den tonade envägs spegelfönsterfilmen på glaset. Och används också för rengöring av infinity -spegeln. Om du vill veta hur du installerar fönsterfilmen kan du följa den här självstudien: Så här installerar du fönsterfilm.

31) Sandpapper ($ 1)

Används för att förfina glasets och träets vassa kanter.

Lödningsverktyg (tillval):

32) Lödkolv ($ 15)

Valfritt om du väljer att lödda ihop allt istället för att lämna det på brödbrädan. Om du vill veta hur man lödar kan du följa den här självstudien: Lödning av elektronik.

33) Lödtenn 0.6mm - 100g ($ 5.50)

Används för att löda ihop trådarna.

34) Avlödningstråd - 1 mm 1,5 m ($ 1,50)

Används för avlödning av trådarna, om du har gjort ett misstag av misstag.

35) Värmekrympande rör ($ 2)

Används för att säkert hålla lödtrådar ihop.

36) 1x 3 Pins header female ($ 0,10)

Krävs inte riktigt, men det kan vara praktiskt om du inte direkt vill löda ljuddetekteringssensorn till ledningarna.

37) 1x 4 Pins header female ($ 0,10)

Krävs egentligen inte, men det kan vara praktiskt om du inte direkt vill löd Bluetooth -modulen till ledningarna.

Steg 2: Anslutningar för brödbräda

Image
Image
Anslutningar för brödbräda
Anslutningar för brödbräda
Anslutningar för brödbräda
Anslutningar för brödbräda

När du har monterat materialen är det dags att göra din första prototyp med hjälp av en brödbräda. Brödbrädan har totalt fyra kolumner. De två första och två sista blå och röda kolumnerna delar en anslutning vertikalt, som representerar +5V (röd) och jord/GND (blå) anslutningar. De två kolumnerna i mitten är där dina huvudkomponenter kommer att placeras. Du kan lära dig mer om brödbrädor här.

Så det du vill göra är att ansluta din Arduino till brödbrädan med hjälp av några prototypkablar. Som jag nämnde tidigare spelar färger ingen roll men de är en användbar referens för dig själv. Till exempel använde jag de röda trådarna för att representera +5V och de vita trådarna för att representera GND. Det spelar ingen roll var du placerar dina stift så länge de stannar i samma krets.

Därefter vill du ansluta din LED -remsa till brödbrädan. Du kommer att märka att den har 3-6 trådar beroende på vilken typ du har. Vitt representerar GND/min-ingång, rött representerar +5V-ingång, grönt representerar datainmatningskoden och blå representerar PIN-koden för säkerhetskopiering av data (anslut inte om inte lysdioden är ansluten). Anslut den externa 5V -strömmen och anslut den till LED -remsan. Glöm inte att också ansluta motståndet och kondensatorn enligt bilden ovan, annars kan du bränna ut dina lysdioder!

Slutligen vill du ansluta din bluetooth -modul och ljuddetekteringssensor till brödbrädan. Tilldela ljuddetekteringssensorn till pin A0 (analog). När det gäller Bluetooth -modulen kommer du att märka att den har en RXD och en TXD -stift. Dessa är för att sända och ta emot signaler. OBS: anslut TXD -stiftet på modulen till RXD -stiftet på Arduino och RXD -stiftet på modulen till TXD -stiftet på Arduino. Inte till samma stift!

Steg 3: Kod Arduino

Kod Arduino
Kod Arduino

Så nästa steg är att koda Arduino. Du behöver Arduino IDE -programvaran för att göra detta, som du kan ladda ner här. När du har laddat ner IDE öppnar du ett nytt dokument och kopierar och klistrar in följande kod i projektfönstret:

#omfatta

// Stift som är anslutna till Arduino

const int PIN = 6; // Ingångsstiften för LED -remsan int NUMPIXELS = 144; // Antalet pixlar som tänds const int SOUNDSENSOR = A0; // Ingångsstiften för ljudsensorn

int ButtonState = 0; // Status som tilldelas en knapp i Bluetooth -appen

int volym = 0; // Ange att det kontrollerar om det finns en signal i mikrofonen eller inte

// Färgvariabler

booleska PrimBlue = false; booleska PrimGreen = false; booleska PrimRed = false; booleska PrimWhite = false; booleska PrimYellow = false; booleska PrimOrange = false; booleska PrimPink = false; booleska PrimPurple = false;

// Ljus- och ljudvariabler

boolean SoundDetect = false; booleskt FullLight = false;

Adafruit_NeoPixel strip = Adafruit_NeoPixel (NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);

void setup () {

pinMode (LJUDSENSOR, INGÅNG); // Inmatning av ljudsensorns pinMode (PIN, OUTPUT); // Ingång av LED -remsan

Serial.begin (9600);

strip.setPixelColor (0, 0, 0, 0); strip.setBrightness (0); strip.begin (); // Detta initierar NeoPixel -biblioteket strip.show ();

}

void loop () {

// Definiera ljusstyrkan enligt skjutreglaget byte ljusstyrka = analogRead (A0)/4; Serial.println (ljusstyrka); if (Serial.available ()> 0) {ButtonState = Serial.read (); }

// Aktivera eller inaktivera LED- och ljuddetektering

if (FullLight == 1 && SoundDetect == 0) {strip.setBrightness (ButtonState); strip.show (); } annars om (FullLight == 0 && SoundDetect == 0) {strip.setBrightness (0); strip.show (); } annars om (FullLight == 0 && SoundDetect == 1) {strip.setBrightness (ljusstyrka); strip.show (); } annars om (FullLight == 1 && SoundDetect == 1) {strip.setBrightness (0); strip.show (); }

//////////////////////////// LED switch ////////////////////// ////

if (ButtonState == 'a') {primaryColors (); FullLight = 1; SoundDetect = 0; }

if (ButtonState == 'b') {

FullLight = 0; SoundDetect = 0; }

///////////////////////////////////////////////////////////////////// /////

if (ButtonState == 'c') {primaryColors (); SoundDetect = 1; FullLight = 0; }

if (ButtonState == 'd') {

SoundDetect = 0; FullLight = 0; }

//////////////////////////Primära färger////////////////////// ////

if (ButtonState == '1') {primaryColors (); PrimBlue = 0; PrimGreen = 0; PrimRed = 1; PrimWhite = 0; PrimGul = 0; PrimOrange = 0; PrimPink = 0; PrimPurple = 0; }

if (ButtonState == '2') {

primära färger(); PrimGreen = 1; PrimBlue = 0; PrimRed = 0; PrimWhite = 0; PrimGul = 0; PrimOrange = 0; PrimPink = 0; PrimPurple = 0; }

if (ButtonState == '3') {

primära färger(); PrimRed = 0; PrimBlue = 1; PrimGreen = 0; PrimWhite = 0; PrimGul = 0; PrimOrange = 0; PrimPink = 0; PrimPurple = 0; } if (ButtonState == '4') {primaryColors (); PrimRed = 0; PrimBlue = 0; PrimGreen = 0; PrimWhite = 1; PrimGul = 0; PrimOrange = 0; PrimPink = 0; PrimPurple = 0; } if (ButtonState == '5') {primaryColors (); PrimRed = 0; PrimBlue = 0; PrimGreen = 0; PrimWhite = 0; PrimGul = 1; PrimOrange = 0; PrimPink = 0; PrimPurple = 0; } if (ButtonState == '6') {primaryColors (); PrimRed = 0; PrimBlue = 0; PrimGreen = 0; PrimWhite = 0; PrimGul = 0; PrimOrange = 1; PrimPink = 0; PrimPurple = 0; } if (ButtonState == '7') {primaryColors (); PrimRed = 0; PrimBlue = 0; PrimGreen = 0; PrimWhite = 0; PrimGul = 0; PrimOrange = 0; PrimPink = 1; PrimPurple = 0; } if (ButtonState == '8') {primaryColors (); PrimRed = 0; PrimBlue = 0; PrimGreen = 0; PrimWhite = 0; PrimGul = 0; PrimOrange = 0; PrimPink = 0; PrimPurple = 1; }}

void primaryColors () {

för (int i = 0; i <NUMPIXELS; i ++) {if (PrimBlue == 1) {strip.setPixelColor (i, 0, 0, 255); } annars om (PrimGreen == 1) {strip.setPixelColor (i, 0, 255, 0); } annat om (PrimRed == 1) {strip.setPixelColor (i, 255, 0, 0); } annars om (PrimWhite == 1) {strip.setPixelColor (i, 255, 255, 255); } annars om (PrimYellow == 1) {strip.setPixelColor (i, 255, 255, 0); } annars om (PrimOrange == 1) {strip.setPixelColor (i, 255, 102, 0); } annat om (PrimPink == 1) {strip.setPixelColor (i, 255, 0, 255); } annat om (PrimPurple == 1) {strip.setPixelColor (i, 102, 0, 204); } annat {strip.setPixelColor (i, 255, 255, 255); }} strip.show (); }

Om den ber dig installera Adafruit NeoPixel -biblioteket gör du detta genom att gå till Sketch> Import Library> Adafruit NeoPixel.

Steg 4: Bygg Bluetooth -appen

Image
Image
Bygg lådan
Bygg lådan

Låt oss nu gå in på den intressanta delen, bygga din app! Jag bestämde mig för att använda en tredjepartsprogramvara som heter MIT App Inventor 2 för att göra detta. Om du vill ladda ner projektfilerna (.aia) och göra ändringar i appen kan du ladda ner dem nedan. Men du kan också ladda ner själva appen (.apk) direkt utan att behöva koda något. Du behöver bara installera det på din enhet.

Steg 5: Bygg rutan

Bygg lådan
Bygg lådan
Bygg lådan
Bygg lådan
Bygg lådan
Bygg lådan

I detta steg kommer vi att bygga lådan/ramen för oändlighetsspegeln.

Ytterramen

Skär först den tjocka laken för den yttre ramen (se bilderna ovan). Du behöver två stycken längd 27 cm (för topp och botten) och två bitar av längd 25 cm (för vänster sida och höger sida). Nu spikar du ihop dem genom att föra spikarna i hörnen på lådan (4 för varje sida), men se till att kanterna passar perfekt. Du kan också välja att limma ihop dem, men det är upp till dig.

Den inre ramen

Skär därefter den tunna laken för den inre ramen (se ovanstående bilder igen). Du behöver två stycken längd 25 cm (för topp och botten) och två bitar av längd 24 cm (för vänster och höger sida). Nu vill du spika dessa till cirka 0,5 cm under toppen av ytterramen genom att använda 2 spikar på varje sida. Jag applicerade också lite trälim här för att göra dem mer robusta. OBS: se till att envägsspegeln passar inuti ramen perfekt!

Borrning av mikrofonhålet

Eftersom mikrofonen är ett känsligt objekt måste den vara fri från täckning. Det är därför jag borrade ett hål i toppen av ramen från vilket mikrofonhuvudet sticker ut. Gör inte hålet för stort, för du vill inte att din mikrofon ska falla helt ur ramen.

Måla din ram

Jag bestämde mig för att måla min ram nästan matt svart för att ge den någon form av mörk, mystisk effekt. Om du också bestämmer dig för att måla det, se till att det inte finns några tjocka färgklumpar kvar på ramen. För att förhindra detta måste du försiktigt måla ramen med en liten till medelstor pensel. Dessutom kan du måla den för andra gången om den inte är tillräckligt täckt. Låt det torka en dag eller så.

Steg 6: Löd elektroniken till ett kretskort

Image
Image
Löd elektroniken till ett kretskort
Löd elektroniken till ett kretskort
Löd elektroniken till ett kretskort
Löd elektroniken till ett kretskort

I detta steg kommer vi att löda elektroniken till ett kretskort som vi senare kommer att installera på baksidan av vår spegel. Lödning är inte obligatoriskt, men jag rekommenderar starkt att göra det för att hålla elektroniken säker på plats. Jag lödde allt steg för steg per "komponent" till rutnätet för att förhindra eventuella misstag. Så jag lödde först ljudmodulen på kortet, sedan bluetooth -modulen och slutligen LED -remsorna. Jag rekommenderar att du lämnar ett tomt utrymme mellan komponenterna som inte får röra varandra direkt, till exempel +5V ingångstrådar och GND -ingångstrådar (se ovanstående bilder).

När du har dina komponenter lödda på brädet, börja göra brygganslutningar genom att applicera lite tenn mellan komponenterna under brädet. Alternativt kan du ta bort några trådar och lödda dessa till komponenterna för att skapa en brygganslutning.

Nu vill du testa kretsen genom att helt enkelt ansluta ledningarna till Arduino. Se till att du också har anslutit strömförsörjningen! Om lysdioderna tänds framgångsrikt, bra gjort! Om de inte slås på kan du dock kontrollera dubbelkretsen och leta efter felaktiga anslutningar.

Steg 7: Installera elektroniken på baksidan

Installera elektroniken på baksidan
Installera elektroniken på baksidan

Nästa steg är att installera elektroniken på en träbit, som vi också kommer att använda för baksidan av spegeln. Jag fäst elektroniken på brädet med några skruvar och limmade två block på höger och vänster sida av baksidan som används för att skruva baksidan av lådan till själva lådan.

Steg 8: Montera speglarna med lådan

Montera speglarna med lådan
Montera speglarna med lådan
Montera speglarna med lådan
Montera speglarna med lådan
Montera speglarna med lådan
Montera speglarna med lådan

Nu är det dags att montera speglarna, fästa lysdioderna på ramen och sätta ljuddetekteringssensorn på plats.

Envägs spegel

Envägsspegeln kommer att placeras på själva ramen, med den tonade sidan nedåt mot spegeln och lysdioder. För att göra denna spegel själv behöver du glasplattan och den tonade fönsterfilmen. Kapa först fönsterfilmen i rätt storlek, men lämna ca 2-5 cm extra utrymme på varje sida. Därefter vill du rengöra fönstret helt och ta bort alla dammrester. Täck sedan fönstret med lite vatten och tvål och ta försiktigt bort plasten från fönsterfilmen (du kan placera tejp på varje sida för att enkelt ta bort den). Nu vill du också täcka den klibbiga sidan av fönsterfilmen med vatten och tvål för att förhindra att den fastnar i sig själv. Allt du behöver göra nu är att placera det ovanpå glaset och sopa det ordentligt på plats (se bilderna ovan). Låt det torka i ungefär ett dygn och ta bort den återstående fönsterfilmen.

Fäst lysdioderna på lådan

Nästa steg är att fästa lysdioderna på lådan, vilket kan göras genom att ta bort det klibbiga papperet. Jag rekommenderar också att applicera lite snabbt lim på remsans baksida för att förhindra att det lossnar.

Placera speglarna och slutför det

Det sista steget är att sätta både enkelriktad spegel och normal spegel på plats. Den normala spegeln går bakom LED-remsan och envägsspegeln går framför. Limma dem på plats med lite snabbt lim och skruva bakplattan med elektroniken på baksidan av lådan. Sätt ljuddetekteringssensorn på plats, anslut alla ledningar och voila, du är klar!

Steg 9: Testa din Infinity Mirror

Allt du behöver göra nu är att testa om allt fungerar. Och det är allt! Nu har du byggt din egen Bluetooth -kontrollerbara och ljudreaktiva infinity -spegel!: D

Tveka inte att fråga i kommentarfältet om du har några frågor.

Tack och ha kul!

Rekommenderad: