Estoy buscando opciones para ADC en Rasbperry Pi. Me pregunto qué es posible hasta ahora. Por supuesto que fácil y barato es bueno.
Estoy buscando opciones para ADC en Rasbperry Pi. Me pregunto qué es posible hasta ahora. Por supuesto que fácil y barato es bueno.
Respuestas:
Adafruit tiene un buen tutorial sobre el uso del MCP3008 ($ 3.75) - ADC de 8 canales y 10 bits con interfaz SPI para controlar el volumen de un archivo mp3, pero debería ser un buen punto de partida para cualquier proyecto analógico a digital.
Los ADS1113, ADS1114 y ADS1115 son convertidores analógicos a digitales de precisión (ADC) con 16 bits de resolución ofrecidos en un paquete QFN-10 sin cables ultra pequeño o un paquete MSOP-10. Los ADS1113 / 4/5 están diseñados teniendo en cuenta la precisión, la potencia y la facilidad de implementación. El ADS1113 / 4/5 presenta una referencia y un oscilador integrados. Los datos se transfieren a través de una interfaz serial compatible con I²C; Se pueden seleccionar cuatro direcciones esclavas I²C. El ADS1113 / 4/5 opera desde una sola fuente de alimentación que varía de 2.0V a 5.5V.
Primero debe asegurarse de que los módulos I²C estén cargados . A continuación, conecte el ADS1115 como se muestra a continuación. Hay 4 direcciones diferentes posibles dependiendo de qué pin ADDR esté conectado. Esto significa que puede conectar un total de 16 canales a un solo bus I²C.
GND = 0x48, VDD = 0x49, SDA = 0x4A, SCL = 0X4B
Puedes ver el resultado de la última conversión como esta
# i2cget -y 0 0x49 0 w
0x0000
Aquí se devuelve el valor predeterminado de 0x0000 ya que todavía no se han realizado conversiones. Ahora echemos un vistazo al registro de configuración
# i2cget -y 0 0x49 1 w
0x8385
El LSB es el primero, por lo que es equivalente a 0b1000010110000011
Me gustaría hacer una conversión de un solo extremo en AIN0, así que necesito escribir bits [14:12] como 0b100
. es decir0b1100010110000011
# i2cset -y 0 0x49 1 0xC385 w
# i2cget -y 0 0x49 0 w
0xa30b
El LSB es el primero, por lo que es igual a 2979 decimal
Bueno, siempre que su uso deseado no exija tasas de bits o resolución súper altas, probablemente podría usar un Arduino. ¡Los Arduinos son agradables porque tienen una gran comunidad de soporte, han existido por un tiempo y la comunicación a través de USB no GPIO!
Aquí hay un enlace a la publicación del blog de Simon Monk con instrucciones sobre cómo se comunica con el Arduino desde una Raspberry Pi con python.
Además, en caso de que nunca antes haya oído hablar de un Arduino (quizás haya estado viviendo debajo de una roca) aquí hay un enlace a su página de Introducción y un ejemplo de nivel de principiante de entradas analógicas.
En un mes o dos, (debido al envío a África) obtendré una placa I2C PCF8591 que tiene el cableado WpiPi y la placa usa 3.3v (normalmente) obtuve la versión WaveShare en Amazon Amazon link De lo que yo ' He leído, el PCF8591 es bastante bueno, pero hasta que tenga la placa frente a mí, no puedo decir si es bueno o no.
Una solución interesante aquí: http://www.theremino.com/en/blog/standalone-applications/#raspberry
No solo ADC sino cualquier tipo de entrada configurable para Raspberry Pi.