Robot suiveur de ligne axée sur l’Arduino à l’aide du capteur de ligne Pololu QTR-8RC (3 / 3 étapes)

Étape 3: L’Arduino code 1.0

/ / Remixée par Hazim Bitar/Techbitar
Date : 12 fév 2012
Basé sur l’exemple de code fourni par Pololu.com
Contact : techbitar arobase gmail point com

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

AF_DCMotor motor1 (1, MOTOR12_8KHZ) ; BROCHE 11 – créer moteur #1 pwm
AF_DCMotor motor2 (2, MOTOR12_8KHZ) ; BROCHE 3 - créer moteur pwm #2

Modifiez les valeurs ci-dessous en fonction des moteurs de votre robot, poids, type de roue, etc..
#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 / / nombre de capteurs utilisés
#define TIMEOUT 2500 / / attend 2500 nous pour capteur sorties pour aller en bas
#define EMITTER_PIN 2 / / émetteur est contrôlée par la broche numérique 2
#define DEBUG 0 / / la valeur 1 si nécessaire de la sortie de débogage serial

PololuQTRSensorsRC qtrrc ((unsigned 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) ;
}

lastError int = 0 ;
int last_proportional = 0 ;
intégrante d’int = 0 ;

void loop()
{
unsigned int capteurs [5] ;
int position = qtrrc.readLine(sensors) ;
int erreur = position - 2000 ;

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

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

régler les vitesses du moteur en utilisant les deux variables de vitesse du moteur ci-dessus
set_motors (leftMotorSpeed, rightMotorSpeed) ;
}

void set_motors (int motor1speed, int motor2speed)
{
Si (motor1speed > M1_MAX_SPEED) motor1speed = M1_MAX_SPEED ; limite de vitesse maximale
Si (motor2speed > M2_MAX_SPEED) motor2speed = M2_MAX_SPEED ; limite de vitesse maximale
Si (motor1speed < 0) motor1speed = 0 ; garder le moteur au-dessus de 0
Si (motor2speed < 0) motor2speed = 0 ; garder la vitesse du moteur au-dessus de 0
motor1.setSpeed(motor1speed) ;     régler la vitesse du moteur
motor2.setSpeed(motor2speed) ;     régler la vitesse du moteur
motor1.Run(Forward) ;
motor2.Run(Forward) ;
}

void manual_calibration() {}

int i ;
pour (i = 0; j’ai 250 <; i ++) / / l’étalonnage prendra quelques secondes
{
qtrrc.CALIBRATE(QTR_EMITTERS_ON) ;
Delay(20) ;
}

