2015年11月9日 星期一

Arduino 7: LCD--將數值輸出到LCD

LCD


  • Arduino控制器的控制埠數量實在是有限,連接幾個感測器,通訊設備什麼的,你就會發現埠不夠用了,還想擴展一個液晶顯示器,怎麼辦?
  • 為了解決上述問題,我們開發的I2C介面的LCD顯示器,I2C只需兩根線就可以實現資料顯示,還可以串聯多個I2C設備。標準IIC介面,除了Arduino可以使用之外,其他單片機同樣可以進行驅動控制。
  • I2C LCD1602液晶模組,可以顯示2,每行16個字元。對於Arduino初學者來說,不必為繁瑣複雜液晶驅動電路連線而頭疼了,這款LCD擴展板將電路簡化,使用相關文檔中的庫檔,您只需使用幾行簡單的Arduino控制代碼便能完成LCD控制顯示的功能。
  • I2C LCD1602液晶模組背面的電位器還能提供你調節液晶顯示器對比度的功能。
  • 新版的IIC LCD模組支援gadgeteer介面,並且具有位址設置功能,可以通過跳線設置位址(0x20-0x27)。


需引入函式庫


  1. //-------------------------   LCD
  2.                                //Library version:1.1
  3. #include <Wire.h>
  4. #include <LiquidCrystal_I2C.h>
  5. #if defined(ARDUINO) && ARDUINO >= 100
  6. #define printByte(args)  write(args);
  7. #else
  8. #define printByte(args)  print(args,BYTE);
  9. #endif
  10. LiquidCrystal_I2C lcd(0x20,16,2);  // set the LCD address to 0x27 for a 16 chars and 2 line display
  11. //-------------------------

  12. void setup(){ 
  13.     //-------------------------   LCD
  14.      lcd.init();                            // initialize the lcd 
  15.      lcd.backlight();
  16.      lcd.home();  
  17.      lcd.print   ("Hello world...");
  18.      lcd.setCursor(0, 1);                //設定游標位置
  19.      lcd.print   ("CTJH");
  20.     //-------------------------   LCD
  21. }

  22.       //-------------------------    LCD 每隔 interval 閃爍,測試用
  23.        int    backlightState = LOW;
  24.        long previousMillis = 0;
  25.        long interval = 1000;
  26.       //------------------------- 

  27. void loop(){
  28.      //-------------------------    LCD 每隔 interval 閃爍,測試用
  29.        unsigned long currentMillis = millis(); 
  30.        if(currentMillis - previousMillis > interval) {
  31.          previousMillis = currentMillis;   
  32.        if (backlightState == LOW)
  33.          backlightState = HIGH;
  34.        else
  35.          backlightState = LOW;
  36.        if(backlightState == HIGH)  lcd.backlight();
  37.        else lcd.noBacklight();
  38.       } 
  39.      //-------------------------
  40. }





沒有留言:

張貼留言