流水灯出现问题
2018-01-191.3万
AI 快速预览详细
本文讨论了初学者在使用Arduino实现流水灯拖尾效果时遇到的具体问题。代码中使用了PWM控制多个LED灯的亮度,但经过几次循环后,部分LED灯出现了不亮或常亮的问题。文章详细分析了问题原因,并提供了解决方案,通过调整`analogWrite`和`digitalWrite`的顺序,确保LED灯在多次循环后仍能正常工作。适合初学者和STEM教育场景,帮助用户快速定位并修复问题。
|
初学Arduino,在练习流水灯的时候遇到了问题 const int Nbrleds = 6; const int ledPins[] = {3,5,6,9,10,11}; const int wait = 35; const int top = 40; const int mid = 20; const int bom = 10; void setup(){ for (int led = 0;led < Nbrleds;led++) {pinMode(ledPins[led],OUTPUT);} } void loop(){ for (int led = 0;led<Nbrleds - 1;led++) { analogWrite(ledPins[led],top); delay(wait); analogWrite(ledPins[led+1],top); analogWrite(ledPins[led],mid); delay(wait); analogWrite(ledPins[led+2],top); analogWrite(ledPins[led+1],mid); analogWrite(ledPins[led],bom); delay(wait); digitalWrite(ledPins[led],LOW); delay(wait*3); } for (int led = Nbrleds - 1;led > 0;led--) { analogWrite(ledPins[led],top); delay(wait); analogWrite(ledPins[led - 1],top); analogWrite(ledPins[led],mid); delay(wait); analogWrite(ledPins[led - 2],top); analogWrite(ledPins[led - 1],mid); analogWrite(ledPins[led],bom); delay(wait); digitalWrite(ledPins[led],LOW); delay(wait*3); } } 想用pmw实现拖尾效果,期初程序运行没有问题,灯可以正常流动,大概10次之后10、9灯就不亮了。又过了几次循环,11、5、3灯变成了常亮。不知道哪里出现的问题,请各位大神指点,谢谢 |



