ESP32, IOT物聯網

【IOT物聯網應用-ESP32】第九篇:搭配LCD 1602 I2C顯示模組

實驗說明:

通常物聯網產品在設計上都會具備一個資訊顯示裝置,觀察一下我們周邊的常見的電子產品,是不是也都有個小螢幕與我們產生互動?舉例來說,計算機的螢幕可以顯示數字與運算的結果,智慧手錶中的螢幕除了可以顯示目前時間,甚至還是顯示重要文字訊息。在 Arduino 系統中,最常使用便宜又大碗的LCD1602的液晶顯示器,可以顯示單一列16個字元的長度,一次可以顯示兩列。下圖為實際的LCD1602顯示螢幕。現在米羅就來跟各位介紹ESP32 搭配LCD 1602 I2C 模組使用方式。

材料:

  • ESP32-E DevKit
  • USB 傳輸線
  • 1602 I2C 顯示模組
  • 麵包板
  • 杜邦線

▼ 購買IoT物聯網學習教材:

ESP32 物聯網應用學習套件 ESP32CAM IoT物聯網學習教材 適用Arduino

 

相關知識:

I2C(Inter-Integrated Circuit)是一種兩線序列式通訊方式,可用於微控制器及其周邊設備的連接。I2C 傳輸有兩條線,一條叫做 SDA(serial data),專門用來送資料,另一條叫做 SCL(serial clock),是用來傳clock。使用 I2C 通訊的設備必須連接到SDA和SCL稱為 I2C Bus。 每個設備都有一個唯一的地址,可以用作發送器或接收器與連接到I2C Bus的設備進行通信。

 

安裝 LiquidCrystal I2C 程式庫

本次試驗使用arduino直接驅動1602液晶顯示文字,需安裝 LiquidCrystal I2C函式庫。

  • 下載LiquidCrystal I2C函式庫 :  載點
  • 在 Arduino 整合環境功能表點選 草稿碼 / 匯入程式庫 / 加入.ZIP程式庫

▼選擇剛剛所下載的「 LiquidCrystal_I2C-master.zip 」加入程式庫。

 

程式:

#include <LiquidCrystal_I2C.h> 

LiquidCrystal_I2C lcd(0x27,16,2);  // set the LCD address to 0x27 for a 16 chars and 2 line display

void setup()
{
  lcd.init(); // initialize the lcd 
  // Print a message to the LCD.
  lcd.backlight();
  lcd.setCursor(0,0);
  lcd.print("Hello, world!");
  lcd.setCursor(0,1);
  lcd.print("MiroTek");
}

void loop()
{
}

 

Troubleshooting:

  1. 必須使用5V : LCD需使用5V電壓,否則背光會很黯淡,甚至看不到顯示內容。
  2. LCD顯示螢幕的背面有一個藍色電位器(對比調整旋鈕 )。您可以轉動電位器來調整對比度,可以使屏幕變亮或變暗,並且讓字幕變得更明顯。
  3. 背光接口需要經由Jump將腳位短路,若是Jump遺失可使用母母杜邦線對接。

 

相關文章