首页 > 代码库 > NYOJ 171 聪明的kk
NYOJ 171 聪明的kk
今天测试PWM做呼吸灯,以及用光敏电阻做达文西呼吸灯,并输出串口光敏AD值,可作为智能家居中,卧室慢慢亮起的地灯,或根据室内光线调节光亮等效果。
呼吸灯:
void setup () { pinMode(13,OUTPUT); } void loop() { for (int a=1; a<=100;a++) //循环语句,控制PWM亮度的增加 { analogWrite(13,a); delay(20); //当前亮度级别维持的时间,单位毫秒 } for (int a=100; a>=1;a--) //循环语句,控制PWM亮度减小 { analogWrite(13,a); delay(20); //当前亮度的维持的时间,单位毫秒 } delay(500); //完成一个循环后等待的时间,单位毫秒 }
左边是LED呼吸灯,右边是光敏电阻。
#define ADpin A0 #define LED 13 int ADBuffer = 0; void setup() { pinMode(LED,OUTPUT); Serial.begin(9600); //波特率9600 } void loop() { ADBuffer = analogRead(ADpin); //读取AD值 Serial.print("GMAD = "); Serial.println(ADBuffer); if(ADBuffer < 180) //ADBuffer值大于设定值,相当于光照强度小于设定值 { for (int a=1; a<=100;a++) //循环语句,控制PWM亮度的增加 { analogWrite(LED,a); delay(20); //当前亮度级别维持的时间,单位毫秒 } for (int a=100; a>=1;a--) //循环语句,控制PWM亮度减小 { analogWrite(13,a); delay(20); //当前亮度的维持的时间,单位毫秒 } delay(500); } else { digitalWrite(LED,LOW); //关闭LED } delay(500); //延时500ms }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。