Projektet Frankenstein (1 / 5 steg)

Steg 1: Arduino kod:



/******************************************

SYFTE: Projektet Frankenstein
Skapad av Howard Kaplan
DATUM: 4.22.2015
Denna skiss används klassen HCSR04.h och HCSR04.cpp att få sensor input och butiker aktuella och tidigare distanserar använda följetong Monitor - distansera av det upptäckta objektet visas och beslutsamt som närmar sig eller upprullningskraften baserat på aktuella och tidigare avståndet. Ytterligare komponenter såsom lysdioder och servon som används och deras respektive stift är påslagen och off beroende på sensorn intervallvärden. Skissen använder också den Servo och campingtomter biblioteken.
*******************************************/
Libs
#include "HCSR04.h"//include kallar huvudet / klass fil
#include / / samtal servo lib-filer
MUSIK
#include "pitches.h"
Rad Sensor
#define echoPin 13 / / detta är echo PIN-koden för utbud sensor
#define triggerPin 12 / / detta är trigger PIN-koden för utbud sensor
HCSR04ProxSensor distanceSensor (echoPin, triggerPin), //here vi kallar konstruktören för att instansiera en sensor som heter "distanceSensor"
Musik matriser
int melodi [] = {
NOTE_A6, NOTE_C6, NOTE_E6, / / 3
NOTE_E6, NOTE_A6, / / 2
NOTE_C6, NOTE_E6, / / 2
NOTE_E6, NOTE_A6, / / 2
NOTE_C6, NOTE_E6, / / 2
NOTE_E6, NOTE_A6, NOTE_C6, / / 3
NOTE_E6, NOTE_G6, NOTE_B6, / / 3
NOTE_D6, / / 1
0,
NOTE_E6, NOTE_D6, NOTE_C6, NOTE_B6, / / 4
NOTE_A5, NOTE_A5 / / 1/23
};
Observera varaktigheter: 4 = fjärdedelsnot, 8 = åttondelen noterar, etc.:
int noteDurations [] = {
4,4,4,
8,4,
4,8,
4,8,
4,8,
4,4,4,
4,4,4,
1,
2,
8,8,8,8,
4,1,};
////
FLÄKT
int fan1 = 4; //Fan på stift 4
LED 2 stift - 4 lysdioder
int ledReds = 11. //2 röda
int ledGreens = 10; //2 grön
Servon 3
Servo servoEye, servoM; servoEye - har 2 servon till 1 stift (höger och vänster öga)
int posEye1 = 140; variabel att lagra servo position
//
int musicPin = 9;
int pauseBetweenNotes;
float avstånd;
Avstånd för att aktivera sensorn / slinga förändring
/***************************setup function****************************************************/
void setup() {
Serial.BEGIN (9600); //start seriell kommunikation
FLÄKT
pinMode(fan1,OUTPUT);
digitalWrite(fan1,LOW);
Servon
servoEye.attach(5); ögat
servoM.attach(3); mun
ställa in ögat startposition
servoEye.write(140);
Ställ in munnen
servoM.write(60);
Lysdioder
pinMode (ledReds, produktionen);
pinMode (ledGreens, produktionen);
}
/***************************main loop*********************************************************/
void loop() {
/******************SENSOR***************************************/
Serial.Print ("avståndet är:");
avståndet = distanceSensor.readSensor (); //here vi kallar "readSensor" metod för att bestämma avståndet
Serial.Print(Distance); / / skicka mätning till seriell bildskärmen
Serial.println ("cm");
om (distanceSensor.getLastValue() - avstånd > 1) {
Serial.println ("objektet närmar sig");
} //here vi kallar "getLastValue" metod för att bestämma riktningen av vinkar
om (distanceSensor.getLastValue() - avstånd < -1) {
Serial.println ("objekt upprullningskraften");
}
/ *** Huvudvillkoret uttalande *** /
FAN på / av
om (avstånd > = 40,00)
{
digitalWrite(fan1,LOW);
Lysdioder - Green ON Reds ut
digitalWrite (ledGreens, hög);
digitalWrite (ledReds, låg);
Servo ögon ser
servoEyesBacFor();
Servo munnen nära
servoM.write(50);
} annat {
digitalWrite(fan1,HIGH);
Lysdioder - grön OFF Reds på
digitalWrite (ledGreens, låg);
digitalWrite (ledReds, hög);
Servo sluta raka
servoEye.write(140);
Servo mun öppen
servoM.write(80);
Upprätta på Ritz
playMusic();
}
}
/*****************EYEs FUNCTION****************************************/
void servoEyesBacFor() {
för (posEye1 = 90; posEye1 < = 180, posEye1 + = 1) / / går från 0 grader till 180 grader
{
IF(distanceSensor.readSensor() < = 40,00) {
bryta;
}
i steg om 1 grad
servoEye.write(posEye1); berätta servo gå för att placera i variabel "pos"
Delay(5);
}
för (posEye1 = 180; posEye1 > = 90; posEye1-= 1) / / går från 180 grader till 0 grader
{
IF(distanceSensor.readSensor() < = 40,00) {
bryta;
}
servoEye.write(posEye1); berätta servo gå för att placera i variabel "pos"
Delay(5);
}
}
/***************************************/
void playMusic() {
för (int thisNote = 0; thisNote < 24; thisNote ++) {
Kontrollera avståndet och bryta sig ur loopen om utanför intervallet
IF(distanceSensor.readSensor() > = 40,00) {
thisNote = 0;
bryta;
}
int noteDuration = 1000/noteDurations [thisNote];
tonen (musicPin, melody[thisNote],noteDuration);
pauseBetweenNotes = noteDuration * 1,30;
Delay(pauseBetweenNotes);
noTone(musicPin);
}
}
/***********************The End!*************************/

