Arduino Yun-Présentation

De MCHobby - Wiki
Révision datée du 16 octobre 2013 à 11:34 par Admin (discussion | contributions) (→‎Protection sur-courant sur USB)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Sauter à la navigation Sauter à la recherche


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.

Aperçu

Arduino-Yun-Pres01.jpg
Crédit: Arduino arduino.cc

Arduino Yún est un microcontrôleur basé sur une ATmega32u4 (fiche technique) et un Atheros AR9331. Le processeur Atheros supporte une distribution Linux basée sur OpenWRT et se nommant Linino. La carte dispose d'un support Ethernet et Wifi intégré, un port a USB-A, un emplacement pour carte micro-SD, 20 broches d'entrées/sorties digitales (dont 7 peuvent être utilisées en sortie PWM et 12 comme entrée analogique), une horloge 16 MHz, une connexion micro USB, un connecteur ICSP et 3 boutons resets.

Note: dans certains pays, il n'est pas autorisé de vendre du matériel disposant d'une connexion Wifi active sans certification gouvernementale. Si vous voulez désactiver le Wifi alors exécutez ce sketch/croquis]. Référez vous à ce fil de discussion pour plus d'information.

Arduino-Yun-Pres02.jpg
Crédit: Arduino arduino.cc

Yún se différencie des autres carte Arduino par le fait qu'il communique avec la distribution Linux de la carte, offrant ainsi la puissance d'un ordinateur connecté au réseau avec la facilité d'utilisation d'un Arduino. En plus des commandes Linux tel que cURL, vous pouvez écrire vos propres scripts Shell et Python pour réaliser de interactions robustes.

Le Yún est similaire à Léonardo en ce sens que l'ATmega32u4 dispose de la communication USB intégrée, éliminant ainsi le besoin d'un second processeur. Cela permet au Yun d’apparaitre connecté comme un clavier ou une souris, en plus du port COM Série/(CDC) virtuel.

Arduino-Yun-Pres03.jpg
Crédit: Arduino arduino.cc Traduction par MCHobby.be

La librairie "Bridge" (librairie "pont" de liaison) facilite la communication entre les deux processeurs, permettant au sketch Arduino d'exécuter des scripts Shell, communiquer avec les interfaces réseaux et recevoir des informations depuis le processeur AR9331. L'hôte USB, interfaces réseaux et carte SD ne sont pas connectés sur le processeur 32U4, mais le processeur AR9331 et la librairie Bridge permettent à Arduino d'accéder à ces périphériques.

Détails techniques

Arduino

  • Microcontrolleur: ATmega32u4
  • Tension de fonctionnement: 5V
  • Tension d'entrée (recommandée): 5V via microUSB ou PoE 802.3af
  • Tension d'entrée (limites): 6-20V
  • Entrée/sortie digital: 14
  • PWM: 7 canaux
  • Entrées analogiques: 6 (plus 6 multiplexées sur 6 broches digitals)
  • Courant continu par entrée/sortie: 40 mA
  • Courant continu pour broche 3.3V: 50 mA
  • Mémoire Flash: 32 KB (ATmega32u4) dont 4 KB utilisé par le bootloader
  • SRAM: 2.5 KB (ATmega32u4)
  • EEPROM: 1 KB (ATmega32u4)
  • Vitesse d'horloge: 16 MHz

Machine Linux embarquée

  • Processeur MIPS 24K fonctionnant jusqu'à 400 MHz
  • RAM: 64MB DDR2 (et Flash de 16MB SPI)
  • IEEE 802.11bgn complet 1x1 AP ou routeur
  • WIFI
  • Connexion Ethernet
  • USB: USB 2.0 host/device
  • Compatibe Power Over Ethernet (poE) 802.3af
  • Support carte MicroSD

Schéma & références de conception

Schéma: arduino-Yun-schematic.pdf

Alimentation

Il est recommandé d'alimenter la carte par l'intermédiaire de la connexion micro-USB avec 5VDC.

Si vous alimentez la carte par l'intermédiaire de la broche Vin, vous devez fournir une tension régulée à 5VDC. Il n'y a pas de régulateur de tension sur la carte pour gérer les tensions supérieures. La carte sera donc endommagée en cas de surtension!

Le Yún est également compatible les les modules PoE (Power Over Ethernet) mais vous aurez besoin d'ajouter un module PoE pour bénéficier de cette fonctionnalité.

