当前位置: 首页 > news >正文

python温度传感器,基于python经过树莓派获取温度传感器的温湿度

基于python经过树莓派获取温度传感器的温湿度

前面作过一个智能风扇,主要功能是经过温度来控制风扇的自动开关以及经过软件来进行控制风扇开关,功能都能实现可是python

软件并无作完,因此就不了了之。app

我使用的树莓派,以下图附上引脚的注释:spa

c5736a5c65a162ba260b8b053c27a68f.png

注:树莓派的版本不一样,引脚的意思会有一些差异,请注意!code

个人温度传感器是DHT11温度模块,附实物图:blog

f73169b09fb2e3b89422e0820a31b6b9.png

树莓派链接温度传感器

VCC接5V或者3.3Vinput

DATA接GPIO口(我接的是BCM的17号针脚,物理针脚是11号)it

GND接GNDclass

根据上面引脚分布图,就能够轻松链接成功。import

获取温度和湿度(python)

import RPi.GPIO as GPIO

import time

channel = 17 //引脚的引号

data = []

j = 0

GPIO.setmode(GPIO.BCM)

time.sleep(1)

GPIO.setup(channel, GPIO.OUT)

GPIO.output(channel, GPIO.LOW)

time.sleep(0.02)

GPIO.output(channel, GPIO.HIGH)

GPIO.setup(channel, GPIO.IN)

while GPIO.input(channel) == GPIO.LOW:

continue

while GPIO.input(channel) == GPIO.HIGH:

continue

while j < 40:

k = 0

while GPIO.input(channel) == GPIO.LOW:

continue

while GPIO.input(channel) == GPIO.HIGH:

k += 1

if k > 100:

break

if k < 8:

data.append(0)

else:

data.append(1)

j += 1

print "sensor is working."

print data

humidity_bit = data[0:8]

humidity_point_bit = data[8:16]

temperature_bit = data[16:24]

temperature_point_bit = data[24:32]

check_bit = data[32:40]

humidity = 0

humidity_point = 0

temperature = 0

temperature_point = 0

check = 0

for i in range(8):

humidity += humidity_bit[i] * 2 ** (7 - i)

humidity_point += humidity_point_bit[i] * 2** (7 - i)

temperature += temperature_bit[i] * 2 ** (7 -i)

temperature_point += temperature_point_bit[i]* 2 ** (7 - i)

check += check_bit[i] * 2 ** (7 - i)

tmp = humidity + humidity_point + temperature +temperature_point

if check == tmp:

print "temperature : ", temperature, ", humidity : " , humidity//输出获取的温度和湿度

else:

print "wrong"

print "temperature : ", temperature, ", humidity : " , humidity, " check : ", check, " tmp : ", tmp

GPIO.cleanup()

注:代码的位置有些错乱,须要本身调一下,可是代码自己是没有问题的。软件

相关文章:

  • 微软最走运、最倒霉的十个瞬间
  • php九大函数,PHP函数整理(一)
  • OSPF路由协议在CISCO路由器上的应用
  • wpcomments post.php,垃圾评论带来的流量流失
  • H3C基本命令学习
  • Linux下oracle em安装,手动安装em(redhat 5/oracle 11g)
  • 马宁的Windows Mobile开发培训概述
  • oracle非归档恢复,非归档模式恢复数据库__oracle_ORA_DISK_channel_dbf_PROD__169IT.COM
  • 错误:文件被数字签名策略拒绝(File was rejected by digital signature policy)
  • Oracle数据所属表分区,oracle数据库表分区
  • 推荐两个免费下载Smartphone桌面主题的网站
  • matlab中产生对角阵,关于matlab中的diag函数(矩阵对角元素的提取和创建对角阵)
  • 找回“显示桌面” 图标 显示图标.scf
  • 查询oracle物化视图日志,oracle物化视图日志系列(一)
  • 使用Windows Mobile Test Framework进行Windows Mobile程序的自动化测试 - (2) 小试牛刀
  • Consul Config 使用Git做版本控制的实现
  • HTTP中的ETag在移动客户端的应用
  • Java 内存分配及垃圾回收机制初探
  • java中具有继承关系的类及其对象初始化顺序
  • ng6--错误信息小结(持续更新)
  • Python 反序列化安全问题(二)
  • 仿天猫超市收藏抛物线动画工具库
  • 分享一个自己写的基于canvas的原生js图片爆炸插件
  • 前端技术周刊 2018-12-10:前端自动化测试
  • 如何用Ubuntu和Xen来设置Kubernetes?
  • 使用 Node.js 的 nodemailer 模块发送邮件(支持 QQ、163 等、支持附件)
  • 微信小程序实战练习(仿五洲到家微信版)
  • [Shell 脚本] 备份网站文件至OSS服务(纯shell脚本无sdk) ...
  • linux 淘宝开源监控工具tsar
  • ​软考-高级-信息系统项目管理师教程 第四版【第19章-配置与变更管理-思维导图】​
  • #FPGA(基础知识)
  • #我与Java虚拟机的故事#连载10: 如何在阿里、腾讯、百度、及字节跳动等公司面试中脱颖而出...
  • #我与Java虚拟机的故事#连载11: JVM学习之路
  • $.ajax()
  • (DenseNet)Densely Connected Convolutional Networks--Gao Huang
  • (NO.00004)iOS实现打砖块游戏(十二):伸缩自如,我是如意金箍棒(上)!
  • (NSDate) 时间 (time )比较
  • (附源码)springboot课程在线考试系统 毕业设计 655127
  • (七)c52学习之旅-中断
  • (全注解开发)学习Spring-MVC的第三天
  • (转)socket Aio demo
  • (转)利用ant在Mac 下自动化打包签名Android程序
  • ***原理与防范
  • .NET开源项目介绍及资源推荐:数据持久层 (微软MVP写作)
  • /etc/motd and /etc/issue
  • [ 2222 ]http://e.eqxiu.com/s/wJMf15Ku
  • [ vulhub漏洞复现篇 ] AppWeb认证绕过漏洞(CVE-2018-8715)
  • [\u4e00-\u9fa5] //匹配中文字符
  • []C/C++读取串口接收到的数据程序
  • []串口通信 零星笔记
  • [20180129]bash显示path环境变量.txt
  • [2021]Zookeeper getAcl命令未授权访问漏洞概述与解决
  • [acwing周赛复盘] 第 94 场周赛20230311
  • [codevs1288] 埃及分数
  • [Deep Learning] 神经网络基础