Découvrir et maîtriser MicroPython, Python sur microcontrôleur, avec les cartes Pyboard. Aller au-delà des concepts et découvrir les aspects pratiques du langage Python appliqué aux microcontrôleurs ! Cet ouvrage guide son lecteur de façon didactique dans la mise en œuvre des cartes Pyboard sans oublier d'explorer la prise de contrôle de composants électroniques que l'on peut y raccorder.
Les Makers pourront facilement...
Découvrir et maîtriserMicroPython, Python sur microcontrôleur, avec les cartes Pyboard. Aller au-delà des concepts et découvrir les aspects pratiques du langage Python appliqué aux microcontrôleurs ! Cet ouvrage guide son lecteur de façon didactique dans la mise en œuvre des cartes Pyboard sans oublier d'explorer la prise de contrôle de composants électroniques que l'on peut y raccorder.
Les Makers pourront facilement y trouver de quoi adapter leur savoir-faire Arduino sur MicroPython, ceux qui ne sont pas encore des Makers pourraient fort bien le devenir, les programmeurs ajouteront sans peine une nouvelle corde à leur arc, les ingénieurs bâtiront de nouveaux ponts entre différents domaines du savoir, l'électronicien découvrira un outil pour produire rapidement des prototypes et les pédagogues pourront conjuguer facilement théorie et expérimentation.
Chapitre après chapitre, le lecteur part ainsi à la découverte de la mise en œuvre de la carte Pyboard (et Pyboard-D), à la réalisation de montages électroniques simples, jusqu'à l'utilisation de techniques avancées telles que la manipulation de différents capteurs et interfaces, des sorties PWM et analogique ou d'un bus I2C. Il peut ainsi apprendre par exemple à allumer une LED, activer un relais, commander des moteurs ou encore acquérir des données environnementales et afficher des informations sur des écrans.
Tout au long du livre, l'auteur propose des trucs et astuces, des points de vulgarisation, des exemples détaillés, des schémas de raccordement, avec différents niveaux de lecture qui donneront envie au lecteur d'aller plus loin dans l'utilisation de la carte Pyboard pour contrôler des objets de la vie de tous les jours.
8.3 Appliquer une surtension sur une broche d’entrée
8.4 Appliquer une tension d’alimentation inversée sur V+
8.5 Appliquer une tension supérieure à 3,3 V sur la broche 3V3
8.6 Dépasser le courant max d’une broche
8.7 Dépasser le courant max du microcontrôleur
MicroPython Pyboard-D
1. Introduction
2. MicroPython Pyboard-D
2.1 Premier survol de la Pyboard-D
2.2 Quels connecteurs pour la Pyboard-D ?
2.3 Pyboard-D et Fritzing
2.4 Pyboard-D en détail
2.4.1 Interfaces matérielles
2.4.2 LED RGB
2.4.3 Bouton utilisateur
2.4.4 Carte microSD
2.4.5 Stockage eMMC
2.4.6 Horloge temps réel (RTC)
2.4.7 Alimentation de la Pyboard-D
2.4.8 Contrôle WiFi
3. Brochage de la Pyboard-D
3.1 Position X
3.2 Bus I2C en position X
3.3 Position Y
4. Carte d’interface WBUS-DIP28
Environnement de travail
1. Avant-propos
2. Manipulation de fichiers
3. Éditeur de texte
3.1 Atom (multiplateforme)
3.2 Windows
3.3 Linux
3.4 Raspbian Linux
3.5 Mac OS
4. Console série et REPL
4.1 PuTTY (multiplateforme)
4.2 Picocom (Linux)
4.3 Screen (Mac, Linux)
5. Outils intégrés
5.1 RShell
5.1.1 Linux et Raspbian
5.1.2 Windows
5.1.3 Mac OS
5.2 Mu Editor
5.2.1 Installation Linux
5.2.2 Installation Raspbian
5.2.3 Installation Windows et Mac
Prise de contrôle
1. Installer une carte MicroPython
1.1 Sous Windows
1.2 Sous Linux
1.3 Sous Raspbian (Raspberry Pi)
2. Communiquer avec MicroPython
3. Utiliser le périphérique de stockage
3.1 Effacer des fichiers
3.2 Un seul espace de stockage accessible en USB
4. REPL : l'invite en ligne de commande
4.1 Séquence de contrôle REPL
4.2 Options avancées sur REPL
4.2.1 Édition de ligne
4.2.2 Historique de commandes
4.2.3 Autocomplétion
4.2.4 Variable « _ »
4.3 Outils Python avancés pour REPL
4.3.1 Fonction help()
4.3.2 Fonction dir()
4.3.3 Fonction listdir()
4.3.4 Afficher le contenu d’un fichier
4.4 Développer avec REPL
5. REPL via Bluetooth
5.1 À propos de Bluetooth
5.2 Module Bluetooth série
5.2.1 Brancher le module sur la Pyboard
5.2.2 Répliquer REPL sur le port série
5.2.3 Appairage sur PC Linux
5.2.4 Appairage avec un Smartphone
6. RShell
6.1 Ligne de commande RShell
6.2 REPL sous RShell
6.3 Développer avec RShell
7. upy-shell
8. WebREPL
8.1 Activer le démon WebREPL
8.2 Client WebREPL
8.2.1 WebREPL - Client HTML
8.2.2 WebREPL - Client Python
9. Support WiFi sur la Pyboard-D
9.1 WiFi et réglementation locale
9.2 Nom d'hôte et adresse MAC
10. Mode station (STA)
10.1 Mode STA et scan réseau
10.2 Réseau WiFi visible ou masqué
10.3 Connexion en mode STA
10.4 Contrôle WiFi avancé
10.5 Utiliser un socket
10.6 Rechercher l'adresse IP d'une Pyboard-D
11. Mode point d'accès (AP)
Séquence de démarrage
1. Séquence de démarrage MicroPython
1.1 Séquence de démarrage - Pyboard originale
1.2 Séquence de démarrage - Pyboard-D
2. Fichier boot.py
2.1 Mode de l’interface USB
2.2 Connexion WiFi avec boot.py
2.3 Activer WebREPL avec boot.py
2.4 Script utilisateur à exécuter
3. Fichier main.py
4. Séquence de démarrage en lumière
5. Safe Mode de la Pyboard
6. Séquence de démarrage et Pyboard-D
Programmer
1. Préambule
2. Les bibliothèques MicroPython
2.1 Le préfixe u
2.2 Bibliothèques dans le firmware
2.3 Mécanisme de chargement
2.4 Où placer les bibliothèques ?
2.5 Écrire ses propres bibliothèques
2.5.1 Script de test
2.5.2 Création des bus
3. Bibliothèques disponibles
3.1 Bibliothèques standards et micropythonifiées
3.2 Bibliothèques propres à MicroPython
3.3 Bibliothèques spécifiques à la carte de développement
3.3.1 Bibliothèque pyb
3.3.2 Bibliothèque lcd160cr
4. Bibliothèque machine
4.1 Limitation de la portabilité
4.2 Quel intérêt pour la portabilité ?
4.3 Contenu de la bibliothèque machine
5. Bibliothèque pyb
6. Bibliothèque os
7. Charger et exécuter un script à la volée
8. Exploiter l’accéléromètre
9. Entrées/sorties
9.1 Entrée numérique
9.2 Entrée numérique (pull-up interne)
9.3 Entrée numérique et déparasitage
9.4 Entrée numérique et interruption
9.5 Sortie numérique
9.5.1 Commander une LED
9.5.2 Broche en sortie et courant de court-circuit
9.5.3 Montage drain ou source
9.6 Entrée analogique
9.6.1 Potentiomètre
9.6.2 Lecture analogique
9.6.3 Précision des convertisseurs
9.6.4 Échantillonnage
9.6.5 Acquisition de signal et fréquence d’échantillonnage
9.6.6 Autres fonctionnalités
9.7 Sortie analogique
9.7.1 DAC en résolution 8 bits
9.7.2 DAC en résolution 12 bits
9.7.3 Reproduire un échantillon
9.7.4 Sortie analogique au-delà de 3,3 V
9.7.5 DAC et système audio
9.7.6 Plus d’information sur le DAC
9.8 Sortie PWM
9.8.1 Commander l’intensité d’une LED
9.8.2 Commande de vitesse de moteur
9.9 Sortie Servo
9.9.1 Synchroniser des servomoteurs
9.9.2 Servomoteurs à rotation continue
9.9.3 Alimentation des servomoteurs
9.9.4 Calibration des servomoteurs
10. Identification et mode des broches
11. Les timers
11.1 Timers disponibles
11.2 Fonction de rappel/d’interruption
11.3 Fonctions d’interruption et bonnes pratiques
11.4 Timers avancés
11.5 Le timer WatchDog
12. Bus I2C
12.1 I2C : comment ça marche ?
12.1.1 À propos des bits d’adresse
12.1.2 I2C comme un périphérique mémoire
12.2 Capteur I2C et pilote MicroPython
12.2.1 Où trouver des pilotes ?
12.2.2 Comment utiliser un pilote I2C
12.2.3 Faut-il créer le bus I2C hors du pilote ?
12.3 Connecteurs standardisés pour I2C
12.3.1 Connecteur UEXT d’Olimex
12.3.2 Connecteur NCD de National Control Devices
12.3.3 Connecteur Qwiic de SparkFun
12.3.4 Écosystème Feather d’Adafruit Industries
12.4 Communication I2C par l’exemple
12.4.1 Exemple 1 : accéléromètre de la Pyboard
12.4.2 Exemple 2 : ADS1115 (entrées analogiques supplémentaires)
12.4.3 Exemple 3 : ajouter une carte MOD-IO
12.5 Le bus I2C plus en détail
12.5.1 Résistances pull-up et tension logique
12.5.2 Vitesse limitée
12.5.3 Effet capacitif et longueur de ligne
12.6 Augmenter la longueur du bus I2C
12.6.1 P82B715PN
12.6.2 Carte d’extension différentielle de SJTbits
13. Bus SPI
13.1 Utilisation de l’API SPI
13.2 Classe SPI du module pyb
13.3 Communication SPI par l’exemple
13.3.1 Exemple 1 : MOD-VGA (Gameduino sous MicroPython)
13.3.2 Exemple 2 : matrice LED
14. Interface UART
14.1 La trame série
14.2 Configurer une ligne série
14.3 Émission/réception
14.4 Communication UART par l’exemple
14.4.1 Exemple 1 : module GPS
14.4.2 Exemple 2 : module ESP8266
15. Horloge RTC
16. Poursuivre l’exploration
16.1 Interface CAN
16.2 Interface DMX
Capteurs et interfaces
1. Introduction
2. Signal numérique
2.1 Module relais
2.1.1 Mise en garde
2.1.2 À réaliser soi-même
2.1.3 Modules relais préassemblés
2.1.4 Plusieurs modules relais
2.1.5 Relais et impulsions électromagnétiques (EMI)
2.1.6 PowerSwitchTail
2.2 Contact magnétique (interrupteur)
2.3 Capteur à effet Hall
2.4 Capteur PIR
2.5 Encodeur rotatif
2.6 LED RGB
2.7 Capteur ultrason HC-SR04
2.7.1 Brancher le HC-SR04
2.7.2 Tester le HC-SR04
2.7.3 Bibliothèque
3. Signal analogique
3.1 Capteur de température TMP36
3.2 Photorésistance
3.3 Capteur de pression différentielle MPXV5010DP
3.4 Mesure de courant avec ACS712
3.4.1 Mise en garde
3.4.2 Charge alternative et relevé alternatif
3.4.3 Mesure avec la Pyboard
3.5 Sortie analogique
4. Interface I2C
4.1 MCP23017 : extension d’entrée/sortie
4.1.1 Brancher le MCP23017
4.1.2 Bibliothèque
4.1.3 Tester le MCP23017
4.2 ADS1115 : entrée analogique
4.2.1 Brancher l' ADS1115
4.2.2 Mille milliards de mille parasites !
4.2.3 Le gain programmable
4.2.4 Bibliothèque
4.2.5 Tester l’ADS1115
4.3 DHT11 / DHT22 : humidité et température
4.3.1 Brancher le DHT 11
4.3.2 Tester le DHT11
4.4 BMP280 / BME280 : humidité, pression et température
4.4.1 Brancher le BME280
4.4.2 Bibliothèque
4.4.3 Tester le BME280
4.4.4 Calcul d’altitude
4.4.5 Modes de fonctionnement du BME280
4.5 TSL2561 / TSL2591 : luminosité
4.5.1 Brancher le TSL2561
4.5.2 Bibliothèque
4.5.3 Tester le TSL2561
4.5.4 Tester le TSL2591
4.6 MOD-IO : relais et entrées optocoupleurs (24 V)
4.7 Contrôleur Wii Nunchuck UEXT
4.7.1 Brancher le Nunchuk
4.7.2 Bibliothèque
4.7.3 Tester
4.8 MCP4725 : sortie analogique
4.8.1 Brancher le MCP4725
4.8.2 Bibliothèque
4.8.3 Tester le MCP4725
4.8.4 Une onde en dos de chameau
4.9 MCP9808 : capteur de température de précision
4.9.1 Brancher le MCP9808
4.9.2 Bibliothèque
4.9.3 Tester le MCP9808
5. Contrôle moteur
5.1 Servomoteurs sur la Pyboard
5.2 L298 : pont-H pour moteur continu
5.3 L293D : pont-H pour moteur continu
5.4 DRV8833 : contrôleur moteur continu
5.5 PCA9685 : contrôleur PWM et servo moteur
5.6 A4988 : contrôleur moteur pas-à-pas
5.6.1 Découvrir le moteur pas-à-pas
5.6.2 Contrôleur de moteur pas-à-pas A4988
5.6.3 Tester le A4988
6. Afficheurs
6.1 LED NeoPixel
6.2 SD1306 : afficheur OLED
6.2.1 Brancher l'afficheur OLED
6.2.2 Installer la bibliothèque
6.2.3 Tester l’afficheur OLED
6.2.4 Manipulations du FrameBuffer
6.2.5 Image PBM
6.2.6 Ressources
6.3 LCD160CR : afficheur tactile
6.3.1 Couleurs en 16 et 24 bits
6.3.2 Tester le LCD160CR
6.3.3 Autres ressources
6.4 MOD-LCD : afficheur à cristaux liquides
6.5 Encore plus d’afficheurs
6.5.1 Afficheur LCD 2 ou 4 lignes USB/série
6.5.2 ILI9341 : afficheur TFT couleur
7. Interface UART
7.1 Module GPS
7.1.1 Brancher le module GPS
7.1.2 Bibliothèque
7.1.3 Tester le module GPS
7.2 Lecteur de carte RFID
7.2.1 Brancher le module RFID
7.2.2 Bibliothèque
7.2.3 Tester le module RFID
8. Interface USB HID
8.1 Configurer l’interface USB
8.2 Fonction usb_mode()
8.3 Émuler la souris
8.4 Émuler le clavier
8.4.1 Activer le mode HID pour un clavier
8.4.2 Envoyer une pression de touche
8.4.3 Bibliothèque usbhid
8.4.4 Créer des touches copier/coller
9. Interface réseau
9.1 Module Ethernet
9.2 Module WiFi
9.2.1 ESP8266 en mode AT
9.2.2 Pyboard-D
9.3 Module Bluetooth HC-05
9.4 Support Bluetooth 4.0
I2C : petit manuel du développeur
1. Préambule
2. Introduction
3. Manipulation de données
3.1 Octet et représentation binaire
3.2 Représentation binaire et hexadécimale
3.3 Manipulation de bits
3.3.1 Activer un bit
3.3.2 Désactiver un bit
3.3.3 Tester un bit
3.3.4 Décalage à gauche
3.3.5 Décalage à droite
3.4 Bytes et bytearray
3.5 Petit boutisme (little endian) vers entier 16 bits
3.5.1 Dépasser la taille de l’octet (8 bits)
3.5.2 Petit boutisme et grand boutisme
3.6 Le complément à deux
3.7 struct à la rescousse
4. Bus I2C
4.1 Niveau d’API
4.2 Adresses I2C
4.3 Scan du bus
4.4 Conditions / Start / Stop
5. Rétroportage CircuitPython (TSL2591)
5.1 Localiser le pilote CircuitPython
5.2 Rétroportage étape par étape
5.2.1 Mise en place
5.2.2 Déroulement du portage
5.2.3 Correction des imports et commentaires
5.2.4 Correction 1 : I2CDevice -> machine.I2C
5.2.5 Correction 2 : _read_u8()
5.2.6 Correction 3 : _write_u8()
5.2.7 Correction 4 : _read_u16LE()
5.3 Et ensuite ?
6. Poursuivre l’exploration I2C
Classes MicroPython courantes
1. Les classes MicroPython en français
2. La classe ADC
2.1 Constructeur
2.2 Méthodes
3. La classe ADCAll
3.1 Constructeur
4. La classe DAC
4.1 Constructeur
4.2 Méthodes
5. La classe I2C
5.1 Constructeur
5.2 Méthodes
5.3 Méthodes - opérations primitives
5.4 Méthodes - opérations standards
5.5 Méthodes - opérations mémoire
6. La classe LCD160CR
6.1 Constructeur
6.2 Méthode statique
6.3 Propriétés
6.4 Méthodes
6.4.1 Configuration de l’écran
6.4.2 Manipulation graphique de l’écran
6.4.3 Afficher du texte
6.4.4 Dessin de primitive
6.4.5 Méthodes tactiles
6.4.6 Méthodes avancées
7. La classe Pin
7.1 Constructeur
7.2 Méthodes
8. La classe RTC
8.1 Constructeur
8.2 Méthodes
9. La classe Servo
9.1 Constructeur
9.2 Méthodes
10. La classe Signal
10.1 Constructeur
10.2 Méthodes
11. La classe SPI
11.1 Constructeur
11.2 Méthodes
12. La classe Timer
12.1 Constructeur
12.2 Méthodes
13. Classe TimerChannel
13.1 Méthodes
14. Classe UART
14.1 Constructeur
14.2 Méthodes
Annexes
1. À propos des annexes
2. Mise à jour du firmware
2.1 Pyboard originale
2.1.1 Installer dfu-util
2.1.2 Télécharger le nouveau firmware
2.1.3 Placer la carte en mode DFU
2.1.4 Tester le mode DFU
2.1.5 Flasher le nouveau firmware
2.2 Pyboard-D
3. Safe Mode et Reset Factory
3.1 Safe Mode
3.2 Factory Reset
4. Conversion des logiques 3,3 V et 5 V
4.1 Logiques TTL 5 V et CMOS 3,3 V
4.2 Sortie 3,3 V vers entrée 5 V
4.3 Sortie 5 V vers entrée 3,3 V
4.4 Conversion bidirectionnelle 5 V - 3,3 V
4.5 Niveau logique et bus I2C
4.6 Conversion et haut débit
5. PWM vers analogique
6. Plateformes MicroPython disponibles
6.1 STMicroelectronics (Pyboard et Pyboard D)
6.2 Microchip (cartes CircuitPython ATSAMD)
6.3 Espressif (cartes ESP8266)
6.4 Espressif (cartes ESP32)
6.5 Espressif (console Odroid-GO (ESP32))
6.6 STMicroelectronics (Espruino Pico)
6.7 Pycom (WiPy, LoPy, etc.)
6.8 Nordic Semiconductor (cartes Micro:bit et autres)
6.9 STMicroelectronics (cartes de développement)
6.10 NXP (Teensy)
7. Schéma de la Pyboard
Index
j'aurais préféré un livre plus orienté micro python que pyboard
Anonyme
Je ne peux pas vous répondre car je n'ai pas encore pris connaissance du livre. Bonne journée.
Anonyme
Capture écrans ……………
Anonyme
Dominique MEURISSE
Ingénieur de formation et ancien architecte logiciel, Dominique MEURISSE se passionne pour la programmation des nano-ordinateurs (Raspberry Pi, Odroid, OlinuXino) et des microcontrôleurs (Arduino, Feather, ESP, Pyboard, etc.). Ardent défenseur de Python, MicroPython ou Open-Hardware (Adafruit Industries), sa passion le pousse à participer activement à la rédaction du wiki, du blog et des fiches produits documentées du site de vente en ligne de sa société Microcontrôleur Hobby (MC Hobby SPRL). Fort de cet enthousiasme, il poursuit le partage de son savoir avec l'écriture de ses livres dédiés au langage Python sur microcontrôleur.