马上过年了,想到做一个炫彩的跑马灯放在阳台,又想着不用我自己去开灯就可以开启跑马灯。作为初学Arduino的小白,将书上的if函数和for函数简单结合用了一下。做了一个光敏的跑马灯。接线很简单led灯串联的是220的电阻(自己选合适的就行,一般>100的电阻应该就不会烧穿led了,如果另加电源那就不一定了,保证工作电流小于20mA)光敏电阻串联10k的电阻(光敏电阻阻值大,串一个大一点的电阻用于分压)。
接线引脚的话在代码里基本可以看得出。
为了省事,直接把for函数套在if里用了。另外,重要点就是自己可以按照自己需求调一下val的阈值(亮度越高值越小),以达到在适当光照下关闭跑马灯的效果。
int analogpin=A0; int val=0; void setup() { // initialize digital pin LED_BUILTIN as an output. pinMode(13, OUTPUT); pinMode(12, OUTPUT); pinMode(11, OUTPUT); pinMode(10, OUTPUT); pinMode(9, OUTPUT); Serial.begin(9600); } // the loop function runs over and over again forever void loop() { val=analogRead(analogpin); Serial.println(val); if(val>=980){ for(int i=13;i>=9;i-- ){ digitalWrite(i, HIGH); delay(120); digitalWrite(i, LOW); } } else {for(int i=13;i>=9;i-- ){ digitalWrite(i, LOW); delay(1000); digitalWrite(i, LOW); } } }