Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

Holiday Shadow Theater

Componenten en benodigdheden

Arduino 101
× 1
SparkFun adresseerbare RGB LED-strip
Ik gebruik deze voor gemakkelijke connectiviteit, maar elke adresseerbare ledstrip werkt (met kleine aanpassingen.)
× 1
SparkFun Male Barrel Jack-adapter
Je kunt deze vaak vinden bij een plaatselijke elektronicawinkel
× 1
SparkFun Female Barrel Jack Adapter
× 1
SparkFun 3xAA batterijhouder met schakelaar
× 1
SparkFun AA-batterij
Dit is een generieke batterij die overal vandaan kan komen. Ik heb zojuist voor SparkFun gekozen om de leverancierslijst kort te houden. Je hebt 3AA-batterijen nodig.
× 3
Pololu Step Up Regulator 12v
Dit is een handige manier om de Arduino 101 van stroom te voorzien met dezelfde batterijen die de ledstrip van stroom voorzien.
× 1
Normaal printerpapier - 4 vellen 8.5x 11"
× 1
Cardstock papier 100 lb, 4 vellen van 8.5 x 11"
× 1
Wit 3/16" schuimkern, genoeg voor vier 8.5 x11 " stukken
× 1

Benodigde gereedschappen en machines

Hot lijmpistool (algemeen)
Soldeerbout (algemeen)
Xacto-mes
Reserve xacto-mesjes (#11)
Draadstrippers, 12-20 AWG
Toegang tot een printer (die op karton kan afdrukken)
Kleine schroevendraaier om de klemmen op de barrel jack-connectoren vast te draaien.

Apps en online services

Arduino IDE
Blynk
Adafruit Neopixel-bibliotheek

Over dit project

Overzicht

Dit project maakt gebruik van een Arduino 101, een strook adresseerbare LED's, schuimkern en karton om een ​​telefoonbestuurbaar geanimeerd Shadow Theater te creëren. De elektronica wordt niet-destructief gebruikt, zodat je ze later gemakkelijk voor een ander project kunt gebruiken. Hier is een handig Sparkfun-verlanglijstje met 99% van de elektronica.

Hoe het werkt:

Een strook adresseerbare LED's is gewikkeld over een stuk schuimkern in het midden van het Shadow Theatre. De lichten aan de onderkant worden langzaam achter elkaar afgevuurd en schijnen door gaatjes om een ​​geanimeerde schaduw te creëren. Lichten verder omhoog worden naar de gebouwen aan de bovenkant geleid en de laatste LED op de strip wordt gebruikt om op het hele tafereel te schijnen, waardoor de hoofdschaduw ontstaat.

De Arduino 101 heeft een ingebouwde Bluetooth-radio en ik gebruik een snelle prototyping-app genaamd Blynk om de scène op afstand te besturen. In de voorbeeldcode kun je de kleuren in de gebouwen regelen, een flikkerend vuur aanzetten en de helderheid van het hoofdschaduwlicht regelen.

Deel één:de elektronica instellen

Stap 1

Verzamel het eindharnas van uw LED-strip door ongeveer 1 cm van het uiteinde van de lampen af ​​te knippen. Strip de draadeinden.

Stap 2

Breek de gebogen header-pinnen die bij uw spanningsregelaar zijn geleverd uit elkaar en soldeer er twee aan de uiteinden van de groene en gele draden. Hierdoor kunt u ze gemakkelijk in de pinnen van de Arduino 101 steken.

Stap 3

Soldeer vervolgens de rode draad aan de VIN-aansluiting op de spanningsregelaar en soldeer twee rechte headers in de GND- en VOUT-pinnen zoals weergegeven.

Stap 4

Sluit nu de barrel jack-adapters aan. Strip eerst de uiteinden van de draden die uit uw batterijhouder komen, monteer ze vervolgens in de klemmen van de mannelijke cilinderaansluiting en draai ze vast met een schroevendraaier. ROOD gaat naar de (+) terminal, ZWART gaat naar de (-) terminal.

Sluit vervolgens de vrouwelijke barrel jack-adapter aan op de losse draden die uit het begin van de LED-strip komen. GEEL gaat naar de (-) terminal, en ROOD gaat naar de (+).

Stap 5

Sluit nu uw kabelboom aan op de Arduino 101. De GROENE draad gaat naar PIN 6, de GELE draad gaat naar de GND-pin bij #13.

Met de twee header-pinnen op de spanningsregelaar gaat GND naar GND en VOUT gaat naar de "Vin" -pin op de Arduino 101. Begrijp dit niet verkeerd! Achterwaarts aansluiten leidt tot geurtjes en brandwonden. Ik weet dit.

Deel twee:de Foam-Core Stage monteren.

Druk het schuimkernpatroon af op normaal printerpapier (4 vellen) en print het kartonpatroon op kartonpapier (4 vellen.)

Stap 1

Neem de bedrukte pagina's met schuimkernpatroon en gebruik ze om je stukjes schuimkern uit te knippen. Je kunt een patroon op de schuimkern leggen en vervolgens de omtrek lichtjes overtrekken met een hobbymes om de lijnen door te trekken.

Stap 2

Zodra u de stukken hebt gesneden, begint u met het monteren van de LED-striphouder als volgt:

Neem nu uw LED-strip en bevestig de eerste LED aan de onderkant met tape of hete lijm, en wikkel uw LED's zoals afgebeeld. Het idee is om de ledstrip intact te houden. Het hoeft geen superstrakke omslagdoek te zijn.

Als je drie wraps hebt gemaakt, laat je het uiteinde vrij en zet je de bovenkant vast met tape of hete lijm.

Stap 3

Deze ledstrip heeft adresseerbare leds, wat betekent dat je min of meer kunt zeggen:"hey, jij in het midden, word rood!" Maar ze antwoorden niet op "hey you", dus je moet hun nummers weten.

De LED's onder de vouw schijnen uit de achterkant van het Shadow Theatre en worden gebruikt voor animatie. In het onderstaande voorbeeld zijn mijn animatielampen 0, 1, 2, 20, 21, 22, 40, 41, 42. Twee LED's in het bovenste gedeelte schijnen in de huizen. Ik gebruik LED 23 om in het achterhuis te schijnen en 25 om vuurlicht in de voorhuizen te simuleren.

Tel uw LED's en teken een eenvoudige referentiekaart die voor u logisch is, zodat u later de juiste LED-nummers in de code kunt invoeren. Vergeet niet om te beginnen met tellen aan het begin van de strip, beginnend met nul, omdat computers.

Stap 4

Lijm de LED-houder op het bodemstuk met schuimkern. Plaats hem zoals afgebeeld, zodat de brede lichtstreep ongeveer in de lengterichting gecentreerd is met de basis.

Voeg nu de gebogen zijstukken met schuimkern aan de uiteinden toe met hete lijm zoals weergegeven.

Stap 5

Voeg nu de lichtverdelers . toe en het schuimkern topstuk . De lichtverdelers zorgen ervoor dat de animatielichten niet in de huizen terechtkomen en omgekeerd. Plaats de grootste verdeler dicht bij de vouw in de LED-houder en plaats de kleinere verdeler erboven zodat er minstens één LED tussen zit (zie onderstaande foto's). Plaats het bovenstuk dus het is vierkant met de basis zoals weergegeven in de onderstaande diavoorstelling en zet vast met hete lijm.

Stap 6

Bevestig het uiteinde van de LED-strip aan de voorste bovenrand met hete lijm, zodat de laatste LED in de string op het toneel kan schijnen. Dit is de hoofdschaduw-LED.

Deel drie:de Arduino 101 programmeren en Blynk instellen

Sluit een USB-programmeerkabel aan op de Arduino 101 en sluit de LED-strip, het batterijpakket en de Arduino 101 allemaal op elkaar aan (laat de aan/uit-schakelaar op het batterijpakket op "uit".)

Je hebt de . nodig Arduino IDE geïnstalleerd op uw computer, met de Intel Curie Core (zie Arduino 101 aan de slag.) Je moet ook de installeren Adafruit Neopixel-bibliotheek , en de Blynk-bibliotheek .

Als Arduino nieuw voor u is, is het een goed idee om enkele eenvoudige voorbeeldschetsen uit te voeren om er zeker van te zijn dat alles goed werkt.

Stap 1

Installeer de Blynk-app op je telefoon.

Blynk is een geweldige tool voor het snel proof-of-concept bouwen en op afstand besturen van je Arduino 101. BLE-ondersteuning heeft nog steeds enkele bugs, maar Blynk is verreweg de snelste manier die ik heb gevonden om elk Arduino 101-project vanaf een telefoon te besturen.

Stap 2

Laad de voorbeeldcode in uw Arduino IDE en wijzig indien nodig de LED-pixelnummers met behulp van de eerder gemaakte kaart.

Het programma animeert door de LED-nummers in de "pos[ ]"-array om de illusie van vallende sneeuw te creëren. Wijzig deze nummers indien nodig zodat ze overeenkomen met uw opstelling (de animatie-LED's bevinden zich onder de vouw op uw LED-houder.) Rangschik de nummers in de volgorde waarin u ze wilt laten afgaan. De lichten steken door gaatjes om de "sneeuw" te maken, dus verlichting van onder naar boven zorgt ervoor dat sneeuw naar beneden lijkt te vallen, van links naar rechts lijkt het alsof sneeuw van rechts naar links waait.

//#snow animatie lichten int pos[] ={0, 1, 2, 20, 21, 22, 40, 41, 42};  

Stel vervolgens in hoeveel pixels er worden geanimeerd

//#hoeveel animatiepixels zitten er in de bovenstaande array? int aantalLeds =9;  

Stel vervolgens de pixel in die aan het einde van de streng op de scène schijnt (op een strip van 60 pixels is dit pixel #59.)

//#main schaduw-casting LED aan het einde van de streng. int shadowPixel =59; 

Kies een pixel voor de lampen die in het achterhuis schijnen. Deze pixel moet tussen de twee lichtverdelers staan.

//#pixel voor de lichten in het achterste huisint lightHousePixel =23;  

Stel ten slotte het nummer van de pixel in die in de voorste huizen zal schijnen als de 'vuurpixel'. Deze pixel moet zich net voor de kleinere lichtverdeler bevinden.

//#Pixel voor flikkerend vuurlicht aan de voorkant huizen int firePixel =24;  

Wanneer de bovenstaande code naar behoefte is gewijzigd, kunt u compileren en uploaden naar uw Arduino 101. Zodra de code met succes is geüpload, koppelt u uw USB-kabel los en zet u de aan / uit-schakelaar op het batterijpakket op "aan". Je zou de shadowPixel moeten zien aangaan en de animatiepixels zullen in volgorde oplichten. De huis- en vuurpixels zijn uitgeschakeld totdat je ze bedient met Blynk.

Stap 3

Uw Blynk-app laden:

Open de Blynk-app op je telefoon en druk op de "scan"-knop rechtsboven. Scan deze QR-code en de controller-interface zou automatisch moeten laden en je bent helemaal klaar.

Na het laden zou de interface er als volgt uit moeten zien:

Als u liever uw Blynk-interface handmatig bouwt in plaats van de bovenstaande code te scannen, begin dan met een BLE-widget en 3 schuifregelaars die zijn ingesteld om 0-100 uit te voeren naar VO, V1 en V2.

Stap 4

Verbind via BLE met je Arduino 101 . Tik op de BLE-widget en als je Arduino 101 is ingeschakeld, zou je "ShadowTheater" moeten zien. Maak verbinding en druk vervolgens op het "play"-pijlpictogram in de rechterbovenhoek om uw project te besturen. Mogelijk moet u opnieuw verbinding maken nadat uw telefoon in de slaapstand is gegaan.

OK, klaar met de moeilijke dingen, nu aan het knutselen! Je kunt alles uitzetten tot de laatste onthulling.

Deel vier:silhouetten van kaarten, gebouwen en laatste details

Stap 1

Zoek je vier bedrukte vellen karton. Knip met een hobbymes en verse messen het achtergrondsilhouet uit. Wissel regelmatig van mes! Snijden met een bot mes is super frustrerend. Ik heb het mes 3 keer verwisseld om dit silhouet uit te snijden.

Stap 2

Knip de huisstukken uit en bevestig de ruggen met hete lijm. De bedrukte zijden moeten naar achteren wijzen, zodat u aan de voorkant geen inkt kunt zien. Blader door de onderstaande foto's.

Stap 3

Voeg de huizen toe aan het podium. U kunt hete lijm of tape gebruiken. Probeer alle openingen te dichten zodat het licht de huizen in gaat, maar niet langs de zijkanten valt.

Stap 4

Vouw nu de zijkanten van het silhouetvel en bevestig de onderkant met hete lijm aan de achterkant van het podium. (met de bedrukte zijde weg van de kijker.)

Stap 5

Knip een sneeuwscène uit om op de muur achter het schaduwtheater te projecteren. Je kunt spelden of tandenstokers gebruiken of ingewikkelde vormen uitknippen. Zodra het vel klaar is, lijm je het op de gebogen randen om een ​​projectieoppervlak te creëren.

Stap 6

Bevestig de linker zij- en voorbladen met hete lijm.

Maak het rechterzijblad losjes vast met tape, zodat u nog steeds aan de binnenkant kunt komen om de stroom aan en uit te zetten bij de batterijhouder.

Alles klaar! Zoek een donkere plek met een muur in de buurt om het uit te proberen! Wanneer u de stroom voor het eerst inschakelt, moet het schaduwtheater een scèneschaduw en vallende sneeuw werpen. Met de Blynk app bedien je de hoofdverlichting en de verlichting in de gebouwen.

Code

  • Schaduwtheater Arduino-schets
Shadow Theatre Arduino SketchArduino
Deze schets maakt gebruik van de Adafruit NeoPixel Library en de Blynk Library. Hiermee kunt u LED's op afstand bedienen in een adresseerbare LED-reeks om effecten te creëren in een schaduwtheater.
/* Copyright (c) 2016 Intel Corporation. Alle rechten voorbehouden. Zie licentiekennisgeving aan het einde van het bestand.*////////////////////////DIT ZIJN DE VARIABELEN DIE U MOET WIJZIGEN OM DE SETUP VAN UW SCHADUWTHEATER AAN TE PASSEN//// //////////////////////////////////////sneeuw animatie lightsint pos[] ={0, 1, 2, 20, 21, 22, 40, 41, 42}; // welke LED's zijn beschikbaar voor animatie? Ze worden in volgorde van links naar rechts aangeroepen.int numLeds =9; //hoeveel animatiepixels zitten er in de array hierboven?int shadowPixel =59;/// belangrijkste schaduw-casting LED aan het einde van de streng.int lightHousePixel =23; //pixel voor de lichten in de achterste huisint firePixel =24; //pixel voor flikkerend vuurlicht voor voorhuizen.//////////////////////////////////////// ////////////////////////////////////////////////// ////////////////////////////////////////////////// //#include #include #include #define PIN 6int v0 =0; //variabelen om inkomende waarden van Blynkint v1 =0;int v2 =0;int fadeup =0; //variabelen voor lichte animatie smoothingint fadedown =0;int firetimer =0; /// variabelen om het vuur te laten flikkeren fireinterval =50;int flicker =0;unsigned long lightcounter =0; //variabele voor het tellen door de bewegende lichten foreverint stp =0; /// lichte stappen voor animatie. Een voor het huidige licht om het aan te zetten en een voor het oude licht om het uit te schakelen.int stpOld =0;unsigned long timer =0;int interval =0;char auth[] ="YourAuthToken"; /// De Auth Token wordt momenteel niet gebruikt door Blynk voor BLE. Als het in de toekomst is ingeschakeld, kun je je auth-token uit je Blynk-app halen en in de "".BLEPeripheral blePeripheral plakken; /// de BLE-verbinding instellenAdafruit_NeoPixel-strip =Adafruit_NeoPixel (60, PIN, NEO_GRB + NEO_KHZ800); //// stel de lichtstrip in. Als uw ledstrip meer of minder dan 60 pixels heeft, wijzigt u het eerste getal zodat het overeenkomt met uw strip.void setup() { delay(1000); timer =millis(); strip.begin(); strip.show(); // Initialiseer alle pixels op 'uit' blePeripheral.setLocalName ("ShadowTheatre"); blePeripheral.setDeviceName("ShadowTheater"); blePeripheral.setAppearance (384); Blynk.begin(auth, blePeripheral); blePeripheral.begin(); interval =350; // tijdsinterval van 350 ms voor sneeuwanimatie} void loop () { Blynk.run (); //Blynk-dingen voor realtime controle blePeripheral.poll(); ////////schakel de schaduwpixel in en bedien deze met Blynk strip.setPixelColor(shadowPixel, 200 - v2, 160 - v2, 160 - v2); // schakelt schaduwlicht in, v2 (verzonden vanuit de Blynk-app) verandert het licht. // fire if ((millis() - firetimer)> fireinterval) { firetimer =millis(); flikkering =willekeurig (0, 40); // wanneer een ingesteld tijdsinterval verstrijkt, verander de helderheid van het vuur willekeurig tussen 0 en 40. } if (v0> 1) { strip.setPixelColor(firePixel, 80 + v0 + flicker, v0 + flicker, 0); // het vuur =de helderheid van de schuifregelaar in Blink, + de flikkerwaarde, gewogen naar rood } else { strip.setPixelColor(firePixel, 0, 0, 0); // zet het vuur alleen aan als de Blynk-schuifregelaar> 0 is. } //houselights if (v1> 1) { strip.setPixelColor(lightHousePixel, 200 - v1, v1, 0); /// als de Houselights Slider in Blynk>0 is, regel dan de huisverlichting in het achterhuis. anders uitschakelen. } else { strip.setPixelColor(lightHousePixel, 0, 0, 0); } // sneeuwanimatie if ((millis () - timer)> interval) { // elke keer dat het interval verstrijkt, ga je een stap vooruit en reset je de fades stpOld =stp; timer =millis(); lichtteller++; stp =(lichtteller % numLeds); /// telt steeds opnieuw van nul tot numLeds-1 fadeup =0; // reset fade-waarden elke keer dat het interval fadedown passeert =170; } fade-up +=2; fade-up =beperking (fade-up, 0, 170); fade-down -=2; fadedown =beperking (fadedown, 0, 170); for (int i =0; i   

Schema's

Print deze uit op gewoon printerpapier om te gebruiken als gids voor het snijden van schuimkern. Je kunt ze erop leggen en met een hobbymesje overtrekken om het patroon door te drukken. Druk af op kartonpapier van 8,5 x 11 inch (4 vellen.) Deze maken de huizen, zijkanten en schaduwsilhouetten. Als je het geluk hebt om toegang te hebben tot een lasersnijder of een vinylsnijder, je kunt dit patroon gebruiken om je stukken karton uit te snijden. 30bn6Le68V1Lpp2spRMw.svg

Productieproces

  1. Vakantieverlichting
  2. Light Emitting Diode (LED)
  3. Coffin Dance Melody
  4. Arduino-gamecontroller
  5. Cloud-kostuum
  6. 5x5x5 LED-kubus
  7. Arduino met Bluetooth om een ​​LED te bedienen!
  8. Arduino-aangedreven waterfles
  9. 8x LED-verlichting door geluid
  10. Arduino Quadruped
  11. Arduino RGB-kleurenmixer