micopython 18b20_MicroPython控制8*8LED点阵显示温度

MicroPython顾名思义就是可以在单片机上跑的Python,借助Micro Python,用户完全可以通过Python脚本语言实现硬件底层的访问和控制,比如说控制LED灯泡、LCD显示器、读取电压、控制电机、访问SD卡等。目前支持MicroPython的开发板有好几种,下面就以TPYBoard为例,简单介绍一下简易温度传感器的制作方法。

164844_LBRo_2849130.jpg

1、实验目的

1. 学习在PC机系统中扩展简单I/O 接口的方法。

2. 进一步学习编制数据输出程序的设计方法。

3. 学习DS18B20的接线方法,并利用DS18B20检测当前温度

3. 学习8*8LED点阵接线方法,并将当前温度显示

2、所需元器件

TPYBoard板子一块

数据线一条

杜邦线若干

8*8LED点阵一个

DS18B20温度传感器一个

3、学习DS18B20的接线方法,检测当前温度

164956_KnL9_2849130.png

先看一下DS18B20针脚含义,如上图:

TPYBoard的针脚与DS18B20的针脚对应关系如下:

TPYBoard DS18B20

----------------

# 3V3 or any Pin => VDD

# any Pin => DO

# GND => GND

还是看不明白的话,直接上针脚编号

TPYBoard LCD5110

----------------------------

3.3v => VDD

GND => GND

Y10 => DO

接线ok后,在MicroPython的源码目录中,进入drivers\onewire\目录,然后将目录下的文件ds18x20.py和onewire.py复制到PYBFLASH磁盘的根目录。复制文件后要安全退出磁盘,然后重新接入,不然找不到文件,即可运行main.py文件了,打印温度,即可用Putty看到当前的温度。

main.py源代码:

#main.py

import pyb

from pyb import Pin

from ds18x20 import DS18X20

Pin("Y11",Pin.OUT_PP).low()#GND

Pin("Y9",Pin.OUT_PP).high()#VCC

pyb.delay(100)

DQ=DS18X20(Pin('Y10'))#DQ

while True:

tem = DQ.read_temp()

print(tem)

pyb.delay(1000)

4、点亮8*8LED点阵

165201_Vnv5_2849130.png

点阵后面有两排针脚,一排以1开头,即1-8针脚,一排以9开头,即9-16针脚,上图中〇中的数字对应的即为针脚的对应的数字,当ROW 的PIN NO.高电平,COL PIN NO.低电平时候,我们的LED即全部点亮了,为了方便操作行和列,我们可以将ROW的8个引脚接到我们TPYBoard的X1-X8,COL的8个引脚接到我们TPYBoard的Y1-Y8,这样我们控制X引脚Y引脚就可以控制哪个点亮跟灭了,想显示任何字都没问题,快来试试吧。

5、点将温度显示在8*8LED点阵上

接线成功以后,我们将测试出温度通过分割函数将十位,个位,小数点,以及后面的数字显示出来,代码如下:

import pyb

from pyb import Pin

from ds18x20 import DS18X20

x_PIN = [Pin(i, Pin.OUT_PP) for i in ['X1','X2','X3','X4','X5','X6','X7','X8']]

y_PIN = [Pin(i, Pin.OUT_PP) for i in ['Y1','Y2','Y3','Y4','Y5','Y6','Y7','Y8']]

temp=['0000,0110,0110,0110,0110,0110,0110,0000','1101,1101,1101,1101,1101,1101,1101,1101,

'0000,1110,1110,0000,0111,0111,0111,0000','0000,1110,1110,0000,1110,1110,1110,0000',

'0101,0101,0101,0000,1101,1101,1101,1101','0000,0111,0111,0000,1110,1110,1110,0000',

'0000,0111,0111,0000,0110,0110,0110,0000','0000,1110,1110,1110,1110,1110,1110,1110',

'0000,0110,0110,0000,0110,0110,0110,0000','0000,0110,0110,0000,1110,1110,1110,0000']

tempValue=0

def show(l_num,r_num):

flag=0

for x_ in range(0,8):

for x_ in range(0,8):

if x_!=flag:

x_PIN[x_].value(0)

left_ = temp[l_num]

left_item=left_.split(',')

right_ = temp[r_num]

right_item=right_.split(',')

