Hur man bygger en annan värdelös maskin: lätt att göra, och svårt att använda! (8 / 9 steg)

Steg 8: Koden

För att skriva kod för arduino, du behöver arduino IDE (ladda ner det här)

Jag använder version 1.0.5, se bara till att välja rätt COM-port (windows) och ombord på typ från inom IDE, sedan använda den nedan koden och ladda upp på träffen.

Obs: Värdena jag används i koden för att ange max avböjningen av servon är gjorda just för denna ruta med hänsyn servon positionering, axel och vinklar. Jag fick detta genom rättegången. Så behöver du utforma egna värden enligt din box och servo placering.

För referens, är nedan min/max värden jag använde för varje servo som du kommer att se dem förekommer i koden:

Dörren:
80 gömmer sig, 155 helt öppen

Handen:
0 gömmer sig, 129 trycka på switchen

Här är koden (bättre att hämta filen bifogas detta steg i stället för att klistra in nedan):

#include < Servo.h >
Servo doorServo;
Servo handServo;

int switch_pin = 2; Ställ in omkopplaren på pin 2

motoriska variabler
int motorThrottle = 11;
int motorDirection = 13.
int motorBrake = 8;

int pos = 0;
int selectedMove = 0; flytta väljaren
int Testmove = 0; testläge: att flytta nummer att testa bara en valda drag
(inställd på noll för att köra normalt dvs: roundrobbin på amm flyttar)

void setup()
{
Serial.BEGIN(9600);
pinMode (switch_pin, ingång);
doorServo.attach(9); ställa in dörren servo på Pin 9 pwm
handServo.attach(10); ställa in hand servo på Pin 10 pwm
doorServo.write(80); Ställ in dörren till gömmer sig position
handServo.write(0); Ställ in hand för att dölja position

Ställa in kanal B, (eftersom kanal A är reserverade av dörren och hand servon och inte kan ber används på samma gång)
pinMode (motorDirection, produktionen); Initierar Motor kanal B pin
pinMode (motorBrake, produktionen); Initierar broms kanal B pin

}

void loop()
{
om (Testmove! = 0) {
selectedMove = Testmove;
}

om den är påslagen, då flytta dörren och hand att stänga av...
IF(digitalRead(switch_pin) == hög)
{

om (selectedMove > 10) {selectedMove = 0;} //when alla flyttar spelas, upprepa flyttar från början
nedan finns alla "flyttar" Jag designade hittills, det var en funktion som skrivs nedan i koden, execuse namn, abit konstigt? Ja som några är skrivna på arabiska
om (selectedMove == 0) {switchoff();}
annat if (selectedMove == 1) {switchoff();}
annat if (selectedMove == 2) {switchoffbitaraddod();}
annat if (selectedMove == 3) {crazydoor();}
annat if (selectedMove == 4) {crazyslow();}
annat if (selectedMove == 5) {m7anika7anika();}
annat if (selectedMove == 6) {m3alla2();}
annat if (selectedMove == 7) {switchoff();}
annat if (selectedMove == 8) {matrix();}
annat if (selectedMove == 9) {sneak();}
annat if (selectedMove == 10) {zee7();}

om (Testmove == 0) {
selectedMove ++; strömbrytare till nästa drag om inte i testläge
}

}
}

Biblioteket flyttar

grundläggande drag
void switchoff()
{
Rörliga dörren
för (pos = 80, pos < 155, pos = 3)
{
doorServo.write(pos);
Delay(15);
}

Rörliga hand
för (pos = 0; pos < 129; pos = 4)
{
handServo.write(pos);
Delay(15);
}

gömmer sig hand
för (pos = 129, pos > = 0; pos-= 4)
{
handServo.write(pos);
Delay(15);
}

dölja dörren
för (pos = 155; pos > = 80; pos-= 3)
{
doorServo.write(pos);
Delay(15);
}
}

Flytta 3: öppna och vänta, sedan flytta handen och vänta, sedan byta av och dölja
void switchoffbitaraddod()
{
Rörliga dörren
för (pos = 80, pos < 155, pos = 3)
{
doorServo.write(pos);
Delay(15);
}
Delay(800);
Rörliga hand
för (pos = 0; pos < 100; pos = 4)
{
handServo.write(pos);
Delay(15);
}
Delay(1000);
för (pos = 100; pos < 129; pos = 4)
{
handServo.write(pos);
Delay(15);
}

gömmer sig hand
för (pos = 129, pos > = 0; pos-= 5)
{
handServo.write(pos);
Delay(15);
}

dölja dörren
för (pos = 155; pos > = 80; pos-= 3)
{
doorServo.write(pos);
Delay(15);

}

}

Flytta 4: öppna dörren då nära den många gånger, vänta, sedan snabbt reoprn en nd switch off och dölja.

