Problème pour réveiller le système arduino

Bonjour,

je voudrais réveiller le système arduino lorsqu'il détecte une interruption puis le rendormir si il n'en détecte pas, Voici ce que j'ai fait et je ne comprend pas pourquoi le système ne veut pas se réveiller :

ps: le programme est aussi en pièce jointe

Merci d'avance pour vos réponses, Cordialement

Bonjour

Commencez par utilisez les Tags de code autour de votre code et indentez Le correctement (ctrl-T dans l'IDE avant de copier)

Lisez ce très bon dossier (en anglais) et tout deviendra simple :)

(Pour info - pas un vrai problème ici - millis() n'est pas maintenue jour dans les interruptions, micros() l'est)

Bonsoir , merci d'avoir répondu, j'ai fais les modifications.

Vous voulez dire que j'ai juste à remplacer millis() par micros() ?

Bonsoir - aucune modif…
Non c’était juste une info pour millis(), comme je l’ai dit dans votre cas ce nest pas le pb

D’accord , merci et au premier coup d’œil vous n’avez une idée de l’erreur ?

Ou passez vous en mode sleep?

je passe en mode sleep dans le setup avec l'appel de la fonction sleepPwrDown(); et dans cette fonction normalement dès qu'il détecte une interruption il devrait se réveiller

c'est ridicule de modifier votre code dans votre premier post suite aux questions... on ne comprend plus rien à la discussion ensuite...

avez vous lu le dossier recommandé? vous pouvez aussi lire celui ci

excusez moi mais je n’avais pas fait attention lors du copiage de mon code .

En effet j’ai vu cette page , je m’en suis même inspiré . J’ai aussi essayé avec la page que vous m’aviez précédemment cité . Aucun résultat…

et qu'est qui ne fonctionne pas?

vous êtes conscient que vous mettez votre micro-controller en sleep dans le setup. Avec la pin 2 en INPUT_PULLUP vous réveillez l'arduino en connectant la PIN 2 à Ground; une fois la pin 2 connectée, votre code démarre et chaque fois que vous basculez de GND à 5V vous faites une transition et la variable i augmentera et s'affichera... bien sûr l'arduino ne se remet pas en sommeil puisque rien ne lui dit de le faire donc "Pas de contact" va défiler

le problème est que le système se met bien en veille mais lorsque j’actionne mon “contact” (bouton poussoir) et ne se produit ou s’affiche il reste en sleep , je voudrais le réveiller lorsque le contact se fait

j’ai essayé et ça fonctionne sans problème;

virer votre bouton, branchez simplement un fil dans votre pin #2 et connectez le à GND. la pin 2 est à LOW

chargez le programme et ouvrez la console vous verrez que rien ne se passe. votre arduino est en sleep

ensuite déconnectez le fil → comme vous êtes en PULLUP, la pin prend la valeur HIGH ce qui est un changement d’état, ça réveille votre arduino et vous verrez “Pas de contact” qui commence à défiler.

connectez le fil vers 5V puis remettez le fil de GND → vous verrez votre i qui commence à s’incrémeter et l’affichage dira 1, puis “Pas de contact” qui continue à défiler

recommencez - branchez sur +5V puis remettez le à GND et vous verrez votre compteur s’incrémenter (affichage de 2) puis à nouveau “Pas de contact”. recommencez l’experience et votre compteur passe à 3, 4 etc …

voilà à qui ressemble ma console en le faisant assez rapidement (rien d’affiché tant que je ne retire pas le fil de GND)

</sub> <sub>Pas de contact Pas de contact Pas de contact Pas de contact Pas de contact Pas de contact Pas de contact Pas de contact 1 Pas de contact Pas de contact Pas de contact Pas de contact Pas de contact 2 Pas de contact Pas de contact Pas de contact Pas de contact Pas de contact Pas de contact Pas de contact Pas de contact Pas de contact 3 Pas de contact Pas de contact Pas de contact Pas de contact Pas de contact Pas de contact 4 Pas de contact Pas de contact Pas de contact Pas de contact Pas de contact 5 Pas de contact Pas de contact Pas de contact Pas de contact Pas de contact 6 Pas de contact Pas de contact Pas de contact Pas de contact Pas de contact 7 Pas de contact Pas de contact Pas de contact Pas de contact Pas de contact Pas de contact 8 Pas de contact Pas de contact Pas de contact Pas de contact Pas de contact</sub> <sub>

Pour ma part rien ne se passe , il est toujours en sleep lorsque que je le débranche du GND ou si je le met sur 5V , peut etre un problème de librairie ?

Repostez le code que vous utilisez et décrivez ce qui est branché sur votre ARDUINO et quel type d'arduino vous utilisez

Le résultat ci dessus est pour un uno R3 alimenté par USB avec juste un fil branché sur la pin #2 numérique branchée soit sur la pin GND soit sur la pin 5V

J'utilise la carte Arduino mega 2560 alimenté par le câble USB et pour l'instant j'ai seulement un câble qui relis le GND à la pin 2 (DIGITAL PWM)

j'ai eu l'occasion de tester avec une carte arduino UNO R3 et en effet cela marche parfaitement .. ce problème viens donc de la carte ..