Arduino控制LCD顯示helloworld

首先是一些基礎知識:html

  LCD 1602簡介:(圖片來自http://www.51hei.com/bbs/dpj-36571-1.html)函數

 

 

Arduino LiquidCrystal庫簡介:oop

  這個庫能夠封裝了對LCD芯片的一些操做,用起來很方便,不用再本身編寫相關的芯片時序控制、數據或命令讀寫等函數的代碼了。ui

  1. LiquidCrystal()spa

  簡介:建立一個LiquidCrystal的實例(構造函數).可以使用4線或8線方式做爲數據線(請注意,還須要指令線).若採用四線方式,將d0-d3懸空不鏈接.RW引腳可接地而不用接在Arduino的某個引腳上;若是這樣接,省略在函數中的rw參數。code

  構造函數:htm

    LiquidCrystal(rs, enable, d4, d5, d6, d7)  blog

    LiquidCrystal(rs, rw, enable, d4, d5, d6, d7)  圖片

    LiquidCrystal(rs, enable, d0, d1, d2, d3, d4, d5, d6, d7)  string

    LiquidCrystal(rs, rw, enable, d0, d1, d2, d3, d4, d5, d6, d7) 

  參數說明:

    rs: rs鏈接的Arduino的引腳編號  rw: rw鏈接的Arduino的引腳編號   enable:enable鏈接的Arduino的引腳編號  

    d0, d1, d2, d3, d4, d5, d6, d7: 鏈接的Arduino的引腳編號 

  例子  :

    #include <LiquidCrystal.h>
     LiquidCrystal lcd(12, 11, 10, 5, 4, 3, 2);  //使用的上述第一個構造函數,Arduino的12腳接LCD的rs腳、11腳接enable...
     void setup()      {       lcd.print("hello, world!");      }      void loop() {}

   2.begin()

     簡介 :指定顯示屏的尺寸(寬度和高度)。  

    語句:lcd.begin(cols, rows)  

    參數設置 :

      lcd:一個LiquidCrystal類型的變量  

      cols: 顯示器能夠顯示的列數(1602是16列)  

      rows: 顯示器能夠顯示的行數(1602是2行) 

   3.clear()

      簡介:清屏

     語句:lcd.clear();

   4.setCursor()

     簡介 : 將光標定位在特定的位置

     語句  lcd.setCursor(col, row)  

     參數:

       lcd:一個LiquidCrystal類型的變量  

       col: 你要顯示光標的列 (從0開始計數)  

       row: 你要顯示光標的行 (從0開始計數)

    5.print()

      簡介:  將文本顯示在LCD上

      語句  :

         lcd.print(data)  

         lcd.print(data, BASE)

      參數:

        data:要顯示的數據,能夠是char, byte, int, long或者string類型的  

        BASE (optional): 數制(可選的),BIN,DEC,OCT,HEX分別將數字以二進制,十進制,八進制,十六進制方式顯示出來. 

    該庫還有其餘不少有用的函數,這裏就不一一介紹了,具體要應用到時能夠查閱相關庫資料。

  

  有了這些基本知識以後,咱們能夠開始準備鏈接硬件線路了

   要用的材料:

    1.杜邦線若干

    2.Arduino主板一塊

    3.面板包一塊

    4.1602 LCD一塊

    5.可變電阻器一個

    6.220歐電阻一個

   鏈接方式:

    將LCD的RS,ENABLE,D4,D5,D6,D7分別接到Arduino的12,11,5,4,3,2口;

    LCD的Vss、R/W接到GND, Vdd接到5v;

    LCD的A腳接到5v,k腳串接一個電阻到GND(稍微下降一點背光的亮度);

    可變電阻的一隻腳接到5v,中間一隻接到lcd的V0,另一隻接到GND,這個可變電阻的做用是調節LCD的對比度,若對比度不合適則會致使字符顯示看不到

  

 

  軟件代碼:

  // 引用LiquidCrystal Library
  #include <LiquidCrystal.h>
   
  // 創建LiquidCrystal 的變數lcd
  // LCD 接腳: rs, enable, d4, d5, d6, d7 
  // 對應到Arduino 接腳: 12, 11, 5, 4, 3, 2
  LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
   
  void setup() 
  {
    // 設定LCD 的行列數目(2 x 16)
    lcd.begin(16, 2);
   
    // 列印"Hello World" 訊息到LCD 上
    lcd.print("hello, world!");
   }
   
  void loop() 
 {
    // 將光標設到第5列,第2行(第一列第一行爲0,0),設置顯示到屏幕第二行中間
    lcd.setCursor(6, 1);
   
    // 打印Arduino 重開以後通過的秒數
    lcd.print(millis()/1000);
  }

  代碼在鏈接好的電路上運行的結果:

  

  結果顯示算是成功了,本次實驗值得注意的有如下幾點:

  1.對硬件如LCD的基本瞭解,各個引腳的接法,其中LCD對比度的控制,在V0腳上串接一個可調電阻是個很好的選擇

  2.對Arduino庫的瞭解,用起來很方便,不需本身編寫賦複雜的硬件控制代碼。

 

 

  參考:

     http://www.51hei.com/bbs/dpj-36571-1.html

     百度文庫

相關文章
相關標籤/搜索