Buenos días a todos, tengo un pequeño problema con un proyecto que estoy llevando a cabo, estoy usando un interruptor como señal de cambio entre control manual y control por puerto serie.
En el control manual tengo dos sliders a una entrada analógica que en teoría tienen valores de 0-1023. He medido que entregue 5 V en su Vcc y su GND y en su OUT y su GND he visto como el voltaje varía conforme se va deslizando (por eso dudo mucho que sea un error de Hardware).
El problema que me surge es que cuando paso a lo mejor de un poco menos de la mitad del rango del potenciometro, ya me lee 1023, pero leyendo el voltaje de la señal con un voltímetro tiene el valor lógico, por lo que no debería leerme 1023, sino sobre 400-500.
Ahora adjunto la placa en la que van integrados y el código de control en el Arduino.
Control manual:
void Captura_Datos_Pot(void){
pot_read1=analogRead(A0);
pot_read2=analogRead(A1);
//pwm=map(pot_read1,0,1023,0,255); //Esta capado a 911 el slider como valor maximo que lee.
if (pot_read1 <540 && pot_read1>480) {
Speed_Set1=511;
}
else{
Speed_Set1 = pot_read1;
}
if (pot_read2 <540 && pot_read2>480) {
Speed_Set2=511;
}
else{
Speed_Set2 = pot_read2;
}
Speed_i2c = String (Speed_Set2);
}
Loop del interruptor
void loop() {
serie_manual = digitalRead(PIN_SELECT_MODO);
if (serie_manual == HIGH){
Captura_Datos_Pot();
Modo="1";
}
else {
Captura_Datos_Serie();
Modo="0";
}
delay(500);
Muchas gracias de antemano!!