參考課本 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 完成後圖片 |