En cours Leonardo bootloader help...

jpbbricole
Compagnon
26 Mai 2016
1 905
Corsier-sur-Vevey (Vaud)
Bonjour Gaston

Un petit récapitulatif:
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.
As-tu mis des résistances de PULL-DOWN sur tes entrées de boutons, c'est la réaction typique à des entrées "en l'air" et influencées par le statique ambiant.
Si tu veux dompter ta Leonardo :smt079, mets les entrées des boutons (2,3,4,5,6) au GND ça doit arrêter l'envoi.
J'ai bien la petite Pro Micro aussi à base de 32U4 mais là, j'ai la pétoche...
Il n'y a pas de raison!
Si tu essaies avec et y compris avec une nouvelle Leonardo, n'oublies pas de mettre le commun des touches au +5V, sans résistances de PULL_UP (elles sont internes avec la commande pinMode(downButton, INPUT_PULLUP); ) . et de charger ce programme.

Bon dimanche
Cordialement
jpbbricole
 
gaston83
Compagnon
17 Février 2016
971
FR-71520
Bonjour jpbbricole,

Oui, j'ai bien noté les modifications hard. C'est fait.... c'est bon avec la petite carte car elle, est bien reconnue.

Le soucis actuel est que la Leonardo n'est plus reconnue dans le gestionnaire de périphérique donc à priori elle est morte ou alors il y a une procédure spéciale pour ressusciter l'USB de la puce 32U4 mais là... je vois pas comment, comme dirait l'autre à la Télé ....:mrbrelle:
 
gaston83
Compagnon
17 Février 2016
971
FR-71520
Bon, je passe pour l'instant avec cette carte...

J'ai un autre problème. J'explique...

J'ai aussi une carte Duemilanove que je programme sans soucis avec l'IDE Arduino. Son Bootloader, de temps en temps y fou le camp, c'est pas grave et c'est pas mon inquiétude car je le remets en place avec ProgTool et mon programmateur avrisp MKII.

Par contre il m'est impossible de téléverser ce Bootloader avec l'IDE Arduino avec ce MKII. Voilà ce qu'il me renvoi.... j'ai mis un fichier vide pour le test et même un sketch genre Blink c'est pareil.

Aurais-tu une idée...


message.JPG
 
gaston83
Compagnon
17 Février 2016
971
FR-71520
Bonsoir jpbbricole,
Tout compte fait.... j'ai passé le week sur cette p*tain de carte de m*rde... :smt021:mad: :grilled: mais c'est bon.... je l'ai sauvé ... :roxxx:

J'ai mis mon Arduino Due en programmateur ISP et j'ai tenté pour la n ième fois ....et j'ai téléversé la séquence d'initialisation. Je pense que c'est le fameux BootLoader... et ça a marché.... ne me demande pas pourquoi mais voilà....

Par contre impossible avec le myAvr MKII en ISP... pfffff là je ne vois pas, parce que lui il fonctionne super bien avec Progtool mais seulement pour Aduino Due a base d'Atmega 328.....:spamafote::god:
 
speedjf37
Compagnon
15 Octobre 2009
1 861
indre et loire
Bonsoir jpbbricole,
Tout compte fait.... j'ai passé le week sur cette p*tain de carte de m*rde... :smt021:mad: :grilled: mais c'est bon.... je l'ai sauvé ... :roxxx:

J'ai mis mon Arduino Due en programmateur ISP et j'ai tenté pour la n ième fois ....et j'ai téléversé la séquence d'initialisation. Je pense que c'est le fameux BootLoader... et ça a marché.... ne me demande pas pourquoi mais voilà....

Par contre impossible avec le myAvr MKII en ISP... pfffff là je ne vois pas, parce que lui il fonctionne super bien avec Progtool mais seulement pour Aduino Due a base d'Atmega 328.....:spamafote::god:
Bonjour,

Les mystères et les compatibilités logicielles et matérielles !

Ce qui compte c'est le résultat (et de noter la procédure qui fonctionne pour une autre fois) !

