Ligne suiveur Robot - régulation PID - Android Setup (6 / 12 étapes)

Étape 6: Mettre en œuvre la logique de capteur

Le capteur IR se compose d’un individuel IR LED et une photodiode IR. La lumière infrarouge émise par la LED frappe la surface et est réfléchie vers la photodiode IR. La photodiode donne alors une tension de sortie proportionnelle à la réflectance de la surface (haute valeur pour la surface de la lumière) et faible pour surface noir/brun. Dans le cas des capteurs utilisés, un circuit intégré au module généré en sortie un signal numérique simple (haut : sombre ; FAIBLE : La lumière). Un potentiomètre installé dans le module (voir photo) ajuste le niveau correct de la lumière pour être considérée comme « sombre » ou non. Ça marche sur un chemin que lorsque la couleur de la lumière réfléchie est noir/noir, un haut niveau ("1") est généré à sa sortie et un minimum ("0") pour une autre couleur plus claire. J’ai utilisé ici un module intégré avec 4 capteurs et et le module supplémentaire avec un seul capteur (forme différente, mais la même logique). La combinaison est un tableau de 5 sondes qui je pense est bon pour un bon contrôle comme expliqué ci-dessous.

La rangée de 5 sondes est montée sur un chemin que si seulement un capteur est centré par rapport à la ligne noire, seulement ce capteur spécifique produira un maximum. De l’autre côté, l’espace entre les capteurs doit être calculé pour permettre que 2 capteurs peuvent couvrir toute la largeur de la ligne noire simultanément, produisant également un sommet sur les deux capteurs (voir les photos ici).

Les capteurs possible lorsqu’il suit une ligne de sortie sont :

  • 0 0 0 0 1
  • 0 0 0 1 1
  • 0 0 0 1 0
  • 0 0 1 1 0
  • 0 0 1 0 0
  • 0 1 1 0 0
  • 0 1 0 0 0
  • 1 1 0 0 0
  • 1 0 0 0 0

Vu 5 sondes, permet une génération d’une variable de « erreur » qui aidera à contrôler la position du robot sur la ligne, comme illustré ci-dessous.

Nous allons considérer que la condition optimale est lorsque le robot est centré, en ayant la ligne juste au dessous le « capteur moyen » (capteur 2). La sortie du tableau sera: 0 0 1 0 0 et dans ce cas, le « erreur » sera « zéro ». Si le robot commence à conduite à gauche (droite ligne « semble déplacer »"), l’erreur doit augmenter avec un signal positif. Si le robot commence à se déplacer vers la droite (la ligne "semble déplacer" gauche"), de la même manière, l’erreur doit augmenter, mais maintenant avec un signal négatif.

La variable erreur, associés avec le capteur status doit indiquer :

  • 0 0 0 0 1 == > erreur = 4
  • 0 0 0 1 1 == > erreur = 3
  • 0 0 0 1 0 == > erreur = 2
  • 0 0 1 1 0 == > erreur = 1
  • 0 0 1 0 0 == > error = 0
  • 0 1 1 0 0 == > erreur = -1
  • 0 1 0 0 0 == > erreur = -2
  • 1 1 0 0 0 == > erreur = -3
  • 1 0 0 0 0 == > erreur = -4

En regardant le code Arduino, chacun des capteurs est définis avec un nom spécifique (considère que le capteur de suivre ligne plus à gauche doit être affecté d’une étiquette de « 0 ») :

const int lineFollowSensor0 = 12 ;

const int lineFollowSensor1 = 18 ;

const int lineFollowSensor2 = 17 ;

const int lineFollowSensor3 = 16 ;

const int lineFollowSensor4 = 19 ;

Dans l’ordre de stockage des valeurs de chaque capteur une variable tableau sera créé :

int LFSensor [5] = {0, 0, 0, 0, 0} ;

Chaque position du tableau sera actualisée constamment avec la sortie de chacun des capteurs :

LFSensor [0] = digitalRead(lineFollowSensor0) ;

LFSensor [1] = digitalRead(lineFollowSensor1) ;

LFSensor [2] = digitalRead(lineFollowSensor2) ;

LFSensor [3] = digitalRead(lineFollowSensor3) ;

LFSensor [4] = digitalRead(lineFollowSensor4) ;

Vu la valeur de chacun des capteurs, une logique doit être implémentée pour générer la variable erreur :

Si ((LFSensor [0] == 0) & & (LFSensor [1] == 0) & & (LFSensor [2] == 0) & & (LFSensor [3] == 0) & & (LFSensor [4] == 1)) erreur = 4 ;

else if ((LFSensor [0] == 0) & & (LFSensor [1] == 0) & & (LFSensor [2] == 0) & & (LFSensor [3] == 1) & & (LFSensor [4] == 1)) erreur = 3 ;

else if ((LFSensor [0] == 0) & & (LFSensor [1] == 0) & & (LFSensor [2] == 0) & & (LFSensor [3] == 1) & & (LFSensor [4] == 0)) erreur = 2 ;

else if ((LFSensor [0] == 0) & & (LFSensor [1] == 0) & & (LFSensor [2] == 1) & & (LFSensor [3] == 1) & & (LFSensor [4] == 0)) erreur = 1 ;

else if ((LFSensor [0] == 0) & & (LFSensor [1] == 0) & & (LFSensor [2] == 1) & & (LFSensor [3] == 0) & & (LFSensor [4] == 0)) erreur = 0 ;

