Bonjour,
j'ai récemment fait l'acquisition de la Portenta H7 et de la Hat Carrier. J'ai suivi le tutorial (https://docs.arduino.cc/tutorials/portenta-h7/setting-up-portenta/), le clignotement de la LED_BUILTIN fonctionne bien mais je voudrais maintenant faire un test avec le Push Button (PB1) disponible sur la Hat Carrier qui est connecté à GPIO1. Le problème est que je ne parviens pas à trouver le numéro de broche de la pin GPIO1 lié à ce bouton (const int buttonPin = ??). La schematic de la Hat Carrier montre que GPIO1 est connecté à la broche 48 du connecteur haute densité J2 (voir image ci-dessous). Or, j'ai testé avec const int buttonPin = 48 et ce ne fonctionne pas donc je pense que la déclaration n'est pas si simple. Je suis donc aller chercher le nom du port du microcontroller, il s'agit de PC15 (voir ABX00042-full-pinout.pdf). Est-ce ce qu'il faut utiliser? Merci d'avance de votre aide!
const int buttonPin = ?; // the number of the pushbutton (PB1) pin connected to GPIO1
int buttonState = 0;
void setup() {
// initialize the LED pin as an output:
pinMode(LED_BUILTIN, OUTPUT);
// initialize the pushbutton pin as an input:
pinMode(buttonPin, INPUT);
}
void loop() {
// read the state of the pushbutton value:
buttonState = digitalRead(buttonPin);
// check if the pushbutton is pressed. If it is, the buttonState is HIGH:
if (buttonState == HIGH) {
digitalWrite(LED_BUILTIN, LOW);
delay(1000);
digitalWrite(LED_BUILTIN, HIGH);
delay(1000);
} else {
digitalWrite(LED_BUILTIN, HIGH);
}
}
Push button (x1) used to flash the bootloader by making a long press during boot. This button can also be used as a user-programmable button connected to GPIO1
je n'ai pas cette carte mais avez vous essayé simplement avec
Non, dans File > Examples > 01.Basics les programmes ne semblent pas spécifiques au portenta H7. Dans le get started du H7 (https://docs.arduino.cc/tutorials/portenta-h7/setting-up-portenta/) il demande meme de faire des modifs dans le Blink.ino alors que c'est le programme de base. Vous feriez donc: const int buttonPin = GPIO_1; ? Merci pour votre aide.
Le bouton est connecté à GPIO1 dont j'ignore la bonne declaration de pin, je ne vois pas comment essayer avec D1 ou juste 1 pourrait résoudre le problème. Si vous pouviez m'expliquer merci beaucoup.
Il faut donc passer par un "_" pour la declaration.
const PinName buttonPin = PC_15; // pushbutton (PB1) pin connected to GPIO1
int buttonState = 0;
void setup() {
// initialize the LED pin as an output:
pinMode(LED_BUILTIN, OUTPUT);
// initialize the pushbutton pin as an input:
pinMode(buttonPin, INPUT);
}
void loop() {
// read the state of the pushbutton value:
buttonState = digitalRead(buttonPin);
// check if the pushbutton is pressed. If it is, the buttonState is HIGH:
if (buttonState == HIGH) {
digitalWrite(LED_BUILTIN, LOW);
} else {
digitalWrite(LED_BUILTIN, HIGH);
}
}
Vous faites reference à cette partie de la datasheet de la Hat ? Quelle serait le risque car je n'ai pas bien compris, est-ce vraiment qu'au power up?
8.6 Board Recovery
Portenta C33 or Portenta H7: In case a sketch locks up the processor and the board is not reachable anymore via USB, bootloader mode can be accessed by double-tapping the reset button right after powering up.
Ah d'accord. Si je ne l'utilise quand single press rapide ca ne devrait pas soucis je pense. Mais ca aurait été bien d'avoir un bouton unique qui n'est pas connecté à BOOT...