0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

怎樣連接4×4帶Arduino的矩陣鍵盤以及如何從鍵盤獲取數(shù)據(jù)

454398 ? 來源:工程師吳畏 ? 2019-07-30 10:16 ? 次閱讀

在本教程中,我們將學(xué)習(xí)4×4矩陣鍵盤以及Arduino鍵盤接口工作原理。鍵盤是一種輸入設(shè)備,用于輸入密碼,撥打號碼,瀏覽菜單甚至控制機器人。

您可能已經(jīng)看到ATM上使用了鍵盤,安全系統(tǒng),電話等,允許用戶向系統(tǒng)輸入數(shù)據(jù)。鍵盤可與微控制器和原型平臺(如Arduino)一起使用,以實現(xiàn)各種項目。

因此,在本文中,我將向您展示如何連接4×4帶Arduino的矩陣鍵盤以及如何從鍵盤獲取數(shù)據(jù)。

概述

矩陣鍵盤只不過是水平和垂直方式的按鈕系統(tǒng)排列。例如,4×4鍵盤由16個按鍵或按鈕組成,按4行和4列排列。下圖顯示了典型的按鍵類型4×4矩陣鍵盤。

有目前有兩種類型的矩陣鍵盤可用。一種是傳統(tǒng)的按鍵式鍵盤,如上圖所示,另一種是膜式鍵盤,它不包含任何按鈕,但由于按鍵表面和底層電路之間的電接觸而起作用。

另請閱讀:如何構(gòu)建簡單的Arduino計算器?

鍵盤如何工作?

如前所述,4×4矩陣鍵盤由16個按鍵或按鈕組成,分為4行4列。帶有所有16個按鈕的4×4鍵盤的內(nèi)部電路如下圖所示。

我將在不考慮任何特定微控制器的情況下解釋4×4矩陣鍵盤的工作原理。這項工作可以應(yīng)用于任何微控制器,甚至是Arduino和Raspberry Pi

假設(shè)鍵盤的所有行都變?yōu)榈碗娖?,鍵盤的所有列都變?yōu)楦唠娖健N⒖刂破?。如果沒有按下任何按鈕或鍵,則這將是行和列的默認(rèn)狀態(tài)。

現(xiàn)在,當(dāng)按下某個鍵時,當(dāng)電流從HIGH Column Pin流向LOW Row Pin時,相應(yīng)的列將變?yōu)長OW。微控制器(或Arduino)可以通過在列上掃描LOW來輕松識別鍵的列。

技巧部分用于識別鍵的行。為此,微控制器應(yīng)使鍵盤的行一個接一個地高,并檢查列引腳是否變?yōu)楦唠娖?。此過程一直持續(xù)到先前檢測到的列變?yōu)楦唠娖健?/p>

這樣,微控制器可以確定按鍵的列和行,從而識別按下的按鍵。

Arduino鍵盤界面

現(xiàn)在,我將向您展示如何連接或連接配有Arduino UNO的4×4鍵盤。一個4×4矩陣鍵盤由8個引腳組成,我們需要使用8個Arduino引腳連接到鍵盤。下圖顯示了Arduino鍵盤接口的簡單電路。

在這個電路中,我已經(jīng)將鍵盤的行連接到Arduino的數(shù)字引腳0到3,即ROW1至數(shù)字引腳0,ROW2至數(shù)字引腳1,ROW3至數(shù)字引腳2以及ROW4至數(shù)字引腳3.

類似地,鍵盤的列連接到數(shù)字引腳Arduino的4到7。我們現(xiàn)在將看到一個使用Arduino鍵盤接口的小項目。

電路圖

所需組件

Arduino UNO

16×2 LCD顯示器

4×4矩陣鍵盤

10KΩ電位計

1KΩ電阻(1/4瓦)

面包板

連接電線

電源

電路設(shè)計

該項目的電路設(shè)計與上面顯示的Arduino鍵盤接口非常相似。附加組件是16×2 LCD顯示器。 LCD的數(shù)據(jù)引腳連接到數(shù)字引腳11到8. 16×2 LCD顯示器的E和RS引腳連接到Arduino的引腳12和13。

代碼

工作

