Interactieve Magic Mirror met Candy Dispenser (4 / 6 stap)

Stap 4: Arduino


The Arduino gebruikt het volgende schema. Als we kijken naar de opmerkingen bij de pin aansluitingen.

> mirrormirror.ino

 #include #include Servo myservo; // New instance of Servo.h int servoPin = 7; // Servo used to rotate the CD int pingPin = 4; // Ping pin int dtrPin = 3; // DTR line for C17A - DB9 pin 4 int rtsPin = 2; // RTS line for C17A - DB9 pin 7 int buttonState = 0; // Initialize button state to low int bitDelay = 1; // mS delay between bits (1 mS OK) int counter = 0; // counter used to change/toogle lcd message char code[32] = ""; boolean isEngaged = false; int isitreal = 0; void setup(){ myservo.attach(servoPin); Serial.begin(9600); X10.init(rtsPin, dtrPin, bitDelay); // Initialize X10 C17A myservo.write(0); dropCandy(); } void loop(){ long duration, cm; pinMode(pingPin, OUTPUT); digitalWrite(pingPin, LOW); delayMicroseconds(2); digitalWrite(pingPin, HIGH); delayMicroseconds(5); digitalWrite(pingPin, LOW); pinMode(pingPin, INPUT); duration = pulseIn(pingPin, HIGH); cm = microsecondsToCentimeters(duration); if (cm < 120){ isitreal ++; if (isitreal = 2){ Serial.print("A"); delay(8 * 1000); dropCandy(); delay(15 * 1000); isitreal = 0; } } else if (cm > 120 && cm < 200){ X10.sendCmd( hcA, 2, cmdOff ); } //Listen if computer send signal to drop candy. if (Serial.available()) { char c = (char)Serial.read(); if (c == '1'){ dropCandy(); } } delay(100); } void dropCandy(){ //Turn on X10 light and fog X10.sendCmd( hcA, 1, cmdOn ); X10.sendCmd( hcA, 3, cmdOn ); myservo.write(180); delay(500); myservo.write(0); //Wait 30 seconds before next candy //Turn on X10 light and fog X10.sendCmd( hcA, 1, cmdOff ); //delay(10 * 1000); X10.sendCmd( hcA, 3, cmdOff ); } long microsecondsToCentimeters(long microseconds) { return microseconds / 29 / 2; } 

De volgende Applescript zorgt voor de Arduino-USB seriële aansluiting. Merk op dat ik Xports Applescript verbinden met seriële poort gebruikt.

 set zonea to {"Who are you", "I like your costume", "Spin around for me","Who is the fairest of them all, you of course.", "What is the magic word?", "Do a dance for me","Trick or treat, Smell my feet"} set zoneb to {"Happy Halloween!", "Hasta la vista baby", "So long, farewell, auf Wiedersehen, good night", "Thanks for stopping by, happy halloween" } set onMode to false set use_port to "/dev/cu.usbmodem1d11" repeat until (get serialport list) contains use_port delay 3 end repeat if (get serialport list) contains use_port then set onMode to true set myPort to serialport open use_port bps rate 9600 data bits 8 parity 0 stop bits 1 handshake 0 delay 1 if myPort is equal to -1 then display dialog "could not open port" else repeat while onMode is true set state to (do shell script "cat '/full/path/of/file/state.txt'") if state is equal to "1" then set x to serialport read myPort if x is not equal to "" then if x is equal to "A" then set randomPhraseA to some item of zonea say randomPhraseA do shell script ("sudo -u [username] arch -i386 osascript /full/path/of/file/animate.scpt &> /dev/null &") delay 10 set randomPhraseB to some item of zoneb say randomPhraseB end if end if else serialport write "1" to myPort delay 5 do shell script ("sudo -u [username] echo 1 > /full/path/of/file/state.txt") do shell script ("sudo -u [username] arch -i386 osascript /full/path/of/file/animate.scpt &> /dev/null &") end if end repeat end if serialport close myPort end if 

Ik gebruikte de volgende script om vrijwel druk op pijl-omlaag/lef/rechts toetsen. Dit maakte de marionet van de Mirror Mirror verplaatsen van zijn hoofd.

> animate.scpt

 tell application "System Events" key down (ASCII character 31) delay 1 key up (ASCII character 31) key down (ASCII character 28) delay 1 key up (ASCII character 28) key down (ASCII character 29) delay 1 key up (ASCII character 29) end tell 

Gerelateerde Artikelen

Magic Mirror Mini voor Android

Magic Mirror Mini voor Android

een paar jaar geleden, ik heb een project genaamd de DIY Magic Mirror. Het is een interactieve pratende magische spiegel dat verschillende Videoboodschappen vanaf een PC in reactie op de verschillende sensor-ingangen van een Arduino speelt. Ik willen
Hoe maak je een Magic Mirror

