重工电子论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

【实验室培训_201810期】+谭世耀+第五周任务(软件)

[复制链接]

3

主题

4

帖子

39

积分

新手上路

Rank: 1

积分
39
跳转到指定楼层
楼主
发表于 2018-12-17 15:27:13 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
一、任务要求:了解并掌握运用ardunio单片机控制SR04超声波实现对距离数据的采集,并且根据输出的距离数据来改变跑马灯的样式,并根据不同按键的输入状态输出不距离数据类型(厘米,米,英尺,英寸)。
二、工作环境:通过ardunio软件编程对SR04超声波实现对距离数据的采集。
三、实现步骤:对原有的程序进行改写,运用一个个按键实现通过串口监视器输出四种种不同的距离信息;再通过距离数据对LED灯进行控制(10cm-20cm亮一盏灯,20-30cm亮两盏灯)。

[C] syntaxhighlighter_viewsource syntaxhighlighter_copycode
#define IN 3
#define OUT 2
#define Keyone 4
#define LED1 7
#define LED2 8
#define LED3 9
#define LED4 10
#define LED5 11  
#define LED6 12  
#define LED7 13  
float val;
int state=0;

void LED()//点亮LED
{
  int j;
  for(j=LED1;j<=LED7;j++)
  digitalWrite(j,LOW);
  if(val<80)
  for(j=LED1;j<val/10+LED1-1;j++)
  digitalWrite(j,HIGH);
}
  void Metre()//串口输出距离单位为米
{ 
Serial.print("Metre:");
Serial.println(val/100.0);
}


  void Inch()//串口输出距离为英寸
{
  Serial.print("Inch:");
  Serial.println(val/2.54);
}

  void Cm()//串口输出距离为厘米
{
  Serial.print("Cm:");
  Serial.println(val);
}

void Distance()//计算距离
{
float distance;
digitalWrite(OUT,LOW);
delayMicroseconds(2);
digitalWrite(OUT,HIGH);//开始触发
delayMicroseconds(10);
digitalWrite(OUT,LOW);//结束触发
distance=pulseIn(IN,HIGH);
distance=distance/58;
val=distance;
}


void setup() {
Serial.begin(9600);//串口初始化
pinMode(IN,INPUT);
pinMode(OUT,OUTPUT);
pinMode(Keyone,INPUT);
pinMode(LED1,OUTPUT);
pinMode(LED2,OUTPUT);
pinMode(LED3,OUTPUT);
pinMode(LED4,OUTPUT);
pinMode(LED5,OUTPUT);
pinMode(LED6,OUTPUT);
pinMode(LED7,OUTPUT);
}


void loop() {
  Distance();//计算距离
  if(digitalRead(Keyone)==1)//按键按下
  {
    delay(20);
    while(digitalRead(Keyone));
    state++;
  }
  switch(state%3)//控制输出的单位
  {
  case 0:Cm();break;
  case 1:Metre();break;
  case 2:Inch();break;
  default :break;
  }
  LED();  
  delay(20);
}

chaoshengbo.rar (771 Bytes, 下载次数: 0)
通过本次对超声波模块的学习,让我的编程变得更加的熟练。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

14

主题

69

帖子

485

积分

学生管理组

Rank: 8Rank: 8

积分
485
QQ
沙发
发表于 2018-12-18 15:48:05 | 只看该作者
基本功能实现,还可以
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-25 16:41 , Processed in 0.171032 second(s), 31 queries .

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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