else if ((LFSensor [0] == 0) & & (LFSensor [1] == 1) & & (LFSensor [2] == 1) & & (LFSensor [3] == 0) & & (LFSensor [4] == 0)) erreur =-1 ;

else if ((LFSensor [0] == 0) & & (LFSensor [1] == 1) & & (LFSensor [2] == 0) & & (LFSensor [3] == 0) & & (LFSensor [4] == 0)) erreur = -2 ;

else if ((LFSensor [0] == 1) & & (LFSensor [1] == 1) & & (LFSensor [2] == 0) & & (LFSensor [3] == 0) & & (LFSensor [4] == 0)) erreur = -3 ;

else if ((LFSensor [0] == 1) & & (LFSensor [1] == 0) & & (LFSensor [2] == 0) & & (LFSensor [3] == 0) & & (LFSensor [4] == 0)) erreur = -4 ;

Articles Liés

SIMPLE ligne suiveur ROBOT (capteur unique)

SIMPLE ligne suiveur ROBOT (capteur unique)

Bonjour les gars dans ce tutoriel permet de voir comment faire un robot suiveur de ligne simple avec capteur infra-rouge unique.Étape 1: INTRODUCTION :Généralement, pour les débutants en robotique, c'est votre premier robot de jouer avec car ce robot
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
Ligne suivante Robot avec contrôle de base PD (proportionnelle-dérivé)

Ligne suivante Robot avec contrôle de base PD (proportionnelle-dérivé)

Ce Instructable vous montrera comment utiliser contrôle de PD (Proporational-dérivé) dans un suiveur de ligne simple. L'exemple utilise le suiveur de ligne mis au point dans la base Instructable suiveur de ligne :Les composants suivants seront utilis
BLACK LINE suiveur ROBOT

BLACK LINE suiveur ROBOT

c'est un robot suiveur de ligne noire avec capteurs Ir et microcontrôleur 8051. Ses un modèle rentable et a sortie parfaite dans presque tous les terrains.Le robot ligne suivant est celui qui détecte un chemin noirsur une surface blanche et inverseme
Ligne simple robot qui suit pour les débutants

Ligne simple robot qui suit pour les débutants

Suiveur de ligne est une machine qui peut suivre un chemin d'accès. Le chemin peut être visible comme un blackline sur une surface blanche (ou vice versa), ou il peut être invisible comme un champ magnétique-wikipedia.COMPOSANTS :1. dc motors-2 (vous
Ligne simple robot qui suit

Ligne simple robot qui suit

le robot simple repose sur le double LM393 comparateur de tensionLa fonction du circuit est à assortir avec la résistance photosensible et pour fournir une tension de référence approprié pour la puce LM393.En raison de la réflectance noir et blanche
Capteurs à effet Hall 3: Régulation PID

Capteurs à effet Hall 3: Régulation PID

Dans ce Instructable, nous va conclure notre série de trois parties sur les capteurs à effet hall en appliquant le contrôle PID à notre contrôle de position. Nous irons sur les trois volets de régulation PID (proportionnel, intégral, dérivé) et comme
Geste contrôlé une voiture robotisée avec application android

Geste contrôlé une voiture robotisée avec application android

Plan quinquennal - geste contrôlée voiture robotisée avec Application Android. Code complet, y compris la transmission de données bluetooth et de reconnaissance de geste est disponible. Les personnes qui ont besoin de toute sorte d'aide concernant ce
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
BRICOLAGE de ligne suiveur capteurs

BRICOLAGE de ligne suiveur capteurs

Dans ce Instructable vous apprendrez comment faire votre propre suiveur de ligne capteurs!!Il se compose de deux parties :Le Conseil de LED IR.Le jury de l'ampli-Op.Le Conseil de IR LED se compose d'un tableau de 5 paires de LEDs IR et les photodiode
Ligne suivant Robot Arduino

Ligne suivant Robot Arduino

Ce robot utilise un algorithme de contrôle PID autonome suivre une piste noire sur fond blanc. Il utilise un tableau de huit capteurs de réflectance infrarouge pour déterminer la position du robot sur la ligne, et le microcontrôleur Arduino Nano calc
Plus simple du monde ligne suite Robot

Plus simple du monde ligne suite Robot

Ici dans ce instructable je vais vous montrer comment faire plus simple ligne du monde robot qui suit. Plus simple en termes de nombre de pièces utilisées et la complexité du circuit.La plupart de la ligne suivante de robots sur internet utilisent de
Ligne suivant Robot

Ligne suivant Robot

Il s'agit d'un simple robot Arduino-basé qui utilise des photo-résistances à suivre une ligne noire sur papier blanc. Cela a été fait dans le cadre de mécatronique classe l'Université Rowan dans le semestre de printemps 2015.Étape 1: matériaux(1) Ard
DIY Robot RC avec votre Android Phone tutoriel partie 2: pièces de Bluetooth/microcontrôleur & câblage

DIY Robot RC avec votre Android Phone tutoriel partie 2: pièces de Bluetooth/microcontrôleur & câblage

dans la partie 2 de ce tutoriel, détails des pièces et le câblage sont introduits. Vous apprendrez à générer le contrôle de Robot RC étape par étape. Il fournit également la base pour la partie 3 qui vous montre comment se connecter à un pont en H et