Les deux révisions précédentesRévision précédente | |
issue167:micro_this_micro_that [2021/04/02 14:48] – auntiee | issue167:micro_this_micro_that [2021/04/04 17:24] (Version actuelle) – andre_domenech |
---|
Mars 2021 - Bienvenue au premier article de la série « Micro Ceci Micro Cela ». J'espère que je pourrai continuer à faire deux articles par mois. | Mars 2021 - Bienvenue au premier article de la série « Micro Ceci Micro Cela ». J'espère que je pourrai continuer à faire deux articles par mois. |
| |
Alors, qu'est-ce que Micro Ceci Micro Cela ? Le but est de fournir aux lecteurs des informations et des projets de démonstration pour les cartes microcontrôleurs et les capteurs compatibles avec MicroPython et CircuitPython. Occasionnellement, je pourrais ajouter une carte Raspberry Pi pour montrer les différences entre Python, MicroPython et CircuitPython. Ces articles contiendront du code, des schémas, des diagrammes et bien plus encore - en essayant de fournir des techniques de programmation réelles pour les microcontrôleurs. J'essaierai de mettre en évidence les similitudes et les différences entre CircuitPython, MicroPython et Python « complet ». Croyez-moi, il y a des TONNES de différences. Je pourrais même essayer d'inclure un projet Arduino ici et là, mais je me concentrerai principalement sur MicroPython et CircuitPython. | Alors, qu'est-ce que Micro Ceci Micro Cela ? Le but est de fournir aux lecteurs des informations et des projets de démonstration pour les cartes microcontrôleurs et les capteurs compatibles avec MicroPython et CircuitPython. Occasionnellement, je pourrais ajouter une carte Raspberry Pi pour montrer les différences entre Python, MicroPython et CircuitPython. Ces articles contiendront du code, des schémas, des diagrammes et bien plus encore, en essayant de fournir des techniques de programmation réelles pour les microcontrôleurs. J'essaierai de mettre en évidence les similitudes et les différences entre CircuitPython, MicroPython et Python « complet ». Croyez-moi, il y a des TONNES de différences. Je pourrais même essayer d'inclure un projet Arduino ici et là, mais je me concentrerai principalement sur MicroPython et CircuitPython. |
| |
Avant d'aborder les projets, jetons un coup d'œil à ce qu'est exactement un microcontrôleur. Le site AllAboutCircuits nous en donne une explication très claire... | Avant d'aborder les projets, jetons un coup d'œil à ce qu'est exactement un microcontrôleur. Le site AllAboutCircuits nous en donne une explication très claire... |
All that having been said, I won’t only deal with the RPi Pico board in this series of articles. Yes, I will concentrate on it for a few articles, but I also intend on talking about the Adafruit FeatherS2 microcontroller and some of the Arduino boards, and maybe some of the boards from Sparkfun and others as my budget allows.** | All that having been said, I won’t only deal with the RPi Pico board in this series of articles. Yes, I will concentrate on it for a few articles, but I also intend on talking about the Adafruit FeatherS2 microcontroller and some of the Arduino boards, and maybe some of the boards from Sparkfun and others as my budget allows.** |
| |
Pendant des années, j'ai dit à mon fils, et à beaucoup d'autres, « Si tu vis ou travailles à la pointe de l'innovation, tu te piquera », et croyez-moi, c'est tout à fait vrai lorsqu'il s'agit de microcontrôleurs. Je vais vous en dire plus dans un instant. | Pendant des années, j'ai dit à mon fils, et à beaucoup d'autres, « Si tu vis ou travailles à la pointe de l'innovation, tu te piqueras », et croyez-moi, c'est tout à fait vrai lorsqu'il s'agit de microcontrôleurs. Je vais vous en dire plus dans un instant. |
| |
Tout cela étant dit, je ne traiterai pas uniquement de la carte RPi Pico dans cette série d'articles. Oui, je vais me concentrer sur elle pendant quelques articles, mais j'ai aussi l'intention de parler du microcontrôleur Adafruit FeatherS2 et de certaines cartes Arduino, et peut-être de certaines cartes de Sparkfun et d'autres si mon budget le permet. | Tout cela étant dit, je ne traiterai pas uniquement de la carte RPi Pico dans cette série d'articles. Oui, je vais me concentrer sur elle pendant quelques articles, mais j'ai aussi l'intention de parler du microcontrôleur Adafruit FeatherS2 et de certaines cartes Arduino, et peut-être de certaines cartes de Sparkfun et d'autres si mon budget le permet. |
Once you have the file, change the permission to executable, then run it from the terminal command prompt.** | Once you have the file, change the permission to executable, then run it from the terminal command prompt.** |
| |
En outre, vous aurez besoin d'une copie de l'IDE Thonny. Si vous utilisez un Raspberry Pi pour vous connecter au Pico, vous avez probablement déjà Thonny. Assurez-vous simplement qu'il s'agit de la version 3.3.3 ou supérieure. Si vous utilisez un PC sous Linux ou un autre système d'exploitation, vous devrez probablement le télécharger. Vous avez besoin de la version 3.3.3 ou supérieure. La dernière version (au moment où j'écris ces lignes) est la 3.3.5. Pour l'installer sur votre machine Linux, vous pouvez simplement utiliser wget dans un terminal... | En outre, vous aurez besoin d'une copie de l'IDE Thonny. Si vous utilisez un Raspberry Pi pour vous connecter au Pico, vous avez probablement déjà Thonny. Assurez-vous simplement qu'il s'agit de la version 3.3.3 ou supérieure. Si vous utilisez un PC sous Linux ou un autre système d'exploitation, vous devrez probablement le télécharger. Vous avez besoin de la version 3.3.3 ou supérieure. La dernière version (au moment où j'écris ces lignes) est la 3.3.5. Pour l'installer sur votre machine Linux, vous pouvez simplement utiliser wget dans un terminal : |
| |
wget -O thonny-latest.sh https://thonny.org/installer-for-linux | wget -O thonny-latest.sh https://thonny.org/installer-for-linux |
Dès que vous voyez cette fenêtre, vous pouvez relâcher le bouton BOOTSEL. Revenez maintenant à Thonny, et sélectionnez Run|Select Interpreter dans le menu principal. Vous devriez voir apparaître une fenêtre qui ressemble à quelque chose comme ceci : | Dès que vous voyez cette fenêtre, vous pouvez relâcher le bouton BOOTSEL. Revenez maintenant à Thonny, et sélectionnez Run|Select Interpreter dans le menu principal. Vous devriez voir apparaître une fenêtre qui ressemble à quelque chose comme ceci : |
| |
Cliquez sur le bouton [Install] ; vous devriez voir démarrer le téléchargement de MicroPython pour le Pico. Lorsque le téléchargement est terminé, vous verrez une fenêtre comme celle-ci... | Cliquez sur le bouton [Install] ; vous devriez voir démarrer le téléchargement de MicroPython pour le Pico. Lorsque le téléchargement est terminé, vous verrez une fenêtre comme celle-ci : |
| |
Maintenant, nous pouvons commencer à programmer ! | Maintenant, nous pouvons commencer à programmer ! |
Projet n° 1 | Projet n° 1 |
| |
Dans le projet n° 1, nous allons faire un programme très simple qui fait simplement clignoter la LED intégrée. Le code est ci-dessous. | Dans le projet n° 1, nous allons faire un programme très simple qui fait seulement clignoter la LED intégrée. Le code est ci-dessous. |
| |
Avant que je n'explique le code, cliquez sur le bouton Run dans Thonny et voyez ce qui se passe. Vous devriez voir la LED près du port USB s'allumer pendant environ 3 secondes, puis s'éteindre pendant 3 secondes, et recommencer. | Avant que je n'explique le code, cliquez sur le bouton Run dans Thonny et voyez ce qui se passe. Vous devriez voir la LED près du port USB s'allumer pendant environ 3 secondes, puis s'éteindre pendant 3 secondes, et recommencer. |
Projet n° 2 | Projet n° 2 |
| |
Dans le projet n° 2, nous allons faire en sorte que la LED intégrée fasse quelque chose d'un peu différent. Au lieu de simplement clignoter, nous allons utiliser la fonction PWM (Pulse Width Modulation - Modulation de largeur d'impulsion). Nous l'avons déjà fait il y a longtemps sur le Raspberry Pi. | Dans le projet n° 2, nous allons faire en sorte que la LED intégrée fasse quelque chose d'un peu différent. Au lieu de seulement clignoter, nous allons utiliser la fonction PWM (Pulse Width Modulation - Modulation de largeur d'impulsion). Nous l'avons déjà fait il y a longtemps sur le Raspberry Pi. |
| |
Je ne vais pas m'attarder sur le code pour le moment, nous y reviendrons dans un prochain article. De plus, comme je l'ai dit, nous avons réalisé un projet similaire sur le Raspberry Pi il y a quelques années. Je pense simplement que la LED pulsée est cool, surtout avec la LED intégrée. | Je ne vais pas m'attarder sur le code pour le moment, nous y reviendrons dans un prochain article. De plus, comme je l'ai dit, nous avons réalisé un projet similaire sur le Raspberry Pi il y a quelques années. Je pense simplement que la LED pulsée est cool, surtout avec la LED intégrée. |
https://datasheets.raspberrypi.org/pico/Pico-R3-A4-Pinout.pdf** | https://datasheets.raspberrypi.org/pico/Pico-R3-A4-Pinout.pdf** |
| |
Puisque nous avons utilisé la LED intégrée pour ces deux projets, aucun composant externe n'a été nécessaire. Cependant, pour nos prochains projets, nous aurons besoin d'un circuit d'essai, de LED, de fils de liaison, de résistances, etc. Un mot d'avertissement cependant. TOUS les voltages pour la RPi Pico sont en 3,3 volts. De nombreux capteurs et écrans plus anciens sont en 5 volts et causeront des problèmes avec le Pico, pouvant aller jusqu'à le brûler. Vous devriez envisager de vous procurer un convertisseur de niveau logique qui fera passer les tensions de 5 à 3 volts en toute sécurité. Voici deux sources qui peuvent vous aider dans votre recherche... | Puisque nous avons utilisé la LED intégrée pour ces deux projets, aucun composant externe n'a été nécessaire. Cependant, pour nos prochains projets, nous aurons besoin d'un circuit d'essai, de LED, de fils de liaison, de résistances, etc. Un mot d'avertissement cependant. TOUS les voltages pour la RPi Pico sont en 3,3 volts. De nombreux capteurs et écrans plus anciens sont en 5 volts et causeront des problèmes avec le Pico, pouvant aller jusqu'à le brûler. Vous devriez envisager de vous procurer un convertisseur de niveau logique qui fera passer les tensions de 5 à 3 volts en toute sécurité. Voici deux sources qui peuvent vous aider dans votre recherche : |
| |
https://www.sparkfun.com/products/12009 | https://www.sparkfun.com/products/12009 |
https://www.adafruit.com/product/757 | https://www.adafruit.com/product/757 |
| |
En outre, avant de commencer à interfacer des appareils à votre Pico, vous devez mettre la main sur le brochage de la carte. Vous pouvez télécharger une copie du brochage du RPi Pico pour vous y référer facilement... | En outre, avant de commencer à interfacer des appareils à votre Pico, vous devez mettre la main sur le brochage de la carte. Vous pouvez télécharger une copie du brochage du RPi Pico pour vous y référer facilement : |
| |
https://datasheets.raspberrypi.org/pico/Pico-R3-A4-Pinout.pdf | https://datasheets.raspberrypi.org/pico/Pico-R3-A4-Pinout.pdf |
**One final thought. Earlier I said “If you live or work on the bleeding edge, you WILL get cut!”. The RPi Pico has only been out a little over a month as I write this. The MicroPython for the Pico (http://micropython.org/download/rp2-pico/) seems to be updated on a daily basis and is missing many of the “standard” modules that other boards enjoy. CircuitPython has other things that are missing for the Pico, and is being worked on as fast as the programmers can get the code out. There are so many displays and sensors out there that have no current support on the Pico either under MicroPython or CircuitPython, or have support on one, but not the other. There is very limited support for using WiFi on the Pico at this point. I suppose this is due to the fact that the Raspberry Pi group never thought that anyone would need networking support on a board this small and low cost.** | **One final thought. Earlier I said “If you live or work on the bleeding edge, you WILL get cut!”. The RPi Pico has only been out a little over a month as I write this. The MicroPython for the Pico (http://micropython.org/download/rp2-pico/) seems to be updated on a daily basis and is missing many of the “standard” modules that other boards enjoy. CircuitPython has other things that are missing for the Pico, and is being worked on as fast as the programmers can get the code out. There are so many displays and sensors out there that have no current support on the Pico either under MicroPython or CircuitPython, or have support on one, but not the other. There is very limited support for using WiFi on the Pico at this point. I suppose this is due to the fact that the Raspberry Pi group never thought that anyone would need networking support on a board this small and low cost.** |
| |
Une dernière pensée. Plus haut, j'ai dit « Si vous vivez ou travaillez à la pointe de l'innovation, vous vous piquerez ! » Au moment où j'écris ces lignes, la RPi Pico n'est sorti que depuis un peu plus d'un mois. Le MicroPython pour le Pico (http://micropython.org/download/rp2-pico/) semble être mis à jour quotidiennement et il lui manque de nombreux modules « standard » dont bénéficient d'autres cartes. CircuitPython a d'autres choses qui manquent pour le Pico et les programmeurs travaillent aussi vite que possible pour sortir le code nécessaire. Il existe un grand nombre d'écrans et de capteurs qui ne sont pas pris en charge par le Pico, que ce soit par MicroPython ou CircuitPython, ou qui sont pris en charge par l'un d'eux, mais pas par l'autre. Le support pour l'utilisation du WiFi sur le Pico est très limité pour le moment. Je suppose que cela est dû au fait que le groupe Raspberry Pi n'a jamais pensé que quelqu'un aurait besoin d'un support du réseau sur une carte aussi petite et peu coûteuse. | Une dernière pensée. Plus haut, j'ai dit « Si vous vivez ou travaillez à la pointe de l'innovation, vous vous piquerez ! » Au moment où j'écris ces lignes, la RPi Pico n'est sortie que depuis un peu plus d'un mois. Le MicroPython pour le Pico (http://micropython.org/download/rp2-pico/) semble être mis à jour quotidiennement et il lui manque de nombreux modules « standard » dont bénéficient d'autres cartes. CircuitPython a d'autres choses qui manquent pour le Pico et les programmeurs travaillent aussi vite que possible pour sortir le code nécessaire. Il existe un grand nombre d'écrans et de capteurs qui ne sont pas pris en charge par le Pico, que ce soit par MicroPython ou CircuitPython, ou qui sont pris en charge par l'un d'eux, mais pas par l'autre. Le support pour l'utilisation du WiFi sur le Pico est très limité pour le moment. Je suppose que cela est dû au fait que le groupe Raspberry Pi n'a jamais pensé que quelqu'un aurait besoin d'un support du réseau sur une carte aussi petite et peu coûteuse. |
| |
| |