Modifications

Sauter à la navigation Sauter à la recherche
3 998 octets ajoutés ,  13 mai 2019 à 10:33
Ligne 1 : Ligne 1 : −
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.  
+
{{MicroPython.presentation-NAV}}
   −
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.
+
== La carte PyBoard ==
 +
{{bloc-etroit|text=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.  
   −
{{MPImage|MicroPython.présentation-00.jpg}}
+
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}}
    
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.
      −
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, 2 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).
+
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).
      Ligne 16 : Ligne 19 :  
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.
 
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.<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 ==
 
PyBoard c'est de nombreuses broches aux fonctionnalités multiples. Avec PyBoard vous avez sous la main:
 
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.
 
* '''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.
 
* '''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 29 : Ligne 43 :  
* '''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.
 
* '''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).
 
* '''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).
 +
 +
{{MPImage|pybv10-pinout.jpg|640px}}
 +
 +
== Led 4 LEDs ==
 +
 +
[[Fichier:PyBoard-LEDs.jpg|480px]]
 +
 +
== Tolérance 5 Volts ==
 +
Selon le document [http://micropython.org/resources/PYBv10b.pdf 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 [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'').
 +
* [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 ==
 +
Vous pouvez vous procurer {{cl|56|une carte Micro Python}} chez MCHobby (vendus uniquement sur stock)!
 +
 +
{{MicroPython.brochage.pyboard-TRAILER}}
29 917

modifications

Menu de navigation