极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 19903|回复: 5

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

[复制链接]
发表于 2016-4-25 15:07:40 | 显示全部楼层 |阅读模式
我使用的是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有被控制亮度点接口吗?
回复 支持 反对

使用道具 举报

发表于 2016-4-25 18:18:08 | 显示全部楼层
貌似IIC1602只能开或者关掉背光,不能调光吧?
backlight noBacklight
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-4-26 10:31:35 | 显示全部楼层
wwwusr 发表于 2016-4-25 18:18
貌似IIC1602只能开或者关掉背光,不能调光吧?
backlight noBacklight

那应该怎么设置lcd屏的开关呢,根据测出的亮度
回复 支持 反对

使用道具 举报

发表于 2016-4-26 13:35:16 | 显示全部楼层
这需要根据你的lcd屏幕来实际操作,如果lcd屏幕的引脚有单独的A、K引脚(背光led的正负极引脚 +、-),你可以利用Arduino的pwm引脚控制三极管,让三极管驱动背光led。当然pwm是随你的光照传感器的数值变化而变化。
回复 支持 反对

使用道具 举报

发表于 2016-4-26 17:22:30 | 显示全部楼层
zhushimao 发表于 2016-4-26 10:31
那应该怎么设置lcd屏的开关呢,根据测出的亮度


  void noBacklight(); 关背光
  void backlight();开背光
根据你测得的值,设定一个阈值,然后用这两个可以直接控制背光开关了。
实际IIC板上也是有个引脚,接到IIC 的命令,然后控制三极管打开或关闭LED背光的。
所以,如果要要背光有明暗的变化,那就得如 164335413 所说,得改一下硬件了。
可以断开IIC板上芯片控制三极管基极那个引脚,转而用Arduino的端口控制它。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-5-20 16:12 , Processed in 0.048269 second(s), 20 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表