Différences entre versions de « Arduino Robot-Librairie »

De MCHobby - Wiki
Sauter à la navigation Sauter à la recherche
 
(7 versions intermédiaires par le même utilisateur non affichées)
Ligne 23 : Ligne 23 :
 
* Contrôler la vitesse et la direction des moteurs
 
* 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é)
 
* Contrôler le courant utilisé par chaque moteur (si le courant augment, c'est que le moteur est bloqué... ou le robot bloqué)
* read the state of the 5 floor sensors (also known as line detection sensors)
+
* Lecture de l'état des 5 senseurs de sol (aussi connu comme "détecteurs de ligne")
* access I/O pins on the board
+
* Accéder au broche d'entrées/sorties (I/O) de la carte
* control an I2C port
+
* Controler le port I2C
* read the state of 4 TinkerKit inputs
+
* Lire l'état des 4 entrées TinkerKit  
  
For more information about the Robot, visit the [[Arduino Robot-Guide démarrage|Guide Démarrage]] et [[Arduino Robot|la présentation matérielle]].  
+
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.  
  
== Library structure
+
== Structure de la librairie ==
  
This library enables easy access to the functionality of the [http://mchobby.be/PrestaShop/product.php?id_product=308 Arduino Robot]. It relies on a number of 3rd party libraries including [https://code.google.com/p/fat16lib/ Fat16], [https://github.com/madsci1016/Arduino-EasyTransfer EasyTransfer], [https://github.com/stg/Squawk Squawk], and [https://github.com/shirriff/Arduino-IRremote IRRemote]. It also relies on a number of Arduino libraries like [http://arduino.cc/en/Reference/TFTLibrary TFT], [http://arduino.cc/en/Reference/SPI SPI] et [http://arduino.cc/en/Reference/Wire Wire]. Their functionality has been replicated inside the robot's library to optimize the code's size.
+
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.  
  
It is possible to program both the Control and the Motor boards. However, it is recommended that novice programmers begin with programming the control board, leaving the motor board for later. The library exposes the sensors on both boards through a single object.
+
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.
  
There are two main classes that command the robot:
+
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.
  
* RobotControl: commands the Control Board as well as the I/Os and motors on the Motor Board, when running the default firmware.
+
Vous disposez de deux classes principales pour commander le robot:
  
* RobotMotor: commands the Motor Board. Use it to make your own custom version of the Motor Board firmware
+
* 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 ==
 
== Exemples ==
Ligne 58 : Ligne 59 :
 
* [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
 
* [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
  
== Autre ==
+
== Classes et méthodes ==
  
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()
+
=== 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 69 : 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}}

Version actuelle datée du 14 septembre 2013 à 22:37


MCHobby investit du temps et de l'argent dans la réalisation de traduction et/ou documentation. C'est un travail long et fastidieux réalisé dans l'esprit Open-Source... donc gratuit et librement accessible.
SI vous aimez nos traductions et documentations ALORS aidez nous à en produire plus en achetant vos produits chez MCHobby.

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)


  • 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




  • 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






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.