5.28 综合案例2.0-简易起夜灯

news2024/11/23 15:39:05

HaaS506 - 简易起夜灯

  • 简介
  • 准备
  • 硬件连接图
  • 功能实现
      • 1.继电器使用说明
      • 2. 5.8G雷达感应传感器模块说明
      • 3.简易代码
        • 3.1测试log

简介

案例为了解决晚上起床找不到灯的问题。当你从床上起来时,雷达感应传感器检测到你的活动后自动打开电灯。省去了寻找电灯开关的麻烦。

准备

本案例需要的硬件

器材数量
HaaS506 - M601/M3201
5.8G雷达感应传感器模块1
220v电灯泡1
高电平触发继电器1
杜邦线若干

硬件连接图

在这里插入图片描述

功能实现

1.继电器使用说明

  • GPIO18引脚低电平电压0V,拉高后电压为3.2V。继电器正极连接电压为3.3V。所以继电器设置为低电平或高电平触发均可。
  • SI引脚控制左边继电器通断,S2控制右边继电器。
    请添加图片描述

2. 5.8G雷达感应传感器模块说明

在这里插入图片描述

PIN功能备注
VCC供电2.7-4.8V
GND接地-
OUT信号输出输出高低电平(0/2.2V)
P2GPIO2接收增益档位选择(悬空/拉低选择)
P3GPIO3延时时间档为选择(悬空/拉低)

在这里插入图片描述
在这里插入图片描述

3.简易代码

main.py

from driver import GPIO
import utime as time
from bodyDetect import BD
import _thread

#初始化时间
begin_time = 0
now_time = time.time()
value1 = 0

# 初始化人体传感器
radar=GPIO()
radar.open('radar')
def bd_thread():
    global value
    while True:
        bd = BD(radar)
        value = bd.irDetect()
        time.sleep_ms(1)


def detection():
    global value,now_time,begin_time
    now_time = time.time()
    if value == 1:
        begin_time = time.time()
        if p18.read() !=1:
            p18.write(1)
    if value == 0:
        if (now_time - begin_time >10):
            if p18.read() != 0:
                p18.write(0)



if __name__ == '__main__':
    p18=GPIO()
    p18.open('p18')
    p18.write(0)
    _thread.start_new_thread(bd_thread, ())
    while True:
        time.sleep_ms(1)
        detection()     #控制开关等
        #传感器状态改变是打印log
        if value1 != value:
            print('change:',value)
            value1 = value

bodyDetect.py

from driver import GPIO

class BD(object):

    def __init__(self, gpioObj):
        self.gpioObj = None
        if not isinstance(gpioObj, GPIO):
            raise ValueError("parameter is not a GPIO object")

        self.gpioObj = gpioObj

    def irDetect(self):
        if self.gpioObj is None:
            raise ValueError("invalid GPIO object")

        value = self.gpioObj.read()
        return value

board.json

{
  "name": "haas506",
  "version": "2.0.0",
  "io": {
    "p18": {
      "type": "GPIO",
      "port": 18,
      "dir": "output",
      "pull": "pullup"
      },
    "radar":{
      "type":"GPIO",
      "port": 3,
      "dir": "input",
      "pull":"pullup"
    }          
  },
  "debugLevel": "ERROR",
  "repl": "enable",
  "replPort": 0
}

3.1测试log

每次人体运动状态改变时会打印一次change,有人体活动为1,没有活动物体时为0。持续10s没有检测到人体活动,电灯自动关闭。


[17:21:36.804]收←◆\0
[17:21:38.808]收←◆POWERONREASON:0x0003,parse:,powerkey,pinReset.

[17:21:40.646]收←◆change: 1

[17:21:42.686]收←◆change: 0

[17:21:43.987]收←◆change: 1

[17:21:46.026]收←◆change: 0

[17:21:50.706]收←◆change: 1

[17:21:52.746]收←◆change: 0

[17:21:54.767]收←◆change: 1



本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/28489.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

java学习笔记 day07-Java基础-综合练习

