LEGO-NXshield
Le LEGO-NXshield est un robot dont la base mécanique, la motorisation et les capteurs sont réalisés avec des composants LEGO Mindstorm, et le microcontrôleur est un Arduino.
L’interface entre ces deux technologie est assurée par une carte NXshield.
Aperçu du robot
Composants
Le robot est mu par deux bloc moteurs intégrant un moteur à courant continu, un réducteur et un codeur incrémental permettant l’asservissement en position et en vitesse.
Pour la détection des obstacles on peut utiliser des capteurs de distance. Deux technologies sont disponibles :
- Capteurs à ultrasons, pour les distances jusqu’à 2 m
- Capteur à infrarouges, pour des distances plus courtes
Pour le suivi de lignes, un ou plusieurs capteurs de couleur permettent sur une courte distance, par réflexion, de détecter la présence d’une ligne colorée sur un fond blanc.
Programmation
La carte d’interface NXshield possède une très riche [itg-glossary glossary-id= »4122″]API[/itg-glossary] permettant de contrôler finement moteurs et capteurs.
Elle fait l’objet d’un article détaillé sur le site Arduino : l’essentiel !
Pour l’utiliser, il faut installer les bibliothèques :
Consulter l’article installer une bibliothèque au besoin …
Dans le programme Arduino, on devra retrouver les lignes suivantes :
// Les #include <Wire.h> // Nécessaire pour la communication I2C #include <NXShield.h> // Bibliothèque de base du NXShield #include <NXTTouch.h> // Capteur tactile (facultatif) #include <NXTLight.h> // Capteur de lumière (facultatif)
NXShield nxshield; // Objet désignant la carte NXShield void setup() { nxshield.init( SH_HardwareI2C ); // Initialisation de la carte }
Utilisation des boutons
Serial.println("Appuyer sur GO !"); nxshield.waitForButtonPress(BTN_GO);