#include // Arduino IDE 內建 #include // Set the pins on the I2C chip used for LCD connections: // addr, en,rw,rs,d4,d5,d6,d7,bl,blpol LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); void setup() { Serial.begin(9600); // 用於手動輸入文字 lcd.begin(16, 2); // 初始化 LCD,一行 16 的字元,共 2 行,預設開啟背光 // 閃爍三次 for(int i = 0; i < 3; i++) { lcd.backlight(); // 開啟背光 delay(250); lcd.noBacklight();// 關閉背光 delay(250); } lcd.backlight(); // 輸出初始化文字 lcd.setCursor(0, 0); // 設定游標位置在第一行行首 lcd.print("Hello, world!"); delay(1000); lcd.setCursor(0, 1); // 設定游標位置在第二行行首 lcd.print("TN CS"); delay(8000); // 告知使用者可以開始手動輸入訊息 lcd.clear(); lcd.setCursor(0, 0); lcd.print("Use Serial Mon"); lcd.setCursor(0, 1); lcd.print("Type to display"); } void loop() { if (Serial.available()) { // 當使用者手動輸入訊息 delay(100); // 等待一小段時間,確認資料都接收下來了 lcd.clear(); // 清除舊訊息 while (Serial.available() > 0) { // 讀取新訊息 lcd.write(Serial.read()); // 將訊息顯示在 LCD 上 } } } ``` ![](http://maker.tn.edu.tw/uploads/tad_book3/image/2018-01-30_231730.png) 二、begin( )函式 begin( )函式的功能是用來指定顯示器的總行數及總列數,有 cols、rows 等二個 參數必須設定,cols 參數設定 LCD 的總行數,rows 參數設定 LCD 的總列數。在使 用 begin( )函式之前,必須先使用 LiquidCrystal( )函式宣告一個 LiquidCrystal 資料型 態的物件。 格式: lcd.begin(cols,rows) 範例: ``` include //使用LiquidCrystal函式庫。 LiquidCrystal lcd(12, 11, 10, 5, 4, 3, 2); //宣告 lcd 變數。 lcd.begin(16,2); //使用16 行2列的 LCD。 ``` 三、print( )函式print( )函式的功能是將文字寫入 LCD 中,有 data、BASE 兩個參數可以設定, data 參數是所要寫入至 LCD 中的文字,data 可以是 char、byte、int、long 或 string 等資料型態,如果 data 是數值,可以使用 BASE 參數設定所要顯示數值的基數,有 BIN(二進)、OCT(八進)、DEC(十進)、HEX(十六進)等四種基數可以選擇。 print( )函式會傳回所寫入的位元組總數。在使用 print( )函式之前,必須先使用 LiquidCrystal( )函式宣告一個 LiquidCrystal 資料型態的物件。 格式: print(data) print(data,BASE) 範例: ``` include //使用LiquidCrystal函式庫。 LiquidCrystal lcd(12, 11, 10, 5, 4, 3, 2); //宣告 lcd變數。 lcd.print("hello, world!"); //寫入字元"hello, world!"。 lcd.print(15,BIN); //顯示 15 的二進數值"1111"。 lcd.print(15,OCT); //顯示 15 的八進數值"17"。 lcd.print(15,DEC); //顯示 15 的十進數值"15"。 lcd.print(15,HEX); //顯示 15 的十六進數值"F"。 ``` 四、setCursor( )函式 setCursor( )函式的功能是設定游標的位置,有 col、row 等二個參數必須設定, col 參數設定 LCD 游標的行位置,由 0 開始,row 參數設定 LCD 游標的列位置,由 0 開始。在使用 setCursor()函式之前,必須先使用 LiquidCrystal( )函式宣告一個 LiquidCrystal 資料型態的物件。 格式: setCursor(col,row) 範例: ``` include //使用LiquidCrystal函式庫。 LiquidCrystal lcd(12, 11, 10, 5, 4, 3, 2); //宣告 lcd 變數。 lcd.setCursor(0,1); //設定游標在第0行,第1列。 ``` 五、clear( )函式clear( )函式的功能是用來清除 LCD,同時將游標移至左上角,不須設定任何參 數,clear( )函式執行情形如圖 10-3 所示。在使用 clear( )函式之前,必須先使用 LiquidCrystal( )函式宣告一個 LiquidCrystal 資料型態的物件。 六、home( )函式home()函式的功能是將游標移至 LCD 的左上角,不須設定任何參數,home( ) 函式執行情形如圖 10-4 所示。在使用 home( )函式之前,必須先使用 LiquidCrystal( ) 函式宣告一個 LiquidCrystal 資料型態的物件。 七、scrollDisplayLeft( ) / scrollDisplayRight( )函式scrollDisplayLeft( )函式的功能是使整個 LCD 的內容向左捲動一行,不須設定任 何參數,scrollDisplayLeft( )函式執行情形如圖 10-8 所示。scrollDisplayRight( )函式 的功能是使整個 LCD 的內容向右捲動一行,不須設定任何參數
include //使用LiquidCrystal函式庫。 LiquidCrystal lcd(12, 11, 10, 5, 4, 3, 2); //宣告 lcd 變數。 lcd.begin(16,2); //使用16 行2列的 LCD。 ``` 三、print( )函式print( )函式的功能是將文字寫入 LCD 中,有 data、BASE 兩個參數可以設定, data 參數是所要寫入至 LCD 中的文字,data 可以是 char、byte、int、long 或 string 等資料型態,如果 data 是數值,可以使用 BASE 參數設定所要顯示數值的基數,有 BIN(二進)、OCT(八進)、DEC(十進)、HEX(十六進)等四種基數可以選擇。 print( )函式會傳回所寫入的位元組總數。在使用 print( )函式之前,必須先使用 LiquidCrystal( )函式宣告一個 LiquidCrystal 資料型態的物件。 格式: print(data) print(data,BASE) 範例: ``` include //使用LiquidCrystal函式庫。 LiquidCrystal lcd(12, 11, 10, 5, 4, 3, 2); //宣告 lcd變數。 lcd.print("hello, world!"); //寫入字元"hello, world!"。 lcd.print(15,BIN); //顯示 15 的二進數值"1111"。 lcd.print(15,OCT); //顯示 15 的八進數值"17"。 lcd.print(15,DEC); //顯示 15 的十進數值"15"。 lcd.print(15,HEX); //顯示 15 的十六進數值"F"。 ``` 四、setCursor( )函式 setCursor( )函式的功能是設定游標的位置,有 col、row 等二個參數必須設定, col 參數設定 LCD 游標的行位置,由 0 開始,row 參數設定 LCD 游標的列位置,由 0 開始。在使用 setCursor()函式之前,必須先使用 LiquidCrystal( )函式宣告一個 LiquidCrystal 資料型態的物件。 格式: setCursor(col,row) 範例: ``` include //使用LiquidCrystal函式庫。 LiquidCrystal lcd(12, 11, 10, 5, 4, 3, 2); //宣告 lcd 變數。 lcd.setCursor(0,1); //設定游標在第0行,第1列。 ``` 五、clear( )函式clear( )函式的功能是用來清除 LCD,同時將游標移至左上角,不須設定任何參 數,clear( )函式執行情形如圖 10-3 所示。在使用 clear( )函式之前,必須先使用 LiquidCrystal( )函式宣告一個 LiquidCrystal 資料型態的物件。 六、home( )函式home()函式的功能是將游標移至 LCD 的左上角,不須設定任何參數,home( ) 函式執行情形如圖 10-4 所示。在使用 home( )函式之前,必須先使用 LiquidCrystal( ) 函式宣告一個 LiquidCrystal 資料型態的物件。 七、scrollDisplayLeft( ) / scrollDisplayRight( )函式scrollDisplayLeft( )函式的功能是使整個 LCD 的內容向左捲動一行,不須設定任 何參數,scrollDisplayLeft( )函式執行情形如圖 10-8 所示。scrollDisplayRight( )函式 的功能是使整個 LCD 的內容向右捲動一行,不須設定任何參數
include //使用LiquidCrystal函式庫。 LiquidCrystal lcd(12, 11, 10, 5, 4, 3, 2); //宣告 lcd變數。 lcd.print("hello, world!"); //寫入字元"hello, world!"。 lcd.print(15,BIN); //顯示 15 的二進數值"1111"。 lcd.print(15,OCT); //顯示 15 的八進數值"17"。 lcd.print(15,DEC); //顯示 15 的十進數值"15"。 lcd.print(15,HEX); //顯示 15 的十六進數值"F"。 ``` 四、setCursor( )函式 setCursor( )函式的功能是設定游標的位置,有 col、row 等二個參數必須設定, col 參數設定 LCD 游標的行位置,由 0 開始,row 參數設定 LCD 游標的列位置,由 0 開始。在使用 setCursor()函式之前,必須先使用 LiquidCrystal( )函式宣告一個 LiquidCrystal 資料型態的物件。 格式: setCursor(col,row) 範例: ``` include //使用LiquidCrystal函式庫。 LiquidCrystal lcd(12, 11, 10, 5, 4, 3, 2); //宣告 lcd 變數。 lcd.setCursor(0,1); //設定游標在第0行,第1列。 ``` 五、clear( )函式clear( )函式的功能是用來清除 LCD,同時將游標移至左上角,不須設定任何參 數,clear( )函式執行情形如圖 10-3 所示。在使用 clear( )函式之前,必須先使用 LiquidCrystal( )函式宣告一個 LiquidCrystal 資料型態的物件。 六、home( )函式home()函式的功能是將游標移至 LCD 的左上角,不須設定任何參數,home( ) 函式執行情形如圖 10-4 所示。在使用 home( )函式之前,必須先使用 LiquidCrystal( ) 函式宣告一個 LiquidCrystal 資料型態的物件。 七、scrollDisplayLeft( ) / scrollDisplayRight( )函式scrollDisplayLeft( )函式的功能是使整個 LCD 的內容向左捲動一行,不須設定任 何參數,scrollDisplayLeft( )函式執行情形如圖 10-8 所示。scrollDisplayRight( )函式 的功能是使整個 LCD 的內容向右捲動一行,不須設定任何參數
include //使用LiquidCrystal函式庫。 LiquidCrystal lcd(12, 11, 10, 5, 4, 3, 2); //宣告 lcd 變數。 lcd.setCursor(0,1); //設定游標在第0行,第1列。 ``` 五、clear( )函式clear( )函式的功能是用來清除 LCD,同時將游標移至左上角,不須設定任何參 數,clear( )函式執行情形如圖 10-3 所示。在使用 clear( )函式之前,必須先使用 LiquidCrystal( )函式宣告一個 LiquidCrystal 資料型態的物件。 六、home( )函式home()函式的功能是將游標移至 LCD 的左上角,不須設定任何參數,home( ) 函式執行情形如圖 10-4 所示。在使用 home( )函式之前,必須先使用 LiquidCrystal( ) 函式宣告一個 LiquidCrystal 資料型態的物件。 七、scrollDisplayLeft( ) / scrollDisplayRight( )函式scrollDisplayLeft( )函式的功能是使整個 LCD 的內容向左捲動一行,不須設定任 何參數,scrollDisplayLeft( )函式執行情形如圖 10-8 所示。scrollDisplayRight( )函式 的功能是使整個 LCD 的內容向右捲動一行,不須設定任何參數
進階搜尋