Programme suiveur de ligne arduino mblock

Programme suiveur de ligne arduino mblock

Le code du robot suit les lignes

Contrôleur PID (Proportionnel, Intégral, Différentiel) Un contrôleur PID est un mécanisme de contrôle par rétroaction largement utilisé dans les systèmes de contrôle. Il calcule l’écart ou l’erreur entre une valeur mesurée et une valeur souhaitée, et exécute une action pour ajuster le processus.

Nous devons connaître l’état de notre système, et nous allons également le comparer à notre objectif. Dans notre cas, cet objectif consiste à suivre une ligne peinte sur le sol. Dans les compétitions typiques de robots siguelins, nous avons une base blanche avec une ligne noire de 2 centimètres de large. Il y en a d’autres dont la voie est peinte en dégradé de couleurs – l’algorithme fonctionne aussi pour celles-ci !

Nous allons diviser les capteurs à gauche et à droite en leur attribuant des valeurs positives et négatives. Les mesures des capteurs les plus éloignés du centre seront multipliées par des valeurs plus grandes – les “poids” – et additionnées pour obtenir maintenant

Cette valeur conjointe sera négative lorsque nous dévierons d’un côté et positive lorsque nous dévierons de l’autre côté. Les résultats seront plus grands au fur et à mesure que l’on s’éloigne de la ligne et proches de zéro quand on est sur la ligne : pas d’erreur !

Suiveur de ligne avec connexion arduino

Le traceur de ligne ou capteur infrarouge (IR) est un capteur de mesure de distance basé sur un système d’émission et de réception de rayonnement lumineux dans le spectre infrarouge. En d’autres termes, il s’agit d’un capteur avec une source de lumière (diode émettrice) et un détecteur (phototransistor) intégrés dans le même boîtier. La détection de l’objet est réalisée par la réflexion (ou non) du faisceau infrarouge sur la surface de l’objet. Ce capteur est généralement utilisé pour détecter la couleur d’un objet, dans notre cas, pour distinguer le noir et le blanc dans les applications de suivi de ligne.

  Tester un programme arduino sans carte

Dans la vidéo suivante, le fonctionnement d’un suiveur de ligne est simulé sur Scratch (avant de le programmer sur le robot lui-même). De cette façon, nous comprendrons le concept et le fonctionnement du capteur de suivi de ligne.

Dans la vidéo suivante, le fonctionnement de notre suiveur de ligne est programmé sur mBlock. Comme vous pouvez le constater, le fonctionnement du capteur est très similaire à celui programmé avec Scratch dans la leçon précédente. La différence est que dans ce cas, nous devons prendre en compte les valeurs renvoyées par le capteur IR.

Arduino code suiveur de ligne tcrt5000

Pour programmer facilement mBot, Makeblock développe le logiciel appelé mBlock, un environnement de programmation graphique basé sur le code source ouvert Scratch 2.0, qui facilite la programmation de projets Arduino et la création d’applications interactives.

Laissez votre robot ressentir, penser et danser. Avec mBlock, votre robot mBot peut détecter la distance grâce à des capteurs à ultrasons, prendre soin de ses pieds grâce à des capteurs de suivi de ligne, et avoir peur du noir grâce à son capteur de luminosité. Construisez des programmes courts pour que votre mBot bouge ou chante une petite chanson lorsqu’il est heureux ou triste.

Apprentissage par le jeu, facile à apprendre : mBlock est composé d’une famille de cours interactifs qui intègrent de manière créative des jeux remplaçant les quiz par des jeux permettant d’accomplir des tâches.

Mblock avec arduino

Dans ce défi, nous proposons d’améliorer les performances de suivi de ligne du mBot. Pour ce faire, nous adopterons le critère “optimiste” : tant qu’il ne perd pas le contact avec la ligne noire (valeur du capteur égale à 0, 1 ou 2), nous continuerons à avancer. En revanche, lorsqu’il perd totalement le contact avec la ligne noire (valeur du capteur égale à 3), on décide alors d’affiner le type de mouvement à effectuer en fonction de la déviation accumulée. Rappelez-vous que dans l’exemple précédent, lorsque le capteur renvoyait la valeur 3, un simple mouvement de recul était programmé. Pour stocker la déviation accumulée, nous utiliserons une variable desviacionAcumulada.

  Programme arduino 2 servomoteur