好久没有更新博客了,今天开始有时间就写写博客,总结一下之前做过的项目,以及对一些技术的思考。因为目前做过的项目都是为了学习单片机的某个知识点而做的,完成程度并不完整,后面也会对这些做过的项目进行完善和拓展,同样会记录在csdn博客。

简单介绍一下项目

当你将电动车的警报模式开启之后,如果有人接触到了电动车,报警器就会发出警报。

未来完善项目的设想

后续我想加入通信功能,再使用一个简单的app,可以在发出预警的同时,将预警信息发送到车主的手机app上,在app上可以显示车子的实时定位。

需要用到的模块

  1. 一块51单片机

  2. 震动传感器

  3. 继电器

  4. 一个小喇叭

  5. 433M无线收发模块

  6. 足够的杜邦线

  7. 一台能用的电脑

这个项目用到的技术

为何说这个项目比较基础?因为这个项目完全可以用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 1     //状态位
#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 = 1;//这个时候状态就变成警报状态mark = J_ON;}//B按键被按下if(D1_OFF == 1){switcher =0;delay500ms();switcher = 1;//警报状态解除,变成正常状态mark = J_OFF;}//判断状态位if(mark == J_ON){//震动传感器发低电平时if(virate == 0){switcher = 0;//下面的可要可不要,不要的话,一旦有震动就会一直响。//delay2000ms();//switcher = 1;}else{switcher = 1;}}}
}

项目效果

最后呈现出来的效果:遥控器按下A,进入警报模式,喇叭会响2秒钟;然后就会监测是否震动。当感受到震动时,喇叭就会发出警报声(在这里因为我不想他响这么久,就设置了只响两秒,正常的话会一直长响)。遥控器按下B,就会退出警报模式,不管怎么震,都不会响。

效果视频可以看看我主页的里面的视频栏目,因为上传视频需要时间审核,等上传成功后我会在后面补上。

简易版电动车报警器效果图

第一次写项目总结,有不足的地方或者不对的地方请多多指教。

51单片机入门项目总结:简易版防盗报警器相关推荐

  1. c语言程序 电子钢琴按键,基于51单片机8按键电子琴-简易版系统设计(原理图+程序仿真+论文)...

    一. 引言 单片机因其体积小,功能强,价格低廉而得到广泛应用,同时随着我国经济的飞速发展,单片机在越来越多的领域得到了广泛的应用,现在国内的单片机多用于电话,玩具和LCD等产品,预计在未来,利用单片机 ...

  2. 51单片机入门——数字时钟

    文章目录 1. 前言 1.1. 设计要求 2. 硬件原理 2.1. 时钟信号(晶振) 2.2. 按键开关 2.3. 数码管显示 3. 原理图 3.1. 仿真原理图 3.2. AD原理图 3.3. PC ...

  3. 51单片机入门——矩阵按键

    文章目录 1.按键 1.1.独立按键 1.2.矩阵按键 2.按键的扫描与抖动 2.1.独立按键的扫描 2.2.按键抖动与消抖 2.3.矩阵按键的扫描 3.简易计算器 1.按键 1.1.独立按键 常用的 ...

  4. 51单片机入门——16路抢答器

    文章目录 设计要求 电路原理图 硬件原理 时钟信号(晶振) 矩阵按键与独立按键 代码解析 设计要求 同时为16支参赛队提供抢答功能,抢答成功后应能通过数码管显示出参赛队号数,同时点亮发光二极管示意抢答 ...

  5. 51单片机入门学习笔记(上)

    笔记整理自B站UP主江科大自化协教程<51单片机入门教程-2020版 程序全程纯手打 从零开始入门> 所用单片机为普中51 STC89C52单片机2022新款,文中所提到的调试现象及结果也 ...

  6. 51单片机入门教程学习笔记

    基于江科大自化协B站教学视频<51单片机入门教程-2020版 程序全程纯手打 从零开始入门> 一.单片机介绍 单片机,英文Micro Controller Unit,简称MCU 内部集成了 ...

  7. C语言极速学习开发——51单片机入门编程之使用KeilC51进行代码编译(点亮你心中学习的精神之灯-下)

    系列文章目录 提示:本文章为系列文章,系列文章的所有文章的目录后期会时刻更新,喜欢的朋友请收藏好 <第一章 C语言极速学习开发--51单片机入门编程之使用KeilC51进行代码编译(点亮你心中学 ...

  8. 想学单片机怎么入手?51单片机入门自学最佳指南

    曾经我是自学单片机然后跨行成功,今天来分享下自己的经验. 在网上看了很多文章,很多人说现在51单片机已经过时了,建议从STM32开始学习. 或者单片机没有钱途,直接搞ARM+Linux. 我的建议是从 ...

  9. 51单片机入门教程(6)——外部中断

    51单片机入门教程(6)--外部中断 一.外部中断 1.1 中断 1.2 外部中断 二.中断优先级 一.外部中断 1.1 中断 关于中断的概念在上一篇博客中已经提到了.(传送门:51单片机入门教程(5 ...

最新文章

  1. pek (北大oj)3070
  2. “大众搬家”何其多啊?[3/14/2007 update]
  3. js中内置对象Math()常用方法笔记
  4. 互联网数据中心安全管理方案
  5. 5.3 个体条件期望(Individual Conditional Expectation, ICE)
  6. Matlab 进行FFT
  7. 另一种launch SAP CRM AET的方式
  8. 解析css之position
  9. 【CodeForces - 789C】Functions again(最大子段和变形,dp,思维)
  10. c语言limits.h_ (limits.h)C ++中(整数类型的大小)的宏常量
  11. 数据科学家 数据工程师_发展数据科学家和工程师
  12. java 全选 反选取值_全选反选以及获取选中的数据
  13. 使用apidoc 生成Restful web Api文档——新手问题与解决方法
  14. tomcat修改端口号
  15. 英语单词听力测试软件,英语单词发音软件
  16. 计算机内存清理原理,怎样清理计算机内存
  17. 什么是flex布局,它的常用属性有哪些
  18. java.awt.eventdispatchthread_大神们,小弟来了!解决办法
  19. 移动安全-Frida hook安卓So层函数实战
  20. 数据库---四中连接查询(交叉、左连接、右连接、完整查询)

热门文章

  1. Android 系统自带时间选择控件
  2. restSharp 使用中关于Timeout Exception的坑
  3. 汤姆大叔的博客 -【1】编写高质量JavaScript代码的基本要点
  4. 如何查找MySQL,PHP和Apache配置文件位置
  5. react-native-quan代码分析笔记
  6. 【找规律+公式推导+切西瓜问题】HDU-1290 献给杭电五十周年校庆的礼物
  7. 【JavaSE】 try-catch 异常处理
  8. 2019年RTC大会记录
  9. 台湾精锐Apex行星减速机安装步骤及注意事项
  10. android 如何把.swf作为开机动画,开机动画制作与使用教程