Remote control Gripper bot (16 / 16 steg)

Steg 16: Kodlista för robot-drivrutinen

/*
Bluetooth Rover.

Mål i livet...
Följer dina kommandon skickas magiskt men luften! Eller från USB :)

Skriven av Scott Beasley - 2015
Gratis att använda eller ändra. Njuta av.
*/

/*
Använder L9110S-biblioteket. Det fungerar med L9110S h-bron.

Hämta från https://github.com/jscottb/L9110Driver eller klona zip från
https://github.com att ta bort den '-master "från arkiverade filens namn att lägga till
biblioteket
*/

#include < L9110Driver.h >
#include < Servo.h >

#define SERVO_Y 2 / / Pin gripdon Y servo
#define SERVO_CLAW 7 / / Pin gripdon Gripper servo
#define pinAIN1 5 / / definiera I1 gränssnitt
#define pinAIN2 6 / / definiera I2 gränssnitt
#define pinBIN1 3 / / definiera I3 gränssnitt
#define pinBIN2 11 / / definiera I4 gränssnitt

Speed definierar
#define MAXFORWARDSPEED 225 / / Max hastighet vi vill flytta fram
#define MAXBACKWARDSPEED 225 / / Max reverse hastighet
#define TOPSPEED 255 / / används för att omvandla bättre på mattan och grövre ytor.

Olika tidsfördröjningar används för körning och servo
#define TURNDELAY 475
#define TURNDELAY45 235
#define BACKUPDELAY 400
#define SERVOMOVEDELAY 200
#define SERVOSEARCHDELAY 85

/*
Globals område.
*/

Skapa de motor, servo objekt att samverka med
L9110_Motor motor_left (pinAIN1, pinAIN2); Vänster motor objekt skapas
L9110_Motor motor_right (pinBIN1, pinBIN2); Skapa rätt motor objekt
Servo grip_y_servo; Skapa ett servo objekt för gripdon Y-axeln
Servo grip_servo; Skapa ett servo objekt för gripdon klo

Ogiltiga inställningar)
{
Ändra baudfrekvens här om olika sedan 57600
Serial.BEGIN (57600);

grip_y_servo.attach (SERVO_Y); Bifoga servo SERVO_LR
grip_y_servo.write (90).
grip_servo.attach (SERVO_CLAW); Bifoga servo SERVO_LR
grip_servo.write (90).

fördröjning (500).
}

Ogiltig loop)
{
byte kommando = 0, val = 0;

om (Serial.available () > 0) {
Läs den inkommande kommandobyte
kommandot = Serial.read ();
}

Switch (kommando)
{
fallet "w":
go_forward ();
Serial.println ("kommer fram");
bryta;

fallet "z":
go_backward ();
Serial.println ("går baklänges");
bryta;

fallet "a":
go_left ();
fördröjning (TURNDELAY);
stoppa ();
Serial.println ("vrida vänster");
bryta;

fallet ":
go_right ();
fördröjning (TURNDELAY);
stoppa ();
Serial.println ("vrida rätt");
bryta;

fallet "q":
go_left ();
fördröjning (TURNDELAY45);
stoppa ();
Serial.println ("vrida vänster");
bryta;

fallet "e":
go_right ();
fördröjning (TURNDELAY45);
stoppa ();
Serial.println ("vrida rätt");
bryta;

fallet "h":
stoppa ();
Serial.println ("stoppa");
bryta;

fallet ">":
Gripdon X flytta skickar servo sätta värde
Val = Serial.read ();

Vi begränsar värdet till verklig rörelse gränserna för installationen
grip_servo.write (begränsa (val, 64, 179));
Serial.println ("GripperX");
bryta;

fallet ' ^':
Gripdon Y flytta skickar servo sätta värde
Val = Serial.read ();

Vi begränsar värdet till verklig rörelse gränserna för installationen
grip_y_servo.write (begränsa (val, 53, 179));
Serial.println ("GripperY");
bryta;

fallet "c":
Vi begränsar värdet till verklig rörelse gränserna för installationen
grip_y_servo.write (90).
grip_servo.write (90).
Serial.println ("GripperHome");
bryta;

fall 255: / / skickas efter alla gripdon kommandon
Serial.flush ();
bryta;
}

Serial.flush ();
Delay(125);
}

void go_forward)
{
Serial.println ("framöver...");

Ramp motorer upp till hastigheten.
Hjälp med spinning ut på vissa ytor och ware och tare på GM: s
ramp_it (MAXFORWARDSPEED, framåt, framåt);

Set för den inställda hastigheten alla bara incase rampen förra moms var inte alla
det.
motor_left.setSpeed (MAXFORWARDSPEED);
motor_right.setSpeed (MAXFORWARDSPEED);
motor_left.Run (FORWARD| UTGÅVA);
motor_right.Run (FORWARD| UTGÅVA);
}

