1

Topic: probleme codage

Bonjour,
quand je fais un essai avec un esp nodeMCU et que j'envoie pour mesurer une température


int temp=10;
  RemoteXY.level_1=temp;

j'ai un affichage et une connection wifi mais si je change le code



int temp=analogRead(A0)/10.23;
  RemoteXY.level_1=temp;

ma connection wifi disparait

2

Re: probleme codage

J'ai exactement le meme probleme.

Les boutons marchent, mais des que je commence a intégrer le code du port analog A0 pour qu'il affiche la valeur du potentiometre, le wifi disparait.

Voici mon code - tres basique

/////////////////////////////////////////////
//           END RemoteXY include          //
/////////////////////////////////////////////

#define PIN_SWITCH_1 D4


void setup()
{
  RemoteXY_Init ();
 
  pinMode (PIN_SWITCH_1, OUTPUT);
 
  // TODO you setup code
 
}

void loop()
{
  RemoteXY_Handler ();
 
  digitalWrite(PIN_SWITCH_1, (RemoteXY.switch_1==0)?LOW:HIGH);

  // get the value from the ADC pins A0, which will be 0..1023
  int adc = analogRead(A0); 
  // convert the ADC value to the range of values of the level
  RemoteXY.level_1 = (int)(adc / 10.24); 
 
  // TODO you loop code
  // use the RemoteXY structure for data transfer
  // do not call delay()

}

3

Re: probleme codage

C'est une limitation connue de l'esp8266, ça n'a rien à voir avec remotexy, comme c'est un microcontrôleur avec un seul coeur, il ne peut pas utiliser en permanence l'ADC (qui prend un temps relativement long à faire la conversion) ET garder le wifi actif en même temps. La solution consiste à ne pas utiliser analogRead plus d'une fois toutes les millisecondes, ou si c'est vraiment nécessaire, l'utiliser aussi vite que possible mais pendant moins de 50 ms. Ou utiliser un ESP32 qui n'a pas ce problème.