Arduino Robot-Librairie
La librairie Robot
La librairie du robot est inclus dans la version d'Arduino IDE 1.0.5 et suivante.
Le robot inclus de nombreux senseurs et actuateurs. La librairie est conçue pour accéder facilement aux fonctionnalités du robot.
Le robot est composé de deux cartes, une carte moteur et une carte de contrôle. Chaque carte dispose de son propre processeur programmable.
La librairie vous permet de vous d'interfacer avec les différents senseurs et périphériques de la carte de contrôle :
- potentiomètre
- 5 boutons momentanés
- Un écran couleur 160x120 pixels
- Une EEPROM de 512Kbit (64 Kbyte)
- Un haut parleur
- Une boussole (compass)
- 3 connecteurs I2C
- 8 connecteurs d'entrée TinkerKit
La libraire vous permet également de réaliser de nombreuses opérations avec la carte moteur :
- Contrôler la vitesse et la direction des moteurs
- Contrôler le courant utilisé par chaque moteur (si le courant augment, c'est que le moteur est bloqué... ou le robot bloqué)
- Lecture de l'état des 5 senseurs de sol (aussi connu comme "détecteurs de ligne")
- Accéder au broche d'entrées/sorties (I/O) de la carte
- Controler le port I2C
- Lire l'état des 4 entrées TinkerKit
Vous pouvez visiter nos pages Guide Démarrage et la présentation matérielle pour plus d'information sur le robot.
Structure de la librairie
Cette librairie permet d'accéder facilement aux fonctionnalités d'Arduino Robot. Elle s'appuie sur un certain nombre de librairies tierces tels que Fat16 pour la lecture de carte SD, EasyTransfer pour optimiser les transferts série , Squawk pour jouer des musiques de jeu dans le pure style des années 80 et IRRemote pour le contrôle par infrarouge.
La librairie s'appuie également sur un certain nombre de librairies Arduino tel que TFT, SPI et Wire. Leurs fonctionnalités ont été répliquées dans la librairie du robot pour optimiser la taille du code.
Il est possible de programmer les deux cartes (la carte de côntrole et la carte moteur). Cependant, il est recommandé au programmeur novice de commencer à programmer la carte de contrôle, laissant le bidouillage de la carte moteur à plus tard. La librairie expose les senseurs des deux cartes ar l'intermédiaire d'un seul objet.
Vous disposez de deux classes principales pour commander le robot:
- RobotControl: Commande la carte de contrôle ainsi que les entrées/sorties (I/O) et les moteurs de la carte moteur (lorsque la carte moteur utilise le firmware par défaut).
- RobotMotor: commande de la carte moteur. Utilisez la pour réaliser votre version personnalisée du firmware de la carte moteur.
Exemples
Voici quelques exemples pour illustrer les possibilités du robot et vous aider à démarrer rapidement avec les fonctionnalités de base.
- Logo arduino.cc - Indiquez à votre robot où se rendre à l'aide du clavier.
- Line Following arduino.cc - Dessinez un circuit que votre robot parcourra
- Disco Bot arduino.cc - transformez votre robot en jukebox 8-bit et le faire dancer sur le rythme (beat)
- Compass arduino.cc - planifier une chasse au trésor à l'aide de la boussole digital
- Inputs arduino.cc - apprenez à contrôler le potentiomètre et le clavier
- Wheel Calibration arduino.cc - synchronisez les roues pour obtenir une meilleur performance
- Runaway Robot arduino.cc - jouez à chat avec votre robot en utilisant le senseur de distance
- Remote control arduino.cc - Réutiliser une vieille télécommande de télévision pour commander votre robot à distance
- Picture browser arduino.cc - Envie d'utiliser vos propres images? Voici comment faire
- Rescue arduino.cc - Apprenez à votre robot à trouver les perles cachées dans un labyrinthe
- Hello User arduino.cc - Hackez la démo de bienvenue du robot et réalisez votre propre démo
Classes et méthodes
Classe RobotControl
Cette classe commande la carte de contrôle ainsi que toutes les I/Os et moteurs de la carte moteur. La carte moteurs doit bien entendu disposé du firmware par défaut.
Fonctions RobotControl
Traduction des différentes fonctions de RobotControl. Vous pouvez aussi vous référer à la version anglaise sur la page correspondante sur Arduino.cc (anglais)
- begin()Initialise le robot
- setMode()Changer le mode du robot. Fonctionnement simple ou suivit de ligne
- pauseMode()Permet de mettre en pause/redémarrer la carte moteur
- isActionDone()Vérifie si une action de la carte moteur est achevée
- lineFollowConfig()Changer le paramétrage du mode de suivit de ligne
- digitalRead()Lecture de l'état d'une entrée
- digitalWrite()Modification de l'état d'une sortie
- analogRead()Lecture d'une entrée analogique
- analogWrite()Ecriture d'une valeur analogique sur une sortie
- updateIR()Lecture des 5 senseurs de ligne
- knobRead()Lecture de la valeur analogique du potentiomètre
- compassRead()Lecture de la valeur de la boussole
- keyboardRead()Détecte si l'un des 5 boutons est pressé
- waitContinue()Met le programme en pause et attend la pression d'un des boutons
- motorsWrite()Commande des deux moteurs
- motorsStop()Stoppent les deux moteurs
- turn()Fait tourner le moteur d'un certain nombre de degrées (par rapport à la position actuelle)
- pointTo()Oriente le robot de façon absolue (en utilisant la boussole
- beginSpeaker()Initialise le haut parleur et la librairie audio
- playMelody()Joue une mélodie sur base d'une chaine de caractère
- beep()Fait un bref bip.
- playFile()Joue un fichier .sqm stocké sur la carte SD
- tuneWrite()Modifie la tonalité durant un playFile()
- tempoWrite()Modifie le tempo durant un playFile()
- beginTFT()Initialise le module TFT (écran)
- text()Afficher du texte sur l'écran
- drawBMP()Affiche une image BMP
- debugPrint()Affiche une valeur (int ou long) sur l'écran
- clearScreen()Rempli l'écran avec la couleur de fond
- displayLogos()Affiche temporaire des logos stockés sur la carte SD
- drawCompass()Affiche une boussole
- beginSD()Initialise le module carte SD.
- userNameRead()Lit le nom utilisateur stocké dans l'EEPROM
- userNameWrite()Ecrit le nom utilisateur dans l'EEPROM
- robotNameRead()Lit le nom du robot stocké dans l'EEPROM
- robotNameWrite()Ecrit le nom du robot dans l'EEPROM
- cityNameRead()Lit le nom de la ville stocké dans l'EEPROM
- cityNameWrite()Ecrit le nom de la ville dans l'EEPROM
- countryNameRead()Lit le nom du pays stocké dans l'EEPROM
- countryNameWrite()Ecrit le nom du pays dans l'EEPROM
Classe RobotMotor
Utilisez cette classe pour réaliser votre propre version du FirmWare pour la carte moteur.
Vous pouvez lire ce document (Arduino.cc, Anglais) pour apprendre comment réaliser votre propre firmware pour la carte moteur en utilisant la classe RobotMotor.
Fonctions RobotMotor
Traduction des différentes fonctions de RobotControl. Vous pouvez aussi vous référer à la version anglaise sur la page correspondante sur Arduino.cc (anglais)
- begin()Initialise la carte moteur
- process()Effectue un certain nombre d'action en fonction du mode de fonctionnement du robot.
- parseCommand()Recoit une commande depuis la carte de contrôle et traite la demande.
- motorsWrite()Contrôle les roues du robot en vitesse et direction depuis le processeur de la carte moteur
- IRread()Effectue une lecture d'un senseur infrarouge spécifique (l'un des détecteurs de ligne/sol)
Source: Arduino Robot, getting started with the Arduino Robot, the Robot's library pages. Crédit: Arduino.cc, licence Creative Common Attribution ShareAlike.
Toute référence, mention ou extrait de cette traduction doit être explicitement accompagné du texte suivant : « Traduction par MCHobby (www.MCHobby.be) - Vente de kit et composants » avec un lien vers la source (donc cette page) et ce quelque soit le média utilisé.
L'utilisation commercial de la traduction (texte) et/ou réalisation, même partielle, pourrait être soumis à redevance. Dans tous les cas de figures, vous devez également obtenir l'accord du(des) détenteur initial des droits. Celui de MC Hobby s'arrêtant au travail de traduction proprement dit.