void go_backward)
{
Serial.println ("går bakåt...");

Ramp motorer upp till hastigheten.
Hjälp med spinning ut på vissa ytor och ware och tare på GM: s
ramp_it (MAXBACKWARDSPEED, bakåt, bakåt);

Set för den inställda hastigheten alla bara incase rampen förra moms var inte alla
det.
motor_left.setSpeed (MAXBACKWARDSPEED);
motor_right.setSpeed (MAXBACKWARDSPEED);
motor_left.Run (BACKWARD| UTGÅVA);
motor_right.Run (BACKWARD| UTGÅVA);
}

void go_left)
{
Serial.println ("kommer vänster...");

Ramp motorer upp till hastigheten.
Hjälp med spinning ut på vissa ytor och ware och tare på GM: s
ramp_it (TOPSPEED, bakåt, framåt);

Set för den inställda hastigheten alla bara incase rampen förra moms var inte alla
det.
motor_left.setSpeed (TOPSPEED);
motor_right.setSpeed (TOPSPEED);
motor_left.Run (BACKWARD| UTGÅVA);
motor_right.Run (FORWARD| UTGÅVA);
}

void go_right)
{
Serial.println ("kommer rätt...");

Ramp motorer upp till hastigheten.
Hjälp med spinning ut på vissa ytor och ware och tare på GM: s
ramp_it (TOPSPEED, framåt, bakåt);

Set för den inställda hastigheten alla bara incase rampen förra moms var inte alla
det.
motor_left.setSpeed (TOPSPEED);
motor_right.setSpeed (TOPSPEED);
motor_left.Run (FORWARD| UTGÅVA);
motor_right.Run (BACKWARD| UTGÅVA);
}

void stopp)
{
Serial.println ("stopp!");
ramp_it (0, bromsar, bromsar);
motor_left.setSpeed (0);
motor_right.setSpeed (0);
motor_left.Run (broms);
motor_right.Run (broms);
}

void ramp_it (uint8_t hastighet, uint8_t lf_dir, uint8_t rt_dir)
{
uint8_t ramp_val = 0, step_val = 0;

step_val = abs (hastighet / 4);
om (! hastighet)
step_val = - step_val;

för (uint8_t jag = 0; jag < 4; i ++) {
ramp_val += step_val;
motor_left.setSpeed (ramp_val);
motor_right.setSpeed (ramp_val);
motor_left.Run (lf_dir| UTGÅVA);
motor_right.Run (rt_dir| UTGÅVA);
fördröjning (25).
}
}

Se Steg
Relaterade Ämnen

Remote Control Robot Arm

