关于ARDUINO的编程问题
自家写的双红外传感测距程序…………但是ADC_temp1这边总是说这个变量不能声明啥的…………就是找别的人搞的类似的程序COPY上去也无效…………而且我觉得应该没啥语法错误啊…………
另外,if else语法能这样用吗?个人是ARDUINO编程小白,之前都是在搞LISP编程【不过说实话,很苦逼…………】
int analogPin1 = 1;
int analogPin2 = 2;
int val1 = 0;
int val2 = 0;
//初始化程序
void setup()
{
Serial.begin(9600); //设置波特率(9600)
}
void loop()
{
//主程序
//读取红外测距传感器模拟量数据
val1 = analogRead(analogPin1);
val2 = analogRead(analogPin2);
//通过以下算式,把传感器读取值处理成浮点型距离值
ADC_temp1=3100.0/((float)val1*0.49-1.6)-0.40;
ADC_temp2=3100.0/((float)val2*0.49-1.6)-0.40;//暂定非线性补偿数值为1.6
if(ADC_temp1>80||ADC_temp1<10) //如果传感器读取值大于80或者小于10
{
Serial.println("No Targeta");//则在发送"No Target1"
}
else if(ADC_temp2>80||ADC_temp2<10)//如果传感器读取值大于80和小于10
{
Serial.println("No Targetb");
}
else (ADC_temp1>10||ADC_temp1<80)//如果传感器读取值小于80和大于10
{
distance=int(ADC_temp1);//把浮点型距离值取整
Serial.print(ADC_temp1);//则发送距离数据
}
else (ADC_temp2>10||ADC_temp2<80)
{
distance=int(ADC_temp2)
Serial.print(ADC_temp2)
}
}
页:
[1]