Se Steg
Relaterade Ämnen

Frankenstein Laser gravör

Detta Frankenstein laserskärare var byggd av en gammal scanner och skrivare.Hela utvecklades runt instructable av Ingela och hans "Pocket Laser gravör".Detta är en Making-Of. Även om många, om inte allt, av stöldkoden konstruktionen kräver påhit...

Frankenstein Night Light

Frankenstein nattlampaProjektet tog ungefär en timmes tid och kostar $2,95.Jag hittade denna LED night light på en lokal W ** m ** t och tänkte att jag kunde göra bättre än de tråkiga rund plastbit de hade knuffat in i den.Min 1: a steget är konstver...

Digital tillverkning - projektet sju, ritning och importera mallar

Detta är sjätte i en serie av Instructables om hur du använder CAD (Computer Aided ritning) och CAM (Computer Aided bearbetning)Denna tid vi kommer att titta på att göra 2D objekt, till exempel mallar schabloner & packningar.Mallar kräver inte ens en...

Brud i Frankenstein - SFX Makeup Tutorial

Denna gång du lär hur man skapar bruden av frankenstein. En av dem ser ut att fungerar bra om du är ett par och en kommer som Frankensteins monster.FÖLJ MED OSS PÅ INSTAGRAM OCH PERISCOPE:www.ellimacs.comSteg 1: Titta på videon!Denna gång du lär hur...

Frankensteins Bounty

detta är en optisk illusion kostym. Vi döpte den Frankensteins bounty eftersom det ser ut som en mini Frankenstein bära henne bort. Vad tror du - är hon stående eller sittande? Det ser ut som hon sitter men hon faktiskt står.Det är en mycket lätt kos...

Bruden av Frankenstein illusion kostym för Halloween

jag gjorde Nicole Magne headless Marie Antoinette kostym förra året, så jag var under tryck att bättre det här året på företagets Halloween.Jag älskar Boris Karloff och Elsa Lanchester i denna ikoniska film - och så konceptet föddes - en utvecklingpå...

Gitarr FX - efterbehandling din FX projektet lådor.

