2017-05-01 21 views
0

我是新來的BBG /格羅夫的東西,並張貼我的原始問題在www.seeed.cc。不過,我決定在這裏發佈它以及更廣泛的觀衆。用BBG和python連接高溫傳感器?

我購買了BBG和斗篷,並試圖掛鉤High Temperature Sensor,並希望在python中做所有其他事情。

用下面的代碼(from here)...

import Adafruit_BBIO.ADC as ADC 
ADC.setup() 

value_1 = ADC.read("P9_39")  
value_1_raw = ADC.read_raw("P9_39") 
value_2 = ADC.read("P9_40")  
value_2_raw = ADC.read_raw("P9_40") 

def printout():  
     print 'value_1:', value_1  
     print 'value_1_raw:', value_1_raw  
     print 'value_2:', value_2  
     print 'value_2_raw', value_2_rawhere 

...我得到這些值:

value_1: 0.0688644722104 
value_1_raw: 283.0 
value_2: 0.288400501013 
value_2_raw 1181.0 

什麼是這些數字/單位準確,最重要的是,他們如何連接的?

而且我把C++ - 代碼從Hight_Temp.cpphere)爲導向的python腳本,但是從這些計算結果竟然是一些奇怪的值給我,我無法解釋。

我缺少什麼?

謝謝!

回答

0

read讀取0到1之間的電壓值。要達到實際電壓乘以1.8V。因此,例如,P9_40,實際電壓是0.288 * 1.8 = 0.5184 V

readread_raw是相似的,除了它們是由一個常數因子縮放(這是在https://learn.adafruit.com/setting-up-io-python-library-on-beaglebone-black/adc的底部提及)(我看到在c碼)。常數因子似乎是4095.0,即。 283.0/4095.0 = 0.0688。你可以在這裏看到從c代碼中讀取(* py_read)和read_raw(* py_read_raw)的源代碼https://github.com/adafruit/adafruit-beaglebone-io-python/blob/master/source/py_adc.c

+0

非常感謝你的澄清! – nick

+0

(但是283.0/4095.0 = 0.0691?) 但是,在https://learn.adafruit.com/setting-up-io-python-library-on-beaglebone-black/adc中,據說它會減少3.3 V與1.8V例如一個電阻分壓器。由於我沒有這樣做,我沒有想到我可以馬上申請。這是由海角還是LMV358完成的? – nick

+0

你可以向我解釋你正在測量什麼,以及你的傳感器和beagble骨頭之間放置了什麼組件? – plasmon360