Download presentation
Presentation is loading. Please wait.
Published byJean-Christophe Chrétien Modified 6年之前
1
內容:2*16LCD & AnalogKeyPad 實作:LCD 顯示 ,KeyPad control 簡報:廖崇義
Arduino week7 內容:2*16LCD & AnalogKeyPad 實作:LCD 顯示 ,KeyPad control 簡報:廖崇義
2
LCD KeyPad介紹 LCD Keypad Shield輸入輸出擴展板使用2行16個字元液晶,具有對 比度調節和背光燈,使用1個類比(AN0)便完成5個按鍵的輸入,1個 重置按鍵,未使用的IO都擴展出來備用,充分利用IO。 佔用數位IO定義: PIN4-DB4 PIN5-DB5 PIN6-DB6 PIN7-DB7 PIN8-RS PIN9-EN PIN10-背光控制 類比0按鍵埠 取樣值(Right = 0,Up = 100, Down = 255,Left = 406,Select = 637)
3
HD44780 LCD HD44780 相容的 2x16 LCD 可以顯示兩行訊息,每行 16 個字元,它 可以顯示英文字母、希臘字母、標點符號以及數學符號,除了顯示訊 息外,它還有其它功能,包括訊息捲動(往左和往右捲動)、顯示游標 和 LED背光等。 日立 HD44780 相容的 LCD 有 4-bit 和 8-bit 兩種使用模式,使用 4- bit 模式主要的好處是節省 I/O 腳位,通訊的時候只會用到 4 個高位 元 (D4-D7),D0-D3 這四支腳位可以不用接。每個送到 LCD 的資料 會被分成兩次傳送 – 先送 4 個高位元,然後才送 4 個低位元。
4
LCD顯示練習 要在 LCD 上顯示訊息,會涉及初始化 LCD 、下指令以及傳送資料給 LCD 等工作,Arduino LiquidCrystal Library 已經把這些工作簡化了 ,所以你不需要知道這些低階的指令。底下的程式在 2x16 LCD 上第 一行顯示 "hello, world!” 訊息,並在第二行不斷更新 Arduino 重開 之後經過的秒數,使用的是 4-bit 模式。 指令說明: #include <LiquidCrystal.h> //引用 LiquidCrystal Library LiquidCrystal lcd(rs enable, d4, d5 d6 , d7); //LCD 接腳設定 lcd.begin(16, 2); // 設定 LCD 的行列數目 (2 x 16) lcd.setCursor(0, 1); // 將游標設到 column 0, line 1 lcd.print("hello, world!"); // 列印 "Hello World" 訊息到 LCD 上 程式碼 File > Examples > LiquidCrystal > HelloWorld PS.請同學在程式碼中將此行LiquidCrystal lcd(12, 11, 5, 4, 3, 2);相關 位置填入正確的數據
5
類比KeyPad電路
6
類比KeyPad設計方法 if(val<500)
由A0得到的取樣值(Right = 0,Up = 100, Down = 255,Left = 406,Select = 637) 使用判斷式辨別按鈕 if(val<50) btn=‘R’; if(val<150) btn=‘U’; if(val<300) btn=‘D’; if(val<500) btn=‘L’; if(val<800) btn=‘S’;
7
使用SWITCH CASE執行按鍵對應的工作
switch(btn){ case ‘R’: { lcd.print("RIGHT "); break; } case ‘L’: lcd.print("LEFT "); case ‘U’: lcd.print("UP "); case ‘D’: { lcd.print("DOWN "); break; } case ‘S’: lcd.print("SELECT"); default: lcd.print("NONE ");
8
練習一 寫一程式用上面兩頁程式碼在LCD上的第一列及第 二列顯示如下格式: ADO 取樣值(0-1023)
按鍵名稱(例SELECT BTN)
9
練習二 arduino-lab14-74hc595-hd44780-lcd.html
Similar presentations