Hoe maak je een Magic Mirror

In dit project die zal ik u laten zien toont hoe ik een Magic Mirror gemaakt dat de datum, tijd, wat nieuws en een beetje zin aan de onderkant. U zal een Raspberry Pi, een computerscherm en een webpagina gebruiken om het eruit als je "een intelligent
3D gedrukte aangepaste Candy Dispenser Topper

3D gedrukte aangepaste Candy Dispenser Topper

Er is niets spannender dan het aanpassen van uw inzameling van "Candy Dispenser" met kunstwerken van de beroemde musea, uw dierbaren gezichten of willekeurige dingen u 3D-gescand. Dit Instructable demonstreer hoe te nemen van een 3D-model van Th
Magic Mirror kostuum

Magic Mirror kostuum

dit is mijn 2011 Halloween kostuum. Het is een volledig functionele Toverspiegel kostuum. Er zijn tal van middelen die er voor het maken van magische spiegels, maar ik wilde een stap verder gaan. Alles wat ik vond was voor een installatie, en ik wild
DIY Death Star Candy Dispenser

DIY Death Star Candy Dispenser

Vandaag zal ik u tonen hoe maakt u uw eigen dood ster snoep dispenser voor ongeveer $15! Alle materialen kan worden gekregen van de plaatselijke winkels en het project kan worden gedaan in een weekend!Materialen:Touch Candy Dispenser: $8 (ik heb de m
DIY Magic Mirror en Photobooth - Arduino Powered

DIY Magic Mirror en Photobooth - Arduino Powered

een geassembleerd kit voor dit project is nu beschikbaar bijSeeedstudio.comMeer info op dit project op http://diymagicmirror.com De software voor dit project is open source open sourceWie is de mooiste van allemaal. Maak uw eigen Magic Mirror en ontd
Lego Candy Dispenser

Lego Candy Dispenser

Deze snoep dispenser biedt een leuke manier om een heerlijke zoete traktatie. Een eenvoudige schuif mechanisme doles van de goederen en de top heeft een deksel gemakkelijk-release. De Lego Candy Dispenser is een super eenvoudig te bouwen en duurt nie
Geautomatiseerde Candy Dispenser

Geautomatiseerde Candy Dispenser

Dit instructable ontstond vervulling de project-eis van de Makecourse bij de Universiteit van Zuid-Florida (www.makecourse.com)Hieronder vindt u stap voor stap instructies voor het maken van uw eigen geautomatiseerde Candy Dispenser. Alle onderdelen
Funky Om Nom Nom hanger met Candy Earring

Funky Om Nom Nom hanger met Candy Earring

Fellows, HalloIk gebruikte om een gamer worden in de dagen van Mario & Contra. Ik heb niet gespeeld veel sindsdien en tot touch mobiele gaming revolutie gebaseerde.  En er kwam een spel zo kwaad dat het uw tijd kunt doden zonder u zelfs goochem op. H
Poepen rendieren Candy Dispenser

Poepen rendieren Candy Dispenser

Dit is een snoep dispenser van rendieren die poept uit smakelijke traktaties voor u om te eten!Wanneer u omlaag op zijn hoofd duwt, opleidingscyclus een intern mechanisme een kleine, gemeten hoeveelheid snoep. Het werkt vooral goed met hard-shell sno
Halloween Candy Dispenser geautomatiseerd

Halloween Candy Dispenser geautomatiseerd

Candy is geladen in een lange PVC-buis opknoping uit het balkon. Wanneer een trick-or-treater het huis nadert ze zien een halloween korf en instinctief hun hand gestoken. Een ultrasone sensor detecteert hun handen en schiet uit een snoepje uit de bui
Candy Dispenser Bot

Candy Dispenser Bot

Tetrix MAX robot die snoep levertStap 1: Chassis onderdelenStap 2: Chassis sub vergaderingStap 3: Geassembleerde chassis Direct drive, Hallo klaring chassis met omni wielen om nauwkeurige levering van snoepStap 4: Boom en elektronica Stap 5: Topactue
4 x 4 x 4 interactieve LED-kubus met Arduino

4 x 4 x 4 interactieve LED-kubus met Arduino

om uit te leggen mijn 4 x 4 x 4 interactieve LED-kubus gepubliceerd voordat, een beetje meer duidelijk, zal ik proberen om mijn eerste stap voor stap instructable.Deze 4 x 4 x 4 kubus is interactief met behulp van de hoek van de top vier LED's als LE
Gemakkelijke werk Bank organisator met draad dispenser

Gemakkelijke werk Bank organisator met draad dispenser

ik heb een klein werk bankje in mijn ruimte om te werken met elektronica. Aangezien het kleine is het altijd gepropt (Zie de afbeelding van de BFEORE...) en ik uiteindelijk werken op de office-tabel. Ik nam enkele afvalhout dat ik had liggen en dat w