刘智中 发表于 2018-12-15 18:54:50

【实验室培训_201810期】+刘智中+第五周任务(软件)

一、任务要求:了解并掌握运用ardunio单片机控制SR04超声波实现对距离数据的采集,并且根据输出的距离数据来改变跑马灯的样式,并根据不同按键的输入状态输出不距离数据类型(厘米,米,英尺,英寸)。
二、工作环境:通过ardunio软件编程对SR04超声波实现对距离数据的采集。
三、实现步骤:对原有的程序进行改写,运用两个按键实现通过串口监视器输出四种种不同的距离信息;再通过距离数据对LED灯进行控制。实际操作线路连接:

   
串口数据:
   

源程序如下:
void loop()
{
   D=0;i=0;
float distance;
      y=digitalRead(12);
      z=digitalRead(13);
distance = sr04_read();
delay(500);
if(y==LOW)
{
if(distance<=100)
{
    Serial.print("distance is:");
Serial.print(distance);
   Serial.print("cm");//厘米输出数据
   D=distance/10;
}
else
{
    Serial.print("distance is:");
   Serial.print(distance/100);
   Serial.print("m");//米输出数据
    D=distance/100;
    }
    }
    else if(z==LOW)
    {
      if(distance/2.45<=100)
      {
      Serial.print("distance is:");
      Serial.print(distance/2.45);
      Serial.print("in");//英寸输出数据
      D=distance/2.45;
      }
      else
      {
      Serial.print("distance is:");
      Serial.print(distance/2.45/12);
      Serial.print("ft");//英尺输出数据
      D=distance/2.45/12;
      }
      }
      else Serial.print("No more ");
    Serial.println();
   for(i=4;i<=3+D;i++)      //亮灯数据
      {
         digitalWrite(i,HIGH);
         }
      delay(2000);
      for(i=4;i<12;i++)      //清空亮灯数据
      {
         digitalWrite(i,LOW);
      }
      delay(1000);
}



鲁亮 发表于 2018-12-18 14:59:45

看看其他人的帖子,你还是没有按规范来写,代码添加方式
页: [1]
查看完整版本: 【实验室培训_201810期】+刘智中+第五周任务(软件)