|
本次更新主要是整理了一下上位机,上位机将从MicroPython小板发送过来的温度数据显示在对应的文本框内,软件还提供了一些其他的辅助功能,先看看截图吧。
由于手上只有2个DS18B20温度传感器,所有只做了2路温度显示,温度大约每2s刷新一次,如果选中高温报警,则温度大于32度温度值将显示红色。(这里32是随便设的,只是为了测试,后期会让用户自定义温度报警值)。如果点击图中一键关机按钮,电脑会在一分钟内(也可以设置为立即)自动关机。同样,一键重启被点击,会使电脑在一分钟内(也可以设置为立即)立即重启。右边的远程是允许用红外或无线来实现以上功能,目前手头没有无线模块,红外代码正在研究中。
下面的关于串口设置的就不用说了。
下面上几张功能图:
py代码也附上来吧,虽然比较简单。
- <font size="3">from pyb import Pin,UART,Timer
- from ds18x20 import DS18X20
- uart=UART(1,115200)#串口1,波特率115200
- tim=Timer(1,freq=5000)
- tim.counter()
- tim.freq(0.5)
- Pin("Y11",Pin.OUT_PP).low()#GND
- Pin("Y9",Pin.OUT_PP).high()#VCC
- pyb.delay(100)
- DQ=DS18X20(Pin('Y10'))#DQ
- while True:
- BoardTemp=DQ.read_temp(DQ.roms[0])#读取第一个DS18B20的温度
- BoardTempStr='%.3f' %BoardTemp#将浮点数转换为字符串
- HardTemp=DQ.read_temp(DQ.roms[1])#读取第二个DS18B20的温度
- HardTempStr='%.3f' %HardTemp#将浮点数转换为字符串
- Temp=BoardTempStr+','+HardTempStr+'\r\n'#将2个读到的温度值组和成一个字符串
- # uart.write('DS18B20当前温度:')
- uart.write(Temp)#串口发送给上位机
- # uart.write('℃')
- # uart.write('\r\n')
- pyb.delay(2000)#大约2s刷新一次数据
- </font>
复制代码
话说输入捕获一直没有弄好,有没有人弄过,指点指点啊。
|
赞赏
-
1
查看全部赞赏
-
|