创意智能垃圾分类机器人(颜色传感器)
湘机小学2013机器人创意比赛创意设计(环保小卫士”——智能垃圾桶机器人)

环保小卫士——智能垃圾桶机器人设计报告作 者:莫棫涵、桂健秦指导老师:王南霞作者单位:湘潭市岳塘区湘机小学第六届湖南省机器人创新设计大赛参赛作品一、作者简介:姓名:桂健秦性别:男民族:汉出生年月:2002年5月14日就读学校:湖南省湘潭市岳塘区湘机小学就读班级:五【5】班性格:有耐心,很细心,做事认真个人爱好:乒乓球,篮球,电脑,射击类游戏,看书姓名:莫棫涵性别:男民族:汉出生年月:2002年3月1日就读学校:湖南省湘潭市岳塘区湘机小学就读班级:五【5】班性格:开朗、阳光、自尊心极强个人爱好:篮球、运动、读书、机器人设计制作二、作品简介:现在,大家都在宣传和建设“两型社会”,但我们还是可以看到这样的现象:公共场所垃圾桶的周围经常满是垃圾,有时垃圾桶满了也没能及时清理;垃圾桶有老鼠窜来窜去;夏天的时候,垃圾桶的苍蝇、蚊子特多;经过垃圾桶时臭味难闻;有些人还是没有社会公德,手中的垃圾随便扔到地上或垃圾不入垃圾桶;虽然有分类垃圾桶,人们却很少把垃圾分类入桶……同时我们也了解到清洁工人每天在清理垃圾时都很辛苦,于是我们想到研制环保小卫士,这种环保小卫士实际上是一种智能的垃圾桶机器人,他能服务社区, 为社区保洁,充当环何卫士的职能,干最脏、最苦、最累的活,并能提醒人们注意公共卫生,养成好公共环境卫生好习惯,宣传两型环保知识,提高人们生活和居住环境质量。
我们设想我们研制的环保小卫士有脑子,有嘴巴,有眼睛,有手和脚,能自动分类垃圾,并能对垃圾进行简单的处理。
首先,这个垃圾桶是封闭的(但能透气),老鼠、苍蝇不能随便进入垃圾桶,当检测到有废物丢入垃圾时,提醒人们进行分类入桶,然后自动打开垃圾盖,并能再次对垃圾进行二次分类。
其次,这个垃圾桶能进行垃圾处理。
对不可回收的垃圾进行粉碎等处理,并可能利用垃圾来发电,为自己提供能源。
垃圾桶具有自动清理功能,垃圾满了能自动行走到垃圾场“倒”垃圾,使垃圾桶更干净。
第三,能监测周围的环境情况,显示出环境污染指数。
创意赛智能垃圾分类机器人(一个垃圾桶)

5、与常规赛机器人主程序的区别
2、记忆函数的区别 (1)Setup程序夹取原程序
(2)修改后的夹取程序
在主程序前新增加一个变量int temp = 0;
5、与常规赛机器人主程序的区别
3、卸载垃圾块函数的区别
➢ 在常规赛中,当机器人走到垃圾收集区时,主程序对color[num]数组的值进行判 断(color[1]表示红色垃圾桶,color[2]表示蓝色垃圾桶,color[3]表示绿色垃圾 桶),如果color[num]不等于0,则说明机器人垃圾桶上有相应颜色的垃圾块,那 么机器人就会在其相对应的垃圾收集区前停止,并执行卸载垃圾块程序。
➢ 在创意赛机器人优化方案一程序中,其通过判断记忆垃圾块颜色的 数组来获得路口值,即把第一个不等于0的数组值(垃圾块的颜色值)
赋给变量temp,并进入相对应的路口去夹取垃圾块。
5、与常规赛机器人主程序的区别
4、读取记忆垃圾块颜色值的区别
(1)Loop程序原程序
(2)修改后的程序
5、与常规赛机器人主程序的区别
➢ 卸载垃圾块过程:打开装卸板即可把垃圾桶上的垃圾块一起倾倒在垃 圾收集区里,而不需要一块块地夹到垃圾收集区;
➢ 行走圈数减少:机器人每跑一圈可以收集4块相同颜色的垃圾块,12个 垃圾块只需要跑3圈。
3、程序设计主流程
开始 记忆
校正寻线传感器 (Modif y)
调节白平衡 (Ready)
经过 垃圾场
Car static mycar(12, 11, 4, 53, 10, 9)
5、与常规赛机器人主程序的区别
1、常规赛与创意赛Catch与Down函数的区别
① 舵机接口地址不同:常规赛机器人3个舵机的接口地址与创意赛机器人的4个舵机
创意智能垃圾分类机器人(机器人组装)课件

