5 façons simples de réinitialiser Arduino
Le téléchargement de nombreuses lignes de code contenant plusieurs boucles peut provoquer de nombreuses erreurs. La seule option pour déboguer de telles erreurs est souvent de réinitialiser l’Arduino. Comme je l’ai fait plusieurs fois, je vais vous expliquer 5 façons simples de réinitialiser Arduino.
Alors, quelles sont ces 5 façons simples de réinitialiser Arduino ? Que ce soit via le matériel : 1) en utilisant le bouton de réinitialisation ; 2) réinitialiser la broche ; 3) un bouton de réinitialisation externe ; Ou via un logiciel : 4) en utilisant la fonction de réinitialisation ; ou 5) la méthode de minuterie de surveillance.
Mais ces méthodes doivent être mises en œuvre avec beaucoup de soin, sinon vous risquez de détruire l’ensemble du tableau. À la fin de cet article, vous serez en mesure de réinitialiser correctement votre Arduino sans avoir à en acheter un nouveau.
Qu’est-ce que la réinitialisation Arduino ?
Réinitialiser votre carte Arduino revient à la débrancher puis à la rebrancher.
Lorsque vous réinitialisez votre carte Arduino, elle commence à exécuter le code de la première ligne du programme que vous avez téléchargé en effaçant précédemment tout ce qui était présent dans la ROM.
Cela revient à appuyer sur le bouton de redémarrage de votre PC. Lorsque vous redémarrez votre ordinateur, il met immédiatement fin à tous les processus en cours et redémarre le système.
L’option de réinitialisation d’Arduino permet à votre carte de redémarrer en réinitialisant la puce du microcontrôleur AVR qui y est intégrée.
Pourquoi devriez-vous réinitialiser votre Arduino ?
Les choses peuvent ne pas toujours se dérouler comme prévu et la fonction de réinitialisation permettra à votre Arduino de commencer à exécuter le programme dès le début.
1. Pour se débarrasser des bugs internes
Le code que vous avez essayé d’exécuter ne fonctionne peut-être pas à cause d’une erreur dans votre Arduino. L’option de réinitialisation vous permet de vous débarrasser de tout bug interne de votre carte.
2. Pour sortir des boucles infinies
Si votre carte Arduino ne répond plus au milieu de l’exécution d’un programme, cela signifie qu’elle est probablement coincée dans une boucle infinie, et qu’elle ne peut pas s’en sortir toute seule.
Vous devez réinitialiser votre carte Arduino pour qu’elle quitte cette boucle, ce qui est l’une des principales raisons pour lesquelles les gens utilisent l’option de réinitialisation.
3. Pour résoudre les erreurs
La réinitialisation est la première option qui vient à l’esprit d’un programmeur lorsqu’il exécute un programme basé sur Arduino. C’est la première étape du dépannage des erreurs, et la plupart du temps, la réinitialisation de la carte Arduino résout le problème.
Comment réinitialiser votre Arduino ?
Nous pouvons diviser les méthodes de réinitialisation d’Arduino en deux types : matérielle et logicielle, ce qui signifie que vous pouvez réinitialiser votre Arduino via la carte ou en utilisant l’IDE Arduino.
Ou parfois, vous devrez peut-être essayer ces deux méthodes pour vous assurer que votre programme Arduino fonctionne parfaitement.
Réinitialisation d’Arduino via le matériel
Vous pouvez réinitialiser votre Arduino via le matériel, c’est-à-dire en utilisant votre carte Arduino. Voici quelques moyens simples de procéder :
1. Utilisation du bouton de réinitialisation
Vous voyez ce petit bouton orange monté sur votre carte Arduino UNO ? Le pousser est le moyen le plus simple de réinitialiser une carte Arduino.
Ou si vous avez une autre carte, vous pourrez toujours voir un petit bouton intégré dessus. C’est le bouton de réinitialisation. Appuyer sur ce bouton arrêtera tout ce qui se passe avec votre carte Arduino et ramènera l’exécution à la première ligne de votre code.
2. Utilisation de la broche de réinitialisation
Si vous regardez attentivement votre carte Arduino, vous remarquerez une broche de réinitialisation présente juste à côté des broches d’alimentation.
On peut utiliser cette broche (marquée en rouge) pour réinitialiser la carte Arduino. Tout ce que vous avez à faire est d’établir les bons liens, c’est pourquoi j’en ai marqué deux.
Voici comment fonctionne la réinitialisation de l’Arduino à l’aide du pin :
- Connectez la broche de réinitialisation à l’une des broches d’E/S numériques de la carte (de préférence la 3,5 d’après mon expérience).
- Téléchargez un code qui réinitialise votre carte Arduino. Celui ci-dessous devrait faire l’affaire :
void setup() { // leave empty }
void loop()
{
mySetup();
while (// test application exit condition here )
{
// application loop code here
}
}
void mySetup() { //… init here }
Dans le code, vous devez définir la broche d’E/S numérique (que vous avez connectée à la broche RESET, dans ce cas, la broche 3.5) sur haut et la déclarer comme broche de sortie.
Cela signifie que lorsque le programme commence à s’exécuter, la broche 3.5 générera une sortie de niveau logique élevé et l’introduira dans la broche RESET, ce qui réinitialisera l’Arduino, et il commencera à exécuter le code à partir de la première ligne.
Si le code ci-dessus ne fonctionne pas dans votre cas, vous pouvez trouver quelques exemples supplémentaires de codes utilisés pour réinitialiser Arduino à l’aide du RESET ici (consultez la section commentaires pour voir également l’un d’entre eux avec un diagramme schématique de la carte Arduino. ).
3. Configuration d’un bouton de réinitialisation externe
Si vous ne parvenez pas à atteindre le bouton de réinitialisation de votre carte Arduino, ou s’il y a un bouclier placé sur le dessus de votre carte, vous devez alors configurer un bouton de réinitialisation externe. Tout ce dont vous avez besoin est une planche à pain, un bouton-poussoir et une paire de câbles de liaison avec votre carte Arduino.
L’application d’une basse tension pendant au moins 2 microsecondes à la broche RESET réinitialisera l’Arduino UNO, selon sa fiche technique, ce qui signifie que vous devez appliquer une basse tension à la broche RESET à l’aide du bouton-poussoir.
Pour cela, vous devez connecter le bouton-poussoir dans son état normalement ouvert avec un côté connecté à la broche RESET et l’autre côté à GND. Dans sa position normale, la broche RESET sera haute, mais dès que vous appuierez sur le bouton, elle se connectera à la broche GND et sera donc à un niveau logique bas.
Cette technique réinitialisera l’Arduino sans avoir besoin de télécharger de code sur la carte. Visitez ce site Web pour un guide plus détaillé sur la configuration d’un bouton de réinitialisation externe pour votre carte Arduino.
Réinitialiser Arduino via un logiciel
Si votre carte Arduino est inaccessible au point que vous ne pouvez y établir aucune connexion externe, vous devez alors savoir comment réinitialiser votre carte Arduino à l’aide de l’IDE Arduino.
Voici quelques moyens simples qui peuvent vous aider à réinitialiser votre carte Arduino via un logiciel.
4. Utilisation de la fonction de réinitialisation
Le moyen le plus simple de réinitialiser Arduino via la programmation consiste à utiliser la fonction de réinitialisation intégrée resetFunc(), disponible dans les bibliothèques Arduino. Tout ce que vous avez à faire est d’écrire le code et d’appeler la fonction de réinitialisation à l’adresse 0.
Ce code réinitialisera votre carte Arduino et commencera à exécuter le programme à partir de la première ligne de code.
Cette méthode est la plus simple de toutes puisqu’elle ne nécessite aucun circuit externe, seule une fonction doit être appelée et vous êtes prêt à partir.
5. La méthode de minuterie de surveillance
Un autre excellent moyen de réinitialiser votre carte Arduino consiste à utiliser la méthode du minuteur de surveillance. Cette méthode utilise la bibliothèque de surveillance pour réinitialiser Arduino au cas où le programme ne répondrait pas comme il le devrait, et elle est recommandée par le fabricant de la puce AVR. C’est donc l’un des moyens les plus privilégiés pour réinitialiser les cartes Arduino.
Le fichier d’en-tête doit être inclus pour que le minuteur de surveillance fonctionne.
Tout d’abord, une minuterie doit être activée. La durée de la minuterie peut varier de 15 millisecondes à 8 secondes, selon votre application. Par exemple, si vous devez configurer une minuterie de 30 secondes, vous écrirez wdt_enable(WDTO_30ms) .
De même, vous pouvez faire varier le nombre de secondes et les écrire à la place de « 30 ms ». La minuterie fonctionne en réinitialisant le microcontrôleur si le programme prend plus de temps à s’exécuter qu’il ne le devrait habituellement.
Par exemple, si l’exécution du programme principal doit prendre 40 ms, le temporisateur de surveillance est configuré de telle sorte que si l’exécution du programme principal prend plus de 40 ms, le microcontrôleur sera réinitialisé.
Si le programme fonctionne normalement, il réinitialisera le minuteur de surveillance avant qu’il n’atteigne zéro. Si le programme se bloque en boucle et ne parvient pas à réinitialiser le minuteur de surveillance, dans ce cas, une interruption est générée qui réinitialise l’Arduino.
Pour une explication plus détaillée et un exemple de code du minuteur de surveillance, visitez ce site Web .
Alors, êtes-vous prêt à réinitialiser votre Arduino ?
Maintenant que vous savez ce qu’il faut pour réinitialiser une carte Arduino, vous pouvez facilement réinitialiser votre Arduino s’il est coincé dans une boucle infinie ou s’il ne répond plus.
Cet article vous a présenté des méthodes de réinitialisation matérielle et logicielle. Tout ce que vous avez à faire est de vous assurer que vous exécutez correctement les techniques.
Faites-moi savoir dans les commentaires ci-dessous si vous avez essayé l’une des méthodes que j’ai décrites ici. Est-ce qu’ils ont bien fonctionné dans votre cas ?
Si ce n’est pas le cas, faites-le-nous également savoir dans la section commentaires afin que nous puissions vous donner quelques conseils utiles !