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

FonctionGPIO ESP32Remarques
Bouton A33Pull-up, actif à l'état bas. Maintenir au démarrage pour le mode maintenance.
Bouton B25Pull-up, actif à l'état bas. Maintenir au démarrage pour le mode BLE seulement.
Bouton C18Pull-up, actif à l'état bas. Pas de connecteur.
Capteur de ligne gauche36Broche en entrée seulement, pull-up externe de 10 kΩ, lit bas sur une ligne foncée.
Capteur de ligne droit39Broche en entrée seulement, pull-up externe de 10 kΩ, lit bas sur une ligne foncée.
I2C interne (bus 0) SDA / SCL21 / 22Capteur de température et d'humidité SHT40 (0x44), écran OLED SSD1306 128x64 (0x3C).
I2C externe (bus 1) SDA / SCL16 / 17Connecteur pour capteurs additionnels. Accueille le capteur de distance VL53L4CD (0x29) s'il est installé.
Moteur gauche IN1 / IN213 / 12Pilote DRV8833, PWM 1 kHz. Le moteur gauche est monté en miroir : avancer active IN1.
Moteur droit IN1 / IN214 / 27Pilote DRV8833, PWM 1 kHz.
Veille du pilote moteur (nSLEEP)15Actif à l'état haut, tiré vers le bas. La bibliothèque pybot le réveille automatiquement.
DEL rouge / jaune / verte2 / 4 / 5Gradation PWM à 1 kHz.
Buzzer26Tonalités PWM.
Capteur de lumière (PT19)34ADC1 canal 6. Utiliser l'atténuation 11 dB pour la pleine plage.
Mesure de la tension de la pile35ADC1 canal 7 via un diviseur 27 kΩ / 10 kΩ (multiplier la lecture par 3,7).
Connecteur servomoteur23PWM 50 Hz. Broches : signal, V+, GND.
Broche libre analogique / numérique32Sur le connecteur de broche libre. Compatible ADC1.
Broche libre numérique19Plot de test seulement.
UART0 TX / RX1 / 3Reliés à la puce USB-UART, pas à un connecteur.
Bouton BOOT0Le 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 interne

L'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.