马上过年了,想到做一个炫彩的跑马灯放在阳台,又想着不用我自己去开灯就可以开启跑马灯。作为初学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);
}
}
}