查看: 2795|回复: 0

[MicroPython]STM32F407开发板DIY声光控开关

[复制链接]
  • TA的每日心情
    慵懒
    2018-1-6 09:01
  • 签到天数: 7 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    发表于 2018-8-8 16:14:53 | 显示全部楼层 |阅读模式
    分享到:
        1.实验目的

        1. 学习在PC机系统中扩展简单I/O 接口的方法。
        2. 进一步学习编制数据输出程序的设计方法。
        3. 学习光敏模块的工作原理。
        4. 学习声音的工作原理。
        5. 学习F40 7Micropython开发板与声音传感器与光敏传感器的接线方法以及利用声音与光控制发光二极管亮灭。

    1.jpg 407详情2.png

        2.所需元器件

        F407 Micropython开发板板子一块
        声音传感器一个
        光敏传感器一个
        面包板一块
        发光二极管若干
        数据线一条
        杜邦线若干

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

        1.光敏电阻模块对环境光线最敏感,一般用来检测周围环境的光线的亮度,触发单片机或继电器模块等;
        2.模块在环境光线亮度达不到设定阈值时,DO端输出高电平,当外界环境光线亮度超过设定阈值时,DO端输出低电平;
        3.DO输出端可以与单片机直接相连,通过单片机来检测高低电平,由此来检测环境的光线亮度改变;
        4.DO输出端可以直接驱动本店继电器模块,由此可以组成一个光控开关。


    3.png
        光敏传感器

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

        1.声音模块对环境声音强度最敏感,一般用来检测周围环境的声音强度。
        2.模块在环境声音强度达不到设定阈值时,OUT输出高电平,当外界环境声音强度超过设定阈值时,模块OUT输出低电平;
        3.小板数字量输出OUT可以与单片机直接相连,通过单片机来检测高低电平,由此来检测环境的声音;
        4.小板数字量输出OUT可以直接驱动本店继电器模块,由此可以组成一个声控开关;


    4.png
        声音传感器
        硬件接线方法

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

        5.源代码
    1. # main.py -- put your code here!
    2. import pyb
    3. from pyb import Pin

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

    7. while 1:
    8.     if light.value()==1:
    9.         if voice.value()==1:
    10.             led.value(0)
    11.             pyb.LED(2).off()
    12.             pyb.LED(3).off()
    13.             pyb.LED(4).on()     
    14.         else:
    15.             pyb.LED(3).off()
    16.             pyb.LED(4).off()
    17.             led.value(1)
    18.             pyb.LED(2).on()
    19.             pyb.delay(5000)
    20.     else:
    21.         pyb.LED(3).on()
    22.         pyb.LED(2).off()
    23.         pyb.LED(4).off()
    24.         led.value(0)
    复制代码



    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-11-25 00:07 , Processed in 0.116713 second(s), 16 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.