detta är talet High School Science Olympiad Robot Arm som tävlade på Minnesota 2012 staten Science Olympiad turneringen med 32 andra lag. Jag byggde och körde denna fjärrkontroll robotarm för turneringen, utsläppande 8 (på grund av oförutsedda proble...

Remote Control sällskapsdjur dörren

Dilemma:6 på morgonen den 1 januari. Du festade till 03: 00. Nu ska du sova det off när du väcks av ett påträngande avlysningen kommer från bakdörren. Din hund behöver gå ut och ta hand om sin verksamhet, men du är varm, skön, och golvet är kallt och...

Remote Control pipig leksak

detta är en enkel leksak för sällskapsdjur. Jag kom upp med detta att underhålla min hund. Du kan använda olika storlek fjärrkontroll bilar för olika stora hundar och olika typer av terräng.Steg 1: material Vad som behövs:Remote Control bilPipig leks...

Laddning Remote Control Robot

laddning Remote Control RobotFÖRST AV ALLT VILL JAG KLARA DIN ALLA TVIVEL INNAN DU BÖRJAR. JAG ÄR INTE NÅGON TEKNISK OCH MEKANISK EXPERT I MASKIN SÅ DU INTE BEHÖVER SPENDERA 100 DOLLAR I DETTA PROJEKT DET ÄR SÅ BILLIGT OCH ENKELT PROJEKT. Du kan bygg...

Spela in IR-koder för någon fjärrkontroll för användning med Linux Infrared Remote Control (LIRC) på Raspberry Pi GPIO-baserade infraröd mottagare

IntroduktionDe fjärrkontroller som är föräldralösa när enheten kontrollerar de kan slutat fungera återanvändas på din Raspberry Pi. Efter att ha avslutat detta instructable, du kan bli intresserad i försökande ute den följande instructables:Återanvän...

Installera Linux Infrared Remote Control (LIRC) paket

IntroduktionLinux Infrared Remote Control (LIRC) är en svit av program som styr den IR hårdvaran av Pi-hallon. Lirc debian-paketet innehåller ett antal program:ircat - Skriv ut strängar när du trycker på knapparnairrecord - ansökan om inspelning IR-k...

Hur man gör en Remote Controlled Stunt bil hemma

I detta Instructable lär vi att göra en fantastisk gadget som varje kille önskat och hade också iallafall försökte en gång göra det under hans barndom. Det är inget annat än en Remote Controlled bil och gissa vad, i detta instructable, vi kommer inte...

Remote Controlled Arduino Car

Jag har alltid gillat att gå till lägren, etc där det finns många av mina vänner, jag har alltid gillat att ha en massa vänner och en dag när jag letade upp youtube för fjärrkontroll bilar, och hur de gjordes, jag listat ut att jag kunde göra en till...

Öka känsligheten för IR Remote Control

detta instructables är att guida dig på hur du kan förbättra känsligheten av IR-fjärrkontrollen. Modell av fjärrkontrollen är AXD7461 för din information.Steg 1: Höljet blockerar IR-signalen Gemensamma anledningen till att IR-fjärrkontrollen inte är...

RS-232 IR-mottagare i en seriell anslutning (LIRC) dator Remote Control

detta instructable avser att visa dig hur du skapar en liten och enkel infraröda (IR) mottagare för din dator. Konfigurationen av programvaran är utanför omfånget för detta instructable, men jag använder denna mottagare med LIRC (Linux Infrared Remot...

Remote Control mörkar för $20

Så jag var trött på den mödosamma uppgiften att manuellt öppna och stänga mörkarna varje dag... och jag hade gjort motoriserade persienner innan med en kontinuerlig revolution servo vända staven när jag var liten men som inte ser trevligt med en serv...

LinkSprite Ethernet Shield + yeelink WEB remote control IO

Ethernet-Shield kan omedelbart Internetkonnektivitet för Arduino projekt. En ombord Wiz5100 ethernet styrenhet hanterar upp till fyra TCP och UDP-anslutningar, stack bara det till en Arduino att skapa dina egna enheter på nätverket. Enkelt kontroller...

Grunderna i förvandlar ditt Remote Controll fordon till ett autonomt System (Drone) genom att använda en Arduino

jag började detta projekt med målet att billigt vrida min RC helikopter till något av en UAV eller åtminstone att passa vissa sensorer att minska kollisioner och andra "mis haps."Nu är tyvärr i början av projektet missbedömde jag min lilla helik...

Trådlös Phone Remote-Controlled LED Strips: RasPi w / Fadecandy driver w / WS2811/WS2812 adresserbara LED Strips med TouchOSC Smartphone App med Iphone eller Droid

Här går en allt mer omfattande design översikt över mitt senaste projekt. Nedan är en video som jag har lagt upp visar vissa funktioner:Den ursprungliga idén progressionen gick ungefär så här:Adresserbara lysdiodsrand (s vi vill alltid ha mer skinand...

Teddy Bear Remote Control

nallebjörn fjärrkontrollen sitter bra på din soffa eller säng och kan användas för att styra din iPod eller dator. Det är en söt ändring till en RF-fjärrkontroll och är förvånansvärt mjuk! Projektet är svårt att göra och kräver en hel del udda materi...

Remote control via GPRS/GSM SMS(Arduino)

fjärrkontroll, särskilt när detta nr ethernet och Wifi i den utomhus, har varit en mycket djupgående saker tidigare. När jag var barn, bilden jag alltid som jag har en utrustning som kan styra alla vitvaror. Nu, detta blir verklighet, med Arduino och...

Touch skärmen Soundbar IR Remote Control

Min son har Cambridge Audio Sound bar med en hund tuggade fjärrkontroll! Jag sa jag skulle prova och göra en ny fjärrkontroll!Jag har testat detta instructable (på / av- & ljud av) på min Samsung TV och det fungerar bra, jag har ännu att testa den på...

Kindle Web Remote Control

BeskrivningDetta är en systemlösning till remote Sidändring på en kindle. Kort sagt, kör jag en webbserver från min kindle. Detta tjänar ett cgi-skript som imiterar en knapptryckning på min kindle. Jag åt skript från en webbläsare på min telefon.Dett...

TV Remote Controlled bil

ingenting är värre än att förlora den registeransvarige som följde med din fjärrkontroll bil. Ersätta att sucker med en arduino och en fjärrkontroll som alltid verkar vara runt, TV-fjärrkontroll!Steg 1: material Material för detta projekt är ganska r...