li_l=left_item[flag]

li_r=right_item[flag]

y_PIN[0].value(int(li_l[:1]))

y_PIN[1].value(int(li_l[1:2]))

y_PIN[2].value(int(li_l[2:3]))

y_PIN[3].value(int(li_l[3:4]))

y_PIN[4].value(int(li_r[:1]))

y_PIN[5].value(int(li_r[1:2]))

y_PIN[6].value(int(li_r[2:3]))

y_PIN[7].value(int(li_r[3:4]))

x_PIN[flag].value(1)

flag=flag+1

pyb.delay(2)

def display(time_,l_num,r_num):

for x in range(0,time_):

for y in range(0,110):

show(l_num,r_num)

if __name__=='__main__':

#time_t=Timer(4,freq=5,callback=randSensor)

DQ=DS18X20(Pin('Y10'))#DQ

while 1:

tempValue =int(DQ.read_temp())

print(tempValue)

l_n=tempValue//10

r_n=tempValue%10

print(l_n)

print(r_n)

display(60,l_n,r_n)

for i in x_PIN:

i.value(0)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/532170.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ip变更会影响账号登陆吗_【教程】PUBG账号被盗导致封禁申诉解封教程

很多朋友询问PUBG在被盗号后被盗号者开挂导致永封该如何申诉解封,现在结合一些玩家被盗号及成功申诉的经历,详列一下步骤。本方法只适用于被盗后开挂导致封禁的账号,那些自己开挂被封的孤儿不用往下看了。一.先向steam客服申诉 找回自己的ste…

滤镜怎么调_手机、电脑怎么剪辑视频?真心求推荐实用工具

自从加入了短视频自媒体运营这个行业以后,我就开始接触到各种各样的手机、电脑视频剪辑、制作软件,用它们来处理、完成被安排到的工作任务。很多时候,我也用它们来剪视频,借此来练练手、积累下素材。记得刚进入这个行业的时候&…

2021计算机基础知识题库,2021~2021计算机基础知识练习题

2021~2021计算机基础知识练习题 2021~2021计算机基础知识练习题 北京联合大学 2021~2021计算机基础知识练习题 一、选择题 1.记录在存储介质上的一组相关信息的集合称为______。 A)程序 B)磁盘 C)软件 D)文件 2.当一个文件更名后,文件的内容会______。 A)完全消失 B…

计算机背板知识,你知道背板的选购技巧吗?

原标题:你知道背板的选购技巧吗?背板就是母板,子板插在上面构成系统,计算机背板说成背板也成立,只不过背板更多的知识线路板而已,没有实际的器件,只起信号通路作用。背板在设备机箱的后面。一般…

git 切换分支_git 入门教程之分支总览

分支就是一条独立的时间线,既有分支,必有主干,正如一棵树谈到树枝,必有树干一样的道理.我们先前对git 的全部操作默认都是在主干上进行的,这个主干也是一种特殊的分支,名为 master 分支.无论是穿越历史还是撤销更改,我们都或多或少接触过时间线,git 管理的版本串在一起就组成了…

正在锁定计算机 win7转圈圈打不开,Win7网络连接图标一直转圈的原因和解决方法...

Win7网络连接图标一直转圈是什么情况?如果用户发现Win7系统中的网络图标一直处在转圈状态,则表示该网络不能正常加载,且无法识别,笔者通过检查发现网络依赖的服务Network List Service没有自动启动,启动之后可解决该问…

jvm内存模型和java内存模型_JVM运行时内存模型综述

JVM内存模型JVM分为五个区域:虚拟机栈、本地方法栈、方法区、堆、程序计数器。JVM不同区域的占用内存大小不同,一般情况下堆最大,程序计数器较小。JVM五个区中虚拟机栈、本地方法栈、程序计数器为线程私有,方法区和堆为线程共享区…

getline没有与参数列表匹配的重载函数_C++新增基础功能解析—函数重载功能的使用...

喜欢的可以收藏转发加关注“函数重载”指的是可以有多个同名的函数,因此 名称进行了重载。这两个术语指的是同一回事,但我们通常使用函数重载。可以通过函数重载来设计• 系列函数——它们完成相同的工作,但使用不同的参数列表。重载函数就像…

公关文秘专业要学计算机,文秘相关专业有哪些

