[尼克的robot]實做arduino lcd液晶螢幕顯示 新年看板範例 (I2C) 

20181231_221727.jpg

快來一起做做看吧

20181231_190640.jpg20181231_190650.jpg

這塊lcd相信帶給蠻多的人很多困擾吧

像是LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);這句話....

這句話是在設定lcd的位置

但偏偏一直編譯錯誤

所以今天就幫大家一一的解決這些困擾


準備材料 :

1. arduino uno 一塊

2. 16×2 LCD 模組 一塊

(建議購買帶背光還有帶有背面那塊黑色的東東的)

可以幫你省去很多麻煩


接線 : 

LCD上的GND >> arduino的GND

LCD上的VCC >> arduino的5V

LCD上的SDA >> arduino的A4

LCD上的SCL >> arduino的A5

20181231_191610.jpg


先整理一下等等會用到的語法

這樣等等比較好理解程式

lcd.init();                     //初始化LCD

lcd.clear();                  //清空LCD

lcd.backlight();          //是否開啟背光

lcd.setCursor(0,0);    //設定遊標位置

lcd.print();                //寫入字串

記住這五個語法大概就沒甚麼問題了


程式部分 : 

先複製底下程式至arduino軟體

最底下有新年看板範例

/*

尼克的robot網址 :

https://kenny2019.pixnet.net/blog

*/

#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);  //下面有設定lcd位置更詳細的解釋


void setup() {
  Serial.begin(9600);
  lcd.init();//初始化LCD
  lcd.backlight();//是否開啟背光
  lcd.setCursor(2,0);//設定遊標位置
  lcd.print("Hello World!");//寫入字串
  
}


void loop() {
  

}


LiquidCrystal_I2C lcd(0x27,16,2);

這句話其實是在設定LCD的位置

依照不同的廠牌等因素而定

作者自己在試的時候都是這樣才能成功

當然你如果失敗了

也可以換成這個試試

LiquidCrystal_I2C lcd(0x3F,16,2);

而如果是編譯錯誤請直接換成下面其中一種

LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);

LiquidCrystal_I2C lcd(0x3F, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);


首先要先下載LiquidCrystal_I2C.h程式庫

提供以下連結網址

https://github.com/fdebrabander/Arduino-LiquidCrystal-I2C-library

下載ZIP檔後匯入程式庫即可

如果對匯入程式庫有任何問題的可以參考一下下面這篇文章

http://kenny2019.pixnet.net/blog/post/269708984-%5B%E5%B0%BC%E5%85%8B%E5%85%88%E7%94%9F%5D%E5%AF%A6%E5%81%9Aarduino%E6%BA%AB%E6%BA%BC%E5%BA%A6%E8%A8%88%20DHT22+%E5%BA%8F%E5%88%97%E5%9F%A0%E5%8F%8A%E6%99%82%E9%9B%BB%E8%85%A6%E9%A1%AF%E7%A4%BA%E6%95%B8%E5%80%BC

 

接著到 草稿碼>>匯入程式庫>>管理程式庫這邊

1131.png

搜尋 LiquidCrystal_I2C.h

1131.png

下載中間那兩個

也就是有LiquidCrystal_I2C.h的程式庫


接著就可以上傳囉

這是執行的結果

如果沒有文字顯示請調整後方的開關

20181231_194151.jpg


新年看板範例

#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27,16,2); //下面有設定lcd位置更詳細的解釋

 

void setup() {

Serial.begin(9600);

lcd.init();//初始化LCD

lcd.backlight();//是否開啟背光

lcd.setCursor(2,0);//設定遊標位置

lcd.print("TAIWAN 2019");//寫入字串

lcd.setCursor(1,1);//設定遊標位置

lcd.print("Happy New Year");//寫入字串

}

 

void loop() { }

 


下一篇預計教大家把感應器的數值顯示到LCD上

 

 

 

 

 

相關文章