yapluka valider ce fameux émulateur de clavier USB.

JF
 
gaston83
Compagnon
17 Février 2016
971
FR-71520
Bonjour jpbbricole,

J'essai de tester ce programme pour codeur rotatif sur mon arduino Due et j'ai l' erreur " #include <Wiring.h>

// --- Programme Arduino ---
// Copyright X. HINAULT - Créé le 09/02/2011
// www.mon-club-elec.fr

// Code sous licence GNU GPL :
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License,
// or any later version.
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
//

// --- Que fait ce programme ? ---
/* Ce programme permet de tester l'utilisation d'un encodeur rotatif.
Une variable de comptage est incrémentée/décrémentée par la rotation de l'encodeur.
L'appui sur l'axe met à zéro le comptage. */

// --- Fonctionnalités utilisées ---
// Utilise Encodeur Rotatif
// Utilise interruption du Timer 2 à intervalle régulier

// --- Circuit à réaliser ---

// Encodeur rotatif contrôlé par 3 broches :
// > broche SW de l'encodeur sur la broche 5 de la carte Arduino
// > broche PhA de l'encodeur sur la broche 6 de la carte Arduino
// > broche PhB de l'encodeur sur la broche 7 de la carte Arduino

//**************** Entête déclarative *******
// A ce niveau sont déclarées les librairies, les constantes, les variables...

// --- Inclusion des librairies utilisées ---

#include <RotaryEncoder.h> // Inclusion de la librairie pour encodeur rotatif du module S65
#include <MsTimer2.h>


// --- Déclaration des constantes ---

// --- constantes des broches ---

// --- Déclaration des variables globales ---
int compt=0; // variable de comptage

// --- Déclaration des objets utiles pour les fonctionnalités utilisées ---


RotaryEncoder encodeur; // Création d'un objet RotaryEncoder appelé encodeur


//**************** FONCTION SETUP = Code d'initialisation *****
// La fonction setup() est exécutée en premier et 1 seule fois, au démarrage du programme

void setup() { // debut de la fonction setup()

// --- ici instructions à exécuter au démarrage ---

Serial.begin(115200); // initialise connexion série à 115200 bauds
// IMPORTANT : régler le terminal côté PC avec la même valeur de transmission

encodeur.init(); // initialise l'encodeur rotatif sur les broches 5,6,7 qui sont mises en entrée.
// Le rappel au plus interne est également activé (pullup)


// ------- Broches en sortie -------


// ------- Broches en entrée -------


// ------- Activation du rappel au + interne des broches en entrée si nécessaire -------

// initialisation interruption Timer 2
MsTimer2::set(1, InterruptTimer2); // période 1ms
MsTimer2::start(); // active Timer 2


} // fin de la fonction setup()
// ********************************************************************************

//*************** FONCTION LOOP = Boucle sans fin = coeur du programme *************
// la fonction loop() s'exécute sans fin en boucle aussi longtemps que l'Arduino est sous tension

void loop(){ // debut de la fonction loop()

// --- ici instructions à exécuter par le programme principal ---

// --- la gestion de l'encodeur se fait dans la routine interruption du Timer2


} // fin de la fonction loop() - le programme recommence au début de la fonction loop sans fin
// ********************************************************************************

//*************** Autres Fonctions du programme *************

void InterruptTimer2() { // debut de la fonction d'interruption Timer2

encodeur.service(); // appel de la routine de gestion de l'encodeur

int test=encodeur.step(); // lit une seule fois l'état de step

if (test==1) // si rotation + encodeur
{
compt=compt+1; // incrémente le compteur
Serial.println(compt);

}

else if (test==-1) // si rotation - encodeur
{
compt=compt-1; // décrémente le compteur
Serial.println(compt);

}

else if (encodeur.sw()==SW_PRESSED) // si appui axe encodeur
{
compt=0; // RAZ le compteur
Serial.println(compt);

}
wiring.JPG

}
// --- Fin programme -
 
speedjf37
Compagnon
15 Octobre 2009
1 861
indre et loire

Dernières discussions

Haut