图4-50 1号舵机安装完成图
三、垃圾分类机器人组装
将连接片从如4-52所示位置插入左爪对应的孔中,再将从动齿从如图4-53所示位置 插入连接片对应的孔中。
步骤十五:安装机器人夹子。准备如图4-51所示材料,包括左右爪,主动齿,从动齿, 连接片2个,8根M3×10螺丝,2根自攻螺丝,七个M3尼龙螺母等。
图4-51 安装夹子的材料
图4-52 连接片与左爪相连图
图4-53 从动齿安装图
三、垃圾分类机器人组装
如图4-54和图4-55所示,用两根M3×10螺丝和两个M3螺母分别把左爪和连接片,连 接片和从动齿固定好,完成组装后如图4-56所示。
以同样的方法将右爪、连接片和主动齿连接起来。
图4-54 安装左爪与连接片的螺丝
图4-46 安装1舵机的材料
三、垃圾分类机器人组装
注意:1、由于舵机内部性能的差异性,有时用户通过编程调节角度时,可能存在一定的角度 误差,例如当舵机通过编程调节为90度时,可能舵机实际输出轴只有87度。如果遇到这种情 况,用户可通过编程进行多次合理调节舵机,使其输出轴能够比较准确的输出预期角度。 2、当1号舵机的安装角度调试好后,在后续的组件安装过程中,请勿转动该舵机的舵盘与输 出轴。
三、垃圾分类机器人组装
• 步骤四:安装“颜色传感器模块固定件”。准备如图4-12所示材料(2根M3×10 螺丝,两个M3螺母,1个模块固定块,扳手,十字螺丝刀)。
图4-12 颜色传感器固定件材料
图 4-13 固定件对准安装孔
• 如图4-13所示,将颜色识别模块固定件与底盘相应的孔 对准安装。如图4-14所示,在底盘下固定一个螺母,在 上拧紧螺丝,如图4-15为完成图。
图4-55 安装动齿与连接片的螺丝
创意智能垃圾分类机器人(红外传感器)

for(int i=0;i<5;i++) //将下一行代码循环执行5次,每次输出一个从引脚获取到的数据,一共5个引脚,所以循环5次
{
Serial.println(mytrack.value[i]); //将获取到的数据显示出来
}
Serial.println("END"); //输出 字符串"END"
• 检测原理:
① 对准黑线:当TCRT5000对准比赛地图的黑线时,其发射管发射出的红外线被黑线吸 收,而接收管接收到的红外线非常弱,那么接收管截止(电阻大),导致接收管1端的输 出电压变小;
② 偏离黑线:当TCRT5000偏离比赛地图的黑线时(对准白色区域),其发射管发射出 的红外线被反射,而接收管接收到的红外线变强,那么接收管导通(电阻小),导致接 收管1端的输出电压变大。
注意,不同的循迹模块,其 TCRT5000传感器的数值会有所不同。
红外传感器对准白色区域示意图
红外传感器对准白色区域的读数
(1)将循迹模块对准黑线,如左图
红外传感器对准黑线示意图
(2)如果循迹模块正常,将得到5个 TCRT5000传感器的数值如图右图。
注意,不同的循迹模块,其 TCRT5000传感器的数值会有所不同。
arduino UNO控制板与红外传感器连线表
导入库:
把右图中的5个库函数文件 夹复制到对应arduino目录 下的libraries目录下。
#include "Track.h" //导入库函数 Track mytrack(A5,A4,A3,A2,A1); //常规赛红外传感器与arduinoUNO接线
红外传感器对准白色区域的读数
智能感应垃圾桶工作原理

