灭火机器人的开发过程是怎样的?连接机器人,驱动风扇,寻找火源-www.cqhaiergw.com
摩登7机器人
CHUANGZE ROBOT
当前位置:首页 > 新闻资讯 > 机器人开发 > 灭火机器人的开发过程:连接机器人,驱动风扇,寻找火源

灭火机器人的开发过程:连接机器人,驱动风扇,寻找火源

来源:机器人的天空     编辑:摩登7   时间:2026/3/19   主题:其他 [加盟]

实验器材

· 组装好的机器人;

· 计算机及编程环境;

·USB 下载线;

· 复眼传感器1个;

· 带桨叶的直流小电机1个;

· 继 电 器 1 个 ;

· 微触开关传感器1个。

实验步骤

1.连接机器人

这次实验需要为机器人在D3 端口安装一个微触开关传感器,在D2 端口上装上一个 继电器,并且通过它驱动一个直流小电机。同时,摩登7将复眼传感器连接到A0~A4 端 口。在安装复眼传感器的时候请同学们小心接线的顺序,它与摩登7其他的传感器、执行器 稍有不同,虽然占用了5个端口,但是只要为它连接一根+5V的电源线和一根地线就可 以了。

2.驱动风扇

先编写程序,每按下一次微触开关,就让风扇的状态变化一次。比如,如果风扇正 在旋转,那么按下一次开关,就让它立刻停止,反之亦然。对于如何读取微触开关传感器 的状态和如何通过继电器驱动风扇,同学们都应该了然于胸了。但是这里的程序和本书 一开始做过的开关小灯的程序还是有所不同的,摩登7可能需要对按动微触开关的次数进 行计数,才能知道什么时候该驱动风扇转动,什么时候该让它停止。下面给出了一个示例 程序,请大家留意其中是如何处理微触开关的计数的。

const int FanPort=2;

const int SwitchPort=3;

int counter=0;

