jueves, 25 de junio de 2020

MCP3002 con wiringPi

    La librería wiringPi tiene funciones para leer voltajes usando un ADC mcp3002, para esto basta hacer una llamada a la función mcp3002Setup al inicio del programa y llamar analogRead para obtener las lecturas de los sensores conectados al mcp3002.
    Pero en la ultima versión publicada antes de ser declarado obsoleto (2.50), se le agrego un error al código que ejecuta corrimiento hacia la izquierda 8 bits, siendo que anteriormente recorría 7 bits que era lo correcto.
    Este error ocasiona lecturas erróneas, por ejemplo usando un potenciometro entre el mínimo y la mitad varia entre 3 y ~890 al pasa la mitad parece que regresa a 0 y vuelve a subir.
    Ya publique la corrección en github y envié un pull request a el github de wiringPi, aquí comparto el enlace.
https://github.com/WiringPi/WiringPi/pull/78

    La otra alternativa es crear una función equivalente para no tener que re-compilar wiringPi, por ejemplo:

No hay comentarios:

Publicar un comentario