這個簡單項目的目的是解釋如何將4×4矩陣鍵盤連接到Arduino,Arduino鍵盤接口如何工作以及如何確定鍵盤上按下的鍵并顯示在鍵盤上16×2 LCD顯示器。

為了確定鍵盤上按下的鍵,我們使用了一個名為“Keypad”的特殊庫。您應(yīng)首先從此鏈接下載此庫,并將其放在Arduino/libraries目錄(C: Program Files(x86) Arduino libraries或C: Program Files Arduino libraries)中。

注意:圖書館“鍵盤”由Mark Stanley和Alexander Brevig開發(fā)。

安裝庫后,您可以復(fù)制上面的代碼并將其上傳到Arduino。在代碼中,4×4矩陣鍵盤的鍵映射為0到9的數(shù)字,符號*和#以及字母A,B,C和D.

因此,無論何時按下某個鍵,Arduino都會使用“鍵盤”庫檢測該鍵,并在16×2 LCD顯示器上顯示該鍵。

應(yīng)用程序

Arduino鍵盤接口有廣泛的應(yīng)用。其中一些在下面提到。

基于Arduino的計算器

基于密碼的門鎖系統(tǒng)

家庭安全系統(tǒng)

家庭自動化系統(tǒng)

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 鍵盤
    +關(guān)注

    關(guān)注

    4

    文章

    859

    瀏覽量

    39772
  • Arduino
    +關(guān)注

    關(guān)注

    188

    文章

    6473

    瀏覽量

    187423