void setup(){

pinMode(FanPort, OUTPUT);

pinMode(SwitchPort,INPUT);

void loop(){

if(digitalRead(SwitchPort)==HIGH){ counter++;

}

if(counter %2==0){

digitalWrite(FanPort,LOW);

}else(

digitalWrite(FanPort,HIGH);

}

delay(200);

在这个示例程序中,每次按下微触开关就让一个计数变量自动增1。然后,摩登7用了 一个取模的运算“%”,在这里,counter%2 的结果就是这个计数变量除以2的余数是多 少。显然,如果余数是0,那么计数变量就是偶数,否则就是奇数。之后的内容就很直观 了,奇数时摩登7让风扇转动,偶数时停止就可以了。

这个示例看起来似乎很出色,可是实际上这里有一个很大的问题,如果同学们按动按 键的时候有一个很小的抖动,那么会不会被主控器认为是按了两次呢?或者如果按下按 键的时间比较长,是不是也会被认为按了多次?幸运的是,摩登7可以用软件的方法解决这 种抖动或按键时间过长的问题,请同学们自己尝试设计一个改进的算法,让开关能出色地 控制风扇的运行。

3、寻找火源

解决了风扇的问题,再来看看如何利用复眼传感器找到火源。这个问题可以说是到 目前为止面对的Z富挑战性的问题了,机器人需要在灭火的场地内以合理的方式探索寻 找火源的所在,并且运动到火源近前,它涉及机器人的灭火策略、路径规划、运动控制等多 方面的问题。 但同学们不要畏难,还记得摩登7讲过的分而治之、简化问题的思想吗?这里就先将这 个问题简化。假设现在已经有一个火源就在机器人的探测范围内。摩登7要让机器人的行 为就像是一朵向日葵一样,它需要找到火源的方向并且原地转动,直到复眼中正对前方的 那一只眼睛正对火源方向为止,如图13-5所示。

要解决这个简化的问题,需要对复眼的5个读数进行比较,找到信号Z强的方向应该 就是火源的方向了。随后就可以让机器人根据火源方向的不同,进行速度不同的原地转动。如果火源在Z靠外的位置就可以转得快些,靠内就转得慢些,如果已经是在正中了就 可以停止转动了。假设复眼传感器从左到右分别连接到了主控板的A0~A4 端口,下面 给出了让机器人寻找火源的示例程序,请同学们留意其中是怎么找到Z强信号位置的。

#define COUNTER_CLOCKWISE 0

#define CLOCKWISE 1

void turn(int speed,int dir);

void loop(){

int maxValue=0;

int maxPort=A0;

int value;

for(int i=A0;int iif(value>maxValue){ maxValue=value;

maxPort=i;

}

if(maxPort==A0){

turn(120,CLOCKWISE);

}else if(maxPort==A1){

turn(80,CLOCKWISE);

}else if(maxPort==A2){

turn(0,CLOCKWISE);

}else if(maxPort==A3){

turn(80,COUNTER_CLOCKWISE); }else if(maxPort==A4){

turn(120,COUNTER_CLOCKWISE); }else{

turn(0,CLOCKWISE); }

delay(100);

}

void turn(int speed,int dir){

analogWrite(LeftSpeedPort,speed);

analogWrite(RightSpeedPort,speed);

if(dir==CLOCK){

digitalWrite(LeftDirPort,HIGH); digitalWrite(RightDirPort,LOW);

}else(

digitalWrite(LeftDirPort,LOW);

digitalWrite(RightDirPort,HIGH);






灭火机器人的技能:接近火源和灭火装置

复眼传感器是由朝向5个不同方向的红外线探头组成的传感器电路,火焰所发出的光中红外线是很主要的成分,机器人可以根据这方向信息生成电机控制指令,朝着火源前进

机器人巡线挑战赛的器材与步骤:机器人,绝缘胶布1卷,制作货仓和卸货塔的硬纸板,检测传感器

机器人都需要完成哪些工作:巡线、通过各种路口、在 卸货塔(障碍物)前停下、驱动机器人的运货机构(机器人的手臂)卸载货物、转身回家,进行下载和调试

机器人挥舞手臂需要的器材:机器人,USB下载线,主控制器 ,舵机

将舵机用金属件安装到机器人底盘上作为它的手臂。摩登7首先制作只是使用一只舵机,拥有一个关节的机器人手臂,并将舵机连接到有PWM 输出功能的9号端口

机器人舵机的控制:PWM信号,周期是20ms, 脉冲的宽度从1~2ms 秒之间

把舵机插到主控制板的9号端口上,然后让它在0°~180°之间不 停地反复运动;将舵机插到任何一个有PWM 功能的端口上,舵机转动到哪个角度,就用主控板发出那个角 度所对应占空比的PWM 信号就可以

机器人的舵机:对电机转动位置的精确控制

机器人的舵机是在直流减速电机的基础上增加了一个检测位置的微型传感器和一个控制器组成的闭环反馈控制系统,从而实现对电机转动位置的精确控制

会走迷宫的机器人需要的材料:主控制器,地面灰度检测传感器模块4块,红外避障传感器1个,黑色胶带1卷

首先将机器人、扩展板和地面灰度检测传感器模块连接好,地面灰度检测传感 器连接到A0~A3 端口。红外避障传感器连接到D3 端口,示例程序中给出的可能也不是最好的解决方案

机器人学会探测障碍:红外避障传感器的模块

红外避障传感器由一个光线发射装置和一个光线接收装置组成的,它的光线发射方向是朝向运动的方向而不是地面,而且发射装置发出的光是红外光而不是可见光

机器人过丁字路口:并排安装4个地面灰度传感器

并排安装4个地面灰度传感器,用杜邦连接线把它们按顺序分别 连接到主控板的A0~A3 端口,其中最左端的传感器连接A0口,最右端的连接A3口,只要是最左或最右端的传感器检测到了 黑线,就代表机器人遇到了路口

机器人直线行走的编程-接口、传感器的读数、地面的灰度阈值

在使用 pinMode 命令为端口规定方向时肯定要用到它的编号,然后再用 digitalRead 之类的命令操纵端口时也要用到同一个编号,用analogRead 命令读到了传感器当前的值

智能巡线机器人的制作:digitalRead 、digitalWrite 、analogRead 、analogWrite、 pinMode 、delay

机器人传感器的位置在靠近黑线的左侧或者正好在黑线上;digitalRead 、digitalWrite 、analogRead 、analogWrite、 pinMode 、delay。它们构成了Arduino 中最为重要、最为常用的功能

微触开关传感器-很简单的传感器,用程序就能很准确地检测到它的开闭变化

微触开关也只有“开”和“闭” 两种不同的状态,把它连接到主控制器,用程序就能很准确地检测到它的开闭变化了,只要用 digitalRead 命令就可以很 方便地读取微触开关的值了,这个命令的用法

为机器人安上转向灯:连接机器人,编写程序,观察现象

将机器人、扩展板和小灯模块连接好,将右转向灯连接D5 号口,左转向灯连接D3号口;编写程序,让转向灯亮灭的语句,左转向灯熄灭,同时机器人向右转弯
资料获取
机器人开发
== 资讯 ==
灭火机器人的开发过程:连接机器人,驱动风
OPenClaw 新手入门宝典:环境准备
智能体的形态演进与治理思考,AI正式告别
灭火机器人的技能:接近火源和灭火装置
机器人巡线挑战赛的器材与步骤:机器人,绝
机器人挥舞手臂需要的器材:机器人,USB
机器人舵机的控制:PWM信号,周期是20
机器人的舵机:对电机转动位置的精确控制
新一代智能终端蓝皮书,智能终端蓝皮书,支
OpenClaw 完全指南:从原理到时间
OpenClaw橙皮书:从入门到精通:支
2026年部署OpenClaw代理解决方
会走迷宫的机器人需要的材料:主控制器,地
机器人学会探测障碍:红外避障传感器的模块
机器人过丁字路口:并排安装4个地面灰度传
== 机器人推荐 ==
迎宾讲解服务机器人

服务机器人(迎宾、讲解、导诊...)

智能消毒机器人

智能消毒机器人

机器人开发平台

机器人开发平台


机器人底盘 Disinfection Robot 消毒机器人  讲解机器人  迎宾机器人  移动机器人底盘  商用机器人  智能垃圾站  智能服务机器人  大屏机器人  雾化消毒机器人  展厅机器人  服务机器人底盘  具身智能教育机器人  智能配送机器人  导览机器人 
版权所有 摩登7智能机器人集团股份有限公司 运营中心:上海 科技园8号楼5层 生产中心:山东日照解放路71号
销售1:4006-935-088 销售2:4006-937-088 客服电话: 4008-128-728