前言

在 WFduino 與 Scratch 3 的環境下,我們可以利用 Arduino 控制各式各樣的感測器,並將收集到的數據傳回 Scratch 或雲端服務。但是如果我們希望 Arduino 本身就能夠顯示一些基本資料,這時候就可以透過 LCD 液晶顯示器或 OLED 顯示器來達到顯示的目的。在這篇文章中,我們將介紹可用來顯示英文與數字的 LCD 點矩陣液晶顯示器 LCD1602,以及如何利用 WFduino + Scratch 3 來控制連接至 Arduino 的 LCD1602。

I2C 介面的 LCD 點矩陣液晶顯示器 LCD1602

這次範例我們選用的是 I2C 介面的 LCD1602 液晶顯示器。對 I2C 介面或 LCD1602 不是很清楚的朋友,請先參考這裡的說明

除了是否具有 I2C 介面的差別外,LCD1602 還有工作電壓的差別。比較常見是 5V 工作電壓,不過也有 3.3V 工作電壓的形式。上方連結內容中的範例即是 5V 的版本,在 LCD 背面 U3 的位置沒有任何元件,而 3.3V 版本在那個位置上則會有一個轉換電路的 IC。

開發環境建置

如果你還沒有建置 WFduino + Scratch 3 的開發環境,請參考這篇文章

線路圖

Arduino 與 LCD1602

Arduino 與 LCD1602

  1. 我們需處理 LCD1602 背面的 GND、VCC、SDA、SCL 四支接腳,與 Arduino 腳位對應如下:
    LCM1602 IIC V1 接腳Arduino Uno 腳位杜邦線顏色
    GNDGND橘色
    VCC+5V黃色
    SDAA4綠色
    SCLA5藍色
  2. Arduino Uno I2C 介面的 SDA 與 SCL 固定分別使用編號 A4 與 A5 的腳位,連接至其他的 GPIO 將無法正常動作。
  3. 如果找不到完全與範例同色的杜邦線也沒關係。但是無論如何請使用四種不同顏色的杜邦線加以連接,以方便區分各個接腳。
  4. 在此範例中省略使用麵包板以簡化線路圖。

範例程式一

Arduino 控制 LCD1602 (Scratch 3)

Arduino 控制 LCD1602 (Scratch 3)

  1. 這個程式很簡單,程式一開始清除兩行螢幕上的文字,之後則在兩行分別顯示 “Hello WFduino” 與 “and Scratch 3.0″。我們將第二行的文字由第二格開始。
  2. 程式開始執行後,應可看到 LCD1602 呈現如下圖中的文字效果:

    Arduino LCD1602 顯示文字訊息

    Arduino LCD1602 顯示文字訊息

範例程式二

Arduino 控制 LCD1602 顯示時間

Arduino 控制 LCD1602 顯示時間

  1. 這個範例與前一個範例差別不大,程式一開始清除兩行螢幕上的文字。
  2. 之後則利用 “重複無限次” 積木每隔一秒就將目前的時間顯示在第一列。顯示前必須先將原本已經在第一列的文字清除掉,以免因為之後顯示的字串較短而讓原本字串的後面部分殘留在顯示器之上。
  3. 可能是因為 WFduino 的臭蟲,每次 Scratch 3 程式停止後必須回到 WFduino 的控制視窗斷開 Arduino 的連線並重新連線後,才能夠正確地重新執行 Scratch 3 程式。
  4. 程式執行後,應該就可以看到 LCD 上開始顯示現在的時間,如下圖所示:

    Arduino LCD1602 顯示時間

    Arduino LCD1602 顯示時間

Facebook 留言
Print Friendly, PDF & Email
Summary
WFduino + Scratch 3 + Arduino 使用 I2C LCD 點矩陣液晶顯示器 (LCD1602)
Article Name
WFduino + Scratch 3 + Arduino 使用 I2C LCD 點矩陣液晶顯示器 (LCD1602)
Description
在這篇文章中,我們將介紹可用來顯示英文與數字的 LCD 點矩陣液晶顯示器 LCD1602,以及如何利用 WFduino + Scratch 3 來控制連接至 Arduino 的 LCD1602。
Author
Publisher Name
Everlearn Studio
Publisher Logo