arduino uno3 的小白编程问题

各位好心人啊><是这样的~我想做的东西很简单一个红外感应器感应时输入信号(我觉得输入的电压是连在A0上的...也不知道对不对囧),控制4、5引脚的输出。不过感应次数在奇数... 各位好心人啊><是这样的~我想做的东西很简单 一个红外感应器感应时输入信号(我觉得输入的电压是连在A0上的...也不知道对不对囧),控制4、5引脚的输出。不过感应次数在奇数次和偶数次时进行的操作不一样....

const int switchleft=4 ;
const int switchright=5;
const int sensor=AO;

void setup(){
pinMode(switchleft,OUTPUT);
pinMode(switchright,OUTPUT);
pinMode(sensor,INPUT);
int i=0;
}

void loop(){
if(sensor == HIGH){
i=i+1;
if(i%2 == 0){
digitalWrite(switchleft,HIGH);
digitalWrite(switchright,LOW);
delay(500);
}
else{
digitalWrite(switchleft,LOW);
digitalWrite(switchright,HIGH);
delay(500);
}
}

else{
digitalWrite(switchleft,HIGH);
digitalWrite(switchright,HIGH);
}
}

但是校验的时候告诉我说
sketch_may26a:2: error: 'AO' was not declared in this scope
sketch_may26a.cpp: In function 'void loop()':
sketch_may26a:13: error: 'i' was not declared in this scope
于是我就傻眼了囧....有的错误是什么都没看懂...好伤心啊><、、求解救啊...
很奇怪,改了一改,校验的时候都说正确了,但是执行的时候不知道是不能解读输入信号还是怎么样,输出信号一直输出没有变化囧....
展开
 我来答
artattack07
2013-06-02 · TA获得超过179个赞
知道小有建树答主
回答量:179
采纳率:0%
帮助的人:191万
展开全部
int i=0;这句写在setup里是变成局部变量了,只有setup函数里才能使用,应该放到外面去。
AO是什么应该是A0(零)吧?
还有,如果判断的是数字信号的话还是不要使用模拟输入口了。
可家高06
2013-05-29 · TA获得超过128个赞
知道小有建树答主
回答量:248
采纳率:100%
帮助的人:151万
展开全部
我先解释一下错误
AO那个地方应该写A0
然后 i的初始化要写成 int i

然后你这个代码逻辑有问题,如果传感器快速变化,就会导致你的程序无法反应
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式