Les broches d'alimentation sont les suivantes:

  • VIN: Tension d'entrée de la carte Arduino. A l'opposé des autres cartes Arduino, si vous voulez alimenter votre carte par cette broche il faut absolument fournir une tension régulée à 5 volts.
  • 5V: La tension d'alimentation utilisée pour alimenter le microcontrôleur et les autres composants de la carte. Peut provenir soit de VIN ou du port USB (d'alimentation).
  • 3V3: Une alimentation 3.3 volts générée par le régulateur disponible sur la carte. Courant maximum 50 mA.
  • GND: Broches de masse/GND/Ground.
  • IOREF: La tension à laquelle les broches d'entrée/sortie de la carte fonctionnent (ex. VCC pour la carte). C'est 5V sur un Yún.

Mémoire

L'ATmega32u4 dispose de 32 KB (avec 4 KB utilisé par le bootloader). Il dispose également de 2.5 KB de SRAM et de 1 KB d'EEPROM (qui peut-être modifiée à l'aide de de la librairie EEPROM).

La mémoire du AR9331 n'est pas incluse dans le processeur. La RAM et mémoire de stockage sont disposées à l'extérieur du processeur. Le Yún dispose de 64 MB de RAM DDR2 et de 16 MB de mémoire Flash. La mémoire flash est préchargé en usine avec une distribution Linux basée sur OpenWRT. Cette distribution s'appelle Linino.

Vous pouvez modifier le contenu de cet image d'usine, en installant un programme ou en modifiant le fichier de configuration. Vous pouvez revenir à la configuration d'usine en pressant le bouton "WLAN RST" pendant 30 secondes.

Entrée et Sorties

Il n'est pas possible d'accéder aux broches d'entrées/sorties du processeur Atheros AR9331. Toutes les lignes I/O sont raccordées sur le 32U4.

Chacune des 20 broches d'entrée/sortie digitale du Yún peuvent être utilisée comme entrée ("input") ou sortie ("output") en utilisant les fonctions pinMode(), digitalWrite() et digitalRead(). Elle fonctionnent en logique 5 volts. Chaque broche peut fournir et recevoir un maximum de 40mA et dispose de résistance pull-up (déconnectée par défaut) de 20-50 KOhms.

De surcroît, certaines proches ont des fonctions spécialisées:

  • Série: 0 (RX) et 1 (TX). Utilisé pour recevoir (RX) et transmettre (TX) des données sur une port série TTL en utilisant les capacités matériels du ATmega32U4. Notez que sur le Yún, la classe Serial référence la communication USB (CDC); pour le port série TTL sur les broches 0 et 1, utilisez la classe Serial1. Sur le Yún, les ports séries matériels de l'ATmega32U4 et du AR9331 sont connectés ensembles et utilisés pour la communication entre les processeurs. Comme c'est couramment le cas sur les systèmes Linux, le port série du AR9331 expose une console fournissant un accès au système, cela signifie que vous pouvez accéder aux programmes et outils offerts par Linux depuis vos sketch/croquis.
  • TWI: 2 (SDA) et 3 (SCL). Support de la communication TWI (Two Wire... soit I2C) en utilisant la librairie Wire.
  • Interruptions externes: 3 (interruption 0), 2 (interruption 1), 0 (interruption 2), 1 (interruption 3) et 7 (interruption 4). Ces broches peuvent être configurées pour capturer des signaux d'interruption sur valeur "LOW", flan montant ("rising edge"), flan descendant ("falling edge) ou le changement de valeur. voir la fonction attachInterrupt() pour plus d'information. Il n'est pas recommandé d'utiliser les broches 0 et 1 comme interruption parce qu'elles sont aussi utilisées par le port série matériel pour communiquer avec le processeur Linux. La broches 7 est connectée sur le processeur AR9331 et pourrait être utilisé comme signal de handshake dans le future. Il est donc recommandé d'être prudent vis-à-vis des possibles conflits si vous l'utilisez comme interruption.
  • PWM: 3, 5, 6, 9, 10, 11 et 13. Fournit des sorties PWM 8-bit avec la fonction analogWrite().
  • SPI: sur le connecteur ICSP. Ces broches supportent la communication SPI en utilisant la librairie SPI. Notez que les broches SPI ne sont pas connectées sur des broches d'entrée/sortie digitales comme c'est le cas pour Arduino Uno, elles sont uniquement disponible sur le connecteur ICSP. Cela signifie que si vous avez un shield SPI, mais que celui ci ne fonctionnera qui s'il dispose du connecteur ICSP 6-broches qui se connecte sur le connecteur 6 broches ICSP correspondant du Yún.

Les broches SPI sont également connectées sur le GPIO du AR9331, où une interface SPI logicielle à été implémentée. Cela signifie que l'ATMega32u4 et l'AR9331 peuvent aussi communiquer en utilisant le protocole SPI.

  • LED: 13. Il y a une LED intégrée à la carte et connectée sur la broche digitale 13. Lorsque la broche est à la valeur HIGH (état haut), la LED est allumée. La LED est éteinte lorsque la broche est à LOW (état bas).
  • Il y a plusieurs autres LED de statut sur le Yún indiquant l'état d'alimentation ("power"), connexion WLAN (Wifi), connexion WAN (Ethernet) et USB.

Arduino-Yun-Pres10.jpg
Crédit: Arduino arduino.cc Traduction: MCHobby.be

  • Entrées analogiques: A0 à A5, A6 à A11 (sur les broches digitales 4, 6, 8, 9, 10 et 12). Yún a 12 entrées analogiques, libellées A0 à A11... qui peuvent toutes être utilisées comme entrées/sorties digitales. Les broches A0-A5 apparaissent à la même position que sur un Uno; les entrées A6 à A11 sont respectivement sur les broches d'entrée/sortie digitals 4, 6, 8, 9, 10 et 12 respectively. Chaque entrée analogique dispose d'une résolution 10 bits (ex: 1024 valeurs différentes). Par défaut, la mesure d'entrée analogique se fait entre la masse/GND et 5 volts. Il est cependant possible de changer la valeur maximale utilisée en utilisant la broche AREF et la fonction analogReference().
  • AREF: Référence de tension pour les entrées analogiques. Utilisé avec la fonction analogReference().

Il y a 3 boutons Reset sur avec des fonction différentes sur la carte Yun:

Arduino-Yun-Pres11.jpg
Crédit: Arduino arduino.cc Traduction: MCHobby.be

  • Yún RST: Ramené cette ligne au niveau bas (LOW) pour faire un reset du microprocesseur AR9331. Resetter le AR9331 provoque le reboot (redémarrage) du système linux. Toutes les données stockées en RAM seront perdues et tous les programmmes en cours d'exécution seront arrêtés.
  • 32U4 RST: Ramené cette ligne au niveau bas (LOW) pour faire un reset du microcontroleur ATmega32U4. Habituellement utilise pour ajouter un bouton reset sur les shield (puisqu'un shield cache généralement ce bouton reset).
  • WLAN RST: Ce bouton à une double fonctionnalité.
    • Premièrement is sert à restaurer la configuration d'usine Wifi. La configuration d'usine à configurer le Yún en mode "access point" (AP) et lui assigner l'adresse IP par défaut 192.168.240.1. Dans ces conditions, vous pouvez vous connecter avec avec votre ordinateur sur sur le réseau WiFi qui apparait avec le nom nom SSID "Arduino Yun-XXXXXXXXXXXX" (où les 12 'X' sont l'adresse MAC de votre Yún). Un fois connecté, vous pouvez atteindre la panneau de configuration web du Yún en utilisant votre navigateur et en naviguant sur l'adresse 192.168.240.1 ou "http://arduino.local".
      Notez que restaurer la configuration Wifi provoque le reboot de l'environnement linux. Pour restaurer votre configuration Wifi vous devez presser et maintenir le bouton WLAN RST pendant 5 secondes. Lorsque vous pressez le bouton la LED bleur WLAN commence à clignoter et continue à clignoter après avoir relâché le bouton (après 5 secondes) indiquant que la procédure de restauration WiFi à bien été enregistrée.
    • La seconde fonction du bouton reset "WLAN RST" est de restaurer l'image linux à l'image d'usine par défaut. Pour restaurer l'environnement linux, vous devez presser le bouton pendant 30 secondes. Notez que restaurer l'image linux d'usine efface tous les fichiers que vous avez sauvez... et tous les logiciels que vous avez installez sur la mémoire Flash du AR9331.

Voyez aussi le pin mapping entre Arduino et ports ATmega32u4.

Communication

Yún dispose d'un certain nombre d'aménagement pour communiquer avec un ordinateur, un autre Arduino, ou un autre micontrôleur. L'ATmega32U4 dispose d'un canal de communication série TTL (5V, UART) dédicacé. L'32U4 supporte également la communication série sur USB et apparait comme un port com virtuel aux logiciels de votre ordinateur. Le circuit agit également comme un périphérique USB 2.0 (et débit USB 2.0) utilisant les pilotes USB COM standards. Le logiciel Arduino inclus un moniteur série qui permet de d'envoyer et recevoir des données textes élémentaires avec la carte Arduino. Les LEDs RX et TX de la carte clignotent lors d'un échange de donnée série par l'intermédiaire du connecteur USB.

Les broches digitals 0 et 1 sont utilisées pour la communicatio série entre le 32U4 et le AR9331. La communication entre les processeurs est prise en charge par la libraire Bridge.

La librairie SoftwareSerial permet d'établir une communication série avec n'importe quelles broches digitals du Yún à l'exception des broches 0 et 1.

L'ATmega32U4 support également la communication I2C (TWI) et SPI. Le logiciel Arduino inclus la librairie Wire pour simplifier l'usage du bus I2C; Voir la documentation de wire pour plus de détails. Pour la communication SPI, il faut utiliser la librairie SPI.

Yún apparait comme un clavier et une souris générique et peut être programmer pour contrôler des périphériques d'entrée en utilisant la classe Keyboard and Mouse.

Les interfaces Ethernet et WiFi de la carte sont mis à disposition directement par le processeur AR9331. Vous pouvez utiliser la librairie Bridge pour envoyer et recevoir des informations par leur intermédiaires. Pour configurer les interfaces, vous pouvez passer le panneau de configuration comme décris dans le guide de démarrage.

Le Yún peut également devenir un hôte USB ("USB host") par l'intermédiaire de Linino. Vous pouvez connecter des périphériques comme lecteur flash USB (pour un stockage additionnel), clavier ou webcam. Vous devrez télécharger et installer des logiciels complémentaire pour faire fonctionner ces périphériques. Référez vous aux notes d'utilisation du gestionnaire de paquet pour ajouter de nouveaux logiciels au AR9331, .

Programmation

Arduino Yún se programme avec le logiciel Arduino (téléchargement). Sélectionnez "Arduino Yún" depuis le menu Outil > Carte (Tools > Board) conformément au microcontrôleur sur votre carte. Pour plus de détails, voyez le la page de reference (Anglais, Arduino.cc) et celle des tutoriels tutorials] (Anglais, Arduino.cc).

