对于喜欢登山的人来说,都会非常关心自己所处的高度跟温度,海拔高度的测量方法,海拔测量一般常用的有两种方式,一是通过GPS全球定位系统,二是通过测出大气压,根据气压值算出海拔高度。

BMP180是一直常见的气压传感器,BMP180是一款高精度、小体积、超低能耗的压力传感器,可以应用在移动设备中,它的性能卓越,精度最低可以达到0.03hPa,并且耗电极低,只有3μA;BMP180采用强大的8-pin陶瓷无引线芯片承载(LCC)超薄封装,可以通过I2C总线直接与各种微处理器相连。

我们用TPYBoard v102跟BMP180气压传感器和OLED液晶屏制作一个简易的家庭气象站,检测屋内气压、温度跟当地海拔的高度。有兴趣的朋友可以接入其他的传感器,并显示在OLED上。

BMP180实物图

TPYBoard v102实物图

上面是BMP180的实物图跟TPYBoard v102的实物图,OLED我就不介绍了,如果有需要的可以参考这个http://www.tpyboard.com/support/studyexample14/268.html,下面告诉大家硬件接线方法:

效果展示图

连接完毕后,将font.py,ssd1306.py与bmp180的库导入,就可以通过以下方法分别读取温度、气压、海拔高度。

from bmp180 import BMP
bmp=BMP180(1)
tem=bmp.getTemp()
press=bmp.getPress()
altitude=bmp.getAltitude()

  

导入需要的类库,编辑好main.py,直接运行就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)
# 显示出你想要显示的内容
display.display()
pyb.delay(3000)

[MicroPython]TPYBoard开发板DIY小型家庭气象站的更多相关文章

  1. MicroPython教程之TPYBoard开发板DIY小型家庭气象站

    众所周知,iPhone6/6Plus内置气压传感器,不过大家对于气压传感器还是很陌生.跟字面的意思一样,气压传感器就是用来测量气压的,但测量气压对于普通的手机用户来说又有什么作用呢? 海拔高度测量 对 ...

  2. MicroPython教程之TPYBoard开发板DIY红外寻迹小车

    智能小车现在差不多是电子竞赛或者DIY中的主流了,寻迹,壁障,遥控什么的,相信大家也都见得很多了,这次就大家探讨一下寻迹小车的制作方法,不同于以往的是这次的程序不用C语言写,而是要使用python语言 ...

  3. [MicroPython]STM32F407开发板DIY声光控开关

    1.实验目的 1. 学习在PC机系统中扩展简单I/O 接口的方法. 2. 进一步学习编制数据输出程序的设计方法. 3. 学习光敏模块的工作原理. 4. 学习声音的工作原理. 5. 学习F40 7Mic ...

  4. [MicroPython]TurniBit开发板DIY自动窗帘模拟系统

    一.准备工作 üTurnipBit 开发板 一块 ü下载数据线 一条 ü微型步进电机(28BYJ-48) 一个 ü步进电机驱动板(ULN2003APG) 一块 ü光敏传感器 一个 üTurnipBit ...

  5. [MicroPython]TurnipBit开发板DIY自动浇水系统

    1.实验目的: ?学习在PC机系统中扩展简单I/O 接口的方法 ?学习TurnipBit拼插编程 ?学习土壤传感器的工作原理以及使用方法 2.所需原器件: TurnipBit一块 TurnipBit扩 ...

  6. TPYBoard开发板搭建与阿里云服务发送数据

       今天给大家带来的是TPYBoard V202开发板的一次测试项目使用心得.而测试项目就是给服务端发送硬件底层数据,而数据有产品名称,WF模块MAC地址,温湿度数据.      什么是MicroP ...

  7. 海思HI3518EV200+AR0130开发板DIY——前篇

    海思HI3518EV200+AR0130开发板DIY 今天开始要围绕这个项目学习了(还是得从C开始学 ) 缘起(这段主要水废话)相关开发资料 →_→ 原理图设计 原理图整体框架 一.电源部分 HI35 ...

  8. Micropython教程之TPYBoard开发板驱动舵机教程(萝卜学科编程教育)

    大家应该都看到过机器人的手臂啊腿脚啊什么的一抽一抽的在动弹吧...是不是和机械舞一样的有节奏,现在很多机器人模型里面的动力器件都是舵机. 但是大家一般见到的动力器件都是像步进电机,直流电机这一类的动力 ...

  9. MicroPython实例之TPYBoard开发板控制OLED显示中文

    0x00 前言 之前看到一篇文章是关于TPYBoard v102控制OLED屏显示的,看到之后就想尝试一下使用OLED屏来显示中文.最近利用空余时间搞定了这个实验,特此将实验过程及源码分享出来,方便以 ...

随机推荐

  1. LEDAPS1.3.0版本移植到windows平台----HuCal定标模块

    这个是2012年左右放在百度空间的,谁知百度空间关闭...转移到博客园. 最近项目用到3.1.2版本的LEDAPS,新版本的使用情况会在后续文章中慢慢丰富. HuCal是将LEDAPS项目中的TM/E ...

  2. android默认开启adb调试方法分析

    用adb调试android时,每次接入usb线,都会提示一个确认打开usb调试功能的窗口,有时候,我们需要默认打开usb调试功能.或者无需弹出对话框,直接默认开启.这个我们需要分析adb的流程了. a ...

  3. Docker Compose 安装 on centos7

    本文演示如何在CentOS7上安装Docker Compose. 1 在线安装 1.1 下载安装包 $ curl -L https://github.com/docker/compose/releas ...

  4. ELK的sentinl告警配置详解

    背景 sentinl的监控&告警是通过watch实现的. 一.Watch Execution 执行开始的时候, watcher为watch创建watch执行上下文. 执行上下文提供脚本和模板, ...

  5. 解决Spark filter过滤条件中使用>=或<=时不识别的问题

    一.场景 val jldxx_zxzq = jldxx_with_dddf .withColumn("ZXZQ", zxzq(col("CBZQ"))) .fi ...

  6. [20170604]12c Top Frequency histogram补充.txt

    [20170604]12c Top Frequency histogram补充.txt 1.环境:SCOTT@test01p> @ ver1PORT_STRING                 ...

  7. python 进程池的简单使用方法

    回到python,用一下python的进程池. 记得之前面试的时候,面试官问:你知道进程池的默认参数吗? 我没有回答上来,后来才知道,是有默认参数的.下面就看看它的默认参数 1. 不加参数 from ...

  8. spring拦截器(interceptor)简介

    1. 拦截器用途 (1)拦截未登录用户直接访问某些链接 (2)拦截日志信息 (3)拦截非法攻击,比如sql注入 2. 涉及jar.类 (1)spring-webmvc.jar (2)HandlerIn ...

  9. 解决“Eclipse中启动Tomcat后,http://localhost:8080/无法访问”的问题

    这个问题是eclipse造成的,我们可以修改配置来实现通过eclipse启动tomcat可以访问http://localhost:8080 打开Server试图(打开前不要启动tomcat),双击其中 ...

  10. 第六章 第一个Linux驱动程序: 统计单词个数

    一.编写Linux驱动程序的步骤 第1 步:建立Linux 驱动骨架(装载和卸载Linux 驱动) 骨架部分主要是Linux驱动的初始化和退出函数,代码如下: #include <linux/m ...