Arduino控制LCD顯示helloworld


首先是一些基礎知識:

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

 

 

Arduino LiquidCrystal庫簡介:

  這個庫可以封裝了對LCD芯片的一些操作,用起來很方便,不用再自己編寫相關的芯片時序控制、數據或命令讀寫等函數的代碼了。

  1. LiquidCrystal()

  簡介:創建一個LiquidCrystal的實例(構造函數).可使用4線或8線方式作為數據線(請注意,還需要指令線).若采用四線方式,將d0-d3懸空不連接.RW引腳可接地而不用接在Arduino的某個引腳上;如果這樣接,省略在函數中的rw參數。

  構造函數:

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

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

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

    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

     百度文庫

  

  

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM