LCD液晶顯示亮度

功能:利用光敏電阻偵測亮度,利用LCD液晶顯示模組1602顯示亮度。

 

材料接線:光敏電阻的接腳 = A0,液晶顯示模組1602的SDA及SCL對應擴展版相同名稱(SDA對應到類比腳位A4,SCL類比腳位A5)

 

程式:

寫程式前一定要先新增這個簡單又好用的函式庫,名稱為:LiquidCrystal_PCF8574

操作流程:[工具]/[管理程式庫]/輸入搜尋名稱/[安裝]/[關閉]

 

接著只要幾行程式碼就能在液晶顯示模組顯示文字,如果無法顯示文字,請修改I2C的位址,不是0x27就是0x3F。

如果LCD的文字看不清楚,請拿十字起子手動旋轉調整亮度。

// 程式名稱:LCD顯示亮度
// 光敏電阻的接腳 = A0
// 液晶顯示模組1602的SDA及SCL對應擴展版相同名稱(SDA對應到類比腳位A4,SCL類比腳位A5)

#include <LiquidCrystal_PCF8574.h>  // 使用函式庫LiquidCrystal_PCF8574   by Matthias Hertel
LiquidCrystal_PCF8574 lcd(0x27);  // 設定液晶顯示模組的 i2c位址,一般情況就是0x27或0x3F其中一個
int light;  //定義整數變數存放偵測到的亮度數值
void setup()
{
  lcd.begin(16, 2);         // 初始化LCD,寬度16字,高度2行
  lcd.setBacklight(255);    // 設定背景亮度為255
  lcd.clear();              // 清除LCD顯示器的文字
  Serial.begin(9600);       // 設定序列埠的速率要與監控視窗的速率相同
  pinMode(A0,INPUT);        // 設定光敏電阻接在 A0(類比第0接腳)為輸入功能
}

void loop()
{
  light = analogRead(A0); //讀取類比腳位A0的光敏電阻偵測的整數亮度數值
  String str1 = "Light=";  //宣告字串變數
  String str2 = "     ";  //宣告字串變數放5個空格
  //lcd.clear();        // 清除LCD顯示器的文字
  Serial.println(str1 + light + str2);  //將亮度變數前後合併字串顯示在序列埠
  lcd.setCursor(0, 0);  //定位在 LCD 的第0個字、第0列位置
  lcd.print(str1 + light + str2);  //將亮度變數前後合併字串顯示在LCD
  delay(100);  //等待0.1秒
}