文秘相关专业有哪些引导语:想必大多数人对文秘这个岗位都不陌生,那么与文秘相关专业有哪些呢?接下来是小编为你带来收集整理的文章,欢迎阅读!一、中文类专业:中文及相关专业主要包括汉语言文学、汉语言、中…

java seek指针 换行符_Java网络编程探究|乐字节

大家好,我是乐字节小乐,上次给大家讲述了Java中的IO流之输出流|乐字节,本文将会给大家讲述网络编程。主要内容如下:网络 网络分层 IP位置 端口port 网络编程一、 网络 1、概念网络即将不同区域的电脑连接到一起, 组成局…

switch 条件判断_C语言学习第7篇---C语言三大结构之一判断结构

if语句分析1.if语句用于根据条件选择执行语句2.else不能独立存在且总是与它最近的if想匹配3.else语句后可以接其他if语句if语句中零值比较的注意点---bool型变量应该直接出现在条件中,不要进行比较---变量和0值进行比较时,0值应该出现在比较符合左边---f…

计算机应用基础授课提纲,《计算机应用基础》讲授提纲(1).ppt

《计算机应用基础》讲授提纲(1).ppt (49页)本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!14.9 积分*第四讲 Windows基础基本操作文件操作控制面板中文操作处理磁盘管理命令提示符*Windows 基本操作桌…

工业机器人演示码垛和卸垛_众多企业购买自动码垛机的原因是什么?

企业为什么要购买自动码垛机呢?难道仅仅是因为它可以自动,让工作变得轻松简单吗?当然不是,如果自动码垛机仅仅能够为企业带来这么点的好处的话,相信是没有企业愿意花大价钱来购买这些自动码垛机的,那么企业究竟是看中了自动码垛…

python 100days github_GitHub - rghwer/Python-100-Days: Python - 100天从新手到大师

Python - 100天从新手到大师 作者:骆昊 最近有很多想学习Python的小伙伴陆陆续续加入我们的交流群,目前我们的交流群人数已经超过一万人,光靠我自己已经无法及时处理小伙伴们的入群申请,更无法及时为大家解答问题。目前我的想法是…

python期末项目书怎么写_自己写了一部书怎么出版

一部书从无到有,包括编写和出版。编写可以自己写,但出版的问题,得靠规定的出版途径来解决。那么,自己写了一部书怎么出版?通常包括两种方法:找出版社直接合作公费出版和找出版公司合作自费出版。自己写了一部书怎么出…

分页请求json数据_Python爬虫入门教程 28-100 虎嗅网文章数据抓取 pyspider

1. 虎嗅网文章数据----写在前面 今天继续使用pyspider爬取数据,很不幸,虎嗅资讯网被我选中了,网址为 https://www.huxiu.com/ 爬的就是它的资讯频道,本文章仅供学习交流使用,切勿用作其他用途。常规操作,分…

bootstrap 导航菜单 折叠位置_教大家如何编写一个网页导航条

导航条简单地说就是对你整个网站模块的简单介绍,你可以直接点击导航条某一个按钮或板块便可进入其相应的界面,如:网页、新闻、贴吧等 。在企业网站上,导航条上常见的有:产品介绍,公司简介,最新产…

python拟合函数_Python-最小二乘法曲线拟合

行文思路:最小二乘法原理介绍 利用 leastsq() 函数进行最小二乘法拟合 拟合注意事项 利用curve_fit 进行最小二乘法拟合 总结: 参考文献 实现代码 一,最小二乘法拟合 最小二乘法是一种数学优化技术,它通过最小化误差的平方和寻找数…

计算机网络提高网络安全意识,提升网络安全意识 共创清朗网络环境

为增强公众网络安全意识,提高网络安全防护技能。近期,徐家营街道围绕“网络安全为人民、网络安全靠人民”活动主题,组织开展了“2020国家网络安全宣传周”活动,保障用户合法权益,维护国家网络安全。一、广泛宣传引导。…

base cap 分布式_干货分享:基于本地消息表的分布式事务解决方案总结

前段时间学习了分布式事务的几种方案,下面主要总结下基于本地消息表实现可靠消息最终一致性的分布式事务方案。1,什么是分布式事务?在传统架构中往往是一个单体架构,一个系统就对应一个war包,然后这个系统也只有一个数…