基于C51单片机开发的智能垃圾桶项目
项目效果:当垃圾桶第一次感受到震动、垃圾靠近垃圾桶、或者按下接在单片机的外部按钮时,舵机就会跟连在一起的垃圾桶盖一起旋转九十度,并伴随滴的一声表示垃圾桶盖一打开,垃圾桶盖打开两秒后自动关盖,如果垃圾桶持续感受到震动、垃圾持续靠近垃圾桶、或者持续按下接在单片机的外部按钮时,垃圾桶盖会一直打开,且不会出现垃圾桶盖抖动的现象。
所需元器件:C51单片机开发板、SG90舵机、HC-SR04超声波测距模块、SW-18010P震动传感器模块、MH-FMD蜂鸣器、杜邦线若干。
思路:连接单片机的震动传感器当收到震动时会发出一个低电平信号给单片机,外部按钮按下时会发出一个低电平信号给单片机,而蜂鸣器是低电平触发,舵机是通过相对应的脉冲触发从而达到想要旋转地角度,如果设计一个程序使得当震动传感器或外部按钮输入一个低电平信号给单片机时,单片机给蜂鸣器输出一个短暂的低电平的同时,还给舵机输出一个能使舵机旋转九十度的脉冲信号保持两秒后给舵机输出一个旋转零度的脉冲信号,这样就能实现震动传感器和外部按钮实现控制舵机的旋转角度。同样,超声波测距通过代码来计算超声波模块与挡在超声波前面的物体的距离是否达到了设计距离,比如小于10,如果判断成立,则给予舵机一个使舵机旋转九十度的脉冲信号,保持两秒,同时给予蜂鸣器一个短暂的低电平信号,两秒后给舵机输出一个旋转零度的脉,从而实现智能垃圾桶的效果。
项目代码
# include "reg52.h"
# include "intrins.h"sbit trig = P2^6;
sbit Echo = P2^5;
sbit sign = P1^1;
sbit SW2 = P2^1;
sbit shake0 = P3^2;
sbit lond = P1^5;int ang = 0;
int cmd = 0;
int shake1;void Delay10us() //@11.0592MHz
{unsigned char i;i = 2;while (--i);
}void Delay200ms() //@11.0592MHz
{unsigned char i, j, k;_nop_();i = 2;j = 103;k = 147;do{do{while (--k);} while (--j);} while (--i);
}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 startHC_SR04()
{trig = 0;trig = 1;Delay10us();trig = 0;}
void startDSQ0()
{TMOD &= 0xF0; TMOD |= 0x01; TL0 = 0; TH0 = 0;
}void startDSQ1()
{EA = 1;ET1 = 1;TMOD &= 0x0F; TMOD |= 0x10; TL1 = 0x33; TH1 = 0xFE ; TF1 = 0; TR1 = 1;
}void among () interrupt 3
{++cmd;TL1 = 0x33;TH1 =0xFE;if(cmd < ang){sign = 1;
}elsesign = 0;
if(cmd == 40)
{cmd = 0;sign = 1;
}
}void shaker () interrupt 0
{shake1 = shake0;
}void startshake()
{EA = 1;EX0 = 1;IE0 = 0;IT0 = 0;}void londer()
{lond = 0;Delay200ms();lond = 1;}void main()
{double time;double dis;startDSQ1();startshake();while(1)
{startDSQ0();startHC_SR04();while(Echo == 0);TR0 = 1;while(Echo == 1);TR0 = 0;time = 1.085*(256*TH0 + TL0);dis = 0.017*time;if(dis <= 10 || SW2 == 0 || shake1==0){ang = 3;shake1 = 1;londer();Delay2000ms();
}else{ang = 1;
}
}
}
基于C51单片机开发的智能垃圾桶项目相关推荐
- 【C51开发应用】基于C51单片机开发的循迹灭火机器人
基于C51单片机开发的循迹灭火机器人 一.作品摘要 二.系统设计步骤 三.方案设计 3.1 小车主体设计 3.1.1 购买玩具小车进行改装 3.1.2 自己设计小车主体结构 3.2 电 ...
- 基于c51单片机的毕业设计——智能温度控制
本设计采用AT89C51单片机为控制芯片,硬件上用dsb18202做温度采集(有需要也可以采用dht11温湿度模块)直流电机作为降温风扇,用户可通过按键来控制转速的大小,用继电器来控制电阻丝提高温度. ...
- 基于51单片机的红外智能垃圾桶原理图程序设计
硬件设计 (末尾附文件) 系统功能分析 本设计由STC89C52单片机电路+红外避障传感器+HX711称重电路+蜂鸣器报警电路+继电器电路+电源电路组成. 1.避障红外传感器1检测到障碍物,继电器闭合 ...
- 基于STM32F103c8t6的智能垃圾桶项目
基于STM32F103c8t6的智能垃圾桶项目 写在前头 软件配置 硬件部分 1. 主控芯片 2. HC-SR04超声波模块 模块简介 模块参数 工作原理 GPIO配置 3. SG90舵机 模块简介 ...
- 【网络收录】基于51单片机开发音乐播放器
[网络收录]基于51单片机开发音乐播放器 本文作者:天析 作者邮箱:2200475850@qq.com 发布时间: Thu, 22 May 2014 18:14:00 +0800 特别声明:本资料来源 ...
- 基于51单片机的wifi智能led灯的毕业设计
基于51单片机的wifi智能led灯的毕业设计 摘要 系统基于STC89C52RC单片机设计,拥有自动与手动两种模式,自动模式下可以过热释红外传感器检测是否有人,采用光敏电阻构成的电路检测环境光的强度 ...
- 最简单DIY基于STM32单片机的WIFI智能小车设计方案
STM32库函数开发系列文章目录 第一篇:STM32F103ZET6单片机双串口互发程序设计与实现 第二篇:最简单DIY基于STM32单片机的蓝牙智能小车设计方案 第三篇:最简单DIY基于STM32F ...
- 最简单DIY基于STM32单片机的蓝牙智能小车设计方案
STM32库函数开发系列文章目录 第一篇:STM32F103ZET6单片机双串口互发程序设计与实现 第二篇:最简单DIY基于STM32单片机的蓝牙智能小车设计方案 文章目录 STM32库函数开发系列文 ...
- 基于WeMos D1+esp8266的智能垃圾桶和智能家居
1.环境搭建 本次主要是用ArduinoIDE平台来进行开发,可以去官网进行下载:Arduino - Home 也可去网盘下载,在这里为大家准备了网盘连接: 链接:https://pan.baidu. ...
最新文章
- Warning: post-commit hook failed (exit code 255) with no output.
- apk ionic 破损_cordova – ionic build android不生成任何.apk文件或错误
- Linux复习资料——CentOS7下安装MySQL5.7.22(完整版本)
- 手机运行服务器无响应,《最强蜗牛》服务器无响应怎么办 服务器无响应解决方法...
- linux如何运行多个硬盘,一个硬盘如何装两个Linux
- HBase环境搭建60010端口无法访问问题解决方案
- Java作业基础知识梳理--2020-12-03
- 卡住 安装_【书中有路】弹簧式安全阀结构原理、故障解析、安装要点
- linux sudo输入密码无法获得锁,Linux系统提示无法获得锁/var/lib/dpkg/lock怎么办?
- 孙鑫VC学习笔记:第十一讲 (五) 如何使窗口具有滚动条
- 如何制作统计报表(盈帆报表: efreprt.com)
- 关于邮箱的POP协议、imap协议、imap协议简单讲解
- 王者荣耀背景故事整合
- java pfx_如何在Java中读取.pfx文件的内容?
- 教育行业数据防泄密解决方案
- R5 4650G和R5 5600G差距
- 用计算机用u盘怎么切换,u盘上的东西换个电脑就不见了怎么办啊
- html怎么把图片设成圆弧边,ps里怎么把边缘做成弧形
- 转载】泡MM与GOF的23种模式(看着挺有意思)
- 基于TDOA声源定位算法仿真–MATLAB仿真
热门文章
- webpack打包的时候自动删除dist文件夹
- int转化为long
- 初中信息技术用计算机做科学实验报告,今秋中考加试信息技术和理化实验操作...
- nginx的版本选择
- 机器人已从科幻小说和电影银幕里走出来,走近了平常人的生活。
- socket实现大型文件传输
- 西部将建国家算力枢纽节点,“东数西算”怎么运?
- UE5笔记【七】Nanite虚化几何-虚化几何简介;创建Nanite对象。
- 廉洁文化 计算机学院,计算机学院关于在学生中开展第五届“廉洁诚信,从我做起”教育活动的通知...
- B2C电商项目(第十二天、微信扫码支付、支付二维码、支付回调逻辑、推送支付通知)