智能感应垃圾桶工作原理
智能感应垃圾桶工作原理
智能感应垃圾桶是智能产品中的一种,它利用红外线反射原理进行自动感应。
当有物体接近时,感应器会发出信号给控制电路板(一般由单片机或plc 等组成),再由控制电路板根据信号大小和有无决定是否启动马达运转或者延时启动马达运转。
智能感应垃圾桶的工作原理如下:
1、红外发射部分;
2、接收器部分;
3、驱动部分;
4、检测部分;
5、电源及主板。
工作原理:
红外线发射部分是采用高灵敏度半导体器件组成的红外发射管,其作用是将调制好的无线电波能量辐射出去,以获得被探测物体的位置信息。
该发射器发出的无线电波在遇到障碍物时会被反射回来从而得到被探测物体的距离信息。
传感器部分的接收元件是光电二极管阵列或光敏三极管阵列等敏感元件构成的光电器件,它能接受到来自光源的照射能量并转换成电信号输出给微处理器处理后作为后续工作的依据。
驱动部分为电机式结构,通过控制器调节电机转速来改变垃圾箱的运行状态(如开盖、翻盖、关门)。
智能垃圾分类机器人(共30张PPT)

Arduino常用根本函数---digitalRead()
• 功能:
• 读取指定引脚的值, HIGH 或 LOW 。
• 语法: digitalRead 〔PIN〕 • 参数: • Pin:你想读取的引脚号 • 返回值:HIGH 或 LOW
例程:
int ledPin = ; // LED 连接到 13 脚 int inPin = 7; // 按钮连接到数字引脚 7 int val = 0; //定义变量以存储读值
• 从 0 到 1023 的整数值
Arduino常用根本函数--- analogWrite()
• 功能:从一个引脚输出模拟值〔 PWM 〕
• 语法:analogWrite 〔pin,value〕
• 参数: • pin:用于输入数值的引脚。
• value:占空比: 0〔完全关闭〕到 255 〔完全翻开〕之间。
中断源:可选中断0或者1,对应arduino的2或者3号数字引 脚。
中断处理函数:是一段子程序,当中断发生时执行该子 程序局部,其中参数值为函数的指针。
触发模式:有四种类型,LOW(低电平触发〕、 CHANGE(变化时触发〕、RISING〔低电平变为高电平触 发〕、FALLING(高电平变为低电平触发〕
行一次,它的功能为完成程序的 定义红外传感器模块、颜色传感器模块、电机的arduino引脚,控制机器人进出路口、拐弯等,控制舵机动作和初始化等功能。
void Mode(int a = 1, int b = 1); 对应机器人颜色传感器的库函数,以队列的形式来记忆机器人检测到的垃圾块的颜色数据。 九、机器人包含的库函数
} void loop() { digitalWrite 〔ledPin, HIGH 〕 ; //点亮 LED
智能垃圾分类机

智能垃圾分类机智能垃圾分类机1. 简介智能垃圾分类机是一种采用先进的技术和机器学习算法的设备,旨在自动分拣和分类不同类型的垃圾。
通过智能垃圾分类机,可以大大提高垃圾分类的效率,并减轻人工分拣的负担,有助于实现垃圾减量、资源循环利用的目标。
2. 工作原理智能垃圾分类机主要包括以下几个核心模块:2.1 图像识别模块智能垃圾分类机的核心模块是图像识别模块。
当垃圾被投放到分类机中时,机器会自动拍摄垃圾的照片。
然后,图像识别模块使用深度学习算法分析垃圾的图片,识别垃圾的类型。
通过训练的模型和大量的垃圾图片数据集,机器可以准确地将垃圾分类为可回收物、有害垃圾、湿垃圾和干垃圾等不同类型。
2.2 传送带和机械臂智能垃圾分类机配备了传送带和机械臂。
传送带将垃圾从投放口送到机械臂所在的位置。
机械臂根据图像识别模块的结果,收回分类正确的垃圾,并将其放置在相应的垃圾桶中。
机械臂的操作速度和精确度都经过了优化,以确保高效而准确地完成垃圾分类的任务。
2.3 控制系统智能垃圾分类机还配备了一个控制系统,用于监控和控制整个分类过程。
控制系统可以实时监测传送带和机械臂的运行状态,同时进行图像识别模块的调度和控制。
通过与其他设备的连接,控制系统可以实现数据的传输和共享,提高整个垃圾分类系统的智能化和自动化程度。
3. 功能特点智能垃圾分类机具有以下几个功能特点:3.1 自动化垃圾分类智能垃圾分类机可以实现自动化的垃圾分类过程,将不同类型的垃圾准确地分拣至相应的垃圾桶中。
这可以大大提高垃圾分类的效率,并减轻人工分拣的负担。
3.2 高精度的图像识别智能垃圾分类机采用了先进的深度学习算法,可以准确地识别垃圾的类型。
通过充分的训练和优化,图像识别模块的准确率和稳定性都得到了很大的提升。
3.3 快速而可靠的操作智能垃圾分类机配备了高速传送带和精确的机械臂,可以在短时间内完成垃圾分类的任务。
机械臂的动作精确度高,避免了误判和误操作的情况,保证了分类的准确性和可靠性。
垃圾分类机器人

发明缘由:
垃圾怎么分类?上海出台的垃圾分类标准让科学地进行垃圾分类成为可能,但是要在全国真正地实施起来还是有一定的困难。
比如,我们学校还没有严格执行有效的垃圾分类制度,学校垃圾桶里经常装有不同种类的垃圾,给保洁人方便机器人识别垃圾,真正做到垃圾智能分类。
传统的垃圾图标如上图所示,而与垃圾回收口相连接的是传送带和识别扫描探测设备,传送带匀将垃圾一件一件地分开,扫描探测设备扫描垃圾图圾掉落到传送带上后,识描探测设备会对垃圾上的垃圾图标进
◆北京师范大学大连普兰店区附属学校 汝欣阳 巩相锋
垃圾分类机器人
创新大擂台
之后,传送带将垃圾运送到垃圾桶旁,每一个垃圾桶旁都有一个由马达和梁构成的可以旋转的机械手臂,机械手臂会将垃圾放到对应的垃圾桶里,完成垃圾分类和收集。
3.试用垃圾分类机器人。
我们找来很多不同种类的垃圾,让垃圾分类机器人进行垃圾分类。
多次试验证明,其识别率非常高,能够正确识别垃圾并归类。
最后,我们根据试用结果修改程序,
1.垃圾分类机器人轻便,占用空间不大,可以放置在小区垃圾统一回收处,或者放在家里作为家用垃圾分类助手。
垃圾分类机器人能正确、快速地识别不同种类的垃圾,自动分类垃圾,有效解决日常垃圾分类问题。
垃圾分类机器人制作简单,可以投入生产,给人们生活带来极大便利。
改进方向:
垃圾分类机器人对
垃圾无法识别分类,我们要
想办法增强其识别分类能力,
创新大擂台。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
颜色传感器
序号
1 2 3 4 5 6 7 8
引脚定义
GND LED S0 S1 VCC OUT S2 S3
引脚说明
接地 白光LED灯引脚 比例因子选择输入脚 比例因子选择输入脚
5伏电源 输出端 输出频率选择输入脚 输出频率选择输入脚
红蓝绿滤波器选通对应表 比例因子设置对应表
颜色传感器
颜色传感器模块安装示意图
颜色传感器白平衡调整示意图
白平衡颜色传感器R、G、B值示意图
(1)在颜色传感器前放置一个色块, 以蓝色色块为例:
(2)通过串口监视器,显示数值如右图
• 说明: 如果传感器正常工作,将来发现 蓝色数值明显大于其他两个值(红、绿)
重复步骤三
• 当传感器前是绿色色块时:
• 当传感器前是红色色块时:
绿色对应的G数值 比红色、蓝色两种 颜色的值大
Serial.print("G");
//在串口上输出字符“G”
Serial.println(mysensor.g_array[2]); //输出颜色传感器感应到的色块对应的绿色的值
Serial.println("END"); 的输出
//R、G、B三个数值输出完成后,输出END表示结束一组数据
delay(1000);
mysensor.Test(); //test()函数为库里的一个函数,其作用是计算出RGB的比例因子
}
颜色传感器测试程序
颜色传感器测试程序
void loop(){
mysensor.Get();
//获取颜色传感器所识别的RGB的三个参数
Serial.print("Rl.println(mysensor.g_array[0]); // 输出颜色传感器感应到的色块对应的红色的值
Serial.print("B");
//在串口上输出字符“B”
Serial.println(mysensor.g_array[1]); //输出颜色传感器感应到的色块对应的蓝色的值
• 通常所看到的物体颜色,实际上是物体表面吸收了照射到它上面 的白光(日光)中的一部分有色成分,而反射出的另一部分有色光 在人眼中的反应。
• 白色是由各种频率的可见光混合在一起构成的,也就是说白光中 包含着各种颜色的色光(如红R、黄Y、绿G、青V、蓝B、紫P)。
• 根据德国物理学家赫姆霍兹(Helinholtz)的三原色理论可知,各 种颜色是由不同比例的三原色(红、绿、蓝)混合而成的。
颜色传感器测试
颜色传感器
• 利用三原色感应原理
(1)当知道构成各种颜色的三原色的值,就能够知道所测 试物体的颜色;
(2)当选定一个颜色滤波器时,它只允许某种特定的原色 通过,阻止其它原色的通过。
• 举例说明:例如当选择红色滤波器时,入射光中只有红色 可以通过,蓝色和绿色都被阻止,这样就可以得到红色光 的光强;同理,选择其它的滤波器,就可以得到蓝色光和 绿色光的光强。通过这三个光强值,就可以分析出反射到 颜色传感器上的光的颜色。
红色对应的G数值 比绿色、蓝色两种 颜色的值大
• 如果三种色块在测试时,对应色块的颜色值明显大于其他两种 颜色值的话,说明颜色传感器能正常工作了。
如果采用以上方法对颜色传感器测试没有成功,那么可从 以下几方面来查找原因:
• 第一步:检查硬件连接,即检查颜色传感器与机器人接 口板和控制板的连线是否正确,并确保正常供电;
• 第二步:检查程序代码,即检查颜色传感器的测试代码 是否正确,特别注意颜色传感器的引脚定义;
• 第三步:检查测试程序是否成功下载到arduino板上; • 第四步:如果前面的测试都没有问题,那么可以初步判
颜色传感器模块安装完成图
序号 arduino UNO 颜色传感器模块
引脚
引脚
1
0
S0
2
1
S1
3
2
OUT
4
3
S2
5
4
S3
颜色传感器模块与控制板连线图
注意:只需接一组VCC和GND即可, 另一组可以不接。LED可以不接。
6
GND
GND
a7rduino UNOV控CC制板与颜色传感V器CC连线表
从理论上讲,白色是由等量的红色、绿 色和蓝色混合构成,但在实际应用中,白 色中的三原色并不完全相等,并且对 TCS3200的光传感器来说,它对红、绿、 蓝这三种基本色的敏感性并不相同,从而 导致TCS3200的RGB输出并不相等,因此 在测试前必须对颜色传感器进行白平衡校 正,通过白平衡校正得到RGB比例因子, 使得TCS2300对所检测的“白色”中的三 原色相等。
//延时1秒
}
• 单独设计一个测试颜色传感器 的程序,将该程序复制到 arduino工作区间;
• 程序上传到arduino板后,打开 串口监视器,如右图。
(1)将1张A4白纸(如没有白纸,可尝试用手 掌代替)放到机器人颜色传感器前面,如左图。
( 2 ) 从 arduino 串 口 监 视 器 获 得 R ( 红 ) 、 G (绿)、B(蓝)值,其中3种颜色的值相近,且 数值都在255附近,如右图。
程序下载到机器人后,启动机器人。 方法一:用一张白色的A4纸放在颜 色传感器前端,当颜色传感器识别到 后,拿走该A4纸; 方法二:用手遮挡在颜色传感器前 端,当颜色传感器识别到手后,拿开 手。
导入库:
把右图中的5个库函数文件 夹复制到对应arduino目录 下的libraries目录下。
#include "ColSensor.h"
}
在颜色传感器测试过程中,机器人
void setup(){ Serial.begin(9600); //设置波特率为9600
arduino板的下载线要一直与电脑相连。
mysensor.Mode(); //初始化颜色传感器的引脚口
attachInterrupt(0,Counter,RISING); // (外部中断函数)0;对应的0号引脚;counter:中断时要 执行的函数;RISING:表示电平由低电平变为高电平时触发;
ColSensor mysensor(0, 1, 3, 4, 2, 10); //颜色传感器在板上所对应的引脚口
void Counter(){
mysensor.g_count++; // 计算1s内的脉冲数,因为对于TCS3200颜色传感器来说,其对颜色的识别 其实就是通过计算1S内传感器输出的脉冲数的比较、计算