Arduino 4wd robot met ping sensor "J-Bot" (5 / 6 stap)

Stap 5: Stap 5 - nu tijd om te programma!


Dit is echt het leuke deel; de sky is the limit als het gaat om het programmeren van je J-Bot. U kunt de route naar de snoep kantoor machine of koffie pot te hebben van uw office-contactpersoon maken van een pick-up vooraf programmeren. Toevoegen van een web-cam to-peer rond hoge kast muren, toevoegen sprekers uitgezonden muziek, toevoegen van ledematen en een afstandsbediening te halen uw favoriete gadgets. J-Bot wacht voor uw verbeelding uit te voeren gewoon botty.

Eerst moet je de Arduino software te downloaden. Vervolgens de Arduino Stepper/Servo software library downloaden en volg de instructies op hoe te zetten van de bibliotheek in de desbetreffende map.

Vervolgens opent u de Arduino software en plak de code.

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

#include < AFMotor.h > / / maakt de bibliotheek van de Motor
#include < Servo.h > / / maakt van de Servo-bibliotheek

Servo PingServo;
AF_DCMotor motor1(1); Motor 1 is aangesloten op de poort 1 op de motor schild
AF_DCMotor motor2(2); Motor 2 is aangesloten op de poort 2 van de motor shield
int minSafeDist = 11; Minimumafstand voor ping sensor te weten wanneer te schakelen
int pingPin = A0; Ping sensor is aangesloten op poort A0
int centerDist, leftDist, rightDist, backDist; Definiëren van de variabelen midden, links, rechts en terug van afstand
lange duur, inch, cm; Variabelen voor Ping sensor definiëren

VOID Setup {}
PingServo.attach(10); Servo is aangesloten op pin 10 in het motor schild
PingServo.write(90); Centreren van het Ping-sensor (zet het op 90 graden)
motor1.setSpeed(215); Hiermee stelt u de snelheid van de eerste motor (op 0, staan de motoren af 255 is de snelste instelling die je bent in staat om te gebruiken, ik gebruikt 215 aan de motoren niet te hard duwen.)
Motor2.setSpeed(215); Hiermee stelt u de snelheid van de tweede motor (op 0, staan de motoren af 255 is de snelste instelling die je bent in staat om te gebruiken, ik gebruikt 215 aan de motoren niet te hard duwen.)

Serial.begin(9600); Seriële monitor maakt voor foutopsporing
Serial.println ("Serial test!"); Test de seriële communicatie

}

VOID AllStop() {}
motor1.run(release); Motor 1 uitgeschakeld
Motor2.run(release); Motor 2 uitgeschakeld
}
VOID AllForward() {/ / maakt de robot voorwaarts gaan
motor1.run(forward); Motor 1 gaat vooruit
Motor2.run(forward); Motor 2 gaat vooruit
Serial.println ("Doorgaan"); Drukt een regel in de seriële monitor
}
VOID turnRight() {/ / maakt de robot ga rechtsaf
Motor2.run(BACKWARD); Motor 2 uitgeschakeld
motor1.run(forward); Motor 1 gaat vooruit
delay(1600); Benodigde tijd voor het rechtsaf (1,6 seconden)
Serial.println ("motoren gaan recht"); Drukt een regel in de seriële monitor
}
VOID GoBack() {/ / maakt de robot ga terug
Motor2.run(BACKWARD); Motor 2 gaat terug
motor1.run(BACKWARD); Motor 1 gaat terug
delay(1600); Tijd die nodig is om terug te gaan (1,6 seconden)
Serial.println("backward"); Drukt een regel in de seriële monitor
}
VOID turnLeft() {/ / maakt de robot ga links
Motor2.run(forward); Motor 2 gaat vooruit
motor1.run(BACKWARD); motor 1 uitgeschakeld
delay(1600); Benodigde tijd voor het schakelen van links (1.6) Seconds
Serial.println ("motoren gaan links"); / / drukt een regel in de seriële monitor
}

