Hola:
Quiero usar dos entradas analógicas. Lo que no se si habrá problemas entre ellas. He usado uno que datos del 0 al 1023, luego el 0 a 5V y el de 0 a 100 % que muestra por el Serial Monitor.
Su código base para una entrada analógica es este.
int valorPot=0;
float voltajePot=0;
// float Porcentaje=0;
void setup(){ Serial.begin(115200); }
void loop(){
valorPot=analogRead(2);
voltajePot=valorPot*(5.0/1023.0);
Porcentaje=valorPot*(100.0/1023.0);
Serial.println(voltajePot);
Serial.println(Porcentaje);
Serial.println(valorPot);
delay(100); // 4 segundos.
}
Para dos entradas analógicas hice este código:
int valorPot1=0;
float voltajePot1=0;
float Porcentaje1=0;
int valorPot2=0;
float voltajePot2=0;
float Porcentaje2=0;
void setup(){ Serial.begin(115200); }
void loop(){
valorPot1=analogRead(1);
valorPot2=analogRead(2);
voltajePot1=valorPot1*(5.0/1023.0);
Porcentaje1=valorPot1*(100.0/1023.0);
Serial.print("P1 ");
Serial.print(voltajePot1);
Serial.print(" V. ");
Serial.print(Porcentaje1);
Serial.print(" % ");
Serial.println(valorPot1);
delay(100); // 4 segundos.
voltajePot2=valorPot2*(5.0/1023.0);
Porcentaje2=valorPot2*(100.0/1023.0);
Serial.print("P2 ");
Serial.print(voltajePot2);
Serial.print(" V. ");
Serial.print(Porcentaje2);
Serial.print(" % ");
Serial.println(valorPot2);
delay(100); // 4 segundos.
}
En el cual me funciona de maravilla para el monitor serial.
Los datos que tengo que enviar para Visual Studio .net tiene que ser algo así de limpio.
int valorPot1=0;
float voltajePot1=0;
int valorPot2=0;
float voltajePot2=0;
void setup(){ Serial.begin(115200); }
void loop(){
valorPot=analogRead(1);
valorPot=analogRead(2);
Serial.print(valorPot1);
// delay(100); // 4 segundos.
Serial.print(valorPot2);
delay(100); // 4 segundos.
}
Ya que el propio Visual Studio .net sea C#, VB .net o C++ lee del 0 al 1023 de cada potenciómetro. Como llega datos así de simple. No se si hay alguna manera para que lo pueda identificar.
¿Qué opinan?
Saludos.