|
楼主 |
发表于 2019-7-7 20:12:48
|
显示全部楼层
加一个人体红外传感器,输出高低电平。找一个数字引脚通过读取电平高低来决定是否关闭LED显示。
1、定义一个开关变量;
boolean lcdstatus = true; //LCD显示状态,true点亮,false关闭
2、在主循环中定时读取红外传感器的状态;
lcdstatus = digitalRead(IRPIN); //IRPIN为连接红外传感器的引脚
3、在display()函数中依据lcdstatus决定是否关闭LED显示;
void Display() {
int num = 0;
for(int address=3; address>=0; address--){ //逐个扫描四个LED屏
if(lcdstatus){
lc.shutdown(address,false); //开启LED屏幕显示
for(int col=0;col<8;col++) { //每块LED屏逐列扫描;
lc.setIntensity(address, lcdlight); //设定Led亮度
lc.setColumn(address,col,disp[num]); //使用列方式显示;
num ++;
}
}
else{
lc.shutdown(address,true); //lcdstatus 为false时关闭屏幕,进入节电模式
}
}
}
你参考试试吧,我没环境,没有做验证。 |
|