Modifications

Sauter à la navigation Sauter à la recherche
10 859 octets ajoutés ,  14 septembre 2013 à 22:37
aucun résumé de modification
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}}
29 836

modifications

Menu de navigation