极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8648|回复: 0

关于ARDUINO的编程问题

[复制链接]
发表于 2013-2-3 12:19:47 | 显示全部楼层 |阅读模式
自家写的双红外传感测距程序…………
但是ADC_temp1这边总是说这个变量不能声明啥的…………就是找别的人搞的类似的程序COPY上去也无效…………而且我觉得应该没啥语法错误啊…………
另外,if else语法能这样用吗?个人是ARDUINO编程小白,之前都是在搞LISP编程【不过说实话,很苦逼…………】
  1. int analogPin1 = 1;
  2. int analogPin2 = 2;
  3. int val1 = 0;
  4. int val2 = 0;
  5. //初始化程序
  6. void setup()
  7. {
  8. Serial.begin(9600); //设置波特率(9600)
  9. }
  10. void loop()
  11. {
  12. //主程序


  13.   //读取红外测距传感器模拟量数据
  14.   val1 = analogRead(analogPin1);
  15.   val2 = analogRead(analogPin2);
  16.   //通过以下算式,把传感器读取值处理成浮点型距离值
  17.   ADC_temp1=3100.0/((float)val1*0.49-1.6)-0.40;
  18.   ADC_temp2=3100.0/((float)val2*0.49-1.6)-0.40;//暂定非线性补偿数值为1.6


  19.   if(ADC_temp1>80||ADC_temp1<10) //如果传感器读取值大于80或者小于10
  20.         {
  21.       
  22.         Serial.println("No Targeta");//则在发送"No Target1"      
  23.         }
  24.    
  25.   else if(ADC_temp2>80||ADC_temp2<10)//如果传感器读取值大于80和小于10
  26.         {
  27.       
  28.         Serial.println("No Targetb");
  29.         }
  30.   else (ADC_temp1>10||ADC_temp1<80)//如果传感器读取值小于80和大于10      
  31.         {        
  32.         
  33.         distance=int(ADC_temp1);//把浮点型距离值取整
  34.         
  35.         Serial.print(ADC_temp1);//则发送距离数据
  36.         
  37.         }        
  38.   else (ADC_temp2>10||ADC_temp2<80)
  39.         {
  40.         distance=int(ADC_temp2)
  41.         Serial.print(ADC_temp2)
  42.         }
  43.       }
复制代码
回复

使用道具 举报

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

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-5-29 10:38 , Processed in 0.045261 second(s), 17 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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