【实验室培训_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);
}
看看其他人的帖子,你还是没有按规范来写,代码添加方式
页:
[1]