Je suis sur un petit projet simple tournant autour d’un Atmega328p. Voilà, je voudrais que ce Mcu soit la plupart du temps en veille mode power down forever. La question que je me pose c’est est-ce que l’on peut le réveiller en faisant la chose suivante:
Je dispose sur l’entrée A0, un pont diviseur ( R + LDR), lorsque le niveau de tension est supérieure à 1,7V , le code fait passer la sortie digitale 10 à 1 relié à INT0 pour réveiller le MCU. Je compte utiliser le code à développer suivant:
Je ne comprend pas ce que tu veux faire.
Si l'atmega328 est en mode veille il ne peut pas exécuter de code donc il ne peut pas tester la tension (surtout si en plus tu dévalides l'ADC) et actionner une sortie.
Pour réveiller l'atmega328 il faudrait un comparateur externe.
Peut être que l'on peut utiliser le comparateur interne de l'atmega328. Il faudrait vérifier s'il est actif en mode sleep (je pense que oui).
Bonjour
Oui en ce qui concerne ADC je le configurais en ADC_ON. Par contre je ne savais pas qu’il y avait un comparateur interne. Je n’en ai pas mis en externe pour minimiser l’encombrement et la consommation.
Tu pourrais m’en dire un peu plus sur comment utiliser le comparateur analogique j’ai lu que c’était les pin AIN0 et AIN1 qui étaient concernés. Faut il appliquer une référence de tension sur Aref ?
J’ai cherché des exemples en vain.
Merci
Le mieux serait d’utiliser le comparateur analogique interne, merci à kamill de m’en avoir parlé. Mais j’aimerais avoir un exemple d’utilisation , un tuto ou des d’explications.
Pour répondre à ta question, en fait je lis la valeur sur A0 et je fais un traitement selon le valeur lue.
Mais je voudrais que le mcu soit en veille et se réveille quand le seuil de tension est atteint.
Ba oui, mais ta source sera toujours fluctuante, je comprends bien que si le MCU était réveiller tu pourrait faire un traitement comme une sorte de moyenne, pour amortir les fluctuations, comme le ferais un condensateur en gros.
Mais à partir du moment que ton MCU est en veille et que tu ne peux pas utiliser de code, je ne vois pas trop la différence entre utiliser un comparateur interne ou externe ou le trigger(qui est surement aussi un comparateur).
Si je peux me permettre encore une question, tu indique que la tension est fluctuante, mais de quel ordre?
Il n'y a pas un seuil ou tu peux être sûre que ta photorésistante est assez éclairer pour réveiller ton MCU ?
Désolé pour toutes ces questions, si tu trouve ça un peu hors sujet, je comprendrais
Non.
Tu mets une tension sur AiN0 et une tension sur AIN1.
Sur AIN0 tu mets le pont diviseur avec la LDR et sur AIN1 tu mets un pont diviseur qui te donnera le seuil (1.7V sur ton schéma).