Begint de lus om te beslissen wat te doen
void loop
{
LookAhead();
Serial.Print(inches);
Serial.println ("duim"); Drukt een regel in de seriële monitor
Als (inch > = minSafeDist) / * als de inch vóór een object is groter dan of gelijk aan de minimale veiligheidsafstand (11 inch), reageren * /
{
AllForward(); Alle wielen toekomen
delay(110); 0.11 seconden
} else / / indien niet:

{
AllStop(); Stop alle motoren
LookAround(); Controleer uw omgeving voor de beste route
if(rightDist > leftDist) / / als de juiste afstand groter dan de linker afstand is, sla rechtsaf
{
turnRight();
} else if (leftDist > rightDist) / / als de linker afstand groter dan de juiste afstand is, linksaf
{
turnLeft();
} else if (leftDist & & rightDist < minSafeDist) / / als de linker- en afstand kleiner is dan de veilige min afstand (11 inch) Ga terug
{
GoBack();
}
}
}

unsigned long ping() {}
pinMode (pingPin, OUTPUT); Maken van de Pingpin voor de uitvoer van
digitalWrite (pingPin, laag); Stuur een lage puls
delayMicroseconds(2); Wacht twee microseconden
digitalWrite (pingPin, hoge); Stuur een hoge pols
delayMicroseconds(5); wacht 5 micro seconden
digitalWrite (pingPin, laag); Stuur een lage puls
pinMode(pingPin,INPUT); Schakel de Pingpin in te voeren
duur = pulseIn (pingPin, hoge); luisteren voor de echo

/ * Micro seconden omzetten in Inches
-------------------------------------*/

duim = microsecondsToInches(duration);
cm = microsecondsToCentimeters(duration);
}

lang microsecondsToInches (lange microseconden) / / tijd omgezet in een afstand
{
retourneren van microseconden / 74 / 2;
}
lang microsecondsToCentimeters (lange microseconden) / / tijd omgezet in een afstand
{
retourneren van microseconden / 29 / 2;
}

VOID LookAhead() {}
PingServo.write(90); / / hoek om te kijken uit
delay(175); 0.175 seconden
ping();
}

VOID LookAround() {}
PingServo.write(180); hoek van 180°
delay(320); 0.32 seconden
ping();
rightDist = inch; krijgen van de juiste afstand
PingServo.write(0); Kijk naar de overkant
delay(620); 0.62 seconden
ping();
leftDist = inch; krijgen van de linker afstand
PingServo.write(90); hoek van 90°
delay(275); 0,275 seconden

Drukt een regel in de seriële monitor
Serial.Print ("RightDist:");
Serial.println(rightDist);
Serial.Print ("LeftDist:");
Serial.println(leftDist);
Serial.Print ("CenterDist:");
Serial.println(centerDist);
}

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Gerelateerde Artikelen

Arduino gecontroleerd persoonlijke ventilator met Ping Sensor / ATtiny2313

Arduino gecontroleerd persoonlijke ventilator met Ping Sensor / ATtiny2313

Wat doet dit?Dit is een ventilator die automatisch komt op als ik ga zitten op mijn werkbank en uitschakelen wanneer ik verlaat.Het maakt gebruik van een Ultrasone afstandssensor, of ook wel genoemd een "Ping" sensor voor detectie.Een ATtiny2313
Met behulp van een Arduino tekening Robot met Code Tutorials uur

Met behulp van een Arduino tekening Robot met Code Tutorials uur

Ik heb een Arduino robot voor een workshop tekening om te helpen tiener meisjes krijgen interesse in de onderwerpen van de stam (zie). De robot is ontworpen met Turtle-stijl programmering opdrachten zoals forward(distance) en turn(angle) maken van in
Arduino gebaseerde robot met IR radar

Arduino gebaseerde robot met IR radar

het prototype van de robot in dit Instructable is mijn tweede Arduino gebaseerde "slumbot" die een autonome robot is. Samen met huishoudelijke artikelen en kladjes vastzit. De robot ziet"" met een IR sensor gedraaid door een servo scan
Mini 2-wiel robot met IR sensor gewicht 14gr en ATTiny13 Soic

Mini 2-wiel robot met IR sensor gewicht 14gr en ATTiny13 Soic

