參考課本 76 頁
範例一:(測試 I2c 位址)
測試 LCD 使用 I2c 的訊號傳輸位址。

電子電路圖



元件電路圖



演算法:
1. 測試位址(從 8 號至 119)。
2. 送出測試訊號
3. 如果成功,則顯示位址。。
4. 測試下一個位址,回到步驟 2。

程式碼:
//尋找 i2c 位址
#include <Wire.h>
void setup() {
      Serial.begin(9600);//設定視窗鮑率
      Wire.begin(21,22);//I2c SDA 與 SCL 接腳位置
      delay(500);//延遲,否則前段會出現亂碼
      byte i,c=0;
      for(i=8;i<120;i++){ //從 8 號位址開始掃描至 119 號
            Wire.beginTransmission(i);
            if(Wire.endTransmission()==0){
                  Serial.print(++c);
                  Serial.print("找到位址:");
                  Serial.print(i,DEC);//10 進制顯示
                  Serial.print("(0x");
                  Serial.print(i,HEX);//16 進制顯示
                  Serial.println(")");
                  delay(500);//延遲,否則前段會出現亂碼
            }
      }
}
void loop() {
      //nothing
}

範例二:
寫一程式在 lcd (1602)上,第一列第 3 行顯示 Hello
第二列顯示 2023/10/04 置中。

電路圖同上。

演算法
1. 驅動 lcd 模組。
2. 清除 lcd 螢幕。
3. 設定 lcd 游標在第一列第三行。
4. 輸出 "Hello" 至 LCD。
5. 設定 lcd 游標在第一列第四行。
6. 輸出 "2023/10/04" 至 LCD。

程式碼:
#include <Adafruit_LiquidCrystal.h>
Adafruit_LiquidCrystal lcd(0);
void setup()
{
  lcd.begin(16, 2);//啟動 lcd i2c 模組
  lcd.clear();//清除螢幕
  lcd.setCursor(2, 0);//設定 lcd 游標在第一列第三行
  lcd.print("hello");//輸出 "Hello" 至 LCD
  lcd.setCursor(3, 1);//設定 lcd 游標在第一列第四行
  lcd.print("2023/10/04");// 輸出 "2023/10/04" 至 LCD
}

void loop(){}

TinkerCad 完成後圖片