机器人制作开源方案 | 智能垃圾桶

1. 功能说明 

       智能垃圾桶是一种利用物联网技术和智能感知能力的智能设备,旨在提高垃圾分类和处理的效率。通常具备以下特点和功能:

① 智能感知:智能垃圾桶配备各种传感器,如压力传感器、红外线传感器等,可以实时感知垃圾桶内垃圾的填充情况和类型。

② 垃圾分类:基于传感器的数据,智能垃圾桶能够自动进行垃圾分类,识别可回收物、湿垃圾、干垃圾等不同种类的垃圾,并对其进行分别存放。

③ 容量监测:智能垃圾桶可以实时监测垃圾桶的容量,当垃圾桶接近满载时,会发送提醒信号,方便及时清理和处理垃圾。

④ 数据统计与管理:智能垃圾桶能够记录并统计不同类型垃圾的数量和填充情况,为垃圾处理部门提供数据支持,优化垃圾收集和处理的计划和资源分配。

⑤ 远程监控和控制:智能垃圾桶可以与中心管理系统连接,通过网络实现远程监控和控制,方便管理人员进行实时的状态监测和操作控制。

⑥ 提升垃圾分类意识:智能垃圾桶可以通过显示屏、语音提示等方式,向用户提供垃圾分类的指引和宣传,帮助提高公众的垃圾分类意识和行为。

      本文实例将实现在智能垃圾桶上安装一个 近红外传感器 ,当近红外传感器触发后,垃圾桶即开盖的功能。

2. 结构说明

       R318样机智能垃圾桶的结构主要采用皮带滑轨与四连杆的组合,来实现垃圾桶盖子的开合。具体结构如下:

① 皮带滑轨:智能垃圾桶的顶部设有一个皮带滑轨,是一条闭合的环形轨道,皮带滑轨上方安装有垃圾桶盖子。

② 电机与传动系统:在皮带滑轨的一侧,安装有一个步进电机和传动系统,电机通过传动系统与皮带滑轨相连,提供动力驱动滑轨运动。

③ 四连杆:在滑轨上还安装有四连杆机构,四连杆通过铰链连接在一起。

④ 控制系统:智能垃圾桶还配备有一个控制系统,可以接收来自近红外传感器的信号,并根据信号控制电机和传动系统,实现垃圾桶盖子的开合。

       当近红外传感器检测到有人或垃圾靠近垃圾桶时,控制系统会发送信号给电机和传动系统;电机驱动传动系统带动皮带滑轨运动,同时四连杆也随之运动;通过四连杆机构的连动,垃圾桶盖子可以平稳地打开或关闭,使垃圾桶内部对外开放或密封。

       这种基于皮带滑轨和四连杆的结构设计可以确保垃圾桶盖子的平稳、可靠的开合,提高智能垃圾桶的使用便利性和耐用性。

 3. 电子硬件

      在这个示例中,我们采用了以下硬件,请大家参考:

主控板

Basra主控板(兼容Arduino Uno)

扩展板

Bigfish2.1扩展板

SH-ST步进电机扩展板
传感器近红外传感器
电池7.4V锂电池
其它

步进电机、自备垃圾桶

电路连接:① 将近红外传感器连接在Bigfish扩展板的A0端口;

                  ② 将步进电机连在SH-ST步进电机扩展板的X接口。

4. 功能实现

编程环境:Arduino 1.8.19

下面提供一个当近红外传感器触发后垃圾桶即开盖的参考例程(example.ino),实验效果可参考演示视频。

/*------------------------------------------------------------------------------------版权说明:Copyright 2023 Robottime(Beijing) Technology Co., Ltd. All Rights Reserved.Distributed under MIT license.See file LICENSE for detail or copy athttps://opensource.org/licenses/MITby 机器谱 2023-07-06 https://www.robotway.com/------------------------------*//*实验现象:近红外触发后垃圾桶开盖实验接线:*   近红外接A0,步进电机接扩展板X:*  */#define V_MAX 3500   //设置步进电机速度int sensor0 = A0; //近红外void setup() {Serial.begin(9600);//设置波特率pinMode(sensor0, INPUT);initMotor(); //初始化步进电机}void loop() {if(!digitalRead( sensor0 )){move(0.9);delay(3000);move(-0.9);}else{delay(10);}}

