Derniers sujets
[Astuce Arduino] Précaution à prendre en cas d'utilisation des librairies keyboard.h et mouse.h
Page 1 sur 1
[Astuce Arduino] Précaution à prendre en cas d'utilisation des librairies keyboard.h et mouse.h
Bonjour tout le monde,
Si vous utilisez ces librairies et qu'il y a quelque chose qui cloche dans votre programme, vous pouvez perdre le contrôle de votre PC car clavier et souris n'en feront plus qu'à leur tête. On peut bien entendu débrancher l'Arduino pour supprimer le problème, éventuellement rebooter le PC si certaines touches/boutons restent rémanents. Mais si vous rebranchez la carte, la fête recommence aussi sec. Vous ne pouvez donc plus téléverser de nouveau programme par l'IDE et la carte est bonne pour entamer une longue hibernation au fond d'un tiroir.
Je vous propose donc cette astuce toute simple à mettre en oeuvre préventivement.
Il s'agit de prévoir une porte de sortie de la boucle principale du programme, cette sortie étant activable en forçant une pin disponible à la masse.
Voilà le prototype tout bête de ce SOS :
Si vous utilisez ces librairies et qu'il y a quelque chose qui cloche dans votre programme, vous pouvez perdre le contrôle de votre PC car clavier et souris n'en feront plus qu'à leur tête. On peut bien entendu débrancher l'Arduino pour supprimer le problème, éventuellement rebooter le PC si certaines touches/boutons restent rémanents. Mais si vous rebranchez la carte, la fête recommence aussi sec. Vous ne pouvez donc plus téléverser de nouveau programme par l'IDE et la carte est bonne pour entamer une longue hibernation au fond d'un tiroir.
Je vous propose donc cette astuce toute simple à mettre en oeuvre préventivement.
Il s'agit de prévoir une porte de sortie de la boucle principale du programme, cette sortie étant activable en forçant une pin disponible à la masse.
Voilà le prototype tout bête de ce SOS :
- Code:
// affectation d'une pin libre au SOS, ici la 4
int pinSOS = 4;
void setup() {
// la pin SOS est montée à l'état haut par défaut
// il faudra la relier à la masse si l'on doit activer le traitement de secours
pinMode (pinSOS, INPUT_PULLUP);
}
void loop() {
if ((digitalRead(pinSOS) == 0)) {
// si état bas c'est que la pin est physiquement reliée à la masse
// on temporise donc 10 minutes avant de lancer le véritable traitement
// afin de pouvoir reprendre la main si problème
delay(10 * 60 * 1000);
}
// à partir d'ici vous pouvez saisir votre code comme d'habitude
}
Bruno_Picard- Messages : 2512
Date d'inscription : 28/12/2021
Sujets similaires
» [Astuce grand débutant] Visualiser un symbole de composant SPICE ou PSPICE (fichier .olb)
» Mire à barres colorées avec Arduino.
» Dépannage de volet roulant assisté par Arduino
» Mire à barres colorées avec Arduino.
» Dépannage de volet roulant assisté par Arduino
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|
Hier à 16:08 par jmespe
» Laquelle ?
Hier à 11:52 par Bruno_Picard
» Cherche VARIAC ou assimilé
Sam 18 Mai - 21:47 par Bruno_Picard
» Discret 12
Ven 17 Mai - 9:04 par dreambox59
» mise en place cms
Jeu 16 Mai - 9:48 par LePetit
» Logo Cabasse
Mer 15 Mai - 18:11 par Bruno_Picard
» Projet de VU-mètre stéréo à tubes cathodiques 902 A
Dim 12 Mai - 14:24 par Bruno_Picard
» probleme transistors montés sur un même dissipateur
Sam 11 Mai - 15:57 par Roger33