En cours Leonardo bootloader help...

  • Auteur de la discussion gaston83
  • Date de début
gaston83
gaston83
Compagnon
17 Fev 2016
1 501
FR-71520
  • Auteur de la discussion
  • #1
Bonjour à tous,

Me revoilà... avec un Arduino Leonardo reçu hier.

J'ai fait quelques manip et j'ai téléverser un test d'émulation clavier .... ça fonctionne, c'est déjà bien.

J'ai fais une modification, j'ai téléversé et ... la Leonardo c'est mise à envoyer le même caractère en continu alors que je n'appui même pas sur le bouton de ma carte prototype.

Donc là je suis bloqué étant donné que cette folle émet sans arrêt. Dés que je branche la carte, banzaï... elle balance...

Je voudrais remettre en place le bootloader... mais lequel et où le trouver ?
 
S
speedjf37
Compagnon
15 Oct 2009
2 225
indre et loire
J'ai fais une modification, j'ai téléversé et ... la Leonardo c'est mise à envoyer le même caractère en continu alors que je n'appui même pas sur le bouton de ma carte prototype.
Bonjour,

A partir du moment ou la carte est passée en mode émulation de clavier , elle se comporte comme un clavier et essaie de s'identifier sur l'USB.

Normalement il doit s'installer un périphérique USB de type "HID".

Il y a 2 ports sur le Léonardo:
With the Leonardo environment, there are two available serial ports; one is the emulated VCP port through the USB connection, the other is the hardware UART on the microcontroller itself.

On doit pouvoir accéder au téléchargement avec le port UART.

PS) pas chez moi pour faire un test
JF
 
gaston83
gaston83
Compagnon
17 Fev 2016
1 501
FR-71520
  • Auteur de la discussion
  • #3
Bonjour,

With the Leonardo environment, there are two available serial ports; one is the emulated VCP port through the USB connection, the other is the hardware UART on the microcontroller itself.
Tout à fait... je dois me servir du port ISP pour reprogrammer le bootloader. C'est ce que je fais pour une Duemilanove équipé d'un atmega328.

Là, je cherche " le bootloader" qui va bien pour la Leonardo....
 
jpbbricole
jpbbricole
Compagnon
26 Mai 2016
2 249
Corsier-sur-Vevey (Vaud)
Bonjour Gaston

As-tu essayé la manip de reset comme celle-ci?
  1. Prepare the basic empty program (empty setup, loop, etc.)
  2. Compile it.
  3. Reset the Arduino using the hardware button on the chip
  4. Press Ctrl + U to upload your code.
  5. If unsuccessful - got to 3.
Cordialement
jpbbricole
 
S
speedjf37
Compagnon
15 Oct 2009
2 225
indre et loire
Voilà ce que j'utilise comme programmateur...
Je suppose que la procédure est :

choix programmateur :
AVRISP mkII

puis :
graver la séquence d'initialisation

JF
 
gaston83
gaston83
Compagnon
17 Fev 2016
1 501
FR-71520
  • Auteur de la discussion
  • #8
Bonjour jpbbricole,

Voilà ce que j'utilise comme programme avec le programmateur

Capture.JPG
 
gaston83
gaston83
Compagnon
17 Fev 2016
1 501
FR-71520
  • Auteur de la discussion
  • #9
et le maga32U4 est bien reconnu.... mais il me faudrait le bootloader en .hex

2.JPG
 
jpbbricole
jpbbricole
Compagnon
26 Mai 2016
2 249
Corsier-sur-Vevey (Vaud)
Bonjour Gaston

Je ne comprends pas pourquoi recharger le bootloader.
Fais la manip de reset depuis l'IDE Arduino, j'ai "récupéré" un Leonardo ainsi.

Mets le programme qui a provoqué ton problème en ligne et j'essayerai de provoquer le problème.
J'ai fais une modification, j'ai téléversé et ... la Leonardo c'est mise à envoyer le même caractère en continu alors que je n'appui même pas sur le bouton de ma carte prototype.
Quelle modification?
Est-ce-que l'entrée du bouton est bien polarisée, PULL_UP ou résistance?

Cordialement
jpbbricole
 
S
speedjf37
Compagnon
15 Oct 2009
2 225
indre et loire
Je suppose que la procédure est :

choix programmateur :
AVRISP mkII

puis :
graver la séquence d'initialisation

JF
je proposai d'utiliser simplement l'IDE arduino et j'ai l'impression qu'il possède les bootlooder (pas vérifié)
 
gaston83
gaston83
Compagnon
17 Fev 2016
1 501
FR-71520
  • Auteur de la discussion
  • #12
oups
 
jpbbricole
jpbbricole
Compagnon
26 Mai 2016
2 249
Corsier-sur-Vevey (Vaud)
Est-ce-que elle apparaît, de façon stable, dans le gestionnaire de périfériques?
Mets ton code qui a provoqué le problème, en ligne.

Cordialement
jpbbricole
 
gaston83
gaston83
Compagnon
17 Fev 2016
1 501
FR-71520
  • Auteur de la discussion
  • #15
Est-ce-que elle apparaît, de façon stable, dans le gestionnaire de périfériques?
Non, y a plus rien

Le code:

#define <Keyboard.h>

// set pin numbers for the five buttons:
const int upButton = 2;
const int downButton = 3;
const int leftButton = 4;
const int rightButton = 5;
const int mouseButton = 6;