程序源代码及样机3D文件资料详见 智能垃圾桶

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

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

相关文章

Spring Cloud 之 Gateway 网关

🍓 简介:java系列技术分享(👉持续更新中…🔥) 🍓 初衷:一起学习、一起进步、坚持不懈 🍓 如果文章内容有误与您的想法不一致,欢迎大家在评论区指正🙏 🍓 希望这篇文章对你有所帮助,欢…

网络安全 Day20-计算机网络基础知识05(网络原理)

计算机网络基础知识05(网络原理) 1. OSI 模型2. VMware虚拟机NAT模式下上网原理3. 不能上网故障排查 1. OSI 模型 OSI 7层网络通信原理模型 OSI 国际网互联 OSI 数据包封装解封装过程 北京局域网主机A到深圳局域网主机B数据工作流程 2. VMware虚拟机N…

VUE中的生命周期、每个生命周期可以干什么

生命周期 就VUE来说就是一个程序的即将创建到销毁的一个过程,也就是vm对象实例从创建到最终销毁的过程。 VUE生命周期4个阶段8个钩子函数(到某一阶段自动调用的函数) 1.初始阶段(虚拟的DOM生成) beforeCreate() 初始化事件对象和生命周期…

人类机器人编程的心理机制(一)

\qquad 本文中的人类机器人编程(Human Robot Programming)意指“基于创伤的脑控(trauma-based mind control, T.B.M.C)”或“基于创伤的编程(trauma-based programming)”,文中用英文缩写“T.B.M.C”指代。T.B.M.C的操纵主体是施加编程的个人或机构,文中…

el-table 表头设置渐变色

<el-table :data"tableData" stripe><el-table-column prop"name" label"测试" align"left"></el-table-column><el-table-column prop"code" label"测试1" align"left"></…

Sui Move与标准Move的有哪些区别和根本性创新

Sui网络将Sui Move作为其本地编程语言&#xff0c;使用Sui Move编写的apps利用Sui的共识机制&#xff0c;实现了令人印象深刻的交易性能。 然而&#xff0c;熟悉Move编程语言的开发者在探索Sui文档时可能会感到困惑&#xff0c;因为该文档着重介绍了对象和一些指令&#xff0c…

kafka消费者api和分区分配和offset消费

kafka消费者 消费者的消费方式为主动从broker拉取消息&#xff0c;由于消费者的消费速度不同&#xff0c;由broker决定消息发送速度难以适应所有消费者的能力 拉取数据的问题在于&#xff0c;消费者可能会获得空数据 消费者组工作流程 Consumer Group&#xff08;CG&#x…

git 提示 不能合并

今天A分支合并B分支&#xff0c;提示“不能合并” 最终发现&#xff0c;是另一个分支的版本落后导致&#xff0c;但是git并未提示出来 有遇到这种问题可以先检查下版本

如何有效跟踪你的计费时间?

对于自由职业者、小型企业和远程团队来说&#xff0c;时间跟踪是必需的。了解自己在单个项目或任务上投入了多少时间&#xff0c;可以帮助他们有效管理资源和优化工作流程。 然而&#xff0c;在向客户收费时&#xff0c;时间跟踪多了一层复杂性&#xff1a;不仅需要跟踪所花费…

Linux工具——vim

安装vim yum -y install vim 如果安装失败&#xff0c;提示Could not resolve host:mirrorlist.centos.org: Unkown error的问题&#xff0c;需要替换yum源&#xff0c;可以参考这个文章 配置vim root的vim配置文件在 /etc/vimrc 普通用户的vim配置文件在用户对应家目录下&a…

react实现页面动态表单设计器(自定义推拽表单)

