Différences entre versions de « Arduino Robot »
(→I2C) |
|||
Ligne 146 : | Ligne 146 : | ||
== Communication == | == 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. [http://arduino.cc/en/Guide/Windows#toc4 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. | ||
The ATmega32U4 also supports I2C (TWI) and SPI communication. The Arduino software includes a Wire library to simplify use of the I2C bus; see the documentation for details. For SPI communication, use the SPI library. | The ATmega32U4 also supports I2C (TWI) and SPI communication. The Arduino software includes a Wire library to simplify use of the I2C bus; see the documentation for details. For SPI communication, use the SPI library. |
Version du 1 septembre 2013 à 20:00
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 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.
Control Board Pin Mapping
Crédit: Arduino arduino.cc
Motor Board 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.
The ATmega32U4 also supports I2C (TWI) and SPI communication. The Arduino software includes a Wire library to simplify use of the I2C bus; see the documentation for details. For SPI communication, use the SPI library.
Programming
The Robot can be programmed with the Arduino software (download). Select "Arduino Robot Control Board" or "Arduino Robot Motor Board" from the Tools > Board menu. For details, voir le guide démarrage et les tutoriels arduino (Anglais, Arduino.cc) ou les tutoriels Arduino proposé par MCHobby.
The ATmega32U4 processors on the Arduino Robot come preburned with a bootloader that allows you to upload new code to it without the use of an external hardware programmer. It communicates using the AVR109 protocol.
You can bypass the bootloader and program the microcontroller through the ICSP (In-Circuit Serial Programming) header; voir ces instructions pour plus de détails (Anglais, Arduino.cc).
Automatic (Software) Reset and Bootloader Initiation
Rather than requiring a physical press of the reset button before an upload, the Robot is designed in a way that allows it to be reset by software running on a connected computer. The reset is triggered when the Robot's virtual (CDC) serial / COM port is opened at 1200 baud and then closed. When this happens, the processor will reset, breaking the USB connection to the computer (meaning that the virtual serial / COM port will disappear). After the processor resets, the bootloader starts, remaining active for about 8 seconds. The bootloader can also be initiated by double-pressing the reset button on the Robot. Note that when the board first powers up, it will jump straight to the user sketch, if present, rather than initiating the bootloader.
Because of the way the Robot handles reset it's best to let the Arduino software try to initiate the reset before uploading, especially if you are in the habit of pressing the reset button before uploading on other boards. If the software can't reset the board you can always start the bootloader by double-pressing the reset button on the board. A single press on the reset will restart the user sketch, a double press will initiate the bootloader.
USB Overcurrent Protection
Both of the Robot boards have a resettable polyfuse that protects your computer's USB ports from shorts and overcurrent. Although most computers provide their own internal protection, the fuse provides an extra layer of protection. If more than 500 mA is applied to the USB port, the fuse will automatically break the connection until the short or overload is removed.
Physical Characteristics
The Robot is 19cm in diameter. Including wheels, GTFT screen and other connectors it can be up to 10cm tall.
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.