感应关盖垃圾桶项目

1.功能描述

        检测靠近时,垃圾桶自动开盖并伴随滴一声,2秒后关盖

        发生震动时,垃圾桶自动开盖并伴随滴一声,2秒后关盖

        按下按键时,垃圾桶自动开盖并伴随滴一声,2秒后关盖

2.硬件说明

        SG90舵机,超声波模块,震动传感器,蜂鸣器

接线说明

        舵机控制口 P1.1;超声波Trig接 P1.5 ,Echo接 P1.6 ;

        蜂鸣器接 P2.0 口; 震动传感器接 P3.2`口(外部中断0)

3.开发步骤:

3.1. 舵机和超声波代码整合

        舵机用定时器0

        超声波用定时器1

        实现物体靠近后,自动开盖,2秒后关盖

3.2. 查询的方式添加按键控制

        3.3. 查询的方式添加震动控制

        3.4. 使用外部中断0配合震动控制

4.烧录代码时,先检查每一个模块的功能是否完整

        4.1超声波模块改为定时器1代码

#include "reg52.h"
#include <intrins.h>sbit D5   = P3^7;//
sbit D6   = P3^6;
sbit Trig = P1^5;
sbit Echo = P1^6;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 Time1Init()
{TMOD &= 0x0F; //保持低四位不变,高四位为0TMOD |= 0x10; //低四位保持不变, 把M1和M0改为 0 1 TH1 = 0;TL1 = 0;//
}void StartHC()
{Trig = 0;Trig = 1;Delay10us();Trig = 0;
}void main()
{double time;double dis;Tim

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

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

相关文章

ubuntu_Docker安装配置

什么是docker? Docker 是一个开源的应用容器引擎&#xff0c;让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中&#xff0c;然后发布到任何流行的 Linux或Windows操作系统的机器上&#xff0c;也可以实现虚拟化。容器是完全使用沙箱机制&#xff0c;相互之间不会有…

『ZJUBCA Collaboration』WTF Academy 赞助支持

非常荣幸宣布&#xff0c;浙江大学区块链协会收到WTF Academy的赞助与支持&#xff0c;未来将共同开展更多深度合作。 WTF Academy是开发者的Web3开源大学&#xff0c;旨在通过开源教育让100,000名开发者进入到Web3。截止目前&#xff0c;WTF开源教程在GitHub收获超15,000 ⭐&a…

【LAMMPS学习】八、基础知识(5.9)LAMMPS 近场动力学

8. 基础知识 此部分描述了如何使用 LAMMPS 为用户和开发人员执行各种任务。术语表页面还列出了 MD 术语,以及相应 LAMMPS 手册页的链接。 LAMMPS 源代码分发的 examples 目录中包含的示例输入脚本以及示例脚本页面上突出显示的示例输入脚本还展示了如何设置和运行各种模拟。 …

Ubuntu软件中心不显示

装完Ubuntu后没有Software -- 更新apt sudo apt update -- 升级apt sudo apt upgrade -- 重启 sudo systemctl reboot-- 安装snap sudo apt-get install snap -- 安装软件商店 sudo snap install snap-store -- 更新软件商店 sudo snap refresh snap-store安装成功&#xff01…

学QT的第二天~

小黑子鉴别界面 #include "mywidget.h" void MyWidget::bth1() { if(edit3 ->text()"520cxk"&&edit4 ->text()"1314520") { qDebug()<< "你好&#xff0c;真爱粉"; this->close(); } else { speecher->sa…

【建网护网三十载】 守护不息创新不止,C3安全AI未来!

30年&#xff0c;中国互联网从起步探索到领先全球。1994年4月20日&#xff0c;中国正式开通首条64K的国际专线&#xff0c;标志着我国成功实现与国际互联网的全功能接轨&#xff0c;展开互联网快速发展的三十载。 回望30年&#xff0c;亲历建网&#xff0c;投身建设&#xff0c…

Charles抓包工具

Charles是一个HTTP代理工具&#xff0c;使开发人员能够查看客服端和服务器之间的所有HTTP/ HTTPS/SSL网络请求。 Charles是在PC环境下常用的网络抓包截取工具&#xff0c;在做移动开发时&#xff0c;我们为了调试客户端与服务端的网络通讯协议&#xff0c;常常需要截取网络请求…

大数据集成平台建设方案-word原件资料

基础支撑平台主要承担系统总体架构与各个应用子系统的交互&#xff0c;第三方系统与总体架构的交互。需要满足内部业务在该平台的基础上&#xff0c;实现平台对于子系统的可扩展性。基于以上分析对基础支撑平台&#xff0c;提出了以下要求&#xff1a; (1) 基于平台的基础架构&…

iframe通信postMessage

iframe嵌入页面是实现微前端的方式之一。由于浏览器的跨域限制&#xff0c;iframe与父页面之间的通信变得不是那么容易。postMessage解决了这个问题。从广义上讲&#xff0c;一个窗口可以获得对另一个窗口的引用&#xff08;比如 targetWindow window.parent&#xff09;&…

spring bean生命周期全部过程

Spring Bean的生命周期包括以下全部过程&#xff1a; 实例化&#xff1a;在Spring容器启动时&#xff0c;根据配置文件或注解等信息创建Bean的实例。属性赋值&#xff1a;如果Bean有属性需要进行初始化&#xff0c;Spring容器会自动为这些属性进行赋值。自定义初始化方法&…

线程理论篇1

本章问题&#xff1a;什么是线程?线程的使用场景&#xff1f;什么是线程池&#xff1f;线程池是如何工作的&#xff1f;线程池共享了哪些资源?线程安全代码怎么写&#xff1f;什么是线程安全? 什么是线程&#xff1f; 线程是为了提高进程的效率。进程的地址空间中保存了cpu…

【mysql】mysql单表查询、多表查询、分组查询、子查询等案例详细解析

✨✨ 欢迎大家来到景天科技苑✨✨ &#x1f388;&#x1f388; 养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; &#x1f3c6; 作者简介&#xff1a;景天科技苑 &#x1f3c6;《头衔》&#xff1a;大厂架构师&#xff0c;华为云开发者社区专家博主&#xff0c;…

嵌入式C语言高级教程:实现基于STM32的人工智能语音识别系统

在嵌入式系统中实现语音识别技术可以极大地增强设备的交互性。本教程将指导您如何在STM32微控制器上使用TensorFlow Lite for Microcontrollers实现基本的语音识别功能。 一、开发环境准备 硬件要求 微控制器&#xff1a;STM32F746NG&#xff0c;支持足够的运算能力和内存来…

spring高级篇(七)

1、异常处理 在DispatcherServlet中&#xff0c;doDispatch(HttpServletRequest request, HttpServletResponse response) 方法用于进行任务处理&#xff1a; 在捕获到异常后没有立刻进行处理&#xff0c;而是先用一个局部变量dispatchException进行记录&#xff0c;然后统一由…

VMware虚拟机中ubuntu使用记录(5)—— 如何在ubuntu中安装USB相机ros驱动并获取usb摄像头数据

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 一、ROS下USB相机驱动1.准备工作(1) 下载驱动(2) 创建ROS工作空间 2. 安装usb_cam驱动(1) 安装usb_cam驱动包(2) 编译代码 3. 修改usb_cam驱动的配置文件(1) 查看US…

一路串联电机的绕制原理

这里要说明的一点是 对于一路串联的电机&#xff0c;无论是一把线圈还是两把线圈&#xff0c;出来的都是只有两个线头&#xff0c;可看做一个整体来对待&#xff01; 绕制具体原理 同心式线圈绕制 前面说的都是等距式的 线圈绕制&#xff0c;下面我们讲解一下同心式的绕制办法…

##07 从线性回归到神经网络:PyTorch实战解析

文章目录 前言线性回归基础理论背景实现步骤 神经网络介绍理论背景实现步骤 从线性回归到神经网络结论 前言 在深度学习的浩瀚宇宙中&#xff0c;线性回归和神经网络是两个基本但极其重要的概念。线性回归模型是统计学和机器学习的基石之一&#xff0c;而神经网络则是深度学习…

大模型能提高工作效率吗?

大模型可以通过多种方式提高办公效率&#xff0c;尤其是在处理信息和数据方面。 下是一些具体的应用场景&#xff1a; 自动化文档处理&#xff1a; 大模型可以自动处理文档&#xff0c;包括阅读、理解和总结长篇文章或报告&#xff0c;以及自动生成摘要或关键点。 自然语言生…

[开发|鸿蒙] DevEco Studio编译构建(笔记,持续更新)

构建体系 编译构建是将应用/服务的源代码、资源、第三方库等&#xff0c;通过编译工具转换为可直接在硬件设备上运行的二进制机器码&#xff0c;然后再将二进制机器码封装为HAP/APP软件包&#xff0c;并为HAP/APP包进行签名的过程。其中&#xff0c;HAP是可以直接运行在模拟器…

C++算法题 - 二叉树(2)

TOC 114. 二叉树展开为链表 LeetCode_link 给你二叉树的根结点 root &#xff0c;请你将它展开为一个单链表&#xff1a; 展开后的单链表应该同样使用 TreeNode &#xff0c;其中 right 子指针指向链表中下一个结点&#xff0c;而左子指针始终为 null 。展开后的单链表应该与…