文档章节

Python开发实例:TPYBoard开发板制作声光控开关

bodasisiter
 bodasisiter
发布于 2016/11/21 15:08
字数 1168
阅读 112
收藏 1

    声光控开关在我们日常生活中已经非常普遍了,几乎每个小区的楼道里都能有声光控开关的影子。现在也逐渐出现了声光控的小夜灯,晚上起夜再也不用担心太黑、刺眼、找不到开关了!下面就教大家用Python开发板——TPYBoard来做一个简易的声光控小灯吧!

详细的教程实例请参考TPYBoard官网网站:http://www.micropython.net.cn

视频演示请参考QQ交流群:157816561:https://v.qq.com/x/page/f0348ry1xyi.html

     这次用的到主要MCU依然是能跑Python的开发板TPYBoard,这款DIY套件在TPYBoard官网上有售,感兴趣的朋友可以买回来DIY哦!https://item.taobao.com/item.htm?spm=a230r.1.14.126.XkR5T3&id=542025162641&ns=1&abbucket=12#detail

1.实验目的

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

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

   3. 学习光敏传感器模块的工作原理。

   4. 学习声音传感器模块的工作原理。

   5. 学习TPYboard与声音传感器与光敏传感器的接线方法以及利用声音与光控制发光二极管亮灭。

2.所需元器件

   TPYBoard板子一块

   声音传感器一个

   光敏传感器一个

   面包板一块

   发光二极管若干

   数据线一条

   杜邦线若干

3.光敏传感器模块工作原理

   1.光敏电阻模块对环境光线最敏感,一般用来检测周围环境的光线的亮度,触发单片机或继电器模块等;

   2.模块在环境光线亮度达不到设定阈值时,DO端输出高电平,当外界环境光线亮度超过设定阈值时,DO端输出低电平;

   3.DO输出端可以与单片机直接相连,通过单片机来检测高低电平,由此来检测环境的光线亮度改变;

   4.DO输出端可以直接驱动本店继电器模块,由此可以组成一个光控开关。

光敏传感器

 

4.声音传感器模块工作原理

   1.声音模块对环境声音强度最敏感,一般用来检测周围环境的声音强度。

   2.模块在环境声音强度达不到设定阈值时,OUT输出高电平,当外界环境声音强度超过设定阈值时,模块OUT输出低电平;

   3.小板数字量输出OUT可以与单片机直接相连,通过单片机来检测高低电平,由此来检测环境的声音;

   4.小板数字量输出OUT可以直接驱动本店继电器模块,由此可以组成一个声控开关;

5.硬件接线方法

   上面我们已经知道光敏传感器跟声音传感器的工作原理,以及三根针脚的作用,那么我们只需讲电源正极与电源负极跟我们TPYBoard的3.3V跟GND连接起来,然后将光敏传感器与声音传感器的信号输出针脚连接到我们TPYBoard,本人声音传感器信号输出引脚连接的是TPYBoard的Y1针脚,光敏传感器信号输出引脚连接TOYBoard的Y2针脚,这样传感器就连接完毕,然后我们将发光数码管的正极插入面包板正极上,负极插入面包板的纵向插孔里(a,b,c,d,e,f,g,h,i,j),然后用杜邦线将负极连接到TPYBoard的GND上,灯的正极连接到我们TOYBoard的X1针脚,然后我们声音大小以及光亮强度来控制X1针脚输出高电平或者低电平来控制发光二极管的亮灭,接线ok后,编写main.py,这样我们的DIY声光电控开关就完成了。 

6.源代码

# main.py -- put your code here!
import pyb
from pyb import Pin

voice = Pin('Y1',Pin.IN)
light = Pin('Y2',Pin.IN)
led = pyb.Pin("X1",pyb.Pin.OUT_PP)

while 1:
    if light.value()==1:
        if voice.value()==1:
            led.value(0)
            pyb.LED(2).off()
            pyb.LED(3).off()
            pyb.LED(4).on()     
        else:
            pyb.LED(3).off()
            pyb.LED(4).off()
            led.value(1)
            pyb.LED(2).on()
            pyb.delay(5000)
    else:
        pyb.LED(3).on()
        pyb.LED(2).off()
        pyb.LED(4).off()
        led.value(0)

 

© 著作权归作者所有

共有 人打赏支持
bodasisiter
粉丝 19
博文 172
码字总数 154246
作品 0
潍坊
私信 提问
TPYBoard超全DIY案例一览:轻松玩转MicroPython开发!

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

bodasisiter
07/05
0
0
Micropython TPYBoard拼插编程之按键控制LED灯

一、什么是TPYBoard开发板 TPYBoard是以遵照MIT许可的MicroPython为基础,由TurnipSmart公司制作的一款MicroPython开发板,它基于STM32F405单片机,通过USB接口进行数据传输。该开发板内置4...

bodasisiter
04/18
0
0
MicroPython拼插编程实例:点亮心形8x8点阵

一、什么是TPYBoard开发板 TPYBoard是以遵照MIT许可的MicroPython为基础的一款MicroPython开发板,它基于STM32F405单片机,通过USB接口进行数据传输。该开发板内置4个LED灯、一个加速传感器,...

bodasisiter
09/04
0
0
Python玩转单片机:从基础到进阶,几款主流的开发板大盘点!

Python俨然已成为当下最热门的编程语言(可以说没有之一)。Python火到什么程度?它将被加入小学生教材,纳入高考,估计在不远的将来可能会成为一项常用的技能。 学习python能做什么? 可以快...

bodasisiter
09/05
0
0
[MicroPython]TPYBoard智能小车“飞奔的TPYBoard装甲一号”

智能小车作为现代的新发明,是以后的发展方向,他可以按照预先设定的模式在一个环境里自动的运作,不需要人为的管理,可应用于科学勘探等等的用途。智能小车能够实时显示时间、速度、里程,具...

bodasisiter
07/19
0
0

没有更多内容

加载失败,请刷新页面

加载更多

MongoDB

MongoDB介绍 官网www.mongodb.com, 当前最新版3.4 C++编写,基于分布式的,属于NoSQL的一种 在NoSQL中是最像关系型数据库的 MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组...

chencheng-linux
29分钟前
1
0
Qt那些事0.0.10

release和debug在性能上差距很多,困扰我三周的问题很可能是因为这个。

Ev4n
44分钟前
4
0
flume1.8taildirSource

flume使用(一):入门demo flume使用(二):采集远程日志数据到MySql数据库 flume使用(三):实时log4j日志通过flume输出到MySql数据库 flume使用(四):taildirSource多文件监控实时采集...

hblt-j
45分钟前
1
0
redis--windows客户端引起的项目问题

一、redis安装 redis客户端下载地址:https://github.com/MSOpenTech/redis/releases。(redis一开始只支持Linux系统,后来有团队搞出了windows版,不过版本时间偏旧,也无所谓了,可以正常使...

随风飞临蛮荒境123
今天
1
0
19《Java核心技术》之什么情况下Java程序会产生死锁?如何定位、修复?

一、提出问题 今天,我们会讨论一些日常开发中类似线程死锁等问题的排查经验,并选择一两修复过或者诊断过的核心类库死锁问题作为例子,希望不仅能在面试时,包括在日常工作中也能对你有所帮...

飞鱼说编程
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部