收藏 人收藏

    評論

    相關(guān)推薦

    AN-660:XY矩陣鍵盤與MicroConverter的接口

    電子發(fā)燒友網(wǎng)站提供《AN-660:XY矩陣鍵盤與MicroConverter的接口.pdf》資料免費下載
    發(fā)表于 01-13 16:02 ?0次下載
    AN-660:XY<b class='flag-5'>矩陣</b><b class='flag-5'>鍵盤</b>與MicroConverter的接口

    究竟是怎樣連接器才配得上防爆鍵盤?LP20-USB工業(yè)級連接器“出來走兩步”

    也是要使用能在嚴(yán)苛環(huán)境下安然使用的高可靠、高耐受性的工業(yè)級連接器產(chǎn)品。LP20-USB系列工業(yè)級連接器新品用于防爆鍵盤防爆鍵盤上用到的USB連接
    的頭像 發(fā)表于 12-04 01:03 ?144次閱讀
    究竟是<b class='flag-5'>怎樣</b>的<b class='flag-5'>連接</b>器才配得上防爆<b class='flag-5'>鍵盤</b>?LP20-USB工業(yè)級<b class='flag-5'>連接</b>器“出來走兩步”

    開源項目!基于 Arduino DIY 漂亮的宏機械鍵盤

    ,以便 Arduino 的 USB 端口能夠輕松連接至電腦。蓋子采用鍵盤底部插入的設(shè)計,通過兩顆螺絲穩(wěn)固固定,從而確保外殼與蓋子之間的連接
    發(fā)表于 08-19 17:02

    TCA8418E I2C控制鍵盤掃描IC,集成ESD保護(hù)數(shù)據(jù)

    電子發(fā)燒友網(wǎng)站提供《TCA8418E I2C控制鍵盤掃描IC,集成ESD保護(hù)數(shù)據(jù)表.pdf》資料免費下載
    發(fā)表于 06-27 09:58 ?0次下載
    TCA8418E I2C控制<b class='flag-5'>鍵盤</b>掃描IC,<b class='flag-5'>帶</b>集成ESD保護(hù)<b class='flag-5'>數(shù)據(jù)</b>表

    鍵盤矩陣規(guī)格設(shè)計圖

    鍵盤矩陣規(guī)格設(shè)計圖
    發(fā)表于 06-19 14:29 ?0次下載

    老陸測功耗 | 鍵盤敲出火星子啦

    高效辦公離不開稱手的鍵盤,如何“鍵”入佳境?比起有線鍵盤的那根線,無線鍵盤的多種連接模式讓辦公少了一“線”雜亂。比起電量突然耗盡的手足無措,隨時更換干電池顯得更加貼心。我們本期選擇了兩
    的頭像 發(fā)表于 06-04 08:04 ?929次閱讀
    老陸測功耗 | <b class='flag-5'>鍵盤</b>敲出火星子啦

    【Vision Board創(chuàng)客營連載體驗】利用 OpenMV 實現(xiàn) AprilTag 跟蹤以及通過串口通訊控制 Arduino 驅(qū)動 LED 燈

    不同編號的 AprilTag 時,燈發(fā)出不同顏色 實現(xiàn)二維 LED 矩陣形式的跟蹤效果 我也將 OpenMV 以及 Arduino 工程文件開源在 GitHub,歡迎對該項目感興
    發(fā)表于 05-31 00:01

    單片機接矩陣鍵盤GPIO應(yīng)該怎么設(shè)置?是用上拉輸出或輸入模式嗎?

    單片機接矩陣鍵盤GPIO應(yīng)該怎么設(shè)置?是用上拉輸出或輸入模式嗎?
    發(fā)表于 05-11 08:38

    stop mode下怎么實現(xiàn)按下矩陣鍵盤的任意鍵將系統(tǒng)喚醒呢?

    請問有沒有大佬知道stop mode下怎么實現(xiàn)按下矩陣鍵盤的任意鍵將系統(tǒng)喚醒呢?用WAKEUP 能實現(xiàn)嗎?
    發(fā)表于 05-06 07:08

    用STM32 的USB HOST接鍵盤,要怎樣才能讀取鍵盤的按鍵字符并顯示在屏幕上?

    用STM32 的USB HOST接鍵盤,用官方例程可以完成鍵盤的枚舉,接下來要怎樣才能讀取鍵盤的按鍵字符并顯示在屏幕上? 小弟剛接觸USB通訊,希望各位達(dá)人可以指點一下,謝謝?。。?!
    發(fā)表于 04-29 08:44

    采用NT33510顯示屏,如何通過矩陣鍵盤更改顯示屏上的數(shù)字內(nèi)容?

    我想實現(xiàn)一個這樣的功能:我的LCD當(dāng)前顯示的是:新年快樂!2018! 想通過矩陣鍵盤將2018更改成2019,這個過程首先通過矩陣鍵盤上的左鍵移動到數(shù)字“8”上,然后在通過
    發(fā)表于 04-24 08:10

    stm32cubeMX如何配置4*4矩陣鍵盤?

    stm32cubeMX如何配置4*4矩陣鍵盤,求大佬給代碼指導(dǎo)一下,看了太多代碼,自己迷亂了
    發(fā)表于 03-28 09:27

    stm32模擬IIC總線驅(qū)動pcf8574t擴展矩陣鍵盤,運行一段時間后出現(xiàn)獲取到的鍵值不對的原因?

    stm32模擬IIC總線驅(qū)動pcf8574t擴展矩陣鍵盤,驅(qū)動調(diào)試成功,正常測試時沒有問題,運行一段時間后出現(xiàn)獲取到的鍵值不對,從此之后獲取到的鍵值一直不對。一開始認(rèn)為是程序邏輯問題,
    發(fā)表于 03-12 07:25

    使用Arduino Nano制作一個4×4×4 LED立方體

    在這個項目中,我們將使用 Arduino Nano 制作一個很酷的 4×4×4 LED立方體。LED 立方體,也稱為 LED矩陣,可以照亮您
    的頭像 發(fā)表于 02-11 12:07 ?3276次閱讀
    使用<b class='flag-5'>Arduino</b> Nano制作一個<b class='flag-5'>4</b>×<b class='flag-5'>4</b>×<b class='flag-5'>4</b> LED立方體

    鍵盤熱插拔和非熱插拔的區(qū)別

    鍵盤熱插拔和非熱插拔的區(qū)別 鍵盤是計算機外設(shè)設(shè)備之一,熱插拔是指在計算機運行中插入或拔出設(shè)備而無需重啟計算機,非熱插拔則需要重啟計算機才能生效。鍵盤熱插拔和非熱插拔的區(qū)別體現(xiàn)在以下幾個方面:
    的頭像 發(fā)表于 02-02 17:34 ?1w次閱讀