Ligne 1 : |
Ligne 1 : |
| {{Arduino-Robot-NAV}} | | {{Arduino-Robot-NAV}} |
| | | |
− | Les liens vers les noms de fonction doivent commencer par "RB-ARD-ROBOT-Func-" avec comme exemple RB-ARD-ROBOT-Func-digitalRead pour Robot.digitalRead() | + | == La librairie Robot == |
| + | La librairie du robot est inclus dans la version d'[http://arduino.cc/en/Main/Software 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 [[Arduino Robot-Guide démarrage|Guide Démarrage]] et [[Arduino Robot|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'[http://mchobby.be/PrestaShop/product.php?id_product=308 Arduino Robot]. Elle s'appuie sur un certain nombre de librairies tierces tels que [https://code.google.com/p/fat16lib/ Fat16] pour la ''lecture de carte SD'', [https://github.com/madsci1016/Arduino-EasyTransfer EasyTransfer] ''pour optimiser les transferts série'' , [https://github.com/stg/Squawk Squawk] ''pour jouer des musiques de jeu dans le pure style des années 80'' et [https://github.com/shirriff/Arduino-IRremote IRRemote] pour le contrôle par infrarouge. |
| + | |
| + | La librairie s'appuie également sur un certain nombre de librairies Arduino tel que [http://arduino.cc/en/Reference/TFTLibrary TFT], [http://arduino.cc/en/Reference/SPI SPI] et [http://arduino.cc/en/Reference/Wire 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. |
| + | |
| + | * [http://arduino.cc/en/Tutorial/RobotLogo Logo] <small>''arduino.cc''</small> - Indiquez à votre robot où se rendre à l'aide du clavier. |
| + | * [http://arduino.cc/en/Tutorial/RobotLineFollowing Line Following] <small>''arduino.cc''</small> - Dessinez un circuit que votre robot parcourra |
| + | * [http://arduino.cc/en/Tutorial/RobotDiscoBot Disco Bot] <small>''arduino.cc''</small> - transformez votre robot en jukebox 8-bit et le faire dancer sur le rythme (beat) |
| + | * [http://arduino.cc/en/Tutorial/RobotCompass Compass] <small>''arduino.cc''</small> - planifier une chasse au trésor à l'aide de la boussole digital |
| + | * [http://arduino.cc/en/Tutorial/RobotInputs Inputs] <small>''arduino.cc''</small> - apprenez à contrôler le potentiomètre et le clavier |
| + | * [http://arduino.cc/en/Tutorial/RobotWheelCalibration Wheel Calibration] <small>''arduino.cc''</small> - synchronisez les roues pour obtenir une meilleur performance |
| + | * [http://arduino.cc/en/Tutorial/RobotRunawayRobot Runaway Robot] <small>''arduino.cc''</small> - jouez à chat avec votre robot en utilisant le senseur de distance |
| + | * [http://arduino.cc/en/Tutorial/RobotRemoteControl Remote control] <small>''arduino.cc''</small> - Réutiliser une vieille télécommande de télévision pour commander votre robot à distance |
| + | * [http://arduino.cc/en/Tutorial/RobotPictureBrowser Picture browser] <small>''arduino.cc''</small> - Envie d'utiliser vos propres images? Voici comment faire |
| + | * [http://arduino.cc/en/Tutorial/RobotRescue Rescue] <small>''arduino.cc''</small> - Apprenez à votre robot à trouver les perles cachées dans un labyrinthe |
| + | * [http://arduino.cc/en/Tutorial/RobotHelloUser Hello User] <small>''arduino.cc''</small> - 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. |
| + | |
| + | * [[RB-ARD-ROBOT-Class-RobotControl|constructeur RobotControl]] |
| + | |
| + | === Fonctions RobotControl === |
| + | Traduction des différentes fonctions de RobotControl. Vous pouvez aussi vous référer [http://arduino.cc/en/Reference/RobotLibrary à la version anglaise sur la page correspondante sur Arduino.cc] (anglais) |
| + | |
| + | * {{ARDFunc2|RB-ARD-ROBOT-Func-begin|begin()|Initialise le robot}} |
| + | |
| + | |
| + | * {{ARDFunc2|RB-ARD-ROBOT-Func-setMode|setMode()|Changer le mode du robot. Fonctionnement simple ou suivit de ligne}} |
| + | * {{ARDFunc2|RB-ARD-ROBOT-Func-pauseMode|pauseMode()|Permet de mettre en pause/redémarrer la carte moteur}} |
| + | * {{ARDFunc2|RB-ARD-ROBOT-Func-isActionDone|isActionDone()|Vérifie si une action de la carte moteur est achevée}} |
| + | |
| + | |
| + | * {{ARDFunc2|RB-ARD-ROBOT-Func-lineFollowConfig|lineFollowConfig()|Changer le paramétrage du mode de suivit de ligne}} |
| + | |
| + | |
| + | * {{ARDFunc2|RB-ARD-ROBOT-Func-digitalRead|digitalRead()|Lecture de l'état d'une entrée}} |
| + | * {{ARDFunc2|RB-ARD-ROBOT-Func-digitalWrite|digitalWrite()|Modification de l'état d'une sortie}} |
| + | * {{ARDFunc2|RB-ARD-ROBOT-Func-analogRead|analogRead()|Lecture d'une entrée analogique}} |
| + | * {{ARDFunc2|RB-ARD-ROBOT-Func-analogWrite|analogWrite()|Ecriture d'une valeur analogique sur une sortie}} |
| + | * {{ARDFunc2|RB-ARD-ROBOT-Func-updateIR|updateIR()|Lecture des 5 senseurs de ligne}} |
| + | * {{ARDFunc2|RB-ARD-ROBOT-Func-knobRead|knobRead()|Lecture de la valeur analogique du potentiomètre}} |
| + | * {{ARDFunc2|RB-ARD-ROBOT-Func-compassRead|compassRead()|Lecture de la valeur de la boussole}} |
| + | * {{ARDFunc2|RB-ARD-ROBOT-Func-keyboardRead|keyboardRead()|Détecte si l'un des 5 boutons est pressé}} |
| + | * {{ARDFunc2|RB-ARD-ROBOT-Func-waitContinue|waitContinue()|Met le programme en pause et attend la pression d'un des boutons}} |
| + | |
| + | |
| + | * {{ARDFunc2|RB-ARD-ROBOT-Func-motorsWrite|motorsWrite()|Commande des deux moteurs}} |
| + | * {{ARDFunc2|RB-ARD-ROBOT-Func-motorsStop|motorsStop()|Stoppent les deux moteurs}} |
| + | * {{ARDFunc2|RB-ARD-ROBOT-Func-turn|turn()|Fait tourner le moteur d'un certain nombre de degrées (par rapport à la position actuelle)}} |
| + | * {{ARDFunc2|RB-ARD-ROBOT-Func-pointTo|pointTo()|Oriente le robot de façon absolue (en utilisant la boussole}} |
| + | |
| + | |
| + | * {{ARDFunc2|RB-ARD-ROBOT-Func-beginSpeaker|beginSpeaker()|Initialise le haut parleur et la librairie audio}} |
| + | * {{ARDFunc2|RB-ARD-ROBOT-Func-playMelody|playMelody()|Joue une mélodie sur base d'une chaine de caractère}} |
| + | * {{ARDFunc2|RB-ARD-ROBOT-Func-beep|beep()|Fait un bref bip.}} |
| + | * {{ARDFunc2|RB-ARD-ROBOT-Func-playFile|playFile()|Joue un fichier .sqm stocké sur la carte SD}} |
| + | * {{ARDFunc2|RB-ARD-ROBOT-Func-tuneWrite|tuneWrite()|Modifie la tonalité durant un playFile()}} |
| + | * {{ARDFunc2|RB-ARD-ROBOT-Func-tempoWrite|tempoWrite()|Modifie le tempo durant un playFile()}} |
| + | |
| + | |
| + | * {{ARDFunc2|RB-ARD-ROBOT-Func-beginTFT|beginTFT()|Initialise le module TFT (écran)}} |
| + | * {{ARDFunc2|RB-ARD-ROBOT-Func-text|text()|Afficher du texte sur l'écran}} |
| + | * {{ARDFunc2|RB-ARD-ROBOT-Func-drawBMP|drawBMP()|Affiche une image BMP}} |
| + | * {{ARDFunc2|RB-ARD-ROBOT-Func-debugPrint|debugPrint()|Affiche une valeur (int ou long) sur l'écran}} |
| + | * {{ARDFunc2|RB-ARD-ROBOT-Func-clearScreen|clearScreen()|Rempli l'écran avec la couleur de fond}} |
| + | * {{ARDFunc2|RB-ARD-ROBOT-Func-displayLogos|displayLogos()|Affiche temporaire des logos stockés sur la carte SD}} |
| + | * {{ARDFunc2|RB-ARD-ROBOT-Func-drawCompass|drawCompass()|Affiche une boussole}} |
| + | |
| + | |
| + | * {{ARDFunc2|RB-ARD-ROBOT-Func-beginSD|beginSD()|Initialise le module carte SD.}} |
| + | |
| + | |
| + | * {{ARDFunc2|RB-ARD-ROBOT-Func-userNameRead|userNameRead()|Lit le nom utilisateur stocké dans l'EEPROM}} |
| + | * {{ARDFunc2|RB-ARD-ROBOT-Func-userNameWrite|userNameWrite()|Ecrit le nom utilisateur dans l'EEPROM}} |
| + | * {{ARDFunc2|RB-ARD-ROBOT-Func-robotNameRead|robotNameRead()|Lit le nom du robot stocké dans l'EEPROM}} |
| + | * {{ARDFunc2|RB-ARD-ROBOT-Func-robotNameWrite|robotNameWrite()|Ecrit le nom du robot dans l'EEPROM}} |
| + | * {{ARDFunc2|RB-ARD-ROBOT-Func-cityNameRead|cityNameRead()|Lit le nom de la ville stocké dans l'EEPROM}} |
| + | * {{ARDFunc2|RB-ARD-ROBOT-Func-cityNameWrite|cityNameWrite()|Ecrit le nom de la ville dans l'EEPROM}} |
| + | * {{ARDFunc2|RB-ARD-ROBOT-Func-countryNameRead|countryNameRead()|Lit le nom du pays stocké dans l'EEPROM}} |
| + | * {{ARDFunc2|RB-ARD-ROBOT-Func-countryNameWrite|countryNameWrite()|Ecrit le nom du pays dans l'EEPROM}} |
| + | |
| + | <!-- Les liens vers les noms de fonction doivent commencer par "RB-ARD-ROBOT-Func-" avec comme exemple RB-ARD-ROBOT-Func-digitalRead pour Robot.digitalRead() |
| | | |
| [[RB-ARD-ROBOT-Func-digitalRead|Robot.digitalRead()]] | | [[RB-ARD-ROBOT-Func-digitalRead|Robot.digitalRead()]] |
Ligne 10 : |
Ligne 136 : |
| | | |
| [[RB-ARD-ROBOT-Func-motorsWrite|Robot.motorsWrite()]] | | [[RB-ARD-ROBOT-Func-motorsWrite|Robot.motorsWrite()]] |
| + | --> |
| + | |
| + | === Classe RobotMotor === |
| + | |
| + | Utilisez cette classe pour réaliser votre propre version du FirmWare pour la carte moteur. |
| + | |
| + | * [[RB-ARD-ROBOT-Class-MotorControl|constructeur MotorControl]] |
| + | |
| + | Vous pouvez [http://arduino.cc/en/Reference/RobotMotorWriteYourOwnFirmware 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 [http://arduino.cc/en/Reference/RobotLibrary à la version anglaise sur la page correspondante sur Arduino.cc] (anglais) |
| + | |
| + | * {{ARDFunc2|RB-ARD-ROBOT-FuncMotor-begin|begin()|Initialise la carte moteur}} |
| + | * {{ARDFunc2|RB-ARD-ROBOT-FuncMotor-process|process()|Effectue un certain nombre d'action en fonction du mode de fonctionnement du robot.}} |
| + | * {{ARDFunc2|RB-ARD-ROBOT-FuncMotor-parseCommand|parseCommand()|Recoit une commande depuis la carte de contrôle et traite la demande.}} |
| + | |
| | | |
| + | * {{ARDFunc2|RB-ARD-ROBOT-FuncMotor-motorsWrite|motorsWrite()|Contrôle les roues du robot en vitesse et direction depuis le processeur de la carte moteur}} |
| + | * {{ARDFunc2|RB-ARD-ROBOT-FuncMotor-IRread|IRread()|Effectue une lecture d'un senseur infrarouge spécifique (l'un des détecteurs de ligne/sol)}} |
| | | |
| {{Arduino-Robot-TRAILER}} | | {{Arduino-Robot-TRAILER}} |