3. [Micropython]TPYBoard F407 DIY声光控开关¶
版权声明:翻译整理属于TPYBoard,转载时请以超链接形式标明文章原始出处和作者信息及本声明
3.1. 实验目的¶
- 学习在PC机系统中扩展简单I/O 接口的方法。
- 进一步学习编制数据输出程序的设计方法。
- 学习光敏传感器模块的工作原理。
- 学习声音传感器模块的工作原理。
- 学习TPYBoard F407 Micropython开发板与声音传感器与光敏传感器的接线方法以及利用声音与光控制发光二极管亮灭。
3.2. 所需元器件¶
- TPYBoard F407 Micropython开发板板子一块
- 声音传感器一个
- 光敏传感器一个
- 面包板一块
- 发光二极管若干
- 数据线一条
- 杜邦线若干
3.3. 光敏传感器模块工作原理¶
1.光敏电阻模块对环境光线最敏感,一般用来检测周围环境的光线的亮度,触发单片机或继电器模块等; 2.模块在环境光线亮度达不到设定阈值时,DO端输出高电平,当外界环境光线亮度超过设定阈值时,DO端输出低电平; 3.DO输出端可以与单片机直接相连,通过单片机来检测高低电平,由此来检测环境的光线亮度改变; 4.DO输出端可以直接驱动本店继电器模块,由此可以组成一个光控开关。
3.4. 声音传感器模块工作原理¶
1.声音模块对环境声音强度最敏感,一般用来检测周围环境的声音强度。 2.模块在环境声音强度达不到设定阈值时,OUT输出高电平,当外界环境声音强度超过设定阈值时,模块OUT输出低电平; 3.小板数字量输出OUT可以与单片机直接相连,通过单片机来检测高低电平,由此来检测环境的声音; 4.小板数字量输出OUT可以直接驱动本店继电器模块,由此可以组成一个声控开关。
3.5. 硬件接线方法¶
上面我们已经知道光敏传感器跟声音传感器的工作原理,以及三根针脚的作用,那么我们只需将它们的电源正极与电源负极跟我们开发板的3.3V跟GND连接起来,然后将光敏传感器和声音传感器的信号输出针脚连接到我们开发板上的任意GPIO引脚。
本次实验将声音传感器信号输出引脚连接的是开发板的Y1针脚,光敏传感器信号输出引脚连接的Y2针脚。传感器连接完毕后,将发光数码管的正极插入面包板正极上,负极插入面包板的纵向插孔里(a,b,c,d,e,f,g,h,i,j),然后用杜邦线将负极连接到开发板的GND上,灯的正极连接到X1针脚,然后我们声音大小以及光亮强度来控制X1针脚输出高电平或者低电平来控制发光二极管的亮灭。
接线OK后,编写main.py,这样我们的DIY声光电控开关就完成了。
3.6. 源代码¶
@micropython.asm_thumb
# 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)