01:简易的电动车防盗报警器

简易的电动车防盗报警器

  • 1、震动传感器模块的使用
  • 2、使用震动传感器模块控制继电器开关
  • 3、433M无线发射接收模块的使用

需要材料:
1、51单片机
2、震动传感器模块
3、继电器模块
4、高功率喇叭
5、433M无线发射接收模块
6、弱干杜邦线

1、震动传感器模块的使用

在这里插入图片描述

接好 VCC 和 GND,电源指示灯将被点亮。
当检测到震动时,板载指示灯点亮;震动停止,板载指示灯熄灭。
用螺丝刀转动「灵敏度调节电位器」可以调节灵敏度。大家可以将电位器旋到最左或最右,然后测试往哪边旋可以提高灵敏度。

使用说明:
1、产品不震动时,震动开关呈断开状态,输出端输出高电平,绿色指示灯不亮。
2、产品震动时,震动开关瞬间导通,输出端输出低电平,绿色指示灯亮;。
3、输出端可以与单片机直接相连,通过单片机来检测高低电平,由此来检测环境是否有震动,起到报警作用。

案列1:如下原理图,震动传感器D0引脚接入单片机的P3.3口:使用震动传感器模块让LED1亮,当产生震动时,LED1亮。
在这里插入图片描述

#include <REGX52.H>void Delay1000ms()		//延迟1S
{unsigned char i, j, k;i = 8;j = 1;k = 243;do{do{while (--k);} while (--j);} while (--i);
}sbit LED1 = P3^7;			//LED1连接的是P3.7
sbit vibrate = P3^3;	   //模块的D0引脚接入P3.3void main(void)
{while(1){if(vibrate == 0){	//发生震动时LED1 = 0;	Delay1000ms();	//亮1秒LED1 = 1;	   //熄灭}else{			   //不发生震动时LED1 = 1;}}
}

2、使用震动传感器模块控制继电器开关

在这里插入图片描述
如图为一个继电器模块,右侧引脚为IN,VCC,GND引脚,IN引脚接入单片机的IO口,当继电器的IN引脚接收到一个低电平时,继电器左侧的开关COM和NO进行连接。
在这里插入图片描述

案列2:通过震动传感器模块来控制继电器的开关,当发生震动时,开关连接到NO,点亮一个LED3。如下原理图,继电器的IN连接单片机的P1.1口

在这里插入图片描述

#include <REGX52.H>void Delay1000ms()		//延迟1S
{unsigned char i, j, k;i = 8;j = 1;k = 243;do{do{while (--k);} while (--j);} while (--i);
}sbit vibrate = P3^3;	//模块的D0引脚接入P3.3
sbit switcher = P1^1;   //继电器IN接入P1.1void main(void)
{while(1){if(vibrate == 0){	//发生震动时switcher = 0;	//单片机引脚输出低电平,IN接收到低电平,NO和COM连接。LED3点亮Delay1000ms();	switcher = 1;	//NO和COM不连接}else{				//不发生震动时switcher = 1;}}
}

此时我们将LED3换为高功率的一个小喇叭,当发生震动时,NO和COM连接,小喇叭会响,当不发生震动时,小喇叭不响。

3、433M无线发射接收模块的使用

在这里插入图片描述

如图遥控器A,B,C,D分别对应的是D0,D1,D2,D3引脚,当按下遥控器的A按键时,D0引脚发持续送出一个高电平。其他按键同理。

最终案例:按下A键,报警开启,当发生震动时,喇叭响2s;不发生震动时,喇叭不响。
     按下B键,报警关闭,发生震动时,喇叭不响。

如下图原理图,遥控模块D0(A)引脚连接单片机的P1.2口,D1(B)引脚连接单片机P1.3口。
在这里插入图片描述

#include <REGX52.H>#define J_ON 1
#define J_OFF 0void Delay1000ms()		//延迟1S
{unsigned char i, j, k;i = 8;j = 1;k = 243;do{do{while (--k);} while (--j);} while (--i);
}sbit switcher = P1^1;   //继电器IN接入P1.1
sbit D0_ON = P1^2;
sbit D1_OFF = P1^3;
sbit vibrate = P3^3;	//模块的D0引脚接入P3.3void main(void)
{int mark = J_OFF;//定义一个警报标志位,先警报标志位关闭while(1){   //1、按下A键if(D0_ON == 1){	switcher = 0;	//单片机引脚输出低电平,IN接收到低电平,NO和COM连接,喇叭响Delay1000ms();switcher = 1;mark = J_ON;   //喇叭响1s提示代表开启警报}//2、按下B键if(D1_OFF == 1){	switcher = 0;	//单片机引脚输出低电平,IN接收到低电平,NO和COM连接,喇叭响Delay1000ms();switcher = 1;mark = J_OFF;  //喇叭响1s提示代表关闭警报}if(mark == J_ON)//进入报警{if(vibrate == 0)//发生震动时{	switcher = 0;		//单片机引脚输出低电平,IN接收到低电平,NO和COM连接,喇叭响Delay1000ms();Delay1000ms();switcher = 1;		//响2s		}else//不发生震动时{						switcher = 1;}}if(mark == J_OFF)	//关闭警报{switcher = 1;}	}
}

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

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

相关文章

2024全网最全面及最新且最为详细的网络安全技巧五 之 SSRF 漏洞EXP技巧,典例分析以及 如何修复 (下册)———— 作者:LJS

五.SSRF 漏洞EXP技巧&#xff0c;典例分析以及 如何修复 (下册) 目录 五.SSRF 漏洞EXP技巧&#xff0c;典例分析以及 如何修复 (下册) 5.4gopher 协议初探 0x01 Gopher协议 0x02 协议访问学习 复现环境 centos7 kali 2018 发送http get请求 发送http post请求 5.5 SSRF…

2017年,我成为了技术博主

2017年9月&#xff0c;我已经大三了。 >>上一篇&#xff08;爪哇&#xff0c;我初窥门径&#xff09; 我大二学了很多java技术&#xff0c;看似我一会就把javaweb/ssh/ssm这些技术栈给学了。 这些技术确实不难&#xff0c;即便是我&#xff0c;我都能学会&#xff0c;…

Java字符串(String、字符串拼接、原理)

文章目录 一、String字符串1.1创建方式【直接赋值、new一个对象】1.1.1 使用字符串字面值直接赋值&#xff1a;&#xff08;1&#xff09;字符串字面量创建String对象的转换过程&#xff08;2&#xff09;一些方法&#xff08;3&#xff09;说明 1.1.2 使用new关键字创建字符串…

新手教学系列——crontab 使用不当引发的服务器性能问题

起因及症状 最近,我们的一台服务器随着运行时间的增加,逐渐出现了压力过大的问题。具体表现为数据库连接数飙升至 4000+,Redis 频繁超时,系统报错文件打开数过多等。针对这些问题,我们逐一检查了数据库连接池、Redis 连接池以及系统的 ulimit 配置,但都未能找到问题的根…

服务注册Eureka

目录 一、背景 1、概念 2、CAP 理论 3、常见的注册中心 二、Eureka 三、搭建 Eureka Server 1、搭建注册中心 四、服务注册 五、服务发现 六、Eureka 和 Zooper 的区别 一、背景 1、概念 远程调用就类似于一种通信 例如&#xff1a;当游客与景区之间进行通信&…

Linux网络命令:网络工具socat详解

目录 一、概述 二、基本用法 1、基本语法 2、常用选项 3、获取帮助 三、用法示例 1. 监听 TCP 端口并回显接收到的数据 2. 通过 TCP 端口转发数据到 UNIX 套接字 3. 将文件内容发送到 TCP 端口&#xff1a; 4. 使用伪终端进行串行通信 5、启动一个TCP服务器 6、建…

如何借助社交媒体影响者的力量,让品牌影响力倍增?

一、引言&#xff1a;为何社交媒体影响者如此关键&#xff1f; 在信息爆炸的今天&#xff0c;社交媒体已成为塑造消费者行为与品牌认知的重要渠道。社交媒体影响者&#xff0c;凭借其在特定领域的专业知识、庞大的粉丝基础及高度的互动性&#xff0c;成为了品牌传播不可忽视的…

【鸿蒙学习笔记】属性学习迭代笔记

这里写目录标题 TextImageColumnRow Text Entry Component struct PracExample {build() {Row() {Text(文本描述).fontSize(40)// 字体大小.fontWeight(FontWeight.Bold)// 加粗.fontColor(Color.Blue)// 字体颜色.backgroundColor(Color.Red)// 背景颜色.width(50%)// 组件宽…

【LLM】三、open-webui+ollama搭建自己的聊天机器人

系列文章目录 往期文章回顾&#xff1a; 【LLM】二、python调用本地的ollama部署的大模型 【LLM】一、利用ollama本地部署大模型 目录 前言 一、open-webui是什么 二、安装 1.docker安装 2.源码安装 三、使用 四、问题汇总 总结 前言 前面的文章&#xff0c;我们已经…

【Python的pip配置、程序运行、生成exe文件】

Python的pip配置、程序运行、生成exe文件 一、安装Python 通过官网下载对应的版本&#xff0c;安装即可。 下载地址&#xff1a;https://www.python.org/downloads/ Python标准库查看&#xff08;Python自带库&#xff09; Python 标准库文档 安装Python的时候&#xff0c…

昇思25天学习打卡营第13天 | ShuffleNet图像分类

ShuffleNet网络介绍 ShuffleNetV1是旷视科技提出的一种计算高效的CNN模型&#xff0c;和MobileNet, SqueezeNet等一样主要应用在移动端&#xff0c;所以模型的设计目标就是利用有限的计算资源来达到最好的模型精度。ShuffleNetV1的设计核心是引入了两种操作&#xff1a;Pointw…

移除元素的讲解,看这篇就够了!

一&#xff1a;题目 博主本文将用指向来形象的表示下标位的移动。 二&#xff1a;思路 1&#xff1a;两个整形&#xff0c;一个start&#xff0c;一个end&#xff0c;在一开始都 0&#xff0c;即这里都指向第一个元素。 2&#xff1a;在查到val之前&#xff0c;查一个&…

01 | 基础架构:一条SQL查询语句是如何执行的?

此系列文章为极客时间课程《MySQL 实战 45 讲》的学习笔记&#xff01; 引言 在了解 SQL 查询语句如何执行之前&#xff0c;先了解下MySQL 的基本架构示意图。 MySQL 分为 Server 层和引擎层。 Server 层包括连接器、查询缓存、分析器、优化器、执行器等&#xff0c;涵盖 M…

逆向分析之电脑端如何调试一些只能手机端浏览器才可以打开的网站

手机端浏览器的指纹和电脑端浏览器的指纹是不同的,这样只在手机端浏览器运行的网站则可以检测网站是否满足手机端浏览器指纹的要求,不满足则可以进行一些反爬措施。 例如一些公众号,其实就是使用手机端浏览器打开的H5网站,就可以进行手机端浏览器指纹检测。 这里只是讲解下…

硬盘分区读不出来的危机与数据拯救指南

在数字时代&#xff0c;硬盘作为我们存储珍贵数据的“保险箱”&#xff0c;其稳定性和可访问性至关重要。然而&#xff0c;当硬盘分区突然读不出来时&#xff0c;这份安全感瞬间化为泡影&#xff0c;让人心急如焚。本文将深入探讨硬盘分区读不出来的原因、提供两种实用的数据恢…

可以添加todo清单桌面小组件的便签哪个好?

在我们快节奏的生活中&#xff0c;有效的时间管理和任务追踪是必不可少的。为了实现这一目标&#xff0c;许多人选择使用桌面便签&#xff0c;尤其是那些具有Todo清单桌面小组件的便签。但是&#xff0c;面对市场上众多选择&#xff0c;可以添加todo清单桌面小组件的便签哪个好…

springboot中@bean注解的创建和使用

bean的创建顺序 在Spring Boot中&#xff0c;当一个配置类&#xff08;使用Configuration注解的类&#xff09;中定义了多个bean时&#xff0c;这些bean的创建顺序并不完全由它们在类中的声明顺序决定。Spring框架在创建和管理bean时&#xff0c;遵循了复杂的依赖注入和生命周…

使用微pe装系统

本文仅作为记录&#xff0c;不作为教程。 今天心血来潮想下点游戏玩玩&#xff0c;一看之前分的200gc盘已经红了&#xff0c;再加上大学之后这个笔记本已经用得很少了&#xff0c;于是打算重装电脑。 参考: 微PE辅助安装_哔哩哔哩_bilibil… 1.下载微pe和win10系统到U盘 我这…

Day65 代码随想录打卡|回溯算法篇---组合总和II

题目&#xff08;leecode T40&#xff09;&#xff1a; 给定一个候选人编号的集合 candidates 和一个目标数 target &#xff0c;找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的每个数字在每个组合中只能使用 一次 。 注意&#xff1a;解集不能包含…

JAVA的String的不可变特性

在学习JAVA的时候&#xff0c;看到了JAVA的String具有不可变的特性&#xff0c;他是说&#xff0c;JAVA的String在创建好后&#xff0c;JVM将这个String变量指向内存中的一个地址&#xff0c;当下次改变这个String变量的时候&#xff0c;改变的不是这个变量的值&#xff0c;而是…