void crazydoor()
{

Rörliga dörren
för (pos = 80; pos < 125; pos = 3)
{
doorServo.write(pos);
Delay(15);
}

dölja dörren
för (pos = 125; pos > = 80; pos-= 5)
{
doorServo.write(pos);
Delay(15);
}
Rörliga dörren
för (pos = 80; pos < 110; pos = 3)
{
doorServo.write(pos);
Delay(15);
}

dölja dörren
för (pos = 110; pos > = 80; pos-= 15)
{
doorServo.write(pos);
Delay(15);
}
Delay(700);
Rörliga dörren
för (pos = 80; pos < 125; pos = 3)
{
doorServo.write(pos);
Delay(15);
}
Delay(700);
dölja dörren
för (pos = 125; pos > = 80; pos-= 5)
{
doorServo.write(pos);
Delay(15);
}

---av växeln av---/ /
Rörliga dörren
för (pos = 80, pos < 155, pos = 8)
{
doorServo.write(pos);
Delay(15);
}

Rörliga hand
för (pos = 0; pos < 129; pos = 3)
{
handServo.write(pos);
Delay(15);
}

gömmer sig hand
för (pos = 129, pos > = 0; pos-= 3)
{
handServo.write(pos);
Delay(15);
}

dölja dörren
för (pos = 155; pos > = 80; pos-= 15)
{
doorServo.write(pos);
Delay(15);
}

}

flytta 5: öppna dörren, sedan flytta handen mycket långsamt fram och tillbaka till gömmer sig mycket långsamt och sedan snabbt stänga dörren
void crazyslow()
{

Rörliga dörren
för (pos = 80, pos < 155, pos = 1)
{
doorServo.write(pos);
Delay(30);
}

Rörliga hand
för (pos = 0; pos < 129; pos = 1)
{
handServo.write(pos);
Delay(30);
}

gömmer sig hand
för (pos = 129, pos > = 0; pos-= 1)
{
handServo.write(pos);
Delay(30);
}

dölja dörren
för (pos = 155; pos > = 125; pos-= 1)
{
doorServo.write(pos);
Delay(30);
}
Delay(100);
för (pos = 125; pos > = 80; pos-= 4)
{
doorServo.write(pos);
Delay(15);
}

}

flytta 6:

void m7anika7anika() {

Rörliga dörren
för (pos = 80, pos < 155, pos = 3)
{
doorServo.write(pos);
Delay(15);
}

Rörliga hand
för (pos = 0; pos < 70; pos = 1)
{
handServo.write(pos);
Delay(15);
}
Delay(800);

dölja dörren
för (pos = 155; pos > = 130; pos-= 3)
{
doorServo.write(pos);
Delay(15);
}

dölja dörren
för (pos = 130; pos < 155; pos = 3)
{
doorServo.write(pos);
Delay(15);
}
dölja dörren
för (pos = 155; pos > = 130; pos-= 3)
{
doorServo.write(pos);
Delay(15);
}
dölja dörren
för (pos = 130; pos < 155; pos = 3)
{
doorServo.write(pos);
Delay(15);
}

handServo.write(40);
Delay(1000);

Rörliga hand
för (pos = 40; pos < 129; pos = 4)
{
handServo.write(pos);
Delay(15);
}

gömmer sig hand
för (pos = 129, pos > = 0; pos-= 4)
{
handServo.write(pos);
Delay(15);
}

för (pos = 120; pos > = 80; pos-= 1)
{
doorServo.write(pos);
Delay(15);
}

}

void m3alla2() {
Rörliga dörren
för (pos = 80, pos < 155, pos = 3)
{
doorServo.write(pos);
Delay(15);
}

Rörliga hand
för (pos = 0; pos < 127; pos = 4)
{
handServo.write(pos);
Delay(15);
}
dölja dörren
för (pos = 155; pos > = 130; pos-= 3)
{
doorServo.write(pos);
Delay(15);
}
Delay(2000);

för (pos = 130; pos < 155; pos = 3)
{
doorServo.write(pos);
Delay(15);
}

för (pos = 155; pos > = 140; pos-= 3)
{
doorServo.write(pos);
Delay(15);
}
för (pos = 140, pos < 155, pos = 3)
{
doorServo.write(pos);
Delay(15);
}
Delay(500);
gömmer sig hand
för (pos = 127; pos > = 0; pos-= 4)
{
handServo.write(pos);
Delay(15);
}

dölja dörren
för (pos = 155; pos > = 80; pos-= 3)
{
doorServo.write(pos);
Delay(15);
}

}

