文档章节

Micropython开发板DIY智能温控小风扇

bodasisiter
 bodasisiter
发布于 2016/12/06 12:53
字数 592
阅读 495
收藏 12

    实验目的

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

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

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

   4.学习三极管9014的用法。

   5.通过18B20智能控制直流电机驱动小风扇。

详细例程:http://www.micropython.net.cn/support/example/260.html

   所需元器件

   TPYBoard板子一块

   直流电机一个

   面包板一块

   数据线一条

   三极管9014(NPN)一个

   杜邦线若干

TPYBoard官方购买链接:

https://item.taobao.com/item.htm?spm=686.1000925.0.0.ASVvps&id=534727234963

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

blob.png

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

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

   TPYBoard       DS18B20  

   ————————————————    

    # 3V3   or any Pin  => VDD     

   # any   Pin          =>   DO

   #   GND              => GND

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

   TPYBoard       DS18B20   

   ————————————————————————————

   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)

三极管的原理

blob.png

   在这里我们用到三极管的开关与放大功能,给基极不同电平控制直流电机电流的通断,以达到控制电机转动的目的,根据三极管特性我们将集电极连接TPYBoard的3.3v,发射极连接电机一极,电机另一极接TPYboard的GND,通过温度传感器18B20检测温度,当温度到达指定温度时,通过TPYBoard控制三极管基极的电平,驱动直流电机转动。

   源代码

blob.png

   我们按照上面的步骤做完以后,然后通电,编写main.py文件,即可通过温度控制风扇的转动,具体代码如下:

#main.py
import pyb
from pyb import Pin
from ds18x20 import DS18X20
  
Pin("Y9",Pin.OUT_PP).high()#VCC
Pin("Y11",Pin.OUT_PP).low()#GND
x1 = Pin('X1', Pin.OUT_PP)
pyb.delay(100)
DQ=DS18X20(Pin('Y10'))#DQ
while 1:
    tem = DQ.read_temp()
    if tem > 18:
        x1.value(1)
    else:
        x1.value(0)

 

© 著作权归作者所有

共有 人打赏支持
bodasisiter
粉丝 19
博文 186
码字总数 172950
作品 0
潍坊
私信 提问
MicroPython是未来?当Python遇上单片机!

  Python已经逐渐成为热门编程语言的“座上宾”,同时它也是一款比较容易上手的脚本语言,而且有强大的社区支持,一些非计算机专业领域的人都选它作为入门语言。因此也就出现了将Python应用...

bodasisiter
2017/05/13
86
0
自动牛皮纸封装机—TPYBoard在MicroPython上的工业级成功应用

近期,广州某机械制造公司利用TPYBoard开发板技术,自主开发完成了自动牛皮纸封装机的研发生产工作,该产品主要应用于带胶牛皮纸的自动封装,其特点是自动控温、自动纠偏,封口牢固美观、绿色...

bodasisiter
2017/03/07
5
0
人生苦短,用 RT-Thread MicroPython 享受编程的乐趣

在 i.MX RT1050 EVK 开发板上实现这样的一个读取板载的 6 轴传感器信息和系统 CPU 利用率等信息,实时显示到网页中效果,你猜需要多少代码? 事实上 RT-Thread 的同事利用 RT-Thread MicroP...

RTThread物联网操作系统
2018/05/02
0
0
MicroPython新货上架【TPYBoard新品合集】你想要的好玩意儿全在这!

八月火力全开! TPYBoard一大波新品隆重上市! 一次次的研发、尝试 无数次的改进、优化 新品强势来袭 发烧友们期待已久的 STM32F407系列也已全新上线啦~ 1.STM32F407开发板 https://item.tao...

bodasisiter
2018/08/21
0
0
MicroPython入门:能跑MicroPython开发板大盘点!

相信对于很多刚刚接触MicroPython的DIY创客来说,首先是被一些大神的作品吸引,然后有冲动自己动手,却发现入门很难,特别是面对各式各样的开发板不知如何选择。目前市面上关于MicroPython开...

bodasisiter
2018/07/06
0
0

没有更多内容

加载失败,请刷新页面

加载更多

跟我学Spring Cloud(Finchley版)-14-Feign使用Hystrix

Feign默认已经整合了Hystrix,本节详细探讨Feign使用Hystrix的具体细节。 服务降级 加配置,默认Feign是不启用Hystrix的,需要添加如下配置启用Hystrix,这样所有的Feign Client都会受到Hys...

周立_ITMuch
22分钟前
2
0
spark集群使用hanlp进行分布式分词操作说明

本篇分享一个使用hanlp分词的操作小案例,即在spark集群中使用hanlp完成分布式分词的操作,文章整理自【qq_33872191】的博客,感谢分享!以下为全文: 分两步: 第一步:实现hankcs.hanlp/co...

左手的倒影
24分钟前
2
0
Oracle分组排序几种常见方式

在日常操作中分页和分组比较多见,这里主要讲讲分组排序的不同场景: 1.row_number() over() row_number()over(partition by col1 order by col2)表示根据col1分组,在分组内部根据col2排序,...

rechardchensir
32分钟前
1
0
JVM(三)对象的生死判定和算法详解

好的文章是能把各个知识点,通过逻辑关系串连起来,让人豁然开朗的同时又记忆深刻。 导读:对象除了生死之外,还有其他状态吗?对象真正的死亡,难道只经历一次简单的判定?如何在垂死的边缘...

王磊的博客
38分钟前
2
0
three.js 3D框架

https://threejs.org/docs/index.html#manual/zh/introduction/Creating-a-scene

壹峰
46分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部