文档章节

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

bodasisiter
 bodasisiter
发布于 2016/11/21 15:08
字数 1168
阅读 103
收藏 1
点赞 0
评论 0

    声光控开关在我们日常生活中已经非常普遍了,几乎每个小区的楼道里都能有声光控开关的影子。现在也逐渐出现了声光控的小夜灯,晚上起夜再也不用担心太黑、刺眼、找不到开关了!下面就教大家用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
粉丝 14
博文 141
码字总数 129033
作品 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]TPYBoard智能小车“飞奔的TPYBoard装甲一号”

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

bodasisiter
昨天
0
0
[Micropython]TPYBoard v10x拼插编程实验 点亮心形点阵

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

bodasisiter
04/17
0
0
MicroPython入门:能跑MicroPython开发板大盘点!

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

bodasisiter
07/06
0
0
第一款Micropython图形化编辑器—Python Editor

当你看到这篇文章的时候,显然你已经阅读了很多类似的文章,那么本篇文章会深入讲解一些新手的需求,提供详细的建议,当然我不会告诉你具体怎么做,一切答案都是肤浅的。 就拿我自己来说,初...

bodasisiter
04/23
0
0
Micropython 红外防坠落小车制作实验

智能小车现在差不多是电子竞赛或者DIY中的主流了,寻迹,壁障,遥控什么的,相信大家也都见得很多了,这次就大家探讨一下防坠落小车的制作方法,不同于以往的是这次的程序不用C语言写,而是要...

bodasisiter
01/13
0
0
Python 开发已成趋势:几种主流的Python开发板对比

Python是一门近几年崛起很快也很火的编程语言。区别于我们国家大学里的第一门编程语言往往是C语言,Python则成为了国外本科学的入门级编程语言。同时随着科技的发展,拥有高容量、高速度和多...

bodasisiter
2016/12/24
23.5K
14
MicroPython:STM32 上 的 Python 开发

bodasisiter
2016/12/28
6.6K
2
Python开发实例:TPYBoard开发板DIY红绿灯

流水灯可能是大家最经常DIY的东西,一个是因为简单容易实现,再就是效果不错。为了演示MicroPython的强大功能,展现不同的用法,下面教大家用TPYBoard开发板DIY一个小红绿灯板,一起体验pyt...

bodasisiter
2016/10/10
548
1

没有更多内容

加载失败,请刷新页面

加载更多

下一页

聊聊ribbon的超时时间设置

序 本文主要研究一下ribbon的超时时间设置 配置 实例 ribbon: ReadTimeout: 10000 ConnectTimeout: 10000 MaxAutoRetries: 0 MaxAutoRetriesNextServer: 1 eureka: enabled: ......

go4it
8分钟前
0
0
一行代码结果叹为观止,能做到这么极致的也只有python了

Python 这门语言非常的有趣,不仅可以做高大上的人工智能、大数据、机器学习。还可以用来做 Web、爬虫。还有其它很多的应用。今天我就给大家展示下一行 Python 代码都可以做些什么。 一行打印...

猫咪编程
12分钟前
0
0
KingShard使用

对于kingshard的功能,在git中可以看到明确的功能说明 主要功能: 1. 基础功能 支持SQL读写分离。 支持透明的MySQL连接池,不必每次新建连接。 支持平滑上线DB或下线DB,前端应用无感知。 支...

mickelfeng
14分钟前
0
0
Linux 下 查找某个字符串

如果你想在当前项目下 查找 "test" 这个字符串,可以这样: grep -rn "test" * * : 表示当前目录所有文件,也可以是某个文件名-r 是递归查找-n 是显示行号-R ...

nsns
14分钟前
0
0
数据结构 之 B树与红黑树

https://blog.csdn.net/v_july_v/article/details/6530142 http://www.cnblogs.com/CarpenterLee/p/5503882.html...

晨猫
14分钟前
0
0
Linux查看服务器总内存和总硬盘大小

一、linux CPU大小; 其实应该通过Physical Processor ID来区分单核和双核。而Physical Processor ID可以从cpuinfo或者dmesg中找到. flags 如果有 ht 说明支持超线程技术 判断物理CPU的个数可...

浮躁的码农
14分钟前
0
0
Postfix命令行说明

Postfix tips and Troubleshooting Commands Here's a list of stuff I user everyday and other email admins will also be using, Let me know if I missed anything List/Print current m......

mingle
21分钟前
0
0
是时候使用Helm了:Helm, Kubernetes的包管理工具

目前我们的一个产品共有4套环境:dev环境、test环境、staging环境、production环境。 其中dev, test, staging环境在一个Kubernetes集群上以不同namespace部署,production环境部署在另一个Kub...

xiaomin0322
28分钟前
0
0
常见的redis的序列化方式

概括 一般redis的序列化方式主要有:字符串序列化、json序列化、xml序列化、jdk序列化,具体可查阅org.springframework.data.redis.serializer.RedisSerializer 的实现类,其中对于json序列化...

菜蚜
42分钟前
1
0
Linux bash入门

一、Linux Bash介绍 Bash是UNIX系统下的一个命令解析器,全称为Bourne-Again Shell是一个为GNU开源项目编写的Unix shell。bash功能强大,尤其是在处理自动循环或者耗时大的任务方面可以节省大...

老韭菜
46分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部