Arduino gecontroleerd Servo Robot (SERVISCH) (6 / 7 stap)

Stap 6: programmeren


De fysieke robot is afgelopen tijd om te beginnen waardoor het een brein.

Voordat we in de details voor het programmeren van een Arduino gecontroleerd Servo Robot - (SERVISCH) - een paar links naar enkele uitstekende Arduino programmeer bronnen op het internet.

Arduino Starter Guide - een gids om te helpen u beginnen met Arduinos, de programmeeromgeving voor het schrijven van uw eerste programma gedownload.

Arduino programmering verwijzing - een volledig gebruiksvriendelijk Naslaggids voor de Arduino programmeer taal.

De werking van Servos - een snelle primer aan hoe servo werk motoren.

Arduino Servo bibliotheek - hoe the Arduino Servo bibliotheek werken (hoe wij bepalen onze servo's).

Alright met het leren uit de manier kunt krijgen programmering. Er zijn drie manieren om te beginnen uw Arduino gecontroleerd Servo Robot - (SERVISCH) programmering.

Optie 1: (SERB_Test.pde wijzigen)
Soms wanneer het programmeren van de makkelijkste om te doen is nemen een werkprogramma en start uw eigen code toe te voegen. De SERB_Test zipped te doen deze download programma (07-(SERB)-Servische-Test Arduino Program.zip). Ga verder met dit pak in de Arduino schets map (standaard "Mijn Documents\Arduino\"). Ten slotte opent de Arduino programmeer omgeving en download het naar uw Arduino. De code is goed commentaar.
(of kopieer en plak de code uit de bijlage op deze stap naar een nieuwe Arduino schets)

Optie 2: (Het toevoegen van Servische Routines om uw programma)
Enkele eenvoudige routines toevoegen aan uw bestaande programma (zoals goForward(), setSpeed(int) enz.). Deze download hiervoor de routines in het tekstbestand (07-(SERB)-eenvoudige Routines Text.txt).
1. Kopieer en plak het gedeelte van de preambule naar het begin van uw programma.
2. Kopieer en plak het routinematige deel aan het lichaam van uw programma.
3. Voeg een aanroep naar serbSetup(); aan uw Setup -routine.

Optie 3: (Het creëren van uw eigen programma van kras)
Dit is niet te moeilijk. Dat alles wordt vereist is om vertrouwd te raken met de Arduino Servo-bibliotheek. Dan is de juiste servo is aangesloten op pin 9, en de linker servo naar pin 10.

Opmerking: Extra programma's zullen worden toegevoegd hier zoals ze zijn ontwikkeld; of als u iets ontwikkelen en wil graag het featured Stuur me een prive bericht en kan worden toegevoegd.

Bijlage: (SERB_Test.pde Code)

 /* * Arduino Controlled Servo Robot (SERB) - Test Program * For more details visit: http://www.oomlout.com/serb * * Behaviour: A simple test program which causes the SERB * to turn randomly either left or right for a * random time period between 0.1 and 1 second. * The SERB will then drive forward for a random * time period between 1 and 2 seconds. Finally * pausing for 2 seconds before starting again. * * Wiring: Right Servo Signal - pin 9 * Left Servo Signal - pin 10 * * License: This work is licenced under the Creative Commons * Attribution-Share Alike 3.0 Unported License. To * view a copy of this licence, visit * http://creativecommons.org/licenses/by-sa/3.0/ * or send a letter to Creative Commons, 171 Second * Street, Suite 300, San Francisco, California 94105, * USA. * */ //--------------------------------------------------------------------------// START OF ARDUINO CONTROLLED SERVO ROBOT (SERB) PREAMBLE#include <Servo.h>#define LEFTSERVOPIN 10 #define RIGHTSERVOPIN 9Servo leftServo; Servo rightServo; int speed = 100; //sets the speed of the robot (both servos) //a percentage between 0 and 100// END OF ARDUINO CONTROLLED SERVO ROBOT (SERB) PREAMBLE//--------------------------------------------------------------------------/* * sets pins to appropriate states and attaches servos. Then pauses * for 1 second before the program starts*/ void setup() { serbSetup(); //sets the state of all neccesary //pins and adds servos to your sketch randomSeed(analogRead(0)); //sets the random number seed with //something mildly random delay(1000);}/* * turns the robot either left or right (randomly) for a period between * 0.1 and 1 second. Before going forward for a random time period * between 1 and 4 seconds. Before pausing for two seconds then starting * again.*/void loop() { turnRandom(100,1000); //Turns randomly left or right for a //randomtime period between .1 second //and one second goForwardRandom(1000,2000); //Goes forward for a random time period //between //1 and 2 seconds goStop(); //Stops the robot delay(2000); //pauses for 2 seconds (whilst stopped)}/* * turns the robot randomly left or right for a random time period between * minTime (milliseconds) and maxTime (milliseconds) */void turnRandom(int minTime, int maxTime){ int choice = random(2); //Random number to decide //between left (1) and right (0) int turnTime = random(minTime,maxTime); //Random number for the pause //time if(choice == 1){ goLeft();} //If random number = 1 then turn //left else {goRight();} //If random number = 0 then turn //right delay(turnTime); //delay for random time }/* * goes forward for a random time period between minTime (milliseconds) * and maxTime (milliseconds) */void goForwardRandom(int minTime, int maxTime){ int forwardTime = random(minTime,maxTime); //determine a random time to //go forward goForward(); //sets the SERB forward delay(forwardTime); //delays for random time period}//------------------------------------------------------------------------//START OF ARDUINO CONTROLLED SERVO ROBOT (SERB) ROUTINES/* * sets up your arduino to address your SERB using the included routines*/void serbSetup(){ setSpeed(speed); pinMode(LEFTSERVOPIN, OUTPUT); //sets the left servo signal pin //to output pinMode(RIGHTSERVOPIN, OUTPUT); //sets the right servo signal pin //to output leftServo.attach(LEFTSERVOPIN); //attaches left servo rightServo.attach(RIGHTSERVOPIN); //attaches right servo goStop();}/* * sets the speed of the robot between 0-(stopped) and 100-(full speed) * NOTE: speed will not change the current speed you must change speed * then call one of the go methods before changes occur.*/ void setSpeed(int newSpeed){ if(newSpeed >= 100) {newSpeed = 100;} //if speed is greater than 100 //make it 100 if(newSpeed <= 0) {newSpeed = 0;} //if speed is less than 0 make //it 0 speed = newSpeed * 0.9; //scales the speed to be //between 0 and 90}/* * sends the robot forwards */void goForward(){ leftServo.write(90 + speed); rightServo.write(90 - speed);}/* * sends the robot backwards */void goBackward(){ leftServo.write(90 - speed); rightServo.write(90 + speed);} /* * sends the robot right */void goRight(){ leftServo.write(90 + speed); rightServo.write(90 + speed);}/* * sends the robot left */void goLeft(){ leftServo.write(90 - speed); rightServo.write(90 - speed);}/* * stops the robot */void goStop(){ leftServo.write(90); rightServo.write(90);} //END OF ARDUINO CONTROLLED SERVO ROBOT (SERB) ROUTINES//--------------------------------------------------------------------------- 

Gerelateerde Artikelen

Arduino gecontroleerd L293D Robot (deel 1 - Update 1.0)

Arduino gecontroleerd L293D Robot (deel 1 - Update 1.0)

Hier is deel 1 van de Arduino en L293D Robot.This maakt deel uit van een reeks instructables leidt tot een lijn volgeling Robot.Dit is een fundamentele Robot gemaakt door het beheersen van de twee motoren via de L293D chip via een Arduino Board.Ik he
Infraroodsensor begeleide Arduino gecontroleerde L293D Robot (deel 2)

Infraroodsensor begeleide Arduino gecontroleerde L293D Robot (deel 2)

Hier is deel 2 van de Arduino L293D Robot gecontroleerd.Deel 2 omvat infrarood Sensors.This maakt deel uit van een reeks instructables leidt tot een lijn volgeling Robot.QRD1114 Infrared Sensor verbonden met ArduinoStap 1: De Infrarood Sensor bedradi
Arduino gecontroleerd Servo uitoefenaar

Arduino gecontroleerd Servo uitoefenaar

je je Arduino en u kreeg uw Servo...Hier is een koele weinig programma schreef ik dat u om rechten die servo aan uw harteninhoud toelaten zal. Misschien vindt u enkele van de ondersteunende code handig ook!Er is echt geen andere onderdelenlijst, dus
Internet gecontroleerde Telepresence Robot

Internet gecontroleerde Telepresence Robot

In deze tutorial zal ik u tonen hoe te bouwen van een Internet-gecontroleerde Telepresence Robot met een robotachtig wapen voor onder $100.Stap 1: Basismaterialen Voor deze tutorial zijn er sommige must-have:1. een Arduino board (ik ben met behulp va
Galvo - Laser Arduino gecontroleerd

Galvo - Laser Arduino gecontroleerd

Arduino gecontroleerd galvo laser. De servo aangedreven spiegels sturen de verlaten een fosforescerende parcours op het blad van de glow-in-the-dark vinyl UV-laser.Oorspronkelijk Gepost op notes.robives.comStap 1:Beginnen met een blad van lichtgevend
Arduino-gecontroleerde Wolf staart

Arduino-gecontroleerde Wolf staart

groeten, of moet ik zeggen, "Aaaaaooooooooooooh!" Maken van uw bekende collega wolf liefhebber graag. Je hebt een innerlijke wolf geest dat zo graag bekend maken dat u mij om te leren hoe om uw zeer eigen animatronic wolf staart, zodat u kunt ec
Huisdier Curfew: Een Arduino gecontroleerde huisdier deur

Huisdier Curfew: Een Arduino gecontroleerde huisdier deur

Het probleem: U wilt beperken van de tijd wanneer uw huisdier mee mag naar buiten te gaan. Dit kan zijn omdat de buurt niet veilig voor uw kat of kleine hond in de nacht is (plunderende coyotes voor de geest komt). Maar u wilt uw huisdier te kunnen t
LDRs + Arduino = een eenvoudige robot die het licht kan voelen!

LDRs + Arduino = een eenvoudige robot die het licht kan voelen!

Een LDR is een Light Dependent Resistor en heeft vele toepassingen, bijvoorbeeld een photocel dat wanneer de lichten van uw huis kunt schakelen zijn donker buiten.Een interessante manier om te begrijpen hoe het werkt is het lezen van haar waarden met
Arduino Self Balancing Robot

Arduino Self Balancing Robot

In dit project die zal ik beschrijven de bouw van robots in evenwicht met Arduino.We staan uitgelegd in onze vorige versie van het android gecontroleerde project. In dit project gaan we tot onze controle. Laten we laten we krijgen op onze bouwproject
Arduino gecontroleerd animatronic houten hoofd (leeslamp)

Arduino gecontroleerd animatronic houten hoofd (leeslamp)

deze kop is een leeslamp die kan worden aangepast aan de richting van de verlichting, en grijs als vereist.Dit Instructable combineert Arduino, programmering, sommige eenvoudig elektronica, snijwerk met hand en power tools, mechanische controle en ee
Arduino-gecontroleerde Smart Home

Arduino-gecontroleerde Smart Home

Dit Instructable werd geschreven door PubNub Evangelist Ian Jennings . Ian's verhaal doorloopt zijn proces van het opbouwen van een Arduino-gecontroleerde smart home model van kras.--Terug in September, onze stichter Stephen en ik spraken over manier
Arduino HVAC Servo thermostaat/Controller

Arduino HVAC Servo thermostaat/Controller

Welkom bij mijn 'groene' instructable! Ik ga u tonen hoe te gebruiken een Arduino, twee servo motoren een temperatuursensor en sommige metalen (of hout) zodat een digitale thermostaat voor een via-muur HVAC eenheid.Volgens de CB Richard Ellis (een gr
Arduino gecontroleerd vuurtoren

Arduino gecontroleerd vuurtoren

Overzicht:Ik heb vaak gedacht dat een vuurtoren zou een groot project voor een Arduino, en dus heb ik besloten om het eens te proberen met behulp van een van de lokale vuurtorens hier in Erie, Pennsylvania als inspiratie. Ik koos voor de North Pierhe
Arduino gecontroleerd CNC / 3D Printer hybride

Arduino gecontroleerd CNC / 3D Printer hybride

Moeder natuur maakt... Wij bouwen.BuildersBot zekeringen 3D printen & CNC frezen in één Builder's droom "3dprintingindustry.com"De BuilderBot is een Open ontwerp machine, die gebruik maakt van OpenSoftware en Open Hardware. Het is een produc