Brochage et câblage de l'ESP32 de la Beaver Board
La PyBot Beaver Board est construite autour d'un module ESP32-WROOM-32. Tout ce qui suit est déjà câblé sur la carte : aucune plaque d'essai ni fil de connexion n'est nécessaire. Les élèves utilisent normalement la bibliothèque pybot ou les blocs Blockly sans jamais toucher aux numéros de GPIO ; ce tableau s'adresse aux makers, aux enseignants et à toute personne qui écrit du MicroPython brut.
Table des broches
| Fonction | GPIO ESP32 | Remarques |
|---|---|---|
| Bouton A | 33 | Pull-up, actif à l'état bas. Maintenir au démarrage pour le mode maintenance. |
| Bouton B | 25 | Pull-up, actif à l'état bas. Maintenir au démarrage pour le mode BLE seulement. |
| Bouton C | 18 | Pull-up, actif à l'état bas. Pas de connecteur. |
| Capteur de ligne gauche | 36 | Broche en entrée seulement, pull-up externe de 10 kΩ, lit bas sur une ligne foncée. |
| Capteur de ligne droit | 39 | Broche en entrée seulement, pull-up externe de 10 kΩ, lit bas sur une ligne foncée. |
| I2C interne (bus 0) SDA / SCL | 21 / 22 | Capteur de température et d'humidité SHT40 (0x44), écran OLED SSD1306 128x64 (0x3C). |
| I2C externe (bus 1) SDA / SCL | 16 / 17 | Connecteur pour capteurs additionnels. Accueille le capteur de distance VL53L4CD (0x29) s'il est installé. |
| Moteur gauche IN1 / IN2 | 13 / 12 | Pilote DRV8833, PWM 1 kHz. Le moteur gauche est monté en miroir : avancer active IN1. |
| Moteur droit IN1 / IN2 | 14 / 27 | Pilote DRV8833, PWM 1 kHz. |
| Veille du pilote moteur (nSLEEP) | 15 | Actif à l'état haut, tiré vers le bas. La bibliothèque pybot le réveille automatiquement. |
| DEL rouge / jaune / verte | 2 / 4 / 5 | Gradation PWM à 1 kHz. |
| Buzzer | 26 | Tonalités PWM. |
| Capteur de lumière (PT19) | 34 | ADC1 canal 6. Utiliser l'atténuation 11 dB pour la pleine plage. |
| Mesure de la tension de la pile | 35 | ADC1 canal 7 via un diviseur 27 kΩ / 10 kΩ (multiplier la lecture par 3,7). |
| Connecteur servomoteur | 23 | PWM 50 Hz. Broches : signal, V+, GND. |
| Broche libre analogique / numérique | 32 | Sur le connecteur de broche libre. Compatible ADC1. |
| Broche libre numérique | 19 | Plot de test seulement. |
| UART0 TX / RX | 1 / 3 | Reliés à la puce USB-UART, pas à un connecteur. |
| Bouton BOOT | 0 | Le maintenir au démarrage active le chargeur série de l'ESP32. |
Connecteurs
- PWR — JST 2 broches détrompé pour le bloc de piles (4 piles AA).
- MOT-A (gauche) et MOT-B (droit) — connecteurs JST 2 broches pour les moteurs.
- Connecteur capteur de ligne —
L/36,R/39, 3V3, GND. - Connecteur I2C externe —
SDA/16,SCL/17, 3V3, GND. - Connecteur de broche libre — GPIO 32, 3V3, GND.
- Connecteur servomoteur — signal (GPIO 23), V+, GND.
Broches à éviter dans votre propre code
- GPIO 6 à 11 sont reliés à la mémoire flash SPI du module. Les utiliser fait planter la carte.
- GPIO 0, 1, 3 et 15 sont utilisés en interne (mode de démarrage, USB-UART, veille du pilote moteur).
- GPIO 12 est une broche de configuration au démarrage. N'y ajoutez jamais de pull-up externe.
- GPIO 34, 35, 36 et 39 sont en entrée seulement et n'ont pas de pull-up interne.
- Les broches ADC2 ne peuvent pas être lues lorsque le Wi-Fi est actif. Toutes les entrées analogiques de la Beaver Board utilisent l'ADC1.
Utiliser les broches en MicroPython
import pybot
pybot.led.on("GRN") # GPIO 5
pybot.motor.forward(60) # GPIO 13/12 et 14/27, vitesse 0-100
print(pybot.light()) # GPIO 34, 0-100
print(pybot.temperature()) # SHT40 sur l'I2C interneL'accès direct fonctionne aussi :
from machine import Pin, PWM
red = Pin(2, Pin.OUT)
red.value(1)
buzzer = PWM(Pin(26), freq=2700, duty=512)Consultez la référence de la bibliothèque pybot pour toutes les fonctions.