L'ATmega32U4 d'Arduino Yún est pré-initialisé avec un bootloader (Anglais, Arduino.cc) permettant de télécharger de nouveaux programmes sur ce dernier sans devoir utiliser un programmateur matériel externe. Le bootloader communique en utilisant le protocol AVR109.

Vous pouvez by-passer le bootloader et programmer directement le microcontrôleur par l'intermédiaire du connecteur ICSP (In-Circuit Serial Programming); voyez ces instructions (Anglais, Arduino.cc) pour plus de détails.

Reset Automatique

Cette section concernent le Reset Automatique (Logiciel) et le démarrage du Bootloader.

Plutôt que d'imposer une pression physique sur le bouton "Reset" avant le téléversement, le Yún est conçu de façon à permettre au logiciel fonctionnant sur votre ordinateur de commander un "Reset" par voie logicielle. Le "reset" est déclenché lorsque le port série virtuel (CDC) / port COM du Yún est ouvert à 1200 bauds et ensuite fermé. Lorsque cela arrive, le processeur fait alors un "reset", interrompant la connexion USB avec l'ordinateur (ce qui implique la disparition du port série virtuel / port COM). Après le "reset" du processeur, le bootloader démarre et reste actif pendant 8 secondes.

Le bootloader peut également être invoqué en pressant le bouton "Reset" du Yún. Notez qu'a la première mise sous tension de la carte, le processeur exécute immédiatement le sketch/croquis utilisateur (s'il est présent) plutôt de démarrer le bootloader.

