🛠 Apprivoiser les connecteurs 80 broches : bouton, LED et entrée analogique
Objectifs
La Portenta H7 n'a ni connecteur Arduino classique ni breadboard-friendly headers « standard » : son brochage passe par deux connecteurs haute densité 80 broches (le standard « Arduino industrial ») empilés sous la carte, plus une empreinte de connecteur type MKR. Ces paires exposent UART, SPI, I²C… et aussi le PHY Ethernet 10/100 embarqué. Ce tuto t'apprend à lire un bouton et un potentiomètre, et à comprendre l'écosystème de porteuses (Breakout, Max Carrier, Mid Carrier, Hat Carrier, Machine Control) qui rend le brochage utilisable en atelier.
Matériel
- 1 × Arduino Portenta H7 (ou porteuse Portenta Breakout pour brancher des fils facilement)
- 1 × bouton poussoir (broche digitale → GND, pull-up interne)
- 1 × potentiomètre 10 kΩ (extrémités sur 3,3 V et GND, curseur sur une broche analogique)
- Câbles Dupont, breadboard si tu utilises la Breakout
- Console série 115200 bauds
Code complet
// 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 être vérifiée ; 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 potentiomètre
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);
}
Vérification attendue
Le potentiomètre fait défiler la valeur ADC (l'STM32H747 dispose de 3 convertisseurs ADC, 2 DAC et 2 comparateurs ultra-basse consommation), et la LED verte suit l'appui du bouton. Point clé de l'écosystème : les connecteurs 80 broches sont un standard mézzanine pin-compatible — tu peux remplacer une H7 par une H7 Lite ou une X8 sur la même porteuse, et le PHY Ethernet 10/100 passe aussi par ces connecteurs.
Erreurs fréquentes
- Essayer de piquer des Dupont directement sous la carte : les 80 broches sont des connecteurs mézzanine, pas des headers 2,54 mm — utilise la Portenta Breakout ou une carrier (Max/Mid Carrier) pour prototyper.
- Se fier à un schéma de piquage hérité de docs.portenta.io : l'ancien site est mort (DNS) et le dépôt PortentaDocs est en 404 ; seule la page hardware de docs.arduino.cc fait foi pour le pinout.
- Confondre les deux rangées des connecteurs : chaque connecteur 80 broches porte plusieurs fonctions par broche selon la configuration — vérifie la table de correspondance officielle broche par broche.
- Alimenter une broche au-delà de la tension de la carte : >
- Bouton sans pull-up et broche qui flotte : utilise
INPUT_PULLUP, sinon l'état lisé est aléatoire. - >
Autres tutoriels pour cette carte
- 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
Exemples de code pour cette carte
clignotante.inoArduinobouton-poussoir.inoArduinopwm-respiration.inoArduinoentree-analogique.inoArduinomulti-uart.inoArduinocapteur-i2c-bmp280.inoArduino