void matrix()
{

Rörliga dörren
för (pos = 80, pos < 155, pos = 3)
{
doorServo.write(pos);
Delay(15);
}

Rörliga hand
för (pos = 0; pos < 80; pos = 4)
{
handServo.write(pos);
Delay(15);
}

för (pos = 80; pos < 129; pos = 1)
{
handServo.write(pos);
Delay(30);
}
Delay(300);

för (pos = 129, pos > = 0; pos-= 4)
{
handServo.write(pos);
Delay(10);
}

dölja dörren
för (pos = 155; pos > = 80; pos-= 3)
{
doorServo.write(pos);
Delay(15);
}

}

void sneak()
{
Rörliga dörren
för (pos = 80; pos < 130; pos = 1)
{
doorServo.write(pos);
Delay(30);
}
Delay(2000);

Rörliga hand
för (pos = 0; pos < 40; pos = 1)
{
handServo.write(pos);
Delay(30);
}

Delay(500);

för (pos = 130; pos < 155; pos = 4)
{
doorServo.write(pos);
Delay(15);
}
Delay(100);

för (pos = 40; pos < 90; pos = 4)
{
handServo.write(pos);
Delay(15);
}
Delay(500);
gömmer sig hand
för (pos = 90; pos > = 70; pos-= 4)
{
handServo.write(pos);
Delay(15);
}
Delay(100);
för (pos = 70; pos < 90; pos = 4)
{

handServo.write(pos);
Delay(15);
}
Delay(100);
för (pos = 90; pos > = 70; pos-= 4)
{
handServo.write(pos);
Delay(15);
}
Delay(100);

för (pos = 70; pos < 129; pos = 4)
{

handServo.write(pos);
Delay(15);
}

för (pos = 129, pos > = 0; pos-= 4)
{
handServo.write(pos);
Delay(15);
}
dölja dörren
för (pos = 155; pos > = 80; pos-= 3)
{
doorServo.write(pos);
Delay(15);
}
}

void zee7()
{
Rörliga dörren
för (pos = 80, pos < 155, pos = 3)
{
doorServo.write(pos);
Delay(15);
}
Delay(2000);
vidarebefordra @ halvfart till vänster
digitalWrite (motorDirection, låg); Upprättar rätt riktning av kanal B
digitalWrite (motorBrake, låg); Lossa bromsen för kanal B
analogWrite (motorThrottle, 100); Snurrar motorn på kanal B i full fart
Delay(300);
digitalWrite (motorBrake, hög); Eengage bromsar för kanal B
Delay(2000);

bakåt @ halvfart till höger
digitalWrite (motorDirection, hög); Upprättar vänster riktning av kanal B
digitalWrite (motorBrake, låg); Lossa bromsen för kanal B
analogWrite (motorThrottle, 100); Snurrar motorn på kanal B på halvfart
Delay(300);
digitalWrite (motorBrake, hög); Eengage bromsar för kanal B
Delay(1000);

Rörliga hand
för (pos = 0; pos < 129; pos = 4)
{
handServo.write(pos);
Delay(15);
}

gömmer sig hand
för (pos = 129, pos > = 0; pos-= 4)
{
handServo.write(pos);
Delay(15);
}

dölja dörren
för (pos = 155; pos > = 80; pos-= 3)
{
doorServo.write(pos);
Delay(15);
}
}

Se Steg
Relaterade Ämnen

Hur man gör en leksak som dina fåglar kommer att använda för sitt bo

I detta instructable jag kommer att visa dig hur man gör en leksak som dina fåglar absolut kommer att älska och använda för boet.Steg 1: Material och verktygdu behöver:råg gräs eller pinnarett gummibandsträngoch saxSteg 2: skärJag använde råg gräs så...

Hur man gör bäst någonsin gödselmedel utan att använda kemikalier

här är hur man gör naturliga gödselmedel som gör att dina växter växa riktigt bra och göra din vege smaka fantastiskt!Steg 1: du behöver... en strandStora väskorstor container - jag använder en 40 gallon trummavattentidSteg 2: steg 1. Gå till strande...

Hur man bygger ett hem gjorde spole slingrande maskin för Bifilar Trifilar spolar och bortom

detta är en Video av spolen slingrande maskinen jag gjort, mest sätta ihop med kasserade artiklar, endast ett par saker köptes från arkivet (kopplingsdosor, Counter), resten jag kommer från en mikrovågsugn, skrot trä jag hade liggandes etc. vad funge...

Hur man bygger ett hem bibliotek i källaren med hjälp av bokhyllor och tusentals böcker

följer min Youtubekanal: http://www.youtube.com/user/educatetowin?feature=mheeHemsida: http://www.educatetube.comVärd: SipskiHur man bygger ett hem bibliotek i källaren. Du behöver bara minst 5 till 7 bokhyllor (beroende på hur stor din källaren vägg...

Hur man bygger en Media fil Hub för ditt hem (för MacOS och Windows)

