请大神们指出这个程序不对的地方,谢谢
byte ledpin[]={4,5,6,7,8,9,10};int ledDelay(65);
int direction=1;
int currentLED=0;
unsigned long changetime;
void setup(){
for (int x=0;x<7;x++){
pinMode(ledpin,OUTPUT); }
changetime=millis();
}
void loop(){
if((millis()-changetime)>ledDelay){
changeLED();
changetime=millis();
}
}
void changeLED(){
for(int x=0;x<7;x++){
digitalWrite(ledpin,LOW);
}
digitalWrite(ledpin,HIGH);
currentLED+=direction;
if(currentLED==6){direction==-1;}
if(currentLED==0){direction==1;}
}
看不到跑马灯的现象,是我的硬件问题,还是程序问题? int ledDelay(65); 这个是什么意思?
if((millis()-changetime)>ledDelay) 这个又是什么意思? 程序应该能实现跑马灯的效果吧?不过我也看不到int ledDelay(65) 是什么意思呢。。。。。
或者这样写,如何?
for(x=0;x<7;x++){
if(x==0){digitalWrite(ledpin,HIGH);continue;}
digitalWrite(ledpin,LOW);
digitalWrite(ledpin,HIGH);
delay(500);
}
for(x=6;x>=0;x--){
if(x==0){digitalWrite(ledpin,LOW);continue;}
digitalWrite(ledpin,LOW);
digitalWrite(ledpin,HIGH);
delay(500);
}
这样如何? i7456 发表于 2014-7-19 20:20 static/image/common/back.gif
int ledDelay(65); 这个是什么意思?
if((millis()-changetime)>ledDelay) 这个又是什么意思?
我只是想定义跑马灯每盏灯的变化之间的延时,如果不行的话麻烦你帮我改一下,先谢谢了 kenan13 发表于 2014-7-19 21:36 static/image/common/back.gif
程序应该能实现跑马灯的效果吧?不过我也看不到int ledDelay(65) 是什么意思呢。。。。。
或者这样写,如何 ...
真的可以啊,谢谢了。不过for(x=0;x<7;x++){
x的前面要加int i7456 发表于 2014-7-19 20:20 static/image/common/back.gif
int ledDelay(65); 这个是什么意思?
if((millis()-changetime)>ledDelay) 这个又是什么意思?
我刚刚说错了,ledDelay()应该是每次轮回变化之间的延时,我试了一下,应该是可以用的 Stray_Cat 发表于 2014-7-20 15:58 static/image/common/back.gif
我刚刚说错了,ledDelay()应该是每次轮回变化之间的延时,我试了一下,应该是可以用的
int ledDelay(65);
没见过这种用法,你是在哪里学到的? digitalWrite 第一个参数是引脚吧。
byte ledpin[]={4,5,6,7,8,9,10}; 引脚用byte定义对吗? byte只有一个字节,int是2个字节,这里应该改成int i7456 发表于 2014-7-20 16:07 static/image/common/back.gif
int ledDelay(65);
没见过这种用法,你是在哪里学到的?
《arduino从基础到实践》 转角 发表于 2014-7-20 16:32 static/image/common/back.gif
digitalWrite 第一个参数是引脚吧。
byte ledpin[]={4,5,6,7,8,9,10}; 引脚用byte定义对吗? byte只有一 ...
可是改成int好像也没有跑马灯的现象啊。。先谢谢了 Stray_Cat 发表于 2014-7-20 18:11 static/image/common/back.gif
《arduino从基础到实践》
可以截图看一下吗? Stray_Cat 发表于 2014-7-20 15:51 static/image/common/back.gif
真的可以啊,谢谢了。不过for(x=0;x
可以就行啦,我随手写的,忘了加上去了。。。。。。。。囧 int ledDelay(65); =>int ledDelay=650; i7456 发表于 2014-7-20 21:13 static/image/common/back.gif
可以截图看一下吗?
...图是截了,但是不知道怎样发上来。你信我吧,书上真的就这么写的。 我把int ledDelay()的值改大了一点,但是只能在刚输入时看到一次跑马灯现象,然后led灯又亮得杂乱无章了
页:
[1]
2