火灾“克星”!-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 4149|回复: 0

[报名] 火灾“克星”!

 关闭 [复制链接]
发表于 2014-9-2 09:17 | 显示全部楼层 |阅读模式
本帖最后由 喜爱 于 2014-9-25 22:15 编辑

一、参赛项目消防机器人
二、参赛组员:
组长:李事坪 - 学习arduino一年,涉猎的硬件比较多,目前做出了手机遥控小车,市场用电子秤,寻线避障小车等。
组员:郭舰文 - 喜好电子和编程,曾自己焊出最小系统,并成功实现led闪烁。
共2人,均为2013级兰州理工大学本科生。


三、项目简介:

1.机器人介绍:

灭火机器人

灭火机器人


图示中①为3个火焰传感器,②为火焰传感器,③为红外避障传感器,④为Arduino uno控制器,⑤为灭火系统(由带桨叶的电机和继电器组成),⑥为灭火系统提供动力。

2.火场的布局:
      1.场地大小为180cm*180cm;
      2.四个尺寸在15cm*15cm的*15cm的东西作为障碍物,3根蜡烛作为模拟火源;

      3.在出入口处放置白色线条。

比赛场地模拟

比赛场地模拟


3.工作原理:
   3. 1寻火原理  
首先,机器人前方的3个火焰传感器进行如下判断,如果左边火焰强度大,则左转一点,右边火焰强度大,则右转一点,并且每次“对火”,都前进一点,最终逐步的逼近火源。

  3.2灭火原理
如果中间的火焰传感器检测到的火焰强度小于阈值(火源强度不够大,没接近灭火射程),关闭灭火系统,就继续寻找火源;如果火焰强度大于阈值时(火焰强度足够大,接近射程),就会打开灭火系统,执行灭火。在灭火的同时会检测火源强度,当火焰强度大于阈值,就继续会执行灭火,如此循环反复,直到火源被熄灭。

  3.3寻线原理
    该功能在火源全部灭完之前是被屏蔽的,当火源全部被熄灭时,启动寻线模式。寻线模式是由三个寻线传感器组成,在出口处放置一根宽约为2cm,高为5mm的白色线条,当左边的或者左边、中间的寻线传感器检测到了白线就左转;当右边的或者右边、中间的寻线传感器检测到了白线就右转,如此,引导机器人离开火场。
四、视频:



五、代码:
[mw_shl_code=c,true]int count = 0;
int i;
void setup()
{
  for(i=4;i<=9;i++) {//控制电机
  pinMode(i,OUTPUT);
  }
  pinMode(10,OUTPUT);//定义继电器引脚
  pinMode(11,INPUT);//定义寻线传感器接口
  pinMode(12,INPUT);
  pinMode(13,INPUT);
  pinMode(14,INPUT);//定义火焰传感器接口
  pinMode(15,INPUT);
  pinMode(16,INPUT);
  pinMode(17,INPUT);//定义中间避障传感器接口
  pinMode(18,OUTPUT);//定义蜂鸣器接口
}
void qianjin(){  //前进
     digitalWrite(9,HIGH);
     digitalWrite(4,HIGH);
     digitalWrite(5,HIGH);
     digitalWrite(6,LOW);
     digitalWrite(7,HIGH);
     digitalWrite(8,LOW);
}
void zuozhuan(){  //左转
     digitalWrite(9,HIGH);
     digitalWrite(4,HIGH);
     digitalWrite(5,LOW);
     digitalWrite(6,HIGH);
     digitalWrite(7,HIGH);
     digitalWrite(8,LOW);
}
void youzhuan(){  //右转
      digitalWrite(9,HIGH);
     digitalWrite(4,HIGH);
     digitalWrite(5,HIGH);
     digitalWrite(6,LOW);
     digitalWrite(7,LOW);
     digitalWrite(8,HIGH);
}
void tingzhi(){  //停止
     digitalWrite(5,HIGH);
     digitalWrite(6,HIGH);
     digitalWrite(7,HIGH);
     digitalWrite(8,HIGH);
}
void houtui(){  //后退
     digitalWrite(9,HIGH);
     digitalWrite(4,HIGH);
     digitalWrite(5,LOW);
     digitalWrite(6,HIGH);
     digitalWrite(7,LOW);
     digitalWrite(8,HIGH);
}
void loop()
{
    int l,m,r; //定义左、中、右寻线传感器接口
        int l1,m1,r1; //定义左、中、右寻线传感器
    int m11; //定义中间避障传感器接口
        l1=digitalRead(11);
        m1=digitalRead(12);
        r1=digitalRead(13);
    l=analogRead(14);
    m=analogRead(15);
    r=analogRead(16);
    m11=digitalRead(17);
if(count < 3){  //视频中用三根蜡烛演示。若是不想这样,可以多增加几个火焰传感器,全方位检测火焰。对应可以改成if(count < 3) --> if(其中一个火焰传感器检测到火焰)
   if(l>200 || m>200 || r>200){   
     if((l>=m) || (l>=r)){ //“对火”模式
         zuozhuan();delay(465);
         qianjin();delay(100);
         }
     if((l<m) || (l<r)){
         youzhuan();delay(465);
         qianjin();delay(100);
         }
    digitalWrite(18,LOW);
    }
   else {
     if( m11==HIGH ) qianjin();
     if( m11==LOW){  //寻火时遇障碍物,启动避障模式
      houtui(); delay(465);
      zuozhuan();delay(465);
     }
     digitalWrite(18,HIGH);
   }
   if(m>=900){  //找到火源,启动灭火模式
     while(m>=100){
         tingzhi();
         digitalWrite(10,HIGH);
         m=analogRead(15);
         }
          houtui();delay(200);
          zuozhuan();delay(465);
          digitalWrite(10,LOW);
          digitalWrite(18,HIGH);
          count++;
      }
    }
else{
    if(l1==LOW || m1==LOW || r1==LOW)//灭火完成,启动引导模式
    {
      if(l1==LOW && m1==LOW && r1==LOW) qianjin();
      if(l1==HIGH && m1==LOW && r1==HIGH) qianjin();
      if(l1==LOW && m1==HIGH && r1==HIGH){
         youzhuan();delay(465);
      }
      if(l1==HIGH && m1==HIGH && r1==LOW){
        zuozhuan();delay(465);
      }
      if(l1==LOW && m1==LOW && r1==HIGH){
       youzhuan();delay(465);
      }
      if(l1==HIGH && m1==LOW && r1==LOW){
      zuozhuan();delay(465);
      }
    }
    if( m11==HIGH )//判断是否有障碍 有则继续
    qianjin();
    if( m11==LOW){
      houtui();delay(465);
      zuozhuan();delay(465);
    }
   }
  }[/mw_shl_code]
六、预计完成时间:

项目已经完。
七、联系方式:
497419330@qq.com

八、团队合照:


我们俩

我们俩








您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-9-21 00:40 , Processed in 0.180615 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表