MicroPython.brochage.pyboard

De MCHobby - Wiki
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.

La carte PyBoard

La carte Micro Python (PyBoard pour les intimes) est une carte de développement électronique basée sur un microcontroleur STM32F405 qui exécute Micro Python. Ce microcontroleur est un des plus puissant disponible sur le marché et à été spécialement sélectionné parce qu'il permettrait à Micro Python de fonctionner à son plein potentiel.

Le microcontroleur est cadencé à 168MHz (fréquence d'horloge), dispose de 1Mb de Flash et de 192Kb de RAM, un très large espace mémoire pour écrire de complexes scripts Python. La carte mesure 33x40 mm comme présenté sur l'image ci-dessous.

MicroPython.presentation-00.jpg
Crédit: MicroPython micropython.org

La carte intègre une interface USB qui se présente comme un périphérique série (CDC VCP) ainsi que comme un périphérique de stockage USB amovible (MSC, l'équivalent de votre clé USB). Lorsque PyBoard est connecté sur un PC, vous pouvez ouvrir un programme de communication série (terminal telnet/minicom ou Putty) et interagir la carte par l'intermédiaire d'une ligne de commande Python. Vous pouvez également afficher des message (fonction print) et saisir des entrées puisque le périphérique série agit en tant que stdin et stdout (entrée et sortie console, standard simple hérité du monde Unix). La carte se comporte également comme un périphérique de stockage (un lecteur Flash USB) vous permettant de facilement copier vos scripts sur le système de fichier de la carte ou de la carte SD. Ces fichiers peuvent être exécutés indépendamment du PC.


Alimenté par une pile/accu, la carte est capable de compiler et exécuter des scripts Python sans besoin d'une connexion PC. Il y a un connecteur carte Micro SD pour stocker de grandes quantités de donnée, 4 LEDs, des boutons poussoirs, une horloge temps réel, un accéléromètre et 30 broches d'entrée/sortie (dite GPIO ou 'I/O'. Les broche d'I/O inclus: 5 USART (pour Port Série), 2 bus SPI, 2 bus I2C, 14 broches ADC (convertisseur Analogique->digital), 2 broches DAC (convertisseur Digital->Analogique) ainsi que 4 port pour Servo Moteurs (avec alimentation).


Il y a une broche spéciale BOOT0, qui est utilisée pour reprogrammer le microcontroleur. En connectant BOOT0 sur 3.3V (la broche juste à côté) et en réinitialisant (reset) la carte, vous placez la carte en mode DFU "device firmware upgrade". C'est le mode USB standard qui vous permet de faire une mise-à-jour de Micro Python sur le microcontroleur en utilisant des logiciel librement disponible pour Windows, Mac et Linux). Elle vous permet également de téléverser votre propre version de Micro Python si vous désirez la modifier, voire téléverser vos propres programmes écrit directement en C.


La carte Micro Python est adapté pour tous, peu importe le niveau de connaissance en programmation ou éléectronique. Avec quelques lignes de code Python dans un fichier texte, le bédutant pourra faire clignoter les LEDs et réagir en fonction des données de l'accéléromètre, le tout sans soudure, ni connexion de composant, ni installation de logiciel sur votre l'ordinateur.

Alimentation

Vous pouvez alimenter la carte PyBoard:

  1. Via la connexion USB
  2. En connectant une source d'alimentation/accu fournissant une tension entre 3.6V et 10V.
    Sur GND et Vin

Deux sources d'alimentations?

Voyez ce billet pour plus d'information, sachez cependant que vous pouvez constituer un circuit OR-Diode tel que décrit ici sur le forum micropython

Le brochage

PyBoard c'est de nombreuses broches aux fonctionnalités multiples. Avec PyBoard vous avez sous la main:

  • 30 GPIO - Broches d'entrées/sorties pouvant servir à de nombreuses applications. Avec un GPIO, vous pouvez commander des LEDs, des relais (via transistor ou UNL2803), des moteurs (via L293). Lire l'état de boutons et senseurs. Commander des périphériques tels que des écrans LCD, afficheurs graphiques, des cartes d'extension, etc.
  • 2 bus I2C - Pour commander des périphériques à l'aide de 3 fils.
  • 5 UARTs - Un port série c'est un outil de communication très utile... en avoir 5 c'est absolument génial.
  • 20 PWMs - Permettant de produire des signaux permettant de contrôler des servo-moteurs ou la puissance d'une LED (voyez "c'est quoi PWM" dans cet autre tutoriel)
  • 16 ADC - Convertisseur Analogique->Digital permettant de lire une tension analogie (pratique pour utiliser des senseurs flex, photo-résistance, potentiomètre, etc). Entrée en 3.3v max.
  • 2 DAC - Très rares sur les cartes de prototypages, les convertisseurs Digital->Analogique permettent de produire des tensions analogiques en sortie. Grâce à cela, vous pouvez produire divers types de signaux (en dent de scie, sinusoide, ... et même du son).
  • 13 timers - Les timers permettent de mesurer des durées et d'exécuter du code/fonction à intervalle régulier. C'est un élément de synchronisation important lorsque l'on désire écrire des applications avancées.
  • 16 ext int - Les interruptions externes permettent d'interrompre le programme principal pour exécuter du code (fonction d’interruption) lorsqu'une broche change d'état. Cela permet d'écrire des programmes réagissant instantanément à changement de conditions physique autour du la carte. Exemple: arrêter immédiatement des moteurs si l'arrêt d'urgence est activé.
  • 1 RTC - L'horloge temps réel vous permet de connaître l'heure, de mesurer des laps de temps assez grand, de créer des exécutions basées sur un calendrier, de réaliser des horloges. Le RTC est un élément utile qui manque souvent dans les plateformes de prototypage (comme c'est la cas pour Raspberry, Arduino ou encore de Spark Core où le RTC n'est pas exploitée)
  • 4 LEDs - Les LEDs/DELs sont bien pratiques pour informer l'utilisateur sur l'état du programme. En avoir sur la carte permet de tester/prototyper rapidement du code sans avoir besoin de faire des raccordements.
  • 1 Accéléromètre - PyBoard fut conçue avec la robotique comme finalité. Du coup, Damien à intégrer un accéléromètre à même la carte. Un tel dispositif permet de mesurer les accélération (cas pratique: un smartphone qui tombe) mais surtout l’accélération terrestre G sur les 3 axes. Cette accélération terrestre responsable de la gravité est dirigée vers le centre de la terre, en mesurant cette accélération sur 3 axes, il est donc possible de déterminer la position/orientation 3D de la carte par rapport au sol (cas pratique: la rotation automatique des écrans sur un smartphone, tenue d'équilibre pour un robot bipède).

Pybv10-pinout.jpg
Crédit: MicroPython micropython.org

Led 4 LEDs

PyBoard-LEDs.jpg

Tolérance 5 Volts

Selon le document PYBv10b.pdf, toutes les broches du PyBoard sont tolérantes à 5V sauf PA4 & PA5.

Par conséquent, le bus SPI du skin X n'est pas tolérant à 5 Volts.

Entrée Analogique

Attention, en entrée analogique, la tension max est de 3.3v

Courant Max par broche

Comme sur toutes les plateformes, il y a un courant limite qu'une broche peu absorber (sink) ou fournir (source). En fouillant la fiche technique du STM32F405RG sur www.st.com, nous pouvons retrouver les informations suivantes:

MicroPython-Brochage-MAxCurrent.jpg

  • Chaque broche est capable d' absorber (sink) ou délivrer (source) 25mA par broche.
  • Le maximum (somme des courants de toutes les broches) pouvant être délibré/absorbé par le microcontrôleur étant de 240mA.

Classe machine.Pin

L'utilisation des broches en entrée/sortie, PWM, Analogique est décrite dans nos différents tutoriels. Voici cependant un accès rapide et direct à la documentation en ligne de MicroPython permettant de contrôler les broches.

Dans la documentation suivante sur wiki.micropython.org, vous trouverez toutes l'information nécessaire pour contrôler les broches.

Vous y découvrirez:

Schémas & fiche technique

Composant Fritzing

Où Acheter

Vous pouvez vous procurer une carte Micro Python chez MCHobby (vendus uniquement sur stock)!



Source: Micro Python Python for microcontrollers et docs.micropython.org écrit par/written by Damien P.George

Traduit par Meurisse D. pour MCHobby.be - Translated by Meurisse D. for MCHobby.be

Traduit avec l'autorisation de micropython.org - Translated with the authorisation of micropython.org

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.