1.实验目的

1. 学习在PC机系统中扩展简单I/O 接口的方法。
2. 进一步学习编制数据输出程序的设计方法。
3. 学习DS18B20的接线方法,并利用DS18B20检测当前温度。
4.学习三极管9014的用法。
5.通过18B20智能控制直流电机驱动小风扇。

2.所需元器件

TPYBoard板子一块
直流电机一个
面包板一块
数据线一条
三极管9014(NPN)一个
杜邦线若干

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

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

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

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

接线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.三极管的原理

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

源代码

我们按照上面的步骤做完以后,然后通电,编写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)

[Micropython]TPYBoardV102 DIY智能温控小风扇的更多相关文章

  1. Micropython TPYBoard 智能温控小风扇资料分享

    南方都下大雪了,苦逼的北方还没下雪,天寒地冻,不过这几天办公室空调开太大了就想到做一个温控小风扇,简单模型出来了.等夏天一定做一个美观精致的小风扇送给女朋友(如果有的话QAQ)话不多说直接上干货.(跪 ...

  2. DIY智能家居——零基础入门篇

    概要 本文主要根据笔者从零开始接触硬件,以小白视角开启IoT探索,根据相关资料DIY一个温湿度传感器.后经过探索发现新大陆--Home Assistant&Homebridge,最终实现了一个 ...

  3. Diy智能家居-1.基于esp8266的语音控制系统(开篇)

    目录Diy智能家居-1.基于esp8266的语音控制系统(开篇) https://blog.csdn.net/arno1988/article/details/82628589 Diy智能家居-2.基 ...

  4. Micropython教程之TPYBoardv102 DIY蓝牙智能小车实例

    1.实验目的 1.学习在PC机系统中扩展简单I/O接口的方法. 2.进一步学习编制数据输出程序的设计方法. 3.学习蓝牙模块的接线方法及其工作原理. 4.学习L298N电机驱动板模块的接线方法. 5. ...

  5. [MicroPython]TPYBoardv102超全DIY案例一览

    TPYBoardv102是一款比较成熟和经典的MicroPython开发板,不仅适用于学习实验还能应用于大型的工业级开发,是MicroPython入门和研发的不二之选.下面我们就扒开v102的“层层外 ...

  6. Micropython实战之TPYBoardv102 DIY金属检测仪

    转载请以链接形式注明文章来源(MicroPythonQQ技术交流群:157816561,公众号:MicroPython玩家汇) 1.实验目的 1.学习在PC机系统中扩展简单I/O接口的方法. 2.进一 ...

  7. [MicroPython]TPYBoardv102播放音乐实例

    0x00前言 前段时间看到TPYBoard的技术交流群(群号:157816561,)里有人问关于TPYBoard播放音乐的问题.最近抽空看了一下文档介绍,着手做了个实验.更多MicroPython的教 ...

  8. [Micropython]TPYBoard v202 智能WIFI远控小车

    转载请注明文章来源,更多教程可自助参考docs.tpyboard.com,QQ技术交流群:157816561,公众号:MicroPython玩家汇 前言---------------------- 之 ...

  9. 从零开始的DIY智能家居 - 基于 ESP32 的智能水浊度传感器

    前言 家里有个鱼缸养了几条鱼来玩玩,但是换水的问题着实头疼,经常一个不注意就忘记换水,鱼儿就没了.o(╥﹏╥)o 在获得 Spirit 1 边缘计算机 后就相当于有了一个人智能设备服务器,可以自己开发 ...

随机推荐

  1. Python模块之信号(signal)

    在了解了Linux的信号基础之 后,Python标准库中的signal包就很容易学习和理解.signal包负责在Python程序内部处理信号,典型的操作包括预设信号处理函数,暂 停并等待信号,以及定时 ...

  2. Dynamics 365 Online-Unified User Interface

    为了加强界面的一致性,提高用户体验,Dynamics 365 Online V9发布了新的Interface:Unified User Interface. 区别于旧的Regular UI,UUI自适 ...

  3. 手动编译websocket-sharp项目使其支持.net core

    以前项目中使用了websocket-sharp,挺好用.可惜,不支持.net core.好在手动编译很顺利: 从github下载源代码 创建dotnet core的类库,复制代码后并编译即可 dotn ...

  4. Kotlin入门(24)如何自定义视图

    Android提供了丰富多彩的视图与控件,已经能够满足大部分的业务需求,然而计划赶不上变化,总是有意料之外的情况需要特殊处理.比如PagerTabStrip无法在布局文件中指定文本大小和文本颜色,只能 ...

  5. javascript实现的浏览器下载文件

    function download(src) { var $a = document.createElement('a'); $a.setAttribute("href", src ...

  6. SQLServer基础之数据页类型:GAM,SGAM,PFS

    简介 我们已经知道SQL Server IO最小的单位是页,连续的8个页是一个区.SQL Server需要一种方式来知道其所管辖的数据库中的空间使用情况,这就是GAM页和SGAM页. GAM页 GAM ...

  7. python创建列表和向列表添加元素方法

    今天的学习内容是python中的列表的相关内容. 一.创建列表 1.创建一个普通列表 >>> tabulation1 = ['大圣','天蓬','卷帘'] >>> ...

  8. visual Studio 中使用正则表达式来进行查找替换

    1.打开visual Studio 2. 通过菜单Edit -->Find and Replace -->Replace In File  ,或者使用  ctrl + Shift + H  ...

  9. SSH 和 Git

    了解SSH SSH 以非对称加密实现身份验证.较常用的非对称加密有 RSA. 两种加密过程: 1.通过用户名密码访问服务器,即使传输的数据是加密的也可能会被劫持到不信任的服务器,泄露用户名和密码. 2 ...

  10. Vue编写的todolist小例子

    Vue编写的todolist小例子 本篇博客主要包含一个内容: 1.第一个内容:使用Vue编写todolist例子,包含的主要知识是v-model,v-for,el表达式,以及Vue中使用method ...