1 / 12

Arduino week7

Arduino week7. 內容: 2*16LCD & AnalogKeyPad 實作: LCD 顯示 ,KeyPad control 簡報:廖崇義. LCD KeyPad 介紹. LCD Keypad Shield 輸入輸出擴展板使用 2 行 16 個字元液晶,具有對比度調節和背光燈,使用 1 個類比 (AN0) 便完成 5 個按鍵的輸入, 1 個重置按鍵,未使用的 IO 都擴展出來備用,充分利用 IO 。   佔用數位 IO 定義:

gigi
Download Presentation

Arduino week7

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Arduino week7 內容:2*16LCD & AnalogKeyPad 實作:LCD 顯示 ,KeyPad control 簡報:廖崇義

  2. LCD KeyPad介紹 • LCD Keypad Shield輸入輸出擴展板使用2行16個字元液晶,具有對比度調節和背光燈,使用1個類比(AN0)便完成5個按鍵的輸入,1個重置按鍵,未使用的IO都擴展出來備用,充分利用IO。   佔用數位IO定義: PIN4-DB4PIN5-DB5PIN6-DB6PIN7-DB7PIN8-RSPIN9-ENPIN10-背光控制類比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設計方法 • 由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. case ‘D’: { lcd.print("DOWN "); break; } case ‘S’: { lcd.print("SELECT"); break; } default: { lcd.print("NONE "); break; } } • 使用SWITCH CASE執行按鍵對應的工作 switch(btn){ case ‘R’: { lcd.print("RIGHT "); break; } case ‘L’: { lcd.print("LEFT "); break; } case ‘U’: { lcd.print("UP "); break; }

  8. 練習一 • 寫一程式用上面兩頁程式碼在LCD上的第一列及第二列顯示如下格式: ADO 取樣值(0-1023) 按鍵名稱(例SELECT BTN)

  9. 練習二 • http://coopermaa2nd.blogspot.tw/2011/01/arduino-lab14-74hc595-hd44780-lcd.html

More Related