Animatronic Hocus Pocus Spellbook Prop (10 / 12 stap)

Stap 10: Code Test

Hier is de definitieve code die ik trachten opwaarts using. Dit was mijn eerste avontuur in naar het programmeren van de Arduino, zodat feedback wordt toegejuicht. Ik zal ook proberen om te updaten met een uitstekend artikel dat ik gebruikte om gladde servo bewegingen.

 /* * Smooth servo rotation using a sinus square function. * ATTENTION: THIS SKETCH USES THE DELAY FUNCTION * More infos: http://letsmakerobots.com/node/31697 * created by NilsB */#include int blinkTimerInMillies = 5; const int blinkTableEntries = 21; const int blinkTable[] = { 60, 60, 60, 60, 61, 61, 62, 63, 64, 66, 67, 69, 71, 73, 75, 77, 79, 80, 80, 80, 80 }; const int eyeTimerInMillies = 8; const int eyeTableEntries = 77; const int eyeTable[] = { 45, 45, 45, 46, 46, 46, 47, 47, 48, 49, 50, 51, 52, 54, 55, 57, 59, 61, 63, 65, 67, 68, 70, 72, 74, 76, 78, 80, 81, 83, 84, 85, 86, 87, 88, 88, 89, 89, 90, 90, 91, 91, 92, 92, 93, 94, 95, 96, 97, 99, 100, 102, 104, 106, 108, 110, 112, 113, 115, 117, 119, 121, 123, 125, 126, 128, 129, 130, 131, 132, 133, 133, 134, 134, 135, 135, 135 };const int button = 2;Servo blinkServo; Servo shiftServo; Servo xServo; Servo yServo;void setup(){ setupBlinkServo(); setupShiftServo(); setupEyeServo(); pinMode(button, INPUT); digitalWrite(button, HIGH); }void loop(){ if (digitalRead(button) == LOW) { attach(); delay(600); open(); close(); open(); delay(200); lookUp(); delay(200); lookUpDown(); delay(200); neutral(); delay(200); lookLeft(); delay(200); lookLeftRight(); delay(200); neutral(); delay(200); blinkTimerInMillies = 20; close(); blinkTimerInMillies = 5; delay(200); } else{ } detach(); }/*********************************** ********* Stop/Start Function ****** ***********************************/ void detach(){ stopXMove(); stopYMove(); stopBlinkMove(); stopShiftMove(); }void attach(){ setupEyeServo(); setupBlinkServo(); setupShiftServo(); }/*********************************** ********* Blink Functions ********** ***********************************/ void open() { for(int angleIndex = 0; angleIndex < blinkTableEntries; angleIndex++){ moveBlinkServoTo(angleBlink(angleIndex)); waitBlink(); } waitLongBlink();}void close() { for(int angleIndex = blinkTableEntries-1; angleIndex >= 0; angleIndex--){ moveBlinkServoTo(angleBlink(angleIndex)); waitBlink(); } waitLongBlink();}void moveBlinkServoTo(int angle){ Serial.println(angle); blinkServo.write(angle); }int angleBlink(int index){ return blinkTable[index]; }void stopBlinkMove(){ blinkServo.detach(); }void setupBlinkServo(){ blinkServo.attach(11); blinkServo.write(60); }void waitBlink(){ delay(blinkTimerInMillies); }void waitLongBlink(){ delay(5*blinkTimerInMillies); }/*********************************** ********* Shift Functions ********** ***********************************/void up() { shiftServo.write(90); }void down() { shiftServo.write(130); }void neutral() { shiftServo.write(110); xServo.write(90); yServo.write(90); }void setupShiftServo(){ shiftServo.attach(10); shiftServo.write(110); }void stopShiftMove(){ shiftServo.detach(); }/*********************************** ********** Eye Functions *********** ***********************************/ void lookDown() { down(); for(int angleIndex = 38; angleIndex < eyeTableEntries-1; angleIndex++){ moveYEyeServoTo(angleEye(angleIndex)); waitEye(); } waitLongEye(); }void lookUp() { up(); for(int angleIndex = 38; angleIndex >= 0; angleIndex--){ moveYEyeServoTo(angleEye(angleIndex)); waitEye(); } waitLongEye();}void lookUpDown() { up(); for(int angleIndex = 0; angleIndex < eyeTableEntries-1; angleIndex++){ moveYEyeServoTo(angleEye(angleIndex)); waitEye(); down(); } waitLongEye(); }void lookDownUp() { for(int angleIndex = eyeTableEntries-1; angleIndex >= 0; angleIndex--){ moveYEyeServoTo(angleEye(angleIndex)); waitEye(); } waitLongEye(); }void lookLeft() { for(int angleIndex = 38; angleIndex < eyeTableEntries-1; angleIndex++){ moveXEyeServoTo(angleEye(angleIndex)); waitEye(); } waitLongEye(); }void lookRight() { for(int angleIndex = 38; angleIndex >= 0; angleIndex--){ moveXEyeServoTo(angleEye(angleIndex)); waitEye(); } waitLongEye();}void lookLeftRight() { for(int angleIndex = 0; angleIndex < eyeTableEntries-1; angleIndex++){ moveXEyeServoTo(angleEye(angleIndex)); waitEye(); } waitLongEye(); }void lookRightLeft() { for(int angleIndex = eyeTableEntries-1; angleIndex >= 0; angleIndex--){ moveXEyeServoTo(angleEye(angleIndex)); waitEye(); } waitLongEye(); }void moveYEyeServoTo(int angle){ Serial.println(angle); yServo.write(angle); }void moveXEyeServoTo(int angle){ Serial.println(angle); xServo.write(angle); }int angleEye(int index){ return eyeTable[index]; }void stopYMove(){ yServo.detach(); }void stopXMove(){ xServo.detach(); }void setupEyeServo(){ yServo.attach(9); yServo.write(90); xServo.attach(6); xServo.write(90); }void waitEye(){ delay(eyeTimerInMillies); }void waitLongEye(){ delay(5*eyeTimerInMillies); } 

