2015年8月2日 星期日

使用Arduino 五分鐘搞定1602 LCD

對於不懂的Firmware的人要進入Firmware的世界真的很難,現在有一種工具很快就讓人上手使用,我今天要介紹的就是Arduino UNO + I2C LCD模組。

什麼是Arduino?
圖一  Arduino UNO
Arduino,是一個開放原始碼單晶片微控制器,它使用了Atmel AVR單片機,採用了基於開放原始碼的軟硬體平台,建構於簡易輸出/輸入(simple I/O)介面板,並且具有使用類似JavaC語言的Processing/Wiring開發環境。 【資料來自於維基百科】
請參考: https://zh.wikipedia.org/wiki/Arduino
製作這個專題需要下列工具:
1. Arduino UNO 硬體如【圖一】
    購買可以參考下列網址
2. Arduino IDE 開發環境
圖二 Arduino 首頁

3. Notepad++ 文書編輯軟體
圖三 Notepad++首頁

4. IIC IO 板 + 1602 LCD模組
圖四 IIC LCD模組與Arduino UNO接線圖
什麼是IIC?
I²CInter-Integrated Circuit)是內部整合電路的稱呼,是一種串列通訊匯流排,使用內送流量備援容錯機制從架構,由飛利浦公司在1980年代為了讓主機板嵌入式系統手機用以連接低速週邊裝置而發展。I²C的正確讀法為"I-squared-C" ,而"I-two-C"則是另一種錯誤但被廣泛使用的讀法。截至2006年11月1日為止,使用I²C協定不需要為其專利付費,但製造商仍然需要付費以獲得I²C從屬裝置位址。
【請參考維基百科】

圖五 IIC的架構示意圖

圖六 Arduino的程式基本架構
開機之後的基本設定寫在setup() 函數內 這裡的程式碼只有執行一次。
然後一直循環的程式碼寫在loop()函數內。


圖七 LCD 範例

本專案必須使用下列驅動
#include // IIC communication 
#include // LCD

Wire.h 負責IIC通信
LiquidCrystal_I2C.h 負責 IIC LCD的控制。

LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);  // Set the LCD I2C address

void setup()
{
//*************************
    //****** LCD setting ********
//*************************
  lcd.begin(16,2);         // initialize the lcd for 20 chars 4 lines, turn on backlight
  lcd.backlight(); //點亮背光
  // Print a message to the LCD.
  lcd.setCursor(2, 0); //設定游標在第2列第0行
  lcd.print("Hello !! ");
  lcd.setCursor(2, 1);
  lcd.print("I am IIC LCD");
}
void loop() {


}


基本上寫這幾行程式就可以讓LCD顯示文字了。

# 1602 LCD
# LCD 1602
# IIC
# Arduino
# arduino
# I2C





沒有留言:

WEMOS D1 MINI ESP8266 製作 NTP + 網路斷線自動重置裝置

我的同事建議我將 NTP 加上網路斷線偵測可以重新reset的功能