zhushimao 发表于 2016-4-25 15:07:40

arduino的环境光照传感器怎么自动控制i2c 1602lcd的亮度

我使用的是1602 i2c的转接板lcd,和环境光照传感器,但是我只找到一个可以测量光的数值的程序,不知道怎么改这个程序可以变成自动控制屏幕亮度的程序
void setup()
{
Serial.begin(9600); // open serial port, set the baud rate to 9600 bps
}
void loop()
{
      int val;
      val=analogRead(0);   //connect grayscale sensor to Analog 0
      Serial.println(val,DEC);//print the value to serial      
      delay(100);
}

大家看看这个应该怎么才能改成用环境光照传感器控制lcd亮度的程序,谢谢!

林定祥 发表于 2016-4-25 17:18:24

你只找到了问题的一头,亮度检知,问题的另一头如何控制1602点亮度,1602有被控制亮度点接口吗?

wwwusr 发表于 2016-4-25 18:18:08

貌似IIC1602只能开或者关掉背光,不能调光吧?
backlight noBacklight

zhushimao 发表于 2016-4-26 10:31:35

wwwusr 发表于 2016-4-25 18:18 static/image/common/back.gif
貌似IIC1602只能开或者关掉背光,不能调光吧?
backlight noBacklight

那应该怎么设置lcd屏的开关呢,根据测出的亮度

164335413 发表于 2016-4-26 13:35:16

这需要根据你的lcd屏幕来实际操作,如果lcd屏幕的引脚有单独的A、K引脚(背光led的正负极引脚 +、-),你可以利用Arduino的pwm引脚控制三极管,让三极管驱动背光led。当然pwm是随你的光照传感器的数值变化而变化。

wwwusr 发表于 2016-4-26 17:22:30

zhushimao 发表于 2016-4-26 10:31 static/image/common/back.gif
那应该怎么设置lcd屏的开关呢,根据测出的亮度

void noBacklight(); 关背光
void backlight();开背光
根据你测得的值,设定一个阈值,然后用这两个可以直接控制背光开关了。
实际IIC板上也是有个引脚,接到IIC 的命令,然后控制三极管打开或关闭LED背光的。
所以,如果要要背光有明暗的变化,那就得如 164335413 所说,得改一下硬件了。
可以断开IIC板上芯片控制三极管基极那个引脚,转而用Arduino的端口控制它。
页: [1]
查看完整版本: arduino的环境光照传感器怎么自动控制i2c 1602lcd的亮度