Rasbperry Pi에서 ADC 옵션을 찾고 있습니다. 지금까지 가능한 것이 무엇인지 궁금합니다. 물론 쉽고 저렴합니다.
Rasbperry Pi에서 ADC 옵션을 찾고 있습니다. 지금까지 가능한 것이 무엇인지 궁금합니다. 물론 쉽고 저렴합니다.
답변:
Adafruit 는 MPI3008 ($ 3.75) -SPI 인터페이스가있는 8 채널 10 비트 ADC를 사용하여 mp3 파일의 볼륨을 제어하는 방법 에 대한 유용한 자습서 를 제공하지만 모든 아날로그-디지털 프로젝트를위한 좋은 출발점을 제공해야합니다.
ADS1113, ADS1114 및 ADS1115 는 초소형 무연 QFN-10 패키지 또는 MSOP-10 패키지로 제공되는 16 비트 분해능의 정밀 아날로그-디지털 변환기 (ADC)입니다. ADS1113 / 4 / 5는 정밀성, 성능 및 구현 편의성을 염두에두고 설계되었습니다. ADS1113 / 4 / 5에는 온보드 기준 및 발진기가 있습니다. 데이터는 I²C 호환 직렬 인터페이스를 통해 전송됩니다. 4 개의 I²C 슬레이브 주소를 선택할 수 있습니다. ADS1113 / 4 / 5는 2.0V ~ 5.5V 범위의 단일 전원 공급 장치에서 작동합니다.
먼저 I²C 모듈이로드되어 있는지 확인해야합니다 . 다음으로 아래와 같이 ADS1115를 연결하십시오. ADDR이 연결된 핀에 따라 4 가지 다른 주소가 가능합니다. 즉, 총 16 개의 채널을 단일 I²C 버스에 연결할 수 있습니다.
GND = 0x48, VDD = 0x49, SDA = 0x4A, SCL = 0X4B
마지막 변환 결과는 다음과 같습니다.
# i2cget -y 0 0x49 0 w
0x0000
아직 변환이 수행되지 않았으므로 기본값 0x0000이 여기에 반환됩니다. 이제 설정 레지스터를 살펴 보겠습니다
# i2cget -y 0 0x49 1 w
0x8385
LSB가 첫 번째이므로 0b1000010110000011
AIN0에서 싱글 엔드 변환을하고 싶습니다. 따라서 비트 [14:12]를로 작성해야합니다 0b100
. 즉0b1100010110000011
# i2cset -y 0 0x49 1 0xC385 w
# i2cget -y 0 0x49 0 w
0xa30b
LSB가 첫 번째이므로 10 진수 2979와 같습니다.
원하는 용도로 높은 비트 전송률이나 해상도를 요구하지 않는 한 Arduino를 사용할 수 있습니다. Arduinos는 지원을위한 거대한 커뮤니티가 있고 잠시 동안 주변에 있었고 USB를 통한 통신은 GPIO 가 없기 때문에 좋습니다 .
다음은 Simon Monk의 블로그 게시물에 대한 링크 와 함께 Python으로 Raspberry Pi에서 Arduino와 통신하는 방법에 대한 지침입니다.
또한 Arduino에 대해 들어 본 적이없는 경우 (아마도 바위 아래에서 살았을 때) 여기 소개 페이지 와 아날로그 입력 의 초보자 수준에 대한 링크가 있습니다.
한 달 또는 두 달 안에 (아프리카로 배송으로 인해) WiringPi 사이트를 지원하는 wirepi 를 갖춘 I2C PCF8591 보드를받을 수 있으며 보드는 3.3v (일반적으로) Amazon Amazon 링크 에서 WaveShare 버전을 얻었습니다. 읽었을 때, PCF8591은 꽤 좋지만 실제로 보드를 내 앞에 놓을 때까지 좋은지 아닌지를 말할 수 없다
흥미로운 솔루션은 다음과 같습니다. http://www.theremino.com/en/blog/standalone-applications/#raspberry
ADC뿐만 아니라 Raspberry Pi를위한 모든 유형의 구성 가능한 입력 출력.