void setup() { // initialize the buttons' inputs:
pinMode(upButton, INPUT);
pinMode(downButton, INPUT);
pinMode(leftButton, INPUT);
pinMode(rightButton, INPUT);
pinMode(mouseButton, INPUT);

Serial.begin(9600);

Keyboard.begin();
}

void loop() {


// use the pushbuttons to control the keyboard:
if (digitalRead(upButton) == HIGH) {
Keyboard.write('u');
}
if (digitalRead(downButton) == HIGH) {
Keyboard.write('d');
}
if (digitalRead(leftButton) == HIGH) {
Keyboard.write('l');
}
if (digitalRead(rightButton) == HIGH) {
Keyboard.write('r');
}
if (digitalRead(mouseButton) == HIGH) {
Keyboard.write('m');
}
}
 
jpbbricole
jpbbricole
Compagnon
26 Mai 2016
2 249
Corsier-sur-Vevey (Vaud)
Quand tu connectes et déconnectes le Leonardo, est-ce-qu'il y a une activité dans dans le gestionnaire de périfériques?
 
jpbbricole
jpbbricole
Compagnon
26 Mai 2016
2 249
Corsier-sur-Vevey (Vaud)
Déjà changé de câble, de port USB ?
 
jpbbricole
jpbbricole
Compagnon
26 Mai 2016
2 249
Corsier-sur-Vevey (Vaud)
S'il ne déclenche aucune activité dans le gestionnaire, c'est qu'il a pris une "secouée", je ne comprends plus!
Il n'y vraiment aucune activité ou cela monte et descend régulièrement?

Cordialement
jpbbricole
 
gaston83
gaston83
Compagnon
17 Fev 2016
1 501
FR-71520
  • Auteur de la discussion
  • #21
et voilà... mais pourquoi... pfffffff

Il n'y vraiment aucune activité ou cela monte et descend régulièrement?
rien .... que dalle , d'ou mon idée de lui recoller le bootloader. mais il me le faut en .hex. J'utiliserais ProgTool comme je fais pour la Due Arduino.
 
gaston83
gaston83
Compagnon
17 Fev 2016
1 501
FR-71520
  • Auteur de la discussion
  • #25
C'est pas grave... je vais fouiller d'avantage.

Par contre pour le code, qu'en penses-tu ?
 
jpbbricole
jpbbricole
Compagnon
26 Mai 2016
2 249
Corsier-sur-Vevey (Vaud)
Salut Gaston
Par contre pour le code, qu'en penses-tu ?
Je vais l'essayer, par contre, j'ai une question, as-tu mis des résistances de polarisation entre les entrées des boutons et le GND, si oui de quelle valeur.

Un peu plus tard (après la sieste :smt015)
J'ai testé le programme

il n'y a qu'une erreur:
#define <Keyboard.h>
au lieu de
#include <Keyboard.h>
ce qui empêche la compilation.

J'ai ajouté:
Serial.begin(9600);
while (!Serial) {}
Cette ligne, sur un Leonardo, doit être ajoutée, sans ça, si tu veux faire un Serial.print... rapidement après le Serial.begin, il risque de ne rien se passer.

Sur le fond du programme, le fait de tester si l'entrée == HIGH oblige de mettre, sur chaque entrée, une résistance pour "tirer" l'entrée ver le LOW.
Il est plus pratique de déclarer l'entrée pinMode(upButton, INPUT_PULLUP); et ainsi de profiter des résistances internes (PULL_UP "tirer" ver le haut) et de par là, mettre le commun des boutons au GND.

J'ai, un peu, réaménagé le programme, sinon les touches se répètent à toute vitesse. Le défaut actuel de ce programme, est qu'il faut changer de touche entre chaque pression pour que cela fonctionne.
Mais il serait très facile de faire évoluer tout ça.

A+
Cordialement
jpbbricole
 
Dernière édition:
gaston83
gaston83
Compagnon
17 Fev 2016
1 501
FR-71520
  • Auteur de la discussion
  • #27
Bonsoir jpbbricole,

.... et merci pour ta patience et pour les modifications... comme on dit "il vaut mieux un qui sait que dix qui cherchent" :smt038

Maintenant, je vais attendre de recevoir la nouvelle carte car à priori elle est bel et bien vraquée.... pourquoi ???? j'en ai aucune idée.... le proc 32U4 est bien reconnu par ProgTool mais pas moyen de faire rentrer un quelconque bootloader, ma foi.....

J'ai bien la petite Pro Micro aussi à base de 32U4 mais là, j'ai la pétoche...

Je te tiens au courant...
Merci bon week
 
S
speedjf37
Compagnon
15 Oct 2009
2 225
indre et loire
Maintenant, je vais attendre de recevoir la nouvelle carte car à priori elle est bel et bien vraquée.... pourquoi ???? j'en ai aucune idée.... le proc 32U4 est bien reconnu par ProgTool mais pas moyen de faire rentrer un quelconque bootloader, ma foi.....
gaston83 as tu essayé avec l'IDE arduino ?

JF
 
gaston83
gaston83
Compagnon
17 Fev 2016
1 501
FR-71520
  • Auteur de la discussion
  • #29
gaston83 as tu essayé avec l'IDE arduino ?
Oui, mais le problème c'est que l'USB n'est pas reconnu .... aucun port COM ne s'ouvre dans le gestionnaire de périphériques... :confused:
 
jpbbricole
jpbbricole
Compagnon
26 Mai 2016
2 249
Corsier-sur-Vevey (Vaud)
Salut Gaston
Question, dans ton montage, as-tu des résistances de polarisation sur tes entrées de boutons ?

Bonne soirée
jpbbricole
 
Haut