Arduino gebaseerde lijn volgeling robot met behulp van Pololu kW-8RC lijn sensor (3 / 3 stap)

Stap 3: De code van de Arduino 1.0


/ / Remixed door Hazim Bitar/Techbitar
Datum: februari 12, 2012
Op basis van de voorbeeldcode geboden door Pololu.com
Contactpersoon: techbitar op gmail dot com

#include < PololuQTRSensors.h >
#include < AFMotor.h >

AF_DCMotor motor1 (1, MOTOR12_8KHZ); PIN 11 - Maak motor #1 pwm
AF_DCMotor motor2 (2, MOTOR12_8KHZ); PIN 3 - Maak motor #2 pwm

Wijzig de waarden hieronder om aan te passen van uw robot motoren, gewicht, type wiel, enz.
#define KP.2
#define KD 5
#define M1_DEFAULT_SPEED 50
#define M2_DEFAULT_SPEED 50
#define M1_MAX_SPEED 70
#define M2_MAX_SPEED 70
#define MIDDLE_SENSOR 3
#define NUM_SENSORS 5 / / aantal sensoren gebruikt
#define TIMEOUT 2500 / / wacht 2500 ons voor sensor output ga laag
#define EMITTER_PIN 2 / / emitter wordt gecontroleerd door digitale pin 2
#define DEBUG 0 / / ingesteld op 1 als seriële debug output nodig

PololuQTRSensorsRC qtrrc ((niet-ondertekende char[]) {18,17,16,15,14}, NUM_SENSORS, TIMEOUT, EMITTER_PIN);

unsigned int sensorValues [NUM_SENSORS];

VOID Setup
{
delay(1000);
manual_calibration();
set_motors(0,0);
}

int lastError = 0;
int last_proportional = 0;
int integraal = 0;

void loop
{
unsigned int sensoren [5];
int positie = qtrrc.readLine(sensors);
int fout = positie - 2000;

int motorSpeed = KP * fout + KD * (fout - lastError);
lastError = fout;

int leftMotorSpeed = M1_DEFAULT_SPEED + motorSpeed;
int rightMotorSpeed = M2_DEFAULT_SPEED - motorSpeed;

motor snelheden met behulp van de twee bovenstaande motorsnelheid-variabelen instellen
set_motors (leftMotorSpeed, rightMotorSpeed);
}

VOID set_motors (int motor1speed, int motor2speed)
{
Als (motor1speed > M1_MAX_SPEED) motor1speed = M1_MAX_SPEED; limiet topsnelheid
Als (motor2speed > M2_MAX_SPEED) motor2speed = M2_MAX_SPEED; limiet topsnelheid
Als (motor1speed < 0) motor1speed = 0; motor boven 0 houden
Als (motor2speed < 0) motor2speed = 0; Houd motor snelheid groter dan 0
motor1.setSpeed(motor1speed);     instellen van de motorsnelheid
Motor2.setSpeed(motor2speed);     instellen van de motorsnelheid
motor1.run(forward);
Motor2.run(forward);
}

ongeldig manual_calibration() {}

int i;
voor (ik = 0; ik < 250; i ++) / / de kalibratie duurt een paar seconden
{
qtrrc.Calibrate(QTR_EMITTERS_ON);
vertraging(20);
}

Als (DEBUG) {/ / als de waarde true, generate sensor dats via uitgang voor seriële
Serial.begin(9600);
for (int i = 0; ik < NUM_SENSORS; i ++)
{
Serial.Print(qtrrc.calibratedMinimumOn[i]);
Serial.Print(' ');
}
Serial.println();

for (int i = 0; ik < NUM_SENSORS; i ++)
{
Serial.Print(qtrrc.calibratedMaximumOn[i]);
Serial.Print(' ');
}
Serial.println();
Serial.println();
}
}

Gerelateerde Artikelen

Arduino gebaseerd humanoïde robot met behulp van servomotoren

Arduino gebaseerd humanoïde robot met behulp van servomotoren

Hallo iedereen,Dit is mijn eerste mensachtige robot, gemaakt door dikke plastic folie die ik niet de naam van het blad weet. Het is beschikbaar in verschillende dikte. Hier, gebruikte ik 0,5 mm. Nu kan deze robot zomaar toen ik overgeschakeld ON. Nu
Lichte volgeling robot met behulp van Intel Galileo

Lichte volgeling robot met behulp van Intel Galileo