Hallo uit Frankrijk!Mijn naam is MicSorry voor mijn Engels (:Mijn doel een zeer kleine BotEen beetje makkelijker te bouwen voor Robot kunnen wij hebben geduld en een goede magnifyingglasses,De naam: Roule_RobotZijn nikename: RRBeteugelen gewicht: 14g
Super eenvoudige en goedkope Arduino Bumper robot met behulp van 28BYJ-48 stepper

Super eenvoudige en goedkope Arduino Bumper robot met behulp van 28BYJ-48 stepper

In deze video zal ik u tonen hoe te bouwen uw eerste arduino robot, dan wel in de volgorde natuurlijk, maar als u nog niet gemaakt een robot voor dan deze robot is een geweldige plek om te beginnen, het is echt eenvoudig te begrijpen codewise (slecht
Pijp Bot - een slimme arduino bluetooth robot

Pijp Bot - een slimme arduino bluetooth robot

Dit is mijn eerste instructables. Hier ben ik tonen hoe maak je een goedkope twee wielen arduino bluetooth robot, met behulp van PVC-buizen en haar gewrichten (voor het maken van het lichaam). Het is eenvoudig om te maken en eenvoudig te programmeren
Obstakel ontwijkt Robot met behulp van de Arduino Uno en de nabijheid van de IR Sensor

Obstakel ontwijkt Robot met behulp van de Arduino Uno en de nabijheid van de IR Sensor

Volg de stappen voor het maken van een obstakel vermijden Robot met behulp van Arduino Uno en IR Sensor van de nabijheidStap 1: Onderdelen die nodig zijn1) Arduino Uno R3 (kloon zal doen)2) IR naderingssensoren (2 aanbevolen)3) chassis met motoren4)
Arduino gebaseerde lijn volgeling robot met behulp van Pololu kW-8RC lijn sensor

Arduino gebaseerde lijn volgeling robot met behulp van Pololu kW-8RC lijn sensor

UPDATE FEB 2012: deze gids is featured op de Adafruit bloghttp://www.adafruit.com/blog/2012/02/14/Arduino-based-line-follower-robot/Dit is de Faz3a II, mijn eerste lijn-volgende robot, die hopelijk ook te gebruiken voor het oplossen van de doolhof. I
Maak een eenvoudige draadloze RF robot met behulp van Arduino!

Maak een eenvoudige draadloze RF robot met behulp van Arduino!

UPDATE: IK HEB JOYSTICK-CONTROLE TOEGEVOEGD AAN DEZE ROBOT. GELIEVE TE VERWIJZEN NAAR DE STAP 7, ALS U WILT BEPALEN UW ROBOT VIA JOYSTICK.HalloDit is mijn eerste instructable en in deze tutorial, I 'm gonna Toon u hoe te bouwen van een eenvoudige dra
Obstakel te vermijden Robot met arduino

Obstakel te vermijden Robot met arduino

OBSTAKEL - VERMIJDEN ROBOTEen obstakel te vermijden ROBOT is een die kan een obstakel te vermijden met behulp van ultrasone sensor en navigeren in haar eigen pad. Met een breadboard gekoppeld aan de robot kunt u plezier spelen binnen een korte period
Eenvoudige Object ontwijkt robot met behulp van de Actobotics Runt Rover Peewee chassis en een Arduino

Eenvoudige Object ontwijkt robot met behulp van de Actobotics Runt Rover Peewee chassis en een Arduino

Er zijn vele manieren om te bouwen van een robot, vanuit het niets een kit, een vooraf gebouwde systeem of een combinatie van een van deze methoden. Het pad dat zullen we hier zal worden meestal uit een kit en andere items zoals een Arduino controlle
2WD stem gecontroleerde Robot met Arduino en BitVoicer Server

2WD stem gecontroleerde Robot met Arduino en BitVoicer Server

In dit Instructable ga ik tonen hoe te om een 2WD spraakgestuurde robot te bouwen. Hoewel ik ben alleen gelijkstroommotoren als wilt verplaatsen de robot controle, dezelfde aanpak kan worden gebruikt voor de controle van de stem stappenmotoren en ser
MANUAL / autonome controle ROBOT (met behulp van de SENSOR FUSION techniek)

MANUAL / autonome controle ROBOT (met behulp van de SENSOR FUSION techniek)

DTMF of Dual Tone meerdere frequentie is een handige kleine manier van controlerende machines met uw cellphone. Dit instructable toont u, zachte lezer hoe maak je een goedkoper dan vuil DTMF gecontroleerd robot die ook autonoom, yeh functioneren kan!
Goedkope Robot met Arduino

Goedkope Robot met Arduino

ik wilde leren elektronika, Arduino, programmering, en het solderen dus ik dacht dat ik zou halen een van Randy's projecten en kopiëren.Ik beëindigde omhoog met een andere motor configuratie. Mijn voorste motor omlaag wijst en verandert een beetje kw