i detta instructable DoomMeister visar hur kan du avsluta ditt projekt lådor för FX enheter i ett professionellt snygg sätt. Dessa instruktioner kan naturligtvis användas för efterbehandling någon typ av projektet box.Den krets som här särskilt om du...

Vattenmelon Edo för projektet framtida klass

Som en del av våra Kite-making enhet i Mr Skinners projektet framtid klass på Escalante Middle School skrev vi instruktioner för att hjälpa andra göra våra vattenmelon Edo Kite.Detta är vad din vattenmelon kite ska se ut. I mitt nästa steg kommer jag...

Kvinnliga Frankensteins Monster

I år ville jag ge dig lite mer i special fx makeup snarare än 2 dimensionell ansiktsmålning. Jag hade också nyligen fotled kirurgi, så ville välja en kostym som jag kunde innehålla min mycket sexig vandrande stöveln in i. Jag också läst igenom intern...

Frankenstein Tjej!

Frankenstein tjej makeup! Så roligt att göra. = PSteg 1: Base Med en grön kroppsfärg från Mehron placerade jag som hela mitt ansikte.Steg 2: ange Att ställa in färgen jag tog en grön ögonskugga och placerade som hela färg, lätt.Steg 3: kontur Ta en m...

Frankenstein och hans brud

jag har varit The Bride of Frankenstein mer än ett dussin gånger under åren och i år jag ville vara mer autentiskt. Jag använder en bit av mattan som jag varm hoplimmade och placera ovanpå huvudet och tog allt mitt hår upp runt den och säkrade det me...

Halloween protetik; Walking Dead Zombie / Leatherface / Frankenstein Makeup!

Vi visa dig hur man ansöker och måla zombie / Leatherface / Frankenstein / såg protetik i denna steg för steg video!...

Papper-mache Frankenstein Mask

så jag fick en idé för en Halloween-kostym, men jag inte hade någon erfarenhet av att bygga sånt här. Jag visste om detta slut blev alltför tidskrävande, för dyrt, eller alldeles för svårt jag skulle tröttna på det och borgen, så jag försökte hålla d...

Att lägga till MP3 till projektet för $3.00

som en Propeller microcontroller användare, det är inte en stor sak att spela WAV-filer med min MCU, men MP3-uppspelning är något för komplicerad för Propeller, Ardunio eller PICAXE microcontrollers. Shopping för ett tilläggskort är nästan rent depri...

Frankensteins köttbullar

Läckra klot av biff, spaghetti och eldritch skräck!Det började med en enkel fråga av en hungrig man: Varför inte vi göra papercraft eller symönster för kött?Vi har tekniken för att gå med olika styckningsdelar av kött tillsammans, så varför vi alltid...

GNU/Linux-distributionen för Raspberry Pi med Yocto projektet att bygga

Raspberry Pi är förmodligen den mest populära låga kostnader enkel bräde computern på marknaden. Det används skall erbjuda för Internet av saker och andra inbäddade projekt. Flera GNU/Linuxdistributioner har utmärkt stöd för Raspberry Pi och det finn...

Skönhet är bara skin deep - paketet projektet som ett proffs

Detta kommer inte för att vara en av dina normala Instructables där jag visa dig något som jag har skapat på en skärbräda, ge några källkoden, en Principskiss, styrelsen layout, och avsluta med en bild på det färdiga projektet (vanligtvis inklämda i...

DESS ALIVE! Familjen Frankenstein

varje år vår lilla familj ser fram emot att planera ut teman för vårt hus och välja våra kostymer, allt naturligtvis med en regel i åtanke... Det måste vara "klassisk" Halloween med en liten plats för ny skola, och vi har gjort em alla häxor, va...

Automatisk Beacon Night Light - projektet Geek #3

Någonsin undrat hur coolt det skulle vara om lamporna fick aktiverad så fort du kliver in i ett rum eller när du vaknar mitt i natten och lamporna får automatiskt aktiverad. Jag presentera nördiga automatiska fyren ljuset som är ett bra skrivbord lju...