Onderdelen:Intel GalileoLDRPotentiometerbreadboardOperationele versterkerDarlington transistorGelijkstroommotorweerstandStap 1: werkenHet project is voor het beheersen van een robot met behulp van Intel Galileo, waarmee een signaal van een licht afha
Lijn volgeling Robot met behulp van Camera Shield in 1Sheeld & Arduino

Lijn volgeling Robot met behulp van Camera Shield in 1Sheeld & Arduino

Het was zo lang omdat mijn laatst Instructables gepubliceerde. Eigenlijk, ik probeerde te doen van de zeer populaire project, maar met een nieuwe tools en een gemakkelijke manier vooral in codering. Ik heb gewerkt op een lijn volgeling robot die het
Eenvoudige regel volgeling robot met behulp van een Actobotics Runt Rover Sprout

Eenvoudige regel volgeling robot met behulp van een Actobotics Runt Rover Sprout

Naast obstakel robots te vermijden, zou de meest voorkomende beginner bot een volgeling van de lijn. Ik zelf hou lijn volgelingen, en ze zijn enkele van mijn favoriete weekend bouwt. Het is gewoon zo leuk kijken een beetje bot na weinig zwarte lijn o
Lichte volgeling robot met behulp van arduino

Lichte volgeling robot met behulp van arduino

Het circuit wordt gebruikt om te bepalen een robot door te verhogen of verminderen van de lichte intensity.circuit componenten zijn,potentiële meter arduino uno, operationele versterker, npn darlington transistor, motor, afhankelijke weerstand van de
Draadloos bedienen een Robot met behulp van de Arduino en RF Modules!

Draadloos bedienen een Robot met behulp van de Arduino en RF Modules!

/*Bewerken van 05/05/2016Hey jongens, ik druk bezig geweest met college en kon niet antwoorden naar commments. De meeste van jullie wilde de code en schema's gedaan een beetje beter dus ik heb het schema op Eagle 7.2.0 gemaakt en geüpload alles op Gi
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
BOUW uw eigen INSECT ROBOT met behulp van de ARDUINO en SERVO

BOUW uw eigen INSECT ROBOT met behulp van de ARDUINO en SERVO

Hey daar, ben ik terug met een meer instructalble. Ik ga je leren hoe te bouwen van een Insect robot met behulp van Arduino en servomotoren. Klinkt cool, toch?. Wat u denkt over het gebruik van deze robot? Vanwege hun compacte formaat, die ze kunnen
2-wiel Self Balancing Robot met behulp van de Arduino en MPU6050

2-wiel Self Balancing Robot met behulp van de Arduino en MPU6050

2-wiel Self Balancing Robot met behulp van de Arduino en MPU6050.Arduino als de controller en de sensor MPU6050 gebruiken om te bepalen van het evenwicht. Gewoon een eenvoudige seriële Bluetooth module toevoegen en een Bluetooth seriële Controller AP
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)
Remote Controlled Robot met behulp van Arduino

Remote Controlled Robot met behulp van Arduino

L293D is een dual H-brug motor stuurprogramma geïntegreerde circuit (IC). Motor stuurprogramma's fungeren als huidige versterkers omdat zij een low-current-besturingselement signaal en een hogere-stroom signaal bieden. Deze hogere stroomsignaal wordt
Goedkope 4WD object vermijden Robot met behulp van vier IR naderingssensoren...

Goedkope 4WD object vermijden Robot met behulp van vier IR naderingssensoren...

Dit is een goedkope basis vier motoren, vier sensoren, programmeerbare 8051 object vermijden robot met behulp van breadboad. Deze robot kan ook worden gebruikt als een lijn na robot alleen het veranderen van het programma. Ik installeerde twee batter
Het bouwen van een Robot met behulp van MSP430 Launchpad

Het bouwen van een Robot met behulp van MSP430 Launchpad

In dit Instructable gaan we aan het bouwen van een kleine robot met behulp van MSP430 Launchpad van TI. De robot zal gebruik maken van twee gericht gelijkstroommotoren en differentiële aandrijfsysteem zal tewerkstellen.De intelligentie is voorzien va
Controle van uw Robot met behulp van de mobiele telefoon

Controle van uw Robot met behulp van de mobiele telefoon

DEZE hele TUTORIAL IS ook beschikbaar op mijn WEBSITEHallo zal wereld in deze post ik u tonen hoe om te controleren van de robot met behulp van de mobiele telefoon. Besturen van een robot met behulp van de mobiele telefoon is niet zo ingewikkeld als