A cause de la façon dont le Yún gère les "resets", il est préférable de laisser le logiciel Arduino invoqué le "reset" logiciel avant le téléversement. Cette information est surtout pertinent pour ceux d'entre vous habitués à presser le bouton "Reset" avant de faire un téléversement sur d'autres type de cartes. Si le logiciel ne sais pas effectuer un "reset" logiciel, vous pouvez toujours presser le bouton "Reset" de la carte.

Protection sur-courant sur USB

Le Yún dispose d'un polyfuse résettable qui protège le port USB de votre ordinateur contre les court-circuits et les sur-courant. Même si la plupart des ordinateurs disposent de leur propre protection interne, ce fusible offre une protection supplémentaire. Le fusible déclenche automatiquement si plus de 500 mA passe sur le port USB. La connexion reste interrompue aussi longtemps que le court-circuit (ou sur-courant) est présent.

Encombrement

Physical Characteristics

The maximum length and width of the Yún PCB are 2.7 and 2.1 inches respectively, with the USB connector extending beyond the former dimension. Four screw holes allow the board to be attached to a surface or case. Note that the distance between digital pins 7 and 8 is 160 mil (0.16"), not an even multiple of the 100 mil spacing of the other pins.


Source: Arduino Yun, Guide to the Arduino Yún. 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.