Leer voltaje con nano every

Estoy realizando un programa para leer el valor de un sensor, el rango de voltaje es de 0 a 5v.
Creyendo que lo estaba haciendo mal he creado un pequeño programa para comprobar si hago bien la lectura,

int pot =0;  
void setup() {
  Serial.begin(9600);
}

void loop() {
 pot =analogRead(A0);
 Serial.print("Valor leido: ");
 Serial.println(pot);
 Serial.print("Voltaje: ");
 Serial.println(map(pot,0,1023,0,5));
 delay(1000);
}

Lo he probado con dos placas, pero las medidas que muestran son erróneas .
Sabeis si hay que configurar algo para esta placa?
Gracias y saludos

¿Y que es lo que da mal?

Como no nos muestras lo que obtienes...

¿A que te refieres con lecturas erróneas?

¿El valor leído que arroja pot, el valor de tensión que "traduce" map() o ambas cosas?

Recuerda que map() devuelve valores enteros, entonces solo verás 0; 1; 2; 3; 4 y 5 como respuesta (no hay decimales).

Saludos

El esperaba leer algo entre 0 y 5V, algo del tipo 2.45 pero no sabía que map lo convierte en valores enteros 0, 1, 2, 3, 4 y 5

Serial.println((float)map(pot,0,1023,0,500)/100);

Valor leido: 677
Voltaje: 3.30
Valor leido: 669
Voltaje: 3.26
Valor leido: 674
Voltaje: 3.29
Valor leido: 671
Voltaje: 3.27
Valor leido: 676
Voltaje: 3.30
Valor leido: 673
Voltaje: 3.28
Valor leido: 671
Voltaje: 3.27
Valor leido: 671
Voltaje: 3.27

¿Y si esperamos que @numero110 nos diga cuál es el error?
(¿Número será 110 ó 6 en binario? :thinking:)

:partying_face:

:laughing: :laughing: :laughing: :laughing: :laughing: :laughing:

Buena la que has hecho con map @ruilviana. Interesante el enfoque.

Resuelto el problema.

Las lecturas son las siguientes.

09:52:52.819 -> Medida: 0
09:52:52.868 -> Voltaje: 0
09:52:53.842 -> Medida: 0
09:52:53.842 -> Voltaje: 35
09:52:54.851 -> Medida: 0
09:52:54.851 -> Voltaje: 159
09:52:55.857 -> Medida: 1
09:52:55.857 -> Voltaje: 214
09:52:56.814 -> Medida: 1
09:52:56.850 -> Voltaje: 205
09:52:57.834 -> Medida: 1
09:52:57.834 -> Voltaje: 227
09:52:58.841 -> Medida: 1
09:52:58.841 -> Voltaje: 241
09:52:59.828 -> Medida: 1
09:52:59.828 -> Voltaje: 320
09:53:00.844 -> Medida: 1
09:53:00.844 -> Voltaje: 315
09:53:01.815 -> Medida: 1
09:53:01.851 -> Voltaje: 303
09:53:02.840 -> Medida: 1
09:53:02.840 -> Voltaje: 326
09:53:03.824 -> Medida: 1
09:53:03.860 -> Voltaje: 350
09:53:04.845 -> Medida: 1
09:53:04.845 -> Voltaje: 408
09:53:05.843 -> Medida: 2
09:53:05.843 -> Voltaje: 443
09:53:06.842 -> Medida: 2

sin que el potenciomentro de posición este sin movimiento .
Con un multimetro, la tensión permanece fija, sin variaciones.
Se me ocurrió ver esa señal con un osciloscopio, en este esta la señal continua pero cada cierto tiempo aparece un ruido, que puede ser de CA.
Se me ha ocurrido poner un filtro Sallen-key, y el problema se ha resulto.
Saludos.

prueba de esta manera: Serial.println((float)map(pot,0,1023,0,500)/100);

RV mineirin

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.