Ligne 169 : |
Ligne 169 : |
| The Feather M0 is pre-loaded with an UF2 bootloader which looks like a USB Flash Drive. Simply drag an UF2 firmware on the USB Flash drive to completely reprogram de board firmware (No special tools, No special drivers needed)! The UF2 bootloader can be used to load up CircuitPython, MakeCode PXT file or Arduino IDE (bossa-compatible). | | The Feather M0 is pre-loaded with an UF2 bootloader which looks like a USB Flash Drive. Simply drag an UF2 firmware on the USB Flash drive to completely reprogram de board firmware (No special tools, No special drivers needed)! The UF2 bootloader can be used to load up CircuitPython, MakeCode PXT file or Arduino IDE (bossa-compatible). |
| | | |
| + | == Feather M0 Express PINOUT == |
| + | === Introduction === |
| + | {{ADFImage|FEATHER-M0-EXPRESS-Brochage-01.png|640px}}<small><br />Click to enlarge</small> |
| + | |
| + | ''(Please note that AREF is PA03 (and not PA02)'' |
| + | |
| + | {{ADFImage|FEATHER-M0-EXPRESS-Brochage-02.jpg|640px}} |
| + | |
| + | The Feather M0 benefits from the Cortex M0 microcontroler hardware. If has many buses and many pins. Let's review them togheter! |
| + | |
| + | === Power Pin === |
| + | {{ADFImage|FEATHER-M0-EXPRESS-Brochage-03.jpg|640px}} |
| + | |
| + | * '''GND ''' : is the common ground. The 0v reference voltage for all the logic and power supplies. |
| + | * '''BAT''' : positive pin from the JST connector (the optional Lipo). |
| + | * '''USB ''' : positive pin from the USB connector. Will allow you to detect if the board is connected on USB. |
| + | * '''EN''' : ''Enable'' pin of the 3.3V regulator. This pin has a Pull-Up résistor. Connect the '''EN''' pin to the ground will shutdown the 3.3V regulator. |
| + | * '''3V''' : Output of the 3.3V regulator (500mA peak) |
| + | |
| + | === Logical pins === |
| + | {{ADFImage|FEATHER-M0-EXPRESS-Brochage-04.jpg|640px}} |
| + | |
| + | Il s'agit de l'ensemble des broches d'entrées/sorties du microcontrôleur. <br/>'''Toutes en logique 3.3V'''<br/>'''Presque toutes les broches peuvent produire un signal PWM'''<br />'''Toutes les broches peuvent être utilisées comme broche d'interruption.''' |
| + | |
| + | * '''#0 / RX''' - GPIO #0, également la broche de réception (entrée) pour le port série matériel '''Serial1''' (UART), également une entrée analogique |
| + | * '''#1 / TX''' - GPIO #1, également la broche de transmission (sortie) pour le port série matériel '''Serial1''', également un entrée analogique. |
| + | * '''SDA '''- La broche de donnée du bus I2C. Il n'y a pas de résistance pull-up sur cette broche, il est donc nécessaire d'insérer une résistance pull-up de 2.2K-10K si vous utilisez le bus I2C. |
| + | * '''SCL '''- La broche d'horloge du bus I2C. Il n'y a pas de résistance pull-up sur cette broche, il est donc nécessaire d'insérer une résistance pull-up de 2.2K-10K si vous utilisez le bus I2C. |
| + | * '''#5''' - GPIO #5 |
| + | * '''#6''' - GPIO #6 |
| + | * '''#9 '''- GPIO #9, également l'entrée analogique '''A7'''. Cette entrée analogique est branchée sur un pont diviseur de tension permettant de lire la tension de l'accu Lipoly. Cette broche à donc sa tension fixée à +/- 2V à cause du pont diviseur. |
| + | * '''#10''' - GPIO #10 |
| + | * '''#11''' - GPIO #11 |
| + | * '''#12''' - GPIO #12 |
| + | * '''#13''' - GPIO #13, également connectée sur la '''LED rouge''' située près du connecteur micro USB. |
| + | * '''A0''' - '''Entrée''' analogique '''A0''' mais également la '''sortie''' analogique étant donné que l'DAC est branché sur cette broche (DAC = Digital to Analog Converter = Convertisseur Digital vers Analigique). Il est possible de fixer la tension de sortie à une valeur située entre 0 et 3.3V. Au contraire d'une sortie PWM, cette broche est {{underline|une vraie sortie analogique}}. |
| + | * '''A1 à A5''' - Chacune de ces broches est une entrée analogique, également une broche d'entrée/sortie. |
| + | * '''SCK/MOSI/MISO''' - Ce sont les broches du bus SPI matériel, également utilisable comme broche d'entrée/sortie. Nous recommandons de préserver ces broches car le bus SPI matériel permet d'atteindre des débit très importants (particulièrement intéressant pour les écrans TFT). |
| + | |
| + | === Mémoire Flash SPI et NeoPixel === |
| + | De surcroît, la série 'Express' de la gamme Feather est conçu pour aussi utilisée avec CircuitPython. Pour faciliter les choses, Adafruit à ajouté deux éléments supplémentairessur ce Feather M0: un mini NéoPixel (LED RGB digitale) et une mémoire flash de 2 MB (sur un bus SPI). |
| + | |
| + | {{ADFImage|FEATHER-M0-EXPRESS-Brochage-05.jpg|640px}} |
| + | |
| + | La LED '''NéoPixel''' est connectée sur le broche #8 ien Arduino, vous pouvez donc utiliser [[NeoPixel-UserGuide|le bibliothèque NéoPixel]] en configurant un ruban de LED avec une seule LED. Le NéoPixel est alimenté en 3.3V mais cela n'a pas vraiment d'impact sur la couleur ou la luminosité. |
| + | |
| + | ==== NéoPixel ==== |
| + | Le NéoPixel est également utilisé par le bootloader pour vous informer de l'état du bootloader: |
| + | * Vert : le périphérique à été énuméré correctement sur l'interface USB |
| + | * Rouge : erreur USB . |
| + | |
| + | En CircuitPython, la LED est utilisée pour indiquer le statut de fonctionnement. |
| + | |
| + | ==== La Flash SPI ==== |
| + | La mémoire Flash SPI est connectée sur 4 broches qui n'ont pas été rendue accessibles en tant que GPIO. De sorte, il n'est pas nécessaire de s'inquiéter d'un éventuel risque de collision avec d'autres périphériques présents sur le bus SPI principal. |
| + | |
| + | ===== Sous Arduino ===== |
| + | Les broches de la FLASH sont: |
| + | * '''SCK''' = broche #3, |
| + | * '''MISO''' = broche #2, |
| + | * '''MOSI''' = broche #4 |
| + | * '''CS''' = broche #38. |
| + | Sur le '''Feather M0 Express''' vous serez capable d'accéder au port de la Flash SPI sous '''SPI1''' - c'est un nouveau périphérique SPI matériel totalement séparé des broches GPIO accessibles à la périphérie de la carte Feather. |
| + | |
| + | Dans le cadre d'une utilisation sous Arduino, cette mémoire Flash SPI permet des opérations de lecture/écriture. |
| + | |
| + | ===== Sous CircuitPython ===== |
| + | Sous CircuitPython (MicroPython), la mémoire Flash SPI est nativement utilisée par l'interpréteur Python. Cette mémoire Flash apparaît comme étant en lecture seule pour le code utilisateur. |
| + | |
| + | === Autres broches! === |
| + | {{ADFImage|FEATHER-M0-EXPRESS-Brochage-06.jpg|640px}} |
| + | |
| + | * '''RST''' - broche de réinitialisation (dite "''Reset''"). Brancher cette broche à la masse réinitialise le microcontroleur et lance le bootloader. |
| + | * '''ARef''' - broche "analog reference", référence de tension pour les broches analogique. Par défaut, la tension de référence est identique au niveau logique du composant (soit 3.3v). Il est cependant possible d'utiliser une tension de référence analogique différente (par ex: 1.5V) et d'indiquer dans votre programme qu'il faut utiliser la référence AREF EXTERNE. Dans pareil cas, la lecture 12bit d'une entrée analogique (valeur de 0 à 4095) couvrira une tension d'entrée de 0 à 1.5V. La tension de référence ne peut jamais dépasser 3.3v. La tension sur une broche analogique ne peut pas être supérieur à la tension de référence! |
| + | |
| + | === Debug Interface === |
| + | {{ADFImage|FEATHER-M0-EXPRESS-Brochage-07.jpg|640px}} |
| + | |
| + | * '''SWCLK et SWDIO''' - ces pastilles, visibles sous la carte, sont utilisées pour programmer le microcontroleur. Ces pastilles permettent également de connecter un débogueur SWD. |
| {{ENG-CANSAT-TRAILER}} | | {{ENG-CANSAT-TRAILER}} |