Arduino Robot
Description
Arduino Robot est le premier vrai Arduino sur roue. Le robot dispose de deux processeur, chacun sur sa propre carte. La carte moteur , et la carte de controle lisant les senseurs et décidant des opérations à suivre. Cacune des cartes est un Arduino totalement programmable à l'aide d'Arduino IDE.
Crédit: Arduino arduino.cc |
Crédit: Arduino arduino.cc |
Les deux cartes Moteur et Controle sont des cartes basées sur le microcontroleur ATmega32u4 (fiche technique, source Atmel). Le robot dispose de nombreuses broches/pin déjà attachées aux senseurs et actuateurs placés sur les cartes.
Programmer le robot est un processus for similaire à la programmation d'un Arduino Leonardo. Les deux processeurs du robot disposent d'un support USB intégré, éliminant ainsi be besoin d'un second processeur dédié à la communication USB comme c'est le cas pour Arduino Uno. Grâce à cela, le Robot apparait connecté à l'ordinateur comme un port série virtuel (CDC) / port COM.
Comme c'est le cas pour Arduino, chaque élement de la plateforme – matériel, logiciel et documentation – est librement accessible et open-source. MCHobby en propose d'ailleurs des traductions. Cela vous permet d'étudier la conception et de comprendre le fonctionnement du robot, ce qui vous permet d'élaborer votre propre projet. Arduino Robot est le résultat d'un effort collectif réalisé par une équipe internationale s'attachant à rendre la science intéressante.
Arduino est maintenant monté sur roue... venez nous aider à les faire rouler!
Détails techniques de la carte de contrôle
- Microcontrolleur: ATmega32u4
- Tension de fonctionnement: 5V
- Tension d'entrée: 5V via le câble plat.
- Entrée/Sortie digital: 5
- Canaux de sortie PWM: 6
- Canaux d'entrée Analogique: 4 (des broches d'entrée/sortie digitals)
- Canaux d'entrée analogique (multiplexée): 8
- Courant continu par broche d'entrée/sortie: 40 mA
- Mémoire Flash: 32 KB (ATmega32u4) dont 4 KB réservé au bootloader
- SRAM: 2.5 KB (ATmega32u4)
- EEPROM (interne): 1 KB sur ATmega32u4
- EEPROM (externe): 512 Kbit via I2C
- Vitesse d'horloge: 16 MHz
- Keypad: 5 touches
- Potentiomètre attaché à une broche analogique
- Un afficheur LCD Couleur 160x120 via interface de communication SPI
- Lecteur de carte SD pour les cartes SD formattées en FAT16
- Haut parleur: 8 Ohm
- Boussole digitale (Digital Compass) fournissant la déviation en degrés par rapport au nord.
- Ports I2C : 3 connecteurs
- Zone de prototypage: 4
Crédit: Arduino arduino.cc
Traduction MCHobby.be
Détails techniques de la carte moteur
- Microcontrolleur: ATmega32u4
- Tension de fonctionnement: 5V
- Tension d'entrée: 9V via un chargeur d'accumulateur.
- Support de pile AA: pour 4 alkaline ou pile rechageable NiMh
- Broches d'entrée/sortie digitales: 4
- Canaux PWM: 1
- Canaux d'entrée analogique: 4 (même que les broches d'entrée/sortie digitals)
- Courant continu par broche: 40 mA
- Convertisseur DC-DC, permet de générer du 5V pour alimenter tout le robot
- Mémoire Flash: 32 KB (ATmega32u4) dont 4 KB réservé pour le bootloader
- SRAM: 2.5 KB (ATmega32u4)
- EEPROM: 1 KB (ATmega32u4)
- Vitesse d'horloge: 16 MHz
- Potentiomètre de réglage (Trimmer) pour calibrer et corriger la dérive.
- Senseur InfraRouge pour le suivit de ligne: 5
- Port I2C: 1 connecteur
- Surface de prototypage: 2
Crédit: Arduino arduino.cc
Traduction MCHobby.be
Crédit: Arduino arduino.cc
Traduction MCHobby.be
Schéma et référence
Les fichiers EAGLE pour la carte de contrôle et la carte moteur: arduino-robot-reference-design.zip
Alimentation
Le Robot Arduino peut être alimenté par l'intermédaire de la connexion USB ou avec 4 piles AA. La source d'alimentation est sélectionné automatiquement.
Le support de piles est capable de recevoir 4 piles AA rechargable NiMh.
N'utilisez pas de piles non-rechargable avec le robot! |
Pour des raisons de sécurité, les moteurs sont désactivés lorsque le robot est alimenté par USB.
La carte du robot dispose d'un rechargeur d'accumulateur (pile rechargeable) nécessitant une alimentation externe de 9v (tension fournie par un bloc d'alimentation AC-vers-DC). Le bloc d'alimentation peut être connecté en utilisant une fiche jack de 2.1mm center-positif qui se branche sur la prise correspondante sur la carte moteur. Le chargeur est désactivé sur le Robot est alimenté par USB.
La carte de contrôle est alimentée par l'alimentation de la carte moteur.
Mémoire
L'ATmega32u4 dispose de 32 KB (avec 4 KB utilisé par le bootloader). Il dispose aussi de 2.5 KB de SRAM et de 1 KB d'EEPROM (qui peut être lue et modifiée à l'aide de la librairie EEPROM d'Arduino).
La carte de contrôle dispose d'une EEPROM supplémentaires de 512 Kbit (64 KB) qui peut être accéder via le bus I2C.
Il existe également un lecteur de carte SD externe attaché à l'écran GTFT, ce dernier pouvant être accédé par le processeur de la carte de contrôle pour offrir un espace de stockage supplémentaire.
Entrée et sortie
Le robot est dispose d'une série de connecteurs pré-assemblés. Il dispose également de place supplémentaire pour vous permettre d'installer des composants supplémentaires si cela est nécessaire.
Tous les connecteurs sont marqués sur la carte et mappé sur des ports identifiés (nommés) dans la librairie du robot, fournissant un accès aux fonctions standards d'Arduino. Chaque broche peut fournir ou recevoir un courant maximum de 40mA a 5V.
Certaines broches dispose cependant de fonctions spécialisées:
Carte de contrôle : TK0 à TK7
Crédit: Arduino arduino.cc
Ces broches sont multiplexée sur une seule broche analogique du microprocesseur de la carte de contrôle. Elle peuvent être utilisé comme entrée analogique pour des senseurs tels que senseur de distance, senseur ultrason analogique ou switch mécanique pour détecté pour détecter les collisions.
Carte de contrôle : TKD0 à TKD5
Crédit: Arduino arduino.cc
Il existe un certain nombre de broche digitales d'entrée/sortie (I/O) directement connecté sur le processeur. Elle sont adressable en utilisant les fonction Robot.digitalRead() et Robot.digitalWrite(). Les broches TKD0 à TKD3 peuvent également être utilisée en entrées analogiques avec la fonction Robot.analogRead()
Note: sur la première génération de robot, vous pourriez trouvé le libellé "TDK*" à la place du libellé "TDK*" sur la sérigraphie. TKD* est le correct de ces entrées/sorties et la façon dont elles sont adressées dans le logiciel.
Carte Moteur : TK1 à TK4
Crédit: Arduino arduino.cc
Ces broches sont nommées B_TK1 à B_TK4 dans le logiciel. Ces broches peuvent être digitals ou des entrées analogiques et supportent Robot.digitalRead(), Robot.digitalWrite() et Robot.analogRead().
Communication série
Les deux cartes communiquent ensemble en utilisant le port série du processeur. Un connecteur 10-broches connecte les deux cartes et transporte les signaux du port série, l'alimentation et d'autres informations tels que le courant de charge des piles.
Carte de controle : bus SPI
Le bus SPI est utilisé pour contrôler l'écran GTFT et la carte SD. Vous aurez besoin de débrancher l'écran (d'abord) si vous voulez flasher le processeur en utilisant un programmateur externe.
Control Board LEDs
the Control Board has three on-board LEDs. One indicates the board is powered (PWR). The other two indicate communication over the USB port (LED1/RX and TX). LED1 is also accessible via software.
I2C
Les deux cartes dispose de connecteurs I2C disponibles. Il en existe 3 sur la carte de contrôle et 1 sur la carte moteur.
Carte de contrôle : Pin Mapping
Crédit: Arduino arduino.cc
Carte moteur : Pin Mapping
Crédit: Arduino arduino.cc
Communication
Le robot dispose d'un certain nombre de facilités pour communiquer avec un ordinateur, un autre Arduino, ou autre microcontrôleur.
L'ATmega32U4 fourni un UART TTL (5V) pour la communication série, qui est disponible sur le connecteur inter-carte digital 10 broches.
Le 32U4 permet également un communication série (CDC) par l'intermédiaire du port USB. Ce dernier apparait comme un port COM virtuel aux logiciels fonctionnant sur l'ordinateur. Ce circuit intégré agit comme un périphérique USB 2.0 (à pleine vitesse) utilisant les pilotes USB COM. Un fichier .inf est nécessaire sous Windows.
Les logiciels Arduino (environnement de développement) inclus un moniteur série permettant d'envoyer ou recevoir des données textes simples vers/depuis la carte du Robot. La LED RX (LED1) et la LED TX sur la carte s'activent (clignotent) lorsque des données sont transmisses via la connexion USB sur l'ordinateur (mais pas pour les communications séries entre les cartes).
Chacune des deux cartes dispose d'un de sa propre identification USB et sera visible comme des ports différents dans votre Arduino IDE. Assurez vous de choisir le bon poirt USB pour programmer la bonne carte.
L'ATmega32U4 supporte également la communication I2C (TWI / Two Wire) et SPI. Arduino inclus la librairie Wire qui simplifie l'usage du bus I2C; voyez le tutoriel MCHobby sur I2C ou la documentation d'Arduino.CC pour plus de détails (Anglais, Arduino.cc). Pour la communication SPI, vous pouvez utiliser la librairie SPI (Anglais, Arduino.cc).
Programmation du Robot
Le Robot peut être programmé à l'aide du logiciel Arduino IDE (page de téléchargement sur Arduino.cc).
Lorsque vous programmez un Arduino Robot, sélectionnez "Arduino Robot Control Board" ou "Arduino Robot Motor Board" dans le menu "Tools > Board" (Outils > Carte) menu.
Pour plus de détails, voir le guide démarrage, les tutoriels arduino (Anglais, Arduino.cc) ou les tutoriels Arduino proposés par MCHobby.
Le processeur ATmega32U4 du Robot Arduino sont préinitialisé avec un bootloader qui permet de télécharger vos nouveaux programmes sur la carte sans avoir recours à des programmeurs matériels externes. Le bootloader et Arduino IDE communiquent en utilisant le protocole AVR109.
Vous pouvez by-passer le bootloader et programmer directement le microcontrôleur via le connecteur ICSP (In-Circuit Serial Programming); voir ces instructions pour plus de détails (Anglais, Arduino.cc).
Reset Automatique (logiciel) et initialisation du Bootloader
Plutôt que d'imposer une pression physique sur le bouton reset avant le téléchargement/téléversement d'un nouveau programme, le Robot est conçu de tel sorte à faire un Reset de façon logiciel lorsqu'il est connecté sur un ordinateur. Le reset est activé lorsque le port (CDC) série virtuel / COM port du robot est ouvert à 1200 baud et ensuite fermé. Lorsque cela arrive, le processeur fait un "reset", rompant ainsi la connexion USB vers l'ordinateur (signifiant que le port série virtuel/com poort disparait).
Après le reset du processeur, le bootloader démarre et reste actif pendant environ 8 secondes. Le bootloader peut aussi être activé en doublre-pressant le bouton reset du robot Robot. Notez que lors de la première mise sous tension du Robot, le robot exécutera directement le sketch/croquis utilisateur, s'il est présent, plutôt que d'initier le bootloader.
A cause de la façon dont le Robot gère le Reset, la meilleure option est de laisser le logiciel Arduino essayer de faire le reset avant le téléversement, particulièrement si vous avez l'habitude de presser le bouton reset avant le téléversement sur vos autres cartes.
Si le logiciel est incapable d'activer le reset sur la carte, vous pouvez toujours démarrer le bootloader en double pressant le bouton reset sur la carte. Une simple pression sur le bouton reset ne ne fera que redémarrer le croquis/sketch utilisation. Un double-reset initiera le bootloader.
Protection sur-courant sur USB
Les deux carte du Robot dispose d'un polyfuse reinitialisable qui protège les port USB's de votre ordinateur des surconsommation de courant (sur-courant) et des court-circuits. Les ordinateurs fournissent généralement leurs propres protections internes, ce fusible fournit une couche de protection supplémentaire.
Le fusible interrompt automatiquement la connexion du port USB si plus de 500 mA est consommé sur ce dernier. Cet rupture perdure jusqu’à ce que la surcharge (ou le court-circuit) soit éliminé.
Caractéristiques physiques
Le robot fait 19cm de diamètre et 10 cm de haut (incluant roues, écran GTFT et autres connecteurs).
Pour poursuivre
Voir aussi le Guide Démarrage et la Librairie.
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.