Si (déboguer) {/ / si elle est vraie, générer capteur dats via sortie série
Serial.Begin(9600) ;
pour (int i = 0; i < NUM_SENSORS; i ++)
{
Serial.Print(qtrrc.calibratedMinimumOn[i]) ;
Serial.Print(' ') ;
}
Serial.println() ;

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

Articles Liés

Robot suiveur de ligne

Robot suiveur de ligne

il s'agit de mon deuxième Robot suiveur de ligne, et comme son nom l'indique, c'est un robot dont le but est suivant une ligne. Ce robot peut être utilisé dans des concours où un robot doit suivre un parcours délimité par une ligne noire sur fond bla
Carte avec Viaduc en carton pour robot suiveur de ligne

Carte avec Viaduc en carton pour robot suiveur de ligne

Afin d'avoir un peu plus de plaisir avec mon mBot Makeblock en mode suiveur de ligne, j'ai créé cette carte personnalisée avec un viaduc en carton.Une carte pour un robot suiveur de ligne est en fait assez simple à faire. Ce que je vais montrer ici,
Faites robot suiveur de ligne à 5$

Faites robot suiveur de ligne à 5$

Nous tous avons rencontrés quelques uns ensemble dos à cause du budget limité et la réduction du financement.Nous pouvons remédier à cette situation en innovant et en utilisant les matériaux à bas prix dont nous disposons.Étape 1: INTRO Le concept de
LINUSBot - Robot suiveur de ligne - avec régulation PID

LINUSBot - Robot suiveur de ligne - avec régulation PID

LINUSBot - Robot suiveur de ligne - avec régulation PIDLINUSBot - contrôle PIDIl s'agit d'un complément à la première « instructables » de la LINUSBot (ligne robot qui suit).Maintenant, le robot a le contrôle des mouvements effectué par un régulateur
Simple robot suiveur de ligne en utilisant un Actobotics Runt Rover Sprout

Simple robot suiveur de ligne en utilisant un Actobotics Runt Rover Sprout

À côté de l'obstacle en évitant les robots, les plus courantes bot débutant serait un adepte de la ligne. J'ai moi-même aime les partisans de la ligne, et ils sont certains de mes préférés week-end builds. C'est juste tellement amusant de regarder un
LINUSBot - Robot suiveur de ligne

LINUSBot - Robot suiveur de ligne

le fonctionnement de ce Robot est très simple.Capteurs infrarouges placés à l'avant du châssis suivra lorsque notre Robot provient d'une ligne noire ou lorsqu'il est sur un fond blanc.Dans ce projet, nous allons utiliser le châssis arrondi approprié
Autonome robot suiveur de ligne

Autonome robot suiveur de ligne

il s'agit d'un adepte de la ligne que j'avais construit dans la première année de mon baccalauréat en ingénierie. Le robot utilise arduino comme c'est le cerveau et est en mesure de suivre la ligne noire dessinée sur un blanc surface c'est à dire qu'
Plus simple Robot suiveur de ligne

Plus simple Robot suiveur de ligne

il y a quelques jours, j'ai vu un robot à...pour être honnête, le circuit a été un gâchis à voir, bien que le schéma était simple, alors j'ai fait un nouveau PCB de celui-ci et repensé un peu choses, pour obtenir un circuit très soigné et petit de ce
Suiveur de ligne haute performance Robot

Suiveur de ligne haute performance Robot

Salut! Je vais essayer de vous présenter le monde de robots suiveurs de ligne. Beaucoup d'entre nous ont déjà entendu parler ce genre de bots bizarres, qui existent dans une grande variété de versions de celles vraiment lents et lourds, ce qui généra
Ligne Robot suiveur sans Arduino ou microcontrôleur

Ligne Robot suiveur sans Arduino ou microcontrôleur

ici, je l'ai expliqué un robot suiveur de ligne sans n'importe quel microcontrôleur ou Arduino. Il s'agit d'un projet très simple pour les débutants. Ici, vous avez besoin de ne pas se servir des connaissances en programmation. permet donc l'essayer.
Ligne de Robot suiveur à l’aide de caméra bouclier en 1Sheeld & Arduino

Ligne de Robot suiveur à l’aide de caméra bouclier en 1Sheeld & Arduino

Il a été si longtemps depuis ma dernière publication Instructables. En fait, j'ai essayé de faire projet très populaire mais avec un nouveaux outils et une facile façon surtout dans le codage. J'ai travaillé sur un robot suiveur de ligne qui trace un
Suiveur de ligne sans microcontrôleur

Suiveur de ligne sans microcontrôleur

C'est une machine qui suit une ligne, une ligne noire sur la surface blanche ou vice versa. Pour les débutants, c'est généralement leur premier robot pour jouer avec. Dans les étapes suivantes, vous allez comprendre complètement le concept de suiveur
Suiveur de ligne à l’aide de launchpad msp430g2

Suiveur de ligne à l’aide de launchpad msp430g2

Dans ce instructable j'écrirai sur bot suiveur de ligne. Ce poste couvre comment fonctionne un capteur de lumière et comment faire votre propre détecteur de lumière. Toutes critiques sont les bienvenus.IntroductionUn robot suiveur de ligne est comme
Faire le suiveur de ligne simple avec erulduino

Faire le suiveur de ligne simple avec erulduino

pour la première fois dans le passé week-end de vacances, j'ai fait un robot suiveur de ligne simple en utilisant Arduino semblable au mien qui je lui donne un nom avec erulduino... m'excuser pour ce temporaire ne peut pas expliquer toutes les étapes