重工电子论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 3786|回复: 1
打印 上一主题 下一主题

【实验室培训_201810期】+周杭,李向阳+第五周任务(软件)

[复制链接]

2

主题

2

帖子

42

积分

新手上路

Rank: 1

积分
42
跳转到指定楼层
楼主
发表于 2018-12-15 15:32:23 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
1、任务要求:
通过使用SR04超声波模块进行试验,根据输出的距离改变跑马灯的样式,并根据按键的输入状态输出不同的尺寸(公制【米,厘米】,英制【英寸】)。
2、工作环境:
本实验是通过arduino编写的,并用到了SR04超声波模块。
3、实现步骤:
a:按键1控制输出厘米(cm)。
b:按键2控制输出米(m)。
c:按键3控制输出英寸(in)。
在a中当距离小于或等于10时,灯正向流水;
大于10且小于等于100时反向流水;
大于100时从中间向两边流水;
b,c中同理。
[AppleScript] syntaxhighlighter_viewsource syntaxhighlighter_copycode
 [color=Red]//当按键1按下[/color]
  if(val8==LOW)
  {
  distance = sr04_read();
  Serial.print(".....distance is:");
  Serial.print(distance);
  Serial.print("cm");
  Serial.println();
  delay(1000);
   if(distance<=10.0)
{
  for(j=0;j<1;j++)
  {
    for(i=4;i<8;i++)
 {
    digitalWrite(i,HIGH);
    delay(200);
    digitalWrite(i,LOW); 
    delay(200);
  }
  break;
  }
}
 if(distance<=100.0&&distance>10.0)
{for(j=0;j<1;j++)
 {for(i=7;i>=4;i--)
      {
         digitalWrite(i,HIGH);
         delay(200);
         digitalWrite(i,LOW); 
         delay(200);               
      }
          break; 
 }
}

 if(distance>100.0)
{ for(j=0;j<1;j++)
  {
   digitalWrite(5,HIGH);
  digitalWrite(6,HIGH);
  delay(200);
  digitalWrite(4,HIGH);
  digitalWrite(7,HIGH);
  delay(200);
  digitalWrite(4,LOW);
  digitalWrite(7,LOW);
  delay(200);
  digitalWrite(5,LOW);
  digitalWrite(6,LOW);
  break;
  }
}
  } 
 [color=Red] //当按键2按下[/color]
if(val9==LOW)
{
  distance = (sr04_read())/100.0;
  Serial.print(".....distance is:");
  Serial.print(distance);
  Serial.print("m");
  Serial.println();
  delay(1000); 
  if(distance<=0.1)
{
  for(j=0;j<1;j++)
  {for(i=4;i<8;i++)
 {
    digitalWrite(i,HIGH);
    delay(200);
    digitalWrite(i,LOW); 
    delay(200);
  }
  break;
  }
}
 if(distance<=1&&distance>0.1)
{for(j=0;j<1;j++)
 {for(i=7;i>=4;i--)
      {
         digitalWrite(i,HIGH);
         delay(200);
         digitalWrite(i,LOW); 
         delay(200);               
      }
          break; 
 }
}

 if(distance>1)
{ for(j=0;j<1;j++)
  {digitalWrite(5,HIGH);
  digitalWrite(6,HIGH);
  delay(200);
  digitalWrite(4,HIGH);
  digitalWrite(7,HIGH);
  delay(200);
  digitalWrite(4,LOW);
  digitalWrite(7,LOW);
  delay(200);
  digitalWrite(5,LOW);
  digitalWrite(6,LOW);
  break;
  }
} 
}
[color=Red]//当按键3按下[/color]
if(val10==LOW)
{
  distance = sr04_read()/2.54;
  Serial.print(".....distance is:");
  Serial.print(distance);
  Serial.print("in");
  Serial.println();
   delay(1000); 
  if(distance<=(10.0/2.45))
{for(j=0;j<1;j++)
  {for(i=4;i<8;i++)
 {
    digitalWrite(i,HIGH);
    delay(200);
    digitalWrite(i,LOW); 
    delay(200);
  }
  break;
  }
}
 if(distance<=(100.0/2.45)&&distance>(10.0/2.45))
{for(j=0;j<1;j++)
 {for(i=7;i>=4;i--)
      {
         digitalWrite(i,HIGH);
         delay(200);
         digitalWrite(i,LOW); 
         delay(200);               
      }
          break; 
 }
}

 if(distance>(100.0/2.45))
{ for(j=0;j<1;j++)
  {digitalWrite(5,HIGH);
  digitalWrite(6,HIGH);
  delay(200);
  digitalWrite(4,HIGH);
  digitalWrite(7,HIGH);
  delay(200);
  digitalWrite(4,LOW);
  digitalWrite(7,LOW);
  delay(200);
  digitalWrite(5,LOW);
  digitalWrite(6,LOW);
  break;
  }
}
}

4、实验效果:
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

14

主题

69

帖子

485

积分

学生管理组

Rank: 8Rank: 8

积分
485
QQ
沙发
发表于 2018-12-18 14:56:58 | 只看该作者
还可以,总算比较规范了
回复 支持 反对

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|cqutlab ( 渝ICP备15004556号

GMT+8, 2024-12-21 23:50 , Processed in 0.223413 second(s), 34 queries .

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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