De l'aide pour mon programme


désolé pour le titre très abstrait, mais je n'avais pas de manière de formuler ça sans donner une "fausse piste". je voudrais faire un programme qui execute son code normalement, tout en ayant toujours un oeil sur le courant d'une pin (qui serait reliée à un capteur, pour un couvercle) de sorte que si le capteur ne détecte plus ce qu'il a détecter( donc si le couvercle est ouvert), le programme s'arrête de fonctionner pour se mettre en pause et afficher sur le lcd qu'il faut refermer le couvercle. j'ai essayé de refaire ça https://www.lambot.info/interruptions-multiples-sur-arduino/ le schéma sous "interruption simple" avec ce code :
#include "liquidcrystal.h"
liquidcrystal lcd(9, 8, 6, 5, 4, 3);
int pin = 13;
volatile int state = low; // déclartion d'une variable volatile

 void test () {
  lcd.print("ok!");
  lcd.clear();
 }
void setup()
{
  lcd.begin(16,2);
 pinmode(pin, output);
 attachinterrupt(0, test, change); // attache l'interruption externe n°0 à la fonction blink
}
 
void loop()
{
lcd.print("non");
lcd.clear();
delay(5000);
}
 

mais le lcd bug et affiche des symboles sigma puis se met à afficher n'importe quoi au bout d'un temps; comment faire svp ?

hello
bon, c'est noel

testes ce code
code: [select]
#include "liquidcrystal.h"
//                rs  en d4 d5 d6 d7
liquidcrystal lcd( 9, 8, 6, 5, 4, 3); //on supposse que tu bien cablé
int pin = 13;
int entree_interruptible = 2;//d2
volatile int state = false; // déclartion d'une variable volatile

 void test () {
  state=!state;
 }
void setup()
{
  lcd.begin(16,2);
 pinmode(pin, output);
 attachinterrupt(0, test, change); // attache l'interruption externe n°0 à la fonction blink
}
 
void loop()
{
  if(state==true){
    lcd.print("interruption!");
    while (state==true){digitalwrite(pin,high);}// on attend que d2 rechange d'état
    }
else{lcd.print("pas d'interruption");digitalwrite(pin,low);}//cette ligne n'est pas obligatoire

//ici, je fais autre chose
}
 


Arduino Forum > International > Français (Moderators: jfs, Snootlab) > De l'aide pour mon programme


arduino

Comments

Popular posts from this blog

Error compiling for board Arduino/Genuino Uno.

Installation database is corrupt

esp8266 (nodemcu 0.9) client.write très lent ???