Estimados,
tengo la siguiente consulta, estoy leyendo dos señales por serial y necesito que cuando envíe una letra por serial, estas señales se reseten. Por ejemplo, tengo dos señales de potenciometros que varían entre 0 y 1023, necesito que si yo envío una letra por serial el potenciometro me resetee su valor volviéndolo a 0 en la posición que quedó, con esto podre tener números negativos con respecto a la posición que quedo.
Alguien me podría orientar en como lo puedo hacer?.
int pote1 = 0;
int pote2 = 0;
void setup ()
Serial.begin(9600);
void loop()
{
pote1 = analogRead (A0);
pote2 = analogRead (A1);
if(Serial.available())
{
int estado = Serial.read();
if ( estado = 'a' )
{
int pote1Reset = pote1 - pote1Reset;
}
pote1Reset = pote1;
Creo que lo que necesita es tarar el valor de lectura en un punto.
El mismo principio de funcionamiento de una balanza.
Mira este a ver si que te parece.
int pote1 = 0;
int pote2 = 0;
int pote1tara = 0;
int pote2tara = 0;
int tara1 = 0; // tara para analógica A0
int tara2 = 0; // tara para analógica A1
void setup ()
{
Serial.begin(9600);
}
void loop()
{
pote1 = analogRead (A0);
pote2 = analogRead (A1);
if(Serial.available())
{
int estado = Serial.read();
if ( estado == 'a' )
{
tara1 = analogRead (A0);
}
if ( estado == 'b' )
{
tara2 = analogRead (A1);
}
}
pote1tara = pote1 - tara1;
pote2tara = pote2 - tara2;
}
El valor real de la analógica lo sigues teniendo en pote1 y pote2.
Y el valor despues de la puesta a 0 en un punto sería pote1tara y pote2tara, lo he puesto teniendo en cuenta que deseas poner a 0 cada analógica por separado, si no fuese así, tu mismo lo modificas.