|
對(duì)于喜歡登山的人來(lái)說(shuō),都會(huì)非常關(guān)心自己所處的高度跟溫度,海拔高度的測(cè)量方法,海拔測(cè)量一般常用的有兩種方式,一是通過(guò)GPS全球定位系統(tǒng),二是通過(guò)測(cè)出大氣壓,根據(jù)氣壓值算出海拔高度。
BMP180是一直常見的氣壓傳感器,BMP180是一款高精度、小體積、超低能耗的壓力傳感器,可以應(yīng)用在移動(dòng)設(shè)備中,它的性能卓越,精度最低可以達(dá)到0.03hPa,并且耗電極低,只有3μA;BMP180采用強(qiáng)大的8-pin陶瓷無(wú)引線芯片承載(LCC)超薄封裝,可以通過(guò)I2C總線直接與各種微處理器相連。蘿卜教育tpyboard。com
我們用TPYBoard v102跟BMP180氣壓傳感器和OLED液晶屏制作一個(gè)簡(jiǎn)易的家庭氣象站,檢測(cè)屋內(nèi)氣壓、溫度跟當(dāng)?shù)睾0蔚母叨。有興趣的朋友可以接入其他的傳感器,并顯示在OLED上。蘿卜教育tpyboard。com
上面是BMP180的實(shí)物圖跟TPYBoard v102的實(shí)物圖,OLED我就不介紹了,下面告訴大家硬件接線方法:
連接完畢后,將font.py,ssd1306.py與bmp180的庫(kù)導(dǎo)入,就可以通過(guò)以下方法分別讀取溫度、氣壓、海拔高度。蘿卜教育tpyboard。com
- from bmp180 import BMP
- bmp=BMP180(1)
- tem=bmp.getTemp()
- press=bmp.getPress()
- altitude=bmp.getAltitude()
復(fù)制代碼
導(dǎo)入需要的類庫(kù),編輯好main.py,直接運(yùn)行就ok了,下面是main.py的程序源碼
- import pyb
- from ssd1306 import SSD1306
- from bmp180 import BMP180
- bmp=BMP180(1)
- display = SSD1306(pinout={'dc': 'Y9',
- 'res': 'Y10'},
- height=64,
- external_vcc=False)
- while 1:
- tem=bmp.getTemp()
- press=bmp.getPress()
- altitude=bmp.getAltitude()
- display.poweron()
- display.init_display()
- display.draw_text(1,1,str(tem),size=1,space=1)
- display.draw_text(60,1,'C',size=1,space=1)
- display.draw_text(1,10,str(press),size=1,space=1)
- display.draw_text(60,10,'pa',size=1,space=1)
- display.draw_text(1,20,str(altitude),size=1,space=1)
- display.draw_text(60,20,'m',size=1,space=1)
- # 顯示出你想要顯示的內(nèi)容
- display.display()
- pyb.delay(3000)
復(fù)制代碼
|
|