Estou procurando opções para o ADC no Rasbperry Pi. Eu estou querendo saber o que é possível até agora. Claro que fácil e barato é bom.
Estou procurando opções para o ADC no Rasbperry Pi. Eu estou querendo saber o que é possível até agora. Claro que fácil e barato é bom.
Respostas:
A Adafruit possui um bom tutorial sobre o uso do MCP3008 (US $ 3,75) - ADC de 10 bits e 8 canais com interface SPI para controlar o volume de um arquivo mp3, mas deve ser um bom ponto de partida para qualquer projeto analógico para digital.
O ADS1113, ADS1114 e ADS1115 são conversores de precisão analógico para digital (ADCs) com 16 bits de resolução oferecidos em um pacote QFN-10 ultra pequeno e sem chumbo ou em um pacote MSOP-10. O ADS1113 / 4/5 foi projetado com precisão, potência e facilidade de implementação em mente. O ADS1113 / 4/5 possui uma referência e oscilador a bordo. Os dados são transferidos através de uma interface serial compatível com I²C; quatro endereços escravos I²C podem ser selecionados. O ADS1113 / 4/5 opera a partir de uma única fonte de alimentação que varia de 2,0V a 5,5V.
Primeiro, você precisa garantir que os módulos I²C estejam carregados . Em seguida, conecte o ADS1115 como mostrado abaixo. Existem 4 endereços diferentes possíveis, dependendo de qual pino ADDR está conectado. Isso significa que você pode conectar um total de 16 canais a um único barramento I²C.
GND = 0x48, VDD = 0x49, SDA = 0x4A, SCL = 0X4B
Você pode ver o resultado da última conversão como esta
# i2cget -y 0 0x49 0 w
0x0000
O padrão 0x0000 é retornado aqui, pois nenhuma conversão foi realizada ainda. Agora vamos dar uma olhada no registro de configuração
# i2cget -y 0 0x49 1 w
0x8385
O LSB é o primeiro, então isso é equivalente a 0b1000010110000011
Eu gostaria de fazer uma conversão de extremidade única em AIN0, então preciso escrever os bits [14:12] como 0b100
. ie0b1100010110000011
# i2cset -y 0 0x49 1 0xC385 w
# i2cget -y 0 0x49 0 w
0xa30b
O LSB é o primeiro, então é igual a 2979 decimal
Bem, desde que o uso desejado não exija taxas de bits ou resolução super altas, você provavelmente poderia apenas usar um Arduino. Os arduinos são bons porque têm uma enorme comunidade de suporte, já existem há algum tempo e a comunicação via USB não GPIO!
Aqui está um link para o post de Simon Monk com instruções sobre como ele se comunica com o Arduino a partir de um Raspberry Pi com python.
Também, caso você nunca tenha ouvido falar de um Arduino antes (talvez você esteja morando embaixo de uma rocha), aqui está um link para a página de Introdução e um exemplo de entradas analógicas para iniciantes .
Em um mês ou dois, (devido ao transporte para a África) eu vou estar recebendo uma placa PCF8591 I2C que tem apoio wiringpi local WiringPi ea 3.3v usos de tabuleiro (tipicamente) Eu tenho a versão Waveshare na amazon ligação Amazon Pelo que eu' eu li, o PCF8591 é bem legal, mas até eu ter a placa na minha frente, não sei dizer se é bom ou não
Uma solução interessante aqui: http://www.theremino.com/en/blog/standalone-applications/#raspberry
Não apenas o ADC, mas qualquer tipo de saída de entrada configurável para o Raspberry Pi.