🛠 Apprivoiser les connecteurs 80 broches : bouton, LED et entrée analogique
Objetivos
La Portenta H7 no tiene ni un conector Arduino clásico ni headers «standard» aptos para breadboard: su pinout pasa por dos conectores de alta densidad de 80 pines (el estándar «Arduino industrial») apilados bajo la placa, además de una huella de conector tipo MKR. Estos pares exponen UART, SPI, I²C… y también el PHY Ethernet 10/100 integrado. Este tutorial te enseña a leer un botón y un potenciómetro, y a entender el ecosistema de placas portadoras (Breakout, Max Carrier, Mid Carrier, Hat Carrier, Machine Control) que hace que el pinout sea utilizable en el taller.
Material
- 1 × Arduino Portenta H7 (o placa portadora Portenta Breakout para conectar cables fácilmente)
- 1 × botón pulsador (pin digital → GND, pull-up interno)
- 1 × potenciómetro de 10 kΩ (extremos en 3,3 V y GND, cursor en un pin analógico)
- Cables Dupont, breadboard si usas la Breakout
- Consola serie a 115200 baudios
Código completo
// bouton_potentiometre.ino — GPIO + ADC sur Portenta H7
// >
// ADC et de sorties PWM routees sur les connecteurs 80 broches — la page
// pinout officielle (JS) n'a pas pu etre verifiee ; consulte la section
// pinout de docs.arduino.cc/hardware/portenta-h7 avant de cabler.
const int BROCHE_BTN = D7; // bouton -> GND, actif a 0
const int BROCHE_ADC = A0; // curseur du potentiometre
void setup {
Serial.begin(115200);
while (!Serial) {}
pinMode(BROCHE_BTN, INPUT_PULLUP); // pull-up interne, pas de R externe
pinMode(LEDG, OUTPUT);
}
void loop {
int brut = analogRead(BROCHE_ADC); // ADC 12 bits (STM32H747 : 3 ADC)
bool appuye = (digitalRead(BROCHE_BTN) == LOW);
digitalWrite(LEDG, appuye ? HIGH : LOW);
Serial.print("adc="); Serial.print(brut);
Serial.println(appuye ? " bouton=APPUIE" : " bouton=repos");
delay(100);
}
Verificación esperada
El potenciómetro hace desfilar el valor ADC (el STM32H747 dispone de 3 convertidores ADC, 2 DAC y 2 comparadores de ultra bajo consumo), y el LED verde sigue la pulsación del botón. Punto clave del ecosistema: los conectores de 80 pines son un estándar mezzanine pin-compatible — puedes reemplazar una H7 por una H7 Lite o una X8 en la misma placa portadora, y el PHY Ethernet 10/100 también pasa por estos conectores.
Errores frecuentes
- Intentar pinchar cables Dupont directamente bajo la placa: los 80 pines son conectores mezzanine, no headers de 2,54 mm — usa la Portenta Breakout o una placa portadora (Max/Mid Carrier) para prototipar.
- Confiar en un esquema de cableado heredado de docs.portenta.io: el antiguo sitio ha muerto (DNS) y el repositorio PortentaDocs está en 404; solo la página de hardware de docs.arduino.cc es la referencia para el pinout.
- Confundir las dos filas de los conectores: cada conector de 80 pines tiene varias funciones por pin según la configuración — verifica la tabla de correspondencia oficial pin por pin.
- Alimentar un pin más allá de la tensión de la placa: >
- Botón sin pull-up y pin flotante: usa
INPUT_PULLUP, si no, el estado leído es aleatorio. - >
Otros tutoriales para esta placa
- Premier programme : installer le core et faire clignoter la LED (M7 à 480 MHz !)
- Se connecter au Wi-Fi avec le module Murata 1DX (station WPA2)
- Dual-core M7 ↔ M4 : appels de fonctions distants avec la bibliothèque RPC
- Client HTTPS/TLS : interroger une API sécurisée via le Murata 1DX
- Serveur web sur le port Ethernet 10/100 embarqué
- MicroPython + machine vision : le firmware OpenMV sur un cœur, C++ sur l'autre
Ejemplos de código para esta placa
clignotante.inoArduinobouton-poussoir.inoArduinopwm-respiration.inoArduinoentree-analogique.inoArduinomulti-uart.inoArduinocapteur-i2c-bmp280.inoArduino