我已经很久没有更新我的博客了。今天,我有时间写博客,总结我以前做过的项目,并思考一些技术。因为目前的项目是为了学习单片机的某个知识点,完成程度不完整,这些项目以后会得到改进和扩展,也会被记录下来csdn博客。
简单介绍一下项目
当您打开电动汽车的报警模式时,如果有人接触到电动汽车,报警器将发出报警。
未来完善项目理念
我想在后续添加通信功能,然后使用一个简单的功能app,在发出预警的同时,可以将预警信息发送给车主的手机app上,在app它可以显示汽车的实时定位。
模块需要使用
本项目使用的技术
为什么这个项目更基础?因为这个项目可以完全使用IO口腔实现是将需要调用的每个模块接收到单片机IO这些硬件模块可以通过编写程序来控制。
开始实现这个项目吧
首先需要的是51单片机。一开始,你可以先测试板是否可用。你可以先点亮它LED测试单片机是否能成功燃烧程序。如果没有问题,你可以继续下一步。当然,这一步可以省略,毕竟,遇到板问题的可能性相当低。不是没有,就像我以前遇到过一样,伤害。如何使用上述模块,请参见下面。
震动传感器

上图为振动传感器,上图有四个针脚,VCC和GND传感器负责供电,DO口负责数字信号输出,通常连接到单片机IO口上。当VCC和GND当连接到单片机时,振动传感器的电源指示灯将亮起。SW-18010P当感觉到振动时,开关信号指示灯会亮起,通过调节电位器可以调节接收振动的灵敏度。
继电器模块


VCC和GND分别连接正负极,IN接单片机的IO嘴。在这个项目中,你可以看看第二张图的原理图,分别接收喇叭的正负极NO和COM在嘴上,形成了一个电路。继电器中的铁片起着控制作用IO低电平时口发,NO和COM嘴会接在一起,电路接通,喇叭会响;当IO高电平时口发,COM端就会和NC端接在一起,电路处于不连接状态。
433M接收模块的无线发射

还是一样,VCC和GND负责供电D0到D3管脚对应遥控器ABCD。
如何使用这些模块后,就可以开始制作报警器了。关于433M本网站可参考无线发射接收模块的内容:https://wenku.baidu.com/view/8fe8f444bed5b9f3f80f1c33.html
不多说,直接上代码:
#include "reg52.h"#include <intrins.h>#define J_ON #define J_OFF 0 sbit virate = P3^3. //振动传感器sbit switcher = P1^3; //继电器sbit D0_ON = P1^2; //433M打开sbit D1_OFF = P1^1; //433M关闭void Delay2000ms()@11.0592MHz{ unsigned char i,j,k; _nop_(); i = 15; j = 2; k = 235; do { do { while (--k); } while (--j); } while (--i);}void Delay500ms()@11.0592MHz{ unsigned char i,j,k; _nop_(); i = 4; j = 129; k = 119; do { do { while (--k); } while (--j); } while (--i);}void main(){ int mark = J_OFF; while(1) { //查询哪一个按键被按下 if(D0_ON == 1) { //这个时候就会进入警报模式 switcher = 0; delay2000ms(); switcher = //此时状态变成警报状态 mark = J_ON; B按键被按下 if(D1_OFF =={ switcher = delay500ms(); switcher = 1; //解除报警状态,成为正常状态 mark = J_OFF; if(mark == J_ON) { //震动传感器发低电平时 if(virate == 0) { switcher = 0; //下面可以不要,不,一旦有振动,就会一直响。 //delay2000ms()switcher = 1; else { switcher = 1; } 项目效果
最终效果:按下遥控器A,进入报警模式,喇叭响2秒;然后监控振动。当感觉到振动时,喇叭会发出报警声(因为我不想让他响这么久,只有两秒钟,通常会长时间响)。按下遥控器B,将退出报警模式,无论如何震动,都不会响。
可以看看我主页上的视频栏目,因为上传视频需要时间审核,上传成功后我会补上。
电动版电动车报警效果图
第一次写项目总结。如果有不足或不正确的地方,请的建议。