☛ 功能說明

使用 Arduino 開發板控制 LCD 1602 顯示字元 ” Hello”,並且左右來回移動。

☛ 使用材料

Arduino UNO R3 開發板 × 1、LCD 1602A 顯示器模組 × 1、可變電阻 20KΩ × 1、電阻 220Ω × 1 。

☛ 電路圖及麵包板接線圖

☛ 程式碼

#include<LiquidCrystal.h>          // 使用 LiquidCrystal.h 函式庫

LiquidCrystal lcd(12,11,5,4,3,2);  // 宣告 lcd 變數並定義使用接腳

void setup()
{
     lcd.begin(16,2);              // 使用 16 行 × 2 列 LCD
}

void loop()
{
     lcd.setCursor(10,0);          // 設定游標位置在第 0 列第 10 行
     lcd.print("Hello!");          // 顯示字元 Hello!

     for(int i =0;i<10;i++)        // 左移 10 次
     {
         lcd.scrollDisplayLeft();  // LCD 內容向左捲動一行
         delay(200);               // 延遲0.2 秒
     }

     for(int i=0;i<10;i++)         // 右移 10 次
     {
         lcd.scrollDisplayRight(); // LCD 內容向左卷動一行
         delay(200);               // 延遲 0.2 秒
     }
}

 

☛ 練習

⑴ 設計 Arduino 程式,控制 LCD 顯示 ” Hello World! “,並且由左向右移動。

#include<LiquidCrystal.h>          // 使用 LiquidCrystal.h 函式庫

LiquidCrystal lcd(12,11,5,4,3,2);  // 宣告 lcd 變數並定義使用接腳

void setup()
{
     lcd.begin(16,2);              // 使用 16 行 × 2 列 LCD
     lcd.setCursor(16,0);          // 設定游標位置在第 0 列第 16 行
     lcd.print("Hello World!");    // 顯示字元 Hello World!
}

void loop()
{
     for(int i =0;i<16;i++)        // 左移 16 次
     {
         lcd.scrollDisplayLeft();  // LCD 內容向左卷動一行
         delay(200);               // 延遲 0.2 秒
     }

     lcd.clear();                  // 清除 LCD 內容
     lcd.setCursor(16,0);          // 設定游標位置在第 0 列第 16 行 
     lcd.print("Hello World!");    // 顯示字元 Hello World!
}

 

⑵ 設計 Arduino 程式,控制 LCD 顯示 ” Hello World! “,並且由右向左移動。

#include<LiquidCrystal.h>          // 使用 LiquidCrystal.h 函式庫

LiquidCrystal lcd(12,11,5,4,3,2);  // 宣告 lcd 變數並定義使用接腳

void setup()
{
     lcd.begin(16,2);              // 使用 16 行 × 2 列 LCD
     lcd.setCursor(0,0);           // 設定游標位置在第 0 列第 0 行
     lcd.print("Hello World!");    // 顯示字元 Hello World!
}

void loop()
{
     for(int i =0;i<16;i++)        // 右移 16 次
     {
         lcd.scrollDisplayRight(); // LCD 內容向右卷動一行
         delay(200);               // 延遲0.2 秒
     }

     lcd.clear();                  // 清除 LCD 內容
     lcd.setCursor(0,0);           // 設定游標位置在第 0 列第 0 行
     lcd.print("Hello World!");    // 顯示字元 Hello World!
}