【Arduino】LCD I2C模組使用教學

Arduino】LCD I2C模組使用教學

LCD液晶顯示器,在很多電子產品中都有出現,顯示器作為裝置的介面,可以讓人們更好操作。

本篇會介紹該如何使用Arduino來讓LCD秀出文字,以及將感測器測到的數值,透過LCD顯示出來(超音波量測距離作為範例)。

學會了之後就可以應用在你所設計的裝置上囉~

LCD I2C模組

LCD1602正面
LCD1602背面
材料名稱蝦皮連結
【傑森創工】藍底 1602 LCD 顯示器 已焊2004轉接板 IIC/I2C Arduino 樹莓 皆適用

這裡使用的LCD模組顯示為16×2,也就是一列可以顯示16個字元,共有兩列。背後有焊I2C模組,這樣就只需要I2C的兩條線、Vcc、GND,共4條線就能使用了。

I2C簡單來說就是用2條線來達成資料的傳輸,一條為SDA為序列資料線,另一條為SCL序列時脈線,透過這兩條線就可以將Arudino要顯示的資料傳給LCD模組。

線路連接

ARDUINO UNOlcd1602 i2c模組
5VVCC
GNDGND
A4(SDA)SDA
A5(SCL)SCL

A4、A5的腳位為Arduino Uno 定義的I2C腳位

這是依據Wire程式庫所定義的。

Arduino程式

本篇使用 johnrickman/LiquidCrystal_I2C 程式庫,從Arduino IDE內的程式庫管理員就可以搜尋到並安裝。

#include <Wire.h> // I2C程式庫
#include <LiquidCrystal_I2C.h> // LCD_I2C模組程式庫

// LCD I2C位址,默認為0x27或0x3F,依據背板的晶片不同而有差異,16、2為LCD顯示器大小。
LiquidCrystal_I2C lcd(0x27, 16, 2); 


void setup() {
  // 初始化LCD
  lcd.init();
  lcd.backlight();
}
void loop() {
  // 在LCD上顯示Hello World!
  lcd.setCursor(2, 0); // (colum, row)從第一排的第三個位置開始顯示
  lcd.print("Hello World!"); 
  lcd.setCursor(2, 1); // (colum,row)從第二排第三格位置開始顯示
  lcd.print("Crazy Maker!");
}

可以從螢幕中秀出”Hello World!” 跟”Crazy Maker!” 了~

實際應用

我們之前玩過超音波測距感測器,不過當時是用電腦序列部監控視窗來看量測距離。

但我們現在有LCD這個好東西,就用它來顯示出感測的距離吧~

實際操作影片:

#include <Wire.h> // I2C程式庫
#include <LiquidCrystal_I2C.h> // LCD_I2C模組程式庫
#include <Ultrasonic.h>

// LCD I2C位址,默認為0x27或0x3F,依據背板的晶片不同而有差異,16、2為LCD顯示器大小。
LiquidCrystal_I2C lcd(0x27, 16, 2); 

Ultrasonic ultrasonic(13,12); //ultrasonic(trig, echo)
int distance;
String dist;

void setup() {
  Serial.begin(115200);
  // 初始化LCD
  lcd.init();
  lcd.backlight();
}

void loop() {
  distance= ultrasonic.read();
  lcd.setCursor(0, 0); 
  lcd.print("distance:");
  lcd.setCursor(10, 0); 
  lcd.print(distance);
  lcd.print("  ");  
  lcd.setCursor(14, 0); 
  lcd.print("cm"); 
  delay(100);

  
  
}

最後!! 你喜歡這篇文章,或是這篇文章對你有幫助的話,也歡迎分享出去給需要的人,訂閱免費電子報獲得最新資訊😄😄😄

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *