我是Go language的初學者,請提供一些步驟來讀取rpi的gpio上的溫度傳感器值。以及如何將讀取的模擬信號處理爲數字值以顯示電壓。讀取RPi的GPIO上的溫度傳感器值。步驟
1
A
回答
1
從http://www.rpiblog.com/2012/11/reading-analog-values-from-digital-pins.html
「不幸的是所有的樹莓派的17個引腳的數字,其可以輸出高電平或低電平。但是,通過使用一個簡單的電路(窮人的A/d轉換器),你可以測量使用單個GPIO引腳的多個數值級別。「
您可以做類似的指導的東西,或者AD轉換器連接到您的樹莓派。
的使用Dave Cheney's gpio
package讀取的值的實際過程由銷設置爲input
模式(實施例代碼是所有從package watch
example)
到管腳設置爲input
模式:
pin, err := gpio.OpenPin(gpio.GPIO22, gpio.ModeInput)
if err != nil {
fmt.Printf("Error opening pin! %s\n", err)
return
}
您然後通過在輸入引腳上調用BeginWatch()
來獲得HIGH或LOW值:
err = pin.BeginWatch(gpio.EdgeFalling, func() {
fmt.Printf("Callback for %d triggered!\n\n", gpio.GPIO22)
})
if err != nil {
fmt.Printf("Unable to watch pin: %s\n", err.Error())
os.Exit(1)
}
然後使用第一個鏈接中概述的步驟處理這些值,然後您將不得不創建正確的輸出信號來驅動數字顯示器(這些可能會因型號,功能和其他許多因素而有很大差異。您需要查找您使用的顯示器的參考)。
到引腳設置爲output
模式:
power, err := gpio.OpenPin(gpio.GPIO17, gpio.ModeOutput)
if err != nil {
fmt.Printf("Error opening pin! %s\n", err)
return
}
你會寫值使用Set()
高和Clear()
爲LOW輸出引腳:
power.Set()
power.Clear()
不要忘記Close()
使用後的針腳。
pin.Close()
power.Close()
相關問題
- 1. Android上的溫度傳感器
- 2. Arduino溫度傳感器
- 3. 使用lm傳感器獲取溫度
- 4. DS18B20溫度傳感器和Arduino的
- 5. 無法用arduiono套件中的溫度傳感器測量溫度值
- 6. Android模擬器上的溫度傳感器檢測
- 7. OneWire DS18B20從指定的傳感器獲取vb.net中的溫度
- 8. Galaxy s3有溫度傳感器?
- 9. 如何過濾異常溫度和溼度傳感器值
- 10. 傳感器標籤CC2650 - 讀取傳感器傳感器
- 11. 添加了溫度和溼度傳感器(DHT11)的Cosm示例
- 12. Windows Powershell有時不會輸出任何值(溫度傳感器)
- 13. 讀取I2C傳感器值(bit-banging)
- 14. rpi gpio節點在Mac上不存在
- 15. 在Arduino GBoard上使用溫度傳感器
- 16. 如何讀取OS X上的傳感器值?
- 17. usb從傳感器讀取
- 18. 樹莓派GPIO上的多個傳感器
- 19. DHT11溫度/溼度傳感器Web服務錯誤
- 20. 防水DS18B20溫度傳感器Arduino的代碼錯誤
- 21. Box2d傳感器 - 在每個步驟中的接觸回調
- 22. 如何讀取HardDisk溫度?
- 23. 在MacOSX(Macbook Pros)上以編程方式讀取CPU溫度(+其他傳感器數據)
- 24. 獲取光傳感器值
- 25. CC2530上的GPIO引腳讀取
- 26. Arduino代碼組合 - 結合溫度傳感器和蜂鳴器的最大溫度代碼
- 27. 基於蟒蛇的風和溫度獲得「感覺」溫度
- 28. 步驟1中的HTML/PHP文件上傳器,但在上一步中上傳
- 29. 如何解碼藍牙溫度傳感器
- 30. Android硬件電池溫度,傳感器在哪裏?