我正在尋找Raspberry Pi上ADC的選項。我想知道到目前為止有什麼可能。當然簡單又便宜是好的。
我正在尋找Raspberry Pi上ADC的選項。我想知道到目前為止有什麼可能。當然簡單又便宜是好的。
Adafruit有一個不錯的 tutorial,它介紹瞭如何使用 MCP3008($ 3.75)-具有SPI接口的8通道10位ADC來控制體積的mp3文件,但它應該為您提供任何從模擬到數字項目的良好起點。
ADS1113,ADS1114和 ADS1115是精密的模數轉換器(ADC),具有16位分辨率採用超小型無鉛QFN-10封裝或MSOP-10封裝。 ADS1113 / 4/5在設計時就考慮了精度,功率和易於實現的問題。 ADS1113 / 4/5具有板載基準和振盪器。數據通過兼容I²C的串行接口進行傳輸;可以選擇四個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 w0x0000
默認值為0x0000為由於尚未執行任何轉換,因此返回此處。現在讓我們看一下配置寄存器
#i2cget -y 0 0x49 1 w0x8385
首先是LSB,所以等效於 0b1000010110000011
我想對AIN0進行單端轉換,因此我需要將位[14:12]寫為 0b100
。即 0b1100010110000011
#i2cset -y 0 0x49 1 0xC385 w#i2cget -y 0 0x49 0 w0xa30b
LSB是首先,所以它等於小數點2979
只要您不希望使用超高比特率或分辨率,就可以使用Arduino。 Arduino之所以不錯,是因為它們擁有龐大的支持社區,已經存在了一段時間,並且可以通過USB 沒有GPIO進行通訊!
這裡有一個鏈接,用於西蒙·蒙克(Simon Monk)的博客文章,其中說明了他如何使用python從Raspberry Pi與Arduino通信。
以防萬一,您可能從未聽說過Arduino(也許您以前從未聽說過Arduino)生活在一塊岩石下),這是其簡介頁面的鏈接,以及初學者水平的模擬輸入示例。
類似於使用Arduino,但是連接到RPi UART的PICAXE設備又如何呢?這將更小且更便宜。在我看來,Arduino取決於您的實際需求。
在一兩個月內(由於運往非洲),我將獲得一個具有connectionpi支持 WiringPi站點的I2C PCF8591板,並且該板使用3.3v(通常), Amazon鏈接上的WaveShare版本,據我所讀,PCF8591相當不錯,但直到我真正拿到板子之前,我不能說它是否好
這裡有一個有趣的解決方案: http://www.theremino.com/en/blog/standalone-applications/#raspberry
不僅ADC,而且任何類型的可配置Raspberry Pi的輸入輸出。