练习一:飞机票 需求: ​ 机票价格按照淡季旺季、头等舱和经济舱收费、输入机票原价、月份和头等舱或经济舱。 ​ 按照如下规则计算机票价格:旺季(5-10月)头等舱9折,经济舱8.5折,淡季(11月到来…

表白墙(web版)

文章目录前言一、需求分析1.表白墙页面设计2.表白墙功能二、实现1.客户端2.服务器端3.连接数据库前言 前面前端部分写过一个表白墙页面,但是它不能存储提交信息,为了能够让它在提交信息后可以保存其信息,页面刷新后信息依然存在,…

itk配准整理(1)

示例地址: itk\ITK\Examples\RegistrationITKv4\ImageRegistration7.cxx 说明:itk二维图像的配准:平移旋转缩放 效果图: 运行结果: 52 53.6213 [0.8333298229719548, -0.17450270771316403, -12.806452097490313, -1…

在Win10中使用YAMAHA S-YXG50软波表

曾经非常经典的一款软波表YAMAHA S-YXG50我个人非常的喜欢。在XP系统的时代,是我必装的软件,用来听一些MIDI音质和效果很好。而如今玩MIDI的人越来越少了,软波表的时代也被人渐渐的遗忘了。 如今想要怀旧的话,只能够找一台老电脑…

LINUX的XEN和KVM到底区别在什么地方?

本文调研的是 Completely Fair Scheduler 算法, 它当前是 Linux 中 SCHED_NORMAL(非实时任务) 一类 task 的默认调度器. 实际上, 运行在 Guest OS 中的应用程序线程还受到 Guest OS 的调度, 分时运行在 vCPU 上, 但这不在本文调研范围内. 本文仅调研 vCPU 被如何调度到 pCPU 上…

WebDAV之葫芦儿·派盘+无聊笔记

无聊笔记 支持webdav方式连接葫芦儿派盘。 无聊笔记是一款深受用户认可的系统工具,随时都可以进行软件的操作,也可以在线进行笔记的记录,系统会进行智能的保存,满足了用户日常中的需求,可以把软件作为备忘录,笔记本,摘抄录等。 无聊笔记是一个功能强大的记录工具,您…

代码随想录算法训练营第四十二天| LeetCode416. 分割等和子集

一、LeetCode416. 分割等和子集 1:题目描述(416. 分割等和子集) 给你一个 只包含正整数 的 非空 数组 nums 。请你判断是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。 2:解题思路 本题需要使用01背包的…

合作动态 | 方正璞华与日立签订战略合作协议,加快推进数字化管理变革!

2022年10月27日,方正璞华PLM事业部负责人王志起先生与日立方代表正式签订“方正璞华PLM产品销售合作框架协议”。 根据协议,双方将围绕璞华PLM产品推广、客户拓展、全生命周期运营服务等领域,开展多元化、多层级的深度融合合作,共…

HTML制作一个介绍自己家乡的网站——贵阳,排版整洁,内容丰富,主题鲜明

家乡旅游景点网页作业制作 网页代码运用了DIV盒子的使用方法,如盒子的嵌套、浮动、margin、border、background等属性的使用,外部大盒子设定居中,内部左中右布局,下方横向浮动排列,大学学习的前端知识点和布局方式都有…

CV:计算机视觉技最强学习路线之CV简介(传统视觉技术/相关概念)、早期/中期/近期应用领域(偏具体应用)、经典CNN架构(偏具体算法)概述、常用工具/库/框架/产品、环境安装、常用数据集、编程技巧

CV:计算机视觉技最强学习路线之CV简介(传统视觉技术/相关概念)、早期/中期/近期应用领域(偏具体应用)、经典CNN架构(偏具体算法)概述、常用工具/库/框架/产品、环境安装、常用数据集、编程技巧 导读:计算机视觉技最强学习路线,博主花了三个晚…

Class加载过程

文章目录java解释执行热点代码编译类生命周期加载(Loading)验证(Verification)准备(Preparation)解析(Resolution)初始化(Initialization)使用(Us…

并发编程(三)原子性(2)

【 悲观锁与乐观锁 】: 【悲观锁】: 一定会被别人打断;我必须得上锁。synchronized就是悲观锁。 【乐观锁】: 乐观锁又称之为——无锁、自旋锁、CAS 。 厕所里的人认为不会有其他人来上厕所和我竞争。 【举例解释CAS操作】&a…

SOHO帮客户找新品,如何拿到最优价?要不要选择大型机械类产品?

做外贸,无论是贸易公司还是工厂,又或者是SOHO。都有机会帮助客户采购自己主打产品之外的其他产品,有些人就会问,对于客户咨询的新产品,我们本身没有熟悉的供应商,这个时候要怎么去找到好的供货商&#xff1…

世界技能大赛夺冠背后,亚马逊云科技如何培养云计算技能人才?

云计算相关专业的就业前景如何? 人社部数据显示,到2025年我国云计算人才缺口将高达近150万。另一方面,根据艾瑞咨询《中国云计算行业洞察与人才分析》报告,2019年云计算领域人才月均薪酬在1万元以上的占比达93.7%,3万元…

VK3606D抗电机马达干扰直接输出6键触摸芯片,电容式6通道触控检测IC低电平有效,无触摸4秒进入待机模式常用于工控面板/空调/风扇/家电等

VINKA/永嘉微电的VK3606D SOP16是一种具有自动校准功能,低待机电流,抗电压波动等特性的,6按键电容式触摸触控检测IC,适用于温控器,86面板触摸开关,智能家居等抗干扰场所 型号:VK3606D 封装形…

WebGL、GPU硬件加速、GLSL、光栅化

一、介绍 WebGL经常被当成3D API,人们总想“我可以使用WebGL和一些神奇的东西做出炫酷的3D作品”。 事实上WebGL仅仅是一个光栅化引擎,它可以根据你的代码绘制出点,线和三角形。 想要利用WebGL完成更复杂任务,取决于你能否提供合…

CentOS Stream 9 配置静态 IP

系统环境: OS:CentOS Stream 9 CentOS Stream 9 不同于以往版本的 CentOS,没有之前的网络设置相关的命令,如: service network start/restart/status systemctl start/restart/status network设置网卡 IP 的配置文件…

新媒体研究杂志社新媒体研究编辑部新媒体研究杂志2022年第18期目录

本期聚焦 出版学核心期刊自媒体运营状况与其学术影响力关系研究 程海燕;季佳乐; 1-5 理论研究 《新媒体研究》投稿:cnqikantg126.com 网络社群网民情绪感染研究综述 单悦影;祁凯; 6-922 基于CiteSpace的被遗忘权研究综述 徐怡; 10-14 应用研究 …

MCE | RNA 逆转录小提示

Tips 1:防止 RNA 模板的降解毫无疑问,RNA 质量对 cDNA 合成结果会产生重要影响。但 RNA 很脆弱,易于降解。为了保证 RNA 的完整性,我们需要小心又小心,比如在冰上操作,用 RNase-free 的枪头和离心管&#x…

力扣27.移除元素【顺序表】

🙈个人主页:阿伟t 👉系列专栏:【C语言–大佬之路】 🎈今日心语:你所看到的惊艳,都曾被平庸所历练。 前言: 在解题过程中一定要画图进行思考,然后再敲代码。 文章目录移除…