碇源堂 发表于 2013-2-3 12:19:47

关于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]
查看完整版本: 关于ARDUINO的编程问题