react实现页面动态表单设计器&#xff08;自定义推拽表单&#xff09; 实现效果安装插件使用组件介绍基本设置&#xff0c;可设置控件标签&#xff0c;是否必填&#xff0c;校验规则校验规则有如下几种多选&#xff0c;下拉&#xff0c;单选可动态设置每个选择的label以及值 实…

一百三十三、Hive——Hive外部表加载含有JSON格式字段的CSV文件数据

一、目标 在Hive的ODS层建外部表&#xff0c;然后加载HDFS中的CSV文件数据 注意&#xff1a;CSV文件中含有未解析的JSON格式的字段数据&#xff0c;并且JSON字段中还有逗号 二、第一次建外部表&#xff0c;直接以&#xff0c;分隔行字段&#xff0c;结果JSON数据只显示一部分…

【1++的C++初阶】之list

&#x1f44d;作者主页&#xff1a;进击的1 &#x1f929; 专栏链接&#xff1a;【1的C初阶】 文章目录 一&#xff0c;什么是list二&#xff0c;构造与析构2.1 结点结构2.2 链表结构2.3 迭代器结构 三&#xff0c;部分重要接口的作用及其实现3.1 迭代器相关的接口3.2 list相关…

【VCS】(5)Fast RTL-level Verification

Fast RTL-level Verification General Coding GuidlinesLab --- simprofile$display() 输出彩色内容 前面的内容都是在说怎样进行仿真和验证&#xff0c;即如何使用 VCS 。 但是&#xff0c;仿真和验证是不是也有所讲究&#xff1f; 有没有一些标准来衡量设计代码和验证代码的质…

62. 不同路径

题目链接&#xff1a;力扣 解法一&#xff1a;动态规划 定义状态&#xff1a;对于m*n的网络&#xff0c;从最后一行到右下角&#xff0c;以及从最后一列到右下角&#xff0c;都只有一条不同路径&#xff1a;一直向右或一直向下&#xff0c;所以可以定义状态&#xff1a;dp[i][…

OpenCV系列__chapter2

这里写目录标题 1 图像加减乘除位运算1.1 加法 img cv2.add(img1, img2)1.2 减法 img cv2.subtract(img1, img2)1.3 乘法 img cv2.multiply(img1, img2)1.4 除法 img cv2.divide(img1, img2)1.5 位运算 2 图像增强2.1 线性变换2.2 非线性变换 3 图像几何变换3.1 裁剪、放大…

七大排序算法和计数排序

文章目录 一、直接插入排序二、希尔排序三、直接选择排序四、堆排序五、冒泡排序六、快速排序6.1递归实现快速排序6.2非递归实现快速排序 七、归并排序7.1递归实现归并排序7.2非递归实现归并排序 八、计数排序 以下排序以从小到大排序为例 一、直接插入排序 时间复杂度&#x…

文章审核之敏感词过滤

技术选型 DFA实现原理 DFA全称为&#xff1a;Deterministic Finite Automaton,即确定有穷自动机。 存储&#xff1a;一次性的把所有的敏感词存储到了多个map中&#xff0c;就是下图表示这种结构 敏感词&#xff1a;冰毒、大麻、大坏蛋 工具类 最下面的main方法是测试用的&a…

Java版本电子招标采购系统源代码—企业战略布局下的采购寻源

智慧寻源 多策略、多场景寻源&#xff0c;多种看板让寻源过程全程可监控&#xff0c;根据不同采购场景&#xff0c;采取不同寻源策略&#xff0c; 实现采购寻源线上化管控&#xff1b;同时支持公域和私域寻源。 询价比价 全程线上询比价&#xff0c;信息公开透明&#xff0c;可…

微信小程序-地图上的图标计算旋转值朝向经纬度计算

废话不多说&#xff0c;开整 // 参数为寄件人经纬度和收件人经纬度 // 根据寄收件人经纬度弧度π进行rotate旋转计算 const getRotate (po1, po2) > {if (!(po1 && po2)) return 0const lng_a po1.longitudeconst lat_a po1.latitudeconst lng_b po2.longitud…