vill skapa ett nav för alla i huset att dela filmer, musik och filer?Vad du behöver:• Trådlös Router (jag rekommenderar den ASUS RT-N56U. Dess routern jag har och det fungerar perfekt för detta)• Dator med Internetanslutning (helst flera datorer - an...

Hur du spelar in din egen röst på Xbox utan att använda en dator

för att spela in allt ljud inklusive chatt inklusive din egen röst samtidigt utan att använda en separat inspelning enhet eller mikrofon mixer, behöver du en eftermarknad gaming headset med mikrofon övervakning såsom Turtle Beach X31. Denna typ av he...

Hur man bygger en Hoverboard kan du rida

Kom ihåg dessa hover styrelser som alla Rider runt. nu kan du bygga din egen elektriska hover bräda hemma som du kan rida. För att se hur du kan gå igenom min instructables tutorial och titta på videon för att komplettera läraren. Du hittar alla mina...

Hur man bygger en snö Fort

Tidiga barndomsminnen ofta med tillfredsställelsen av att spela med ett färskt snöfall att göra snöänglar, kasta snöbollar, och ser som kunde bygga större snögubbe. Om du vill känna dig lite nostalgisk då är detta Instructable för dig. Vi kommer att...

Hur man bygger en kort hus

i detta instructable, jag kommer att visa dig hur man bygger ett enkelt kort hus. Jag kommer också att visa några av mina kort hus. Skicka inte kritisera detta instructable, människor där ute egentligen vet inte hur man gör ett korthus.Steg 1: Base d...

Hur man bygger en Fighter stil pappersflygplan

dessa instruktioner visar hur man konstruerar en Fighter pappersflygplan. Detta är ett bra sätt att visa dina vänner och familj ett unikt sätt att bygga ett pappersflygplan. Instruktionerna är för personer med lite ledig tid och alla som vill lära di...

Hur man bygger en Popsicle Stick träskepp

våra äldsta nyligen fick i uppdrag att en familj projektet att bygga en modell av en av de tre skepp som seglade med Columbus när han upptäckte den nya världen. Som tur är det, valde hon att bygga Nina över Pinta och Santa Maria. Varför lycklig? Efte...

Hur man bygger akvarium.

Akvariet är kontrollerad konstgjord miljö där fisk och vattenlevande organismer kan leva från deras naturliga miljö.Hantera akvariet är en populär hobby över hela världen. Detta är en hobby som inte kommer göra dig besviken, men det kommer att bli et...

Hur man bygger en billig arbetsbänk för träbearbetning med en HD Kreg Jigg, med VIDEO tutorial

Gratis planer finns även nedan i Imperial och metriska.Steg 1: Se Full Video Tutorial Video här.Warren från en trä verktyg visar hur man bygger en billig och enkel ön träbearbetning workbench med hund hål, lederna är gjorda med Kreg HD pocket hole ji...

Hur man bygger en enkel elmotor

hur man bygger en enkel elmotor:-En elmotor fungerar genom att skicka en ström genom en spole av tråd. När nuvarande passerar genom spolen skapar en elektromagnetisk dipol. En permanent magnet magnetfält interagerar med dipol av spolen tillämpa ett v...

Hur man bygger en Sonic skruvmejsel

detta instructable visar hur man bygger en egen sonic skruvmejsel.Eftersom jag anser att en sonic är något som byggare bör design, brukar jag även exakta mått.Steg 1: Inälvsprodukter THE CIRCUITDetta är den krets som jag används för både sonic ljud s...

Hur man bygger en pirat fartyg lekplats

beslutade vi att bygga ett piratskepp för mitt barnbarn... Detta är hur vi gjorde det.Jag började med att dra fram några grundläggande skisser av vad jag trodde skulle vara en cool look och utarbetat några grundläggande tekniska idéer. Vår idé var at...

Hur man bygger en Wind Power Generator

skörda vinden för energi inte är ett nytt koncept. Ursprunget till med vindarna till som producerar mekanisk energi förloras i dimma tid. Mänskligheten var med vindkraft att flytta sina skepp och Mala sin säd minst ett par tusen år sedan. Med tillkom...

Hur man gör en Arduino Powered CNC-maskin

Stegvisa instruktioner om hur man bygger en låg kostnad CNC-maskin med en Arduino Uno!Steg 1: Fabricera en bas och x-axeln slädeRoller skate hjul kommer att användas att skapa x-axeln släden. En kombination av 2 in och 1 i stål slangar bildar basen a...

Hur man bygger en eremitkräfta (eller annan liten varelse) bur

detta instructable kommer att förse dig med information om hur man bygger en eremitkräfta bur. Om inte du är ett fan av eremitkräftor, kan du använda det för hamstrar. Eller ödlor. Eller möss. Eller... Ja, du får idén.Barnen bestämde de ville få erem...