Gerelateerde Artikelen

Hocus Pocus spellbook taart.

Hocus Pocus spellbook taart.

Ik heb een spreuk op u, en nu je mijn met deze deadcadent griezelig taart.Dus kan me niet schelen dat deze film, kreeg slechte beoordelingen terug in de dag.Het is zo leuk en vol met eigenaardigheden.Toen ik zag deze helemaal cool wedstrijd voor maca
HOCUS POCUS SPELLBOOK REPLICA

HOCUS POCUS SPELLBOOK REPLICA

Hallo! Dit is mijn eerste tutorial, en ik ben echt jammer ik niet "ingebouwd" het direct op instructables zoals ik volgende keer doen zal.Dus, voor de volledige tutorialStap 1: En hier is een korte videoSorry opnieuw kerels en yep de volgende ke
Hocus Pocus Halloween

Hocus Pocus Halloween

Twee van mijn vrienden en ik besloot dit jaar zouden we de ultieme heksen, de Sanderson zussen uit 1993 van Hocus Pocus. Starten in September, we samen gereconstrueerd kostuums uit zuinigheid opslaan vondsten en winkel gekocht stukken veranderd om te
Dani Hocus Pocus kostuum

Dani Hocus Pocus kostuum

Hocus Pocus is de beste Halloween film ooit!Dit is mijn Dani kostuum die ik heb gemaakt. Er is een basis voor een zwarte coltrui en oranje broek. Ik kocht hen om tijd te besparen bij een tweedehands winkel.Voor Dani's jas kocht ik 2 rode t-shirts. Ik
Interactieve Thor de hamer (Mjolnir)

Interactieve Thor de hamer (Mjolnir)

Terwijl zijn niet de elektromagnetische aard van de hamer, dit heeft nog overvloed van persoonlijkheid. Er zijn drie manieren om het te activeren - wanneer je dingen (knippert wit), wanneer u het met een externe knop (bifrost) activeren, en als je te
Wizard's monopolie (Harry Potter monopolie)

Wizard's monopolie (Harry Potter monopolie)

UPDATE NOVEMBER-2015Ik heb toegevoegd de bestanden voor iedereen van kan genieten!Het geld en de Raad van Bestuur zijn beelden en er zijn PDF-bestanden van de kaarten en dergelijke. U vindt er ook dat alle volledige resolutie items in mijn Dropbox de
Zwaartekracht tarten bal

Zwaartekracht tarten bal

Dit is een fantastische bal die, hoewel op een helling, ongelooflijk langzaam dalen kan. Het kan worden gebruikt als een goocheltruc prop als het kan het publiek echt baffle. Dit is zeer eenvoudig te maken - geen magneten, geen addertjes onder het, g
Bouwen van Magic verplaatsen trap

Bouwen van Magic verplaatsen trap

dit project begeleid verscheidene anderen voor onze thema Halloween-feest van Harry Potter.Achtergrond:De Zweinstein Hogeschool voor hekserij en Hocus-Pocus in de Harry Potter-serie heeft vele unieke architectonische stijlkenmerken en wat magie ones.
Zweinstein aanvaarding brief

Zweinstein aanvaarding brief

kreeg dat vriend of familie lid dat absoluut houdt van Harry Potter? Maken ze een geschenk dat zal worden het beste cadeau dat ze konden krijgen. Of misschien bent u dat ventilator die wil leuke Harry Potter dingen te zetten op uw muur. Hoe dan ook,
Beginner's Guide to 3D printen met de Objet Connex 500: hoe het bouwen van een Tank raket draagraket (en reinigen van de puinhoop die u hebt gemaakt in het proces)

Beginner's Guide to 3D printen met de Objet Connex 500: hoe het bouwen van een Tank raket draagraket (en reinigen van de puinhoop die u hebt gemaakt in het proces)

de Objet Connex 500 3D Printer... een geheimzinnige, magie en verbazingwekkende Hi-Tech meesterwerk, staat van 3D-printen van hoog gedetailleerde prototypes. Weten over het werken met dit prachtige apparaat is een geheim alleen worden bekend door een
Hoe te downloaden van Gamemaker

Hoe te downloaden van Gamemaker

Ik ben met behulp van windows 7 voor deze tutorial. Het kan verschillen op andere besturingssystemen. De meeste mensen weten hoe om gebruik van de website en downloaden van bestanden... maar denk aan dit als het downloaden van programma's voor dummie
Perfect gedachten lezen

Perfect gedachten lezen

Gedachten lezen met twee pack van speciale kaarten. De kaarten zijn zeer gemakkelijk en eenvoudig te maken, de verfijning is in het systeem en de logica van hen. En altijd werken, herhaalbare, snelle en verbazingwekkend. Totaal succes!Stap 1: Perfect
Animatronic Iron Man Mk III pak

Animatronic Iron Man Mk III pak

Iron Man kostuums hebben de laatste tijd enorm populair en de nummer een vraag ik ben meestal is "Hoe kan ik animatronics toevoegen aan mijn pak?" Mijn vriend Greg toevoegen van animatronics aan zijn MkIII glasvezel pak wilde dus hij vroeg voor
Arduino gereguleerde Animatronic Skeleton rockband - lopende

Arduino gereguleerde Animatronic Skeleton rockband - lopende

Voor Halloween dit jaar besloten heb ik om te bouwen van een animatronic skeleton rockband. Het is een work in progress op dit punt, maar ik ben best wel blij met hoe het komt langs. De meeste alles is gemaakt van materialen die ik had op hand (ik be