Différences entre versions de « MicroPython.brochage.pyboard »
(19 versions intermédiaires par 2 utilisateurs non affichées) | |||
Ligne 6 : | Ligne 6 : | ||
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.}} | 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.}} | ||
− | + | {{MPImage|MicroPython.presentation-00.jpg|800px}} | |
− | |||
− | {{MPImage|MicroPython. | ||
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 [http://www.putty.org/ 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. | 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 [http://www.putty.org/ 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. | ||
Ligne 25 : | Ligne 23 : | ||
Vous pouvez alimenter la carte PyBoard: | Vous pouvez alimenter la carte PyBoard: | ||
# Via la connexion USB | # Via la connexion USB | ||
− | # En connectant une source d'alimentation/accu fournissant une tension entre 3.6V et 10V. | + | # En connectant une source d'alimentation/accu fournissant une tension entre 3.6V et 10V.<br />Sur GND et Vin |
+ | |||
+ | === Deux sources d'alimentations? === | ||
+ | {{ambox-stop|text=N'alimentez pas en même temps votre PyBoard par le câble USB et par une alimentation externe sur Vin.<br />La Pyboard ne dispose pas de sélection automatique d'alimentation.}} | ||
+ | |||
+ | Voyez [http://forum.micropython.org/viewtopic.php?t=1106 ce billet pour plus d'information], sachez cependant que vous pouvez constituer un circuit OR-Diode tel que décrit [http://forum.micropython.org/viewtopic.php?p=6569#p6570 ici sur le forum micropython] | ||
== Le brochage == | == Le brochage == | ||
Ligne 32 : | Ligne 35 : | ||
* '''2 bus I2C''' - Pour commander des périphériques à l'aide de 3 fils. | * '''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. | * '''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 "[AdaFruit_PWM_Driver#C.27est_quoi_PWM c'est quoi PWM]" dans cet autre tutoriel) | + | * '''20 PWMs''' - Permettant de produire des signaux permettant de contrôler des servo-moteurs ou la puissance d'une LED (voyez "[[AdaFruit_PWM_Driver#C.27est_quoi_PWM|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). | + | * '''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). | * '''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 [http://fr.wikipedia.org/wiki/Timer_%28microcontr%C3%B4leur%29 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. | * '''13 timers''' - Les [http://fr.wikipedia.org/wiki/Timer_%28microcontr%C3%B4leur%29 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. | ||
Ligne 52 : | Ligne 55 : | ||
Par conséquent, '''le bus SPI du skin X n'est pas tolérant à 5 Volts'''. | Par conséquent, '''le bus SPI du skin X n'est pas tolérant à 5 Volts'''. | ||
− | == Schémas == | + | === 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 [http://www.st.com/st-web-ui/static/active/en/resource/technical/document/datasheet/DM00037051.pdf fiche technique du STM32F405RG] sur [http://www.st.com/web/catalog/mmc/FM141/SC1169/SS1577/LN1035/PF252144 www.st.com], nous pouvons retrouver les informations suivantes: | ||
+ | |||
+ | [[Fichier:MicroPython-Brochage-MAxCurrent.jpg|640px]] | ||
+ | |||
+ | * 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 {{underline|accès rapide et direct}} à la documentation en ligne de MicroPython permettant de contrôler les broches. | ||
+ | |||
+ | Dans la documentation suivante sur [http://wiki.micropython.org/pyb-Pin wiki.micropython.org], vous trouverez toutes l'information nécessaire pour contrôler les broches. | ||
+ | |||
+ | Vous y découvrirez: | ||
+ | * [http://wiki.micropython.org/pyb-Pin#Basic-usage Comment fixer le mode d'une broche pour une utilisation spécifique]. | ||
+ | * Lire la valeur d'une broche digitale. | ||
+ | * Placer l'état d'une broche au niveau haut (''high'') ou bas (''low''). | ||
+ | * [http://wiki.micropython.org/pyb-Pin#Analog-values Lire et fier une valeur analogique]. | ||
+ | * [http://wiki.micropython.org/pyb-Pin#Interrupts Configurer une broche d'interruption] (pour qu'elle déclenche un événement lorsqu'elle change de valeur). | ||
+ | |||
+ | == Schémas & fiche technique == | ||
* Vous trouverez les schéma de la PyBoard-v1.0 ici - [http://micropython.org/resources/PYBv10b.pdf PYBv10b.pdf] (''micropython.org''). | * Vous trouverez les schéma de la PyBoard-v1.0 ici - [http://micropython.org/resources/PYBv10b.pdf PYBv10b.pdf] (''micropython.org''). | ||
+ | * [https://github.com/micropython/pyboard/blob/master/PYBv10b-Imperial-Dimensions.pdf Dimensions de la carte] (pdf, cotation impériale) | ||
+ | * [http://www.st.com/st-web-ui/static/active/en/resource/technical/document/datasheet/DM00037051.pdf fiche technique du STM32F405RG] pour le Pyboard Original.<br />Voyez [http://www.st.com/web/catalog/mmc/FM141/SC1169/SS1577/LN1035/PF252144 cette page sur www.st.com] | ||
+ | |||
+ | == Composant Fritzing == | ||
+ | * Voyez notre article "[http://arduino103.blogspot.be/2015/12/composant-pyboard-pour-fritzing.html Composant PyBoard pour Fritzing]" où [http://wdi.supelec.fr/boulanger/MicroPython/ Mr Frédéric Boulanger] de [http://www.supelec.fr/ Supélec] nous propose un composant Pyboard pour Fritzing. | ||
== Où Acheter == | == Où Acheter == |
Version actuelle datée du 13 mai 2019 à 10:33
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.
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:
- Via la connexion USB
- En connectant une source d'alimentation/accu fournissant une tension entre 3.6V et 10V.
Sur GND et Vin
Deux sources d'alimentations?
N'alimentez pas en même temps votre PyBoard par le câble USB et par une alimentation externe sur Vin. La Pyboard ne dispose pas de sélection automatique d'alimentation. |
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).
Crédit: MicroPython micropython.org
Led 4 LEDs
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:
- 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:
- Comment fixer le mode d'une broche pour une utilisation spécifique.
- Lire la valeur d'une broche digitale.
- Placer l'état d'une broche au niveau haut (high) ou bas (low).
- Lire et fier une valeur analogique.
- Configurer une broche d'interruption (pour qu'elle déclenche un événement lorsqu'elle change de valeur).
Schémas & fiche technique
- Vous trouverez les schéma de la PyBoard-v1.0 ici - PYBv10b.pdf (micropython.org).
- Dimensions de la carte (pdf, cotation impériale)
- fiche technique du STM32F405RG pour le Pyboard Original.
Voyez cette page sur www.st.com
Composant Fritzing
- Voyez notre article "Composant PyBoard pour Fritzing" où Mr Frédéric Boulanger de Supélec nous propose un composant Pyboard pour 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.