91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

帶LCD顯示屏和Arduino Uno的儀表板鍵盤的制作

454398 ? 來(lái)源:網(wǎng)絡(luò)整理 ? 作者:網(wǎng)絡(luò)整理 ? 2019-11-11 11:46 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

步驟1:串行顯示

這是與UART,它是帶有TXRX的RS。它也存在于I2C版本中,但其他型號(hào)將保留用于即將到來(lái)的組裝。在這種情況下,該顯示由UART通過(guò)RS工作。

步驟2:矩陣鍵盤

矩陣示例我們使用的鍵盤是照片的鍵盤,它在右側(cè)。我們有一個(gè)顯示其工作原理的圖表。它實(shí)際上只有4x4線。因此,它使用的導(dǎo)線數(shù)量最少。每行和每列一根導(dǎo)線,因此總共有八根導(dǎo)線。

它不需要電源,因?yàn)樗墓ぷ鞣绞饺缦拢喊聪?時(shí),鍵盤拿起7并連接

請(qǐng)記住,點(diǎn)矩陣的任何4x4鍵盤都可以在該程序集中使用。

步驟3:組裝

在一般方案中,由于鍵盤沒(méi)有電源,我們將八根電線直接連接到Arduino端口。在顯示屏上,我們有一個(gè)RS 232信號(hào)以及正負(fù)電源。背光仍然存在,并且已經(jīng)連接(由BKL標(biāo)識(shí))。

步驟4:源代碼

在該項(xiàng)目的源代碼中,則必須包括串行和鍵盤。它具有串行軟件必需的設(shè)置RX_PIN和TX_PIN,以及INVERTED1。它位于下面,用于放大使用反相邏輯輸入的信號(hào)。

//biblioteca responsável pela comunica??o com o display LCD

#include

//biblioteca responsável por capturar a tecla que foi pressionada no teclado

#include

// pino invalido apenas usado no contrutor do SoftwareSerial

#define RX_PIN 255

// pino TX da nossa liga??o Arduino x Display LCD

#define TX_PIN 3

// inverte a lógica dos pinos Rx e Tx, tratando LOW como HIGH e vice-versa

#define INVERTED 1

第5步:顯示命令

重要信息:在此顯示中,僅在其上放置一個(gè)字符串是不夠的。您需要發(fā)送控制字符。 PDF包含您具有該顯示手冊(cè)的站點(diǎn)的鏈接。但是,如果您有其他品牌的串行顯示器,則最好查看它們與此有關(guān)的控制代碼。例如,在此模型中,當(dāng)我們發(fā)送某個(gè)控件(例如有關(guān)此顯示的信息)時(shí),我們需要發(fā)送一個(gè)前綴254,以啟用通信。

因此我們?cè)O(shè)置了一個(gè)方便事物的數(shù)組,它是使用數(shù)字索引訪問(wèn)的變量的集合。

//comando para limpar toda a tela do display

const char limparTela[ ] = {

254,1};

//comandos de configura??o inicial

/*

254,254 --》 acende o backlight

254,1 --》 limpa a tela

254,253,1 --》 configura o contraste em nível alto

254,13 --》 liga o cursor paraficar piscando

*/

const char configInicial[ ] = {

254,254, 254,1, 254,253,1, 254,13};

步驟6:鍵盤操作

鍵盤如何工作?首先,它安裝一個(gè)數(shù)組。該數(shù)組具有將實(shí)際顯示在其中的字符。因此,如果我放了一個(gè)X,當(dāng)我按下頂部的第一個(gè)左按鈕時(shí),它就會(huì)顯示出來(lái)。這就是鍵盤的內(nèi)容,它就是命令的內(nèi)容。

在此鍵盤的陣列中,我們要定義的其他內(nèi)容是行號(hào)4和列號(hào)4。我們?nèi)匀挥芯€路的引腳,即Arduino引腳和列的引腳。我們?nèi)匀挥幸粋€(gè)帶有符號(hào),引腳,行和列參數(shù)的customKeypad鍵盤構(gòu)建器。

const byte LINHAS = 4; //número de linhas do teclado

const byte COLUNAS = 4; //número de colunas do teclado

//define uma matriz com os símbolos que deseja ser lido do teclado

char SIMBOLOS[LINHAS][COLUNAS] = {

{‘A’,‘1’,‘2’,‘3’},

{‘B’,‘4’,‘5’,‘6’},

{‘C’,‘7’,‘8’,‘9’},

{‘D’,‘c’,‘0’,‘e’}

};

byte PINOS_LINHA[LINHAS] = {8, 9, 10, 11}; //pinos que indicam as linhas do teclado

byte PINOS_COLUNA[COLUNAS] = {4, 5, 6, 7}; //pinos que indicam as colunas do teclado

//instancia de Keypad, responsável por capturar a tecla pressionada

Keypad customKeypad = Keypad( makeKeymap(SIMBOLOS), PINOS_LINHA, PINOS_COLUNA, LINHAS, COLUNAS);

步驟7:密碼設(shè)置

在這一部分中,我們定義密碼,然后我們需要輸入一個(gè)密碼,它是一個(gè)空字符串。

//variáveis resposnsáveis por armazenar as senhas

const String SENHA_ESPERADA = “1234ABCD”;

String SENHA_DIGITADA = “”;

//instancia de SoftwareSerial para nos comunicar com o Display via serial

SoftwareSerial displaySerial = SoftwareSerial(RX_PIN, TX_PIN, INVERTED);

步驟8:設(shè)置

至于設(shè)置,這里是displaySerial。開始(2,400),這與速度有關(guān)。在我們的情況下,這足以發(fā)送一個(gè)字節(jié)。之后,需要等待700毫秒。我們將初始配置中的displaySerial.print(initialConfig)包含進(jìn)來(lái),新延遲為10毫秒,然后轉(zhuǎn)到啟動(dòng)函數(shù)。在啟動(dòng)函數(shù)中,我們將displaySerial.print(“ password:”)放入。

void setup(){

Serial.begin(2400);

//inicializando a serial de comunica??o com o display

//importante o baud rate ser de 2400

displaySerial.begin(2400);

//tempo de espera pela inicializa??o do display

delay(700);

//seta a configura??o inicial do display

displaySerial.print(configInicial);

delay(10);

inicio();

}

//fun??o responsável por imprimir na tela a mensagem para digitar a senha

//é chamada toda vez q a senha foi digitada e comparada, também quando

//a tecla limpar display foi pressionada.

void inicio(){

displaySerial.print(“Senha:”);

}

步驟9:循環(huán)

,我們創(chuàng)建一個(gè)customKey = customKeypad.getKey(),然后按順序輸入一個(gè)Switch命令。

//captura a tecla pressionada do teclado

char customKey = customKeypad.getKey();

//caso alguma tecla foi pressionada

if (customKey){

Serial.println(customKey);

switch(customKey)

{

/。../

}

}

循環(huán)開關(guān)第1部分

在Switch命令內(nèi)部:如果按下該鍵,它將顯示可打印鍵的可能性列表,并增加密碼:使用customKey并連接輸入的密碼。接下來(lái),displaySerial.print(customKey)顯示鍵的內(nèi)容。

switch(customKey)

{

//caso alguma das teclas imprimíveis foi pressionada

case ‘A’:

case ‘B’:

case ‘C’:

case ‘D’:

case ‘0’:

case ‘1’:

case ‘2’:

case ‘3’:

case ‘4’:

case ‘5’:

case ‘6’:

case ‘7’:

case ‘8’:

case ‘9’:

//concatena o novo símbolo a senha que estamos digitando

SENHA_DIGITADA+=customKey;

Serial.println(SENHA_DIGITADA);

//imrpime na tela o símbolo pressionado

displaySerial.print(customKey);

break;

循環(huán)開關(guān)第2部分

在此代碼中,我們顯示了一個(gè)場(chǎng)景,用于了解CLEAR鍵是否被按下。如果您鍵入字母C并清除包含您所輸入密碼的變量,則它將調(diào)用命令以清除屏幕并重新啟動(dòng)。

//caso a tecla CLEAR tenha sido pressionada

case ‘c’:

//limpa a variável que guarda a senha que está sendo digitada

SENHA_DIGITADA = “”;

//chama o comando para limpar a tela

displaySerial.print(limparTela);

//configura a mensagem para digitar a senha

inicio();

break;

回路開關(guān)第3部分

另一種可能性是如果鍵入字母E。在這種情況下,如果輸入的密碼正確或不正確,屏幕將被清理并分析。接下來(lái),我們將給出2秒的新延遲,清除屏幕,重置密碼變量,然后返回到開頭。

//caso a tecla ENTER seja pressionada, devemos comparar as senhas

case ‘e’:

//limpa a tela

displaySerial.print(limparTela);

//se a senha digitada foi igual a ESPERADA

if(SENHA_ESPERADA==SENHA_DIGITADA)

{

Serial.println(“Senha Correta!”);

//imprime mensagem de senha correta

displaySerial.print(“Senha Correta?。。 保?

}

//caso senha esteja errada

else{

Serial.println(“Senha Incorreta!”);

//imprime mensagem de senha incorreta

displaySerial.print(“Senha Incorreta!”);

}

//aguarda 2 segundos para limpar a tela novamente e esperar uma nova senha ser digitada

delay(2000);

displaySerial.print(limparTela);
責(zé)任編輯:wv

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

    關(guān)注

    36

    文章

    4621

    瀏覽量

    177434
  • 鍵盤
    +關(guān)注

    關(guān)注

    4

    文章

    873

    瀏覽量

    41931
  • Arduino
    +關(guān)注

    關(guān)注

    190

    文章

    6526

    瀏覽量

    197068
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    淺談液晶顯示屏的產(chǎn)品結(jié)構(gòu)與連接方式

    在電子設(shè)備無(wú)處不在的今天,液晶顯示屏LCD)作為人機(jī)交互的核心窗口,其技術(shù)實(shí)力直接決定了設(shè)備的使用體驗(yàn)。從智能穿戴到工業(yè)控制,從車載顯示到消費(fèi)電子,不同場(chǎng)景下的 LCD 產(chǎn)品背后,都
    的頭像 發(fā)表于 01-15 09:18 ?2873次閱讀
    淺談液晶<b class='flag-5'>顯示屏</b>的產(chǎn)品結(jié)構(gòu)與連接方式

    LCD液晶顯示屏在強(qiáng)光模擬下的性能測(cè)試

    隨著智能終端、車載顯示、移動(dòng)設(shè)備等領(lǐng)域的快速發(fā)展,LCD液晶顯示屏的使用場(chǎng)景日益復(fù)雜,強(qiáng)光環(huán)境下的顯示性能成為衡量產(chǎn)品品質(zhì)的核心指標(biāo)之一。太陽(yáng)光作為自然界最強(qiáng)的光源,其光照強(qiáng)度、光譜分
    的頭像 發(fā)表于 12-17 18:03 ?389次閱讀
    <b class='flag-5'>LCD</b>液晶<b class='flag-5'>顯示屏</b>在強(qiáng)光模擬下的性能測(cè)試

    原廠 FZH107 鍵盤掃描接口的 LED(發(fā)光二極管顯示器)驅(qū)動(dòng)控制專用電路

    電阻 振蕩方式:內(nèi)置 RC 振蕩(500kHz) 內(nèi)置上電復(fù)位電路 封裝形式:DIP16/SOP16管腳排列應(yīng)用場(chǎng)景影音設(shè)備:DVD/VCR狀態(tài)顯示屏家電面板:微波爐定時(shí)器、空調(diào)溫度顯示工業(yè)控制:簡(jiǎn)易儀表盤指示
    發(fā)表于 11-18 09:36

    基于RK3568開發(fā)顯示屏調(diào)試適配方法(1)-如何在Uboot界面切換顯示屏

    顯示屏作為電子產(chǎn)品不可或缺的一部分,此文檔的目的在于幫助用戶調(diào)試適配其它顯示屏。本文檔將以調(diào)試適配7寸MIPI為例。本文檔章節(jié)安排:第一章:幫助用戶如何在Uboot界面切換顯示屏(L
    的頭像 發(fā)表于 11-07 16:19 ?554次閱讀
    基于RK3568開發(fā)<b class='flag-5'>板</b><b class='flag-5'>顯示屏</b>調(diào)試適配方法(1)-如何在Uboot界面切換<b class='flag-5'>顯示屏</b>

    原廠 FZH1697 鍵盤掃描接口的LCD驅(qū)動(dòng)控制專用電路

    )FZH1697是一種鍵盤掃描接口的LCD驅(qū)動(dòng)控制專用電路,內(nèi)部集成有MCU 數(shù)字接口、數(shù)據(jù)鎖存器、LCD驅(qū)動(dòng)、鍵盤掃描、幻彩背光驅(qū)動(dòng)等電
    發(fā)表于 11-07 09:43

    原廠 FZH1692P/Q 4*40 LCD 顯示驅(qū)動(dòng)控制專用電路,最多顯示 160段

    LCD 顯示屏的產(chǎn)品,例如: 更復(fù)雜的家電控制面板 (冰箱、高級(jí)空調(diào)、烤箱等) 工業(yè)儀表顯示 (更多參數(shù)顯示) 醫(yī)療設(shè)備顯示 消費(fèi)電子產(chǎn)品
    發(fā)表于 11-05 09:40

    碩博電子7寸觸摸顯示屏,支持CAN通信和Codesy編程#工業(yè)顯示屏 #汽車CAN總線? #觸摸顯示屏

    顯示屏
    長(zhǎng)沙碩博電子科技股份有限公司
    發(fā)布于 :2025年09月18日 15:29:59

    EMC整改顯示屏:怎么選擇?功率多少?

    南柯電子|EMC整改顯示屏:怎么選擇?功率多少?
    的頭像 發(fā)表于 08-28 09:30 ?900次閱讀

    如何使用 SEGGER emWin AppWizard 工具為儀表板界面設(shè)計(jì)圖形用戶界面?

    如何使用 SEGGER emWin AppWizard 工具為儀表板界面設(shè)計(jì)圖形用戶界面 (GUI)。它集成了控制 MA35H0 系列評(píng)估上的 LED 和按鈕的功能。
    發(fā)表于 08-19 07:23

    如何用Arduino Nano/UNO R3開發(fā)給另一個(gè)Arduino IDE不能下載的Arduino Nano/UNO R3開發(fā)重新燒錄引導(dǎo)程序bootlaoder

    本文介紹了如何用能夠Arduino IDE下載的Arduino Nano/UNO R3開發(fā)給另一個(gè)Arduino IDE不能下載的
    的頭像 發(fā)表于 08-08 20:16 ?3666次閱讀
    如何用<b class='flag-5'>Arduino</b> Nano/<b class='flag-5'>UNO</b> R3開發(fā)<b class='flag-5'>板</b>給另一個(gè)<b class='flag-5'>Arduino</b> IDE不能下載的<b class='flag-5'>Arduino</b> Nano/<b class='flag-5'>UNO</b> R3開發(fā)<b class='flag-5'>板</b>重新燒錄引導(dǎo)程序bootlaoder

    液晶顯示屏出廠要做哪些安全檢測(cè)

    液晶顯示屏LCD)在出廠時(shí)需要進(jìn)行一系列安全檢測(cè),以確保其在使用過(guò)程中不會(huì)對(duì)用戶造成任何潛在的安全隱患。這些檢測(cè)主要包括電氣安全、機(jī)械安全、環(huán)境適應(yīng)性等方面,以下是液晶顯示屏出廠需要做的主要安全
    的頭像 發(fā)表于 06-30 14:59 ?1410次閱讀
    液晶<b class='flag-5'>顯示屏</b>出廠要做哪些安全檢測(cè)

    #LCD顯示屏 #HDMI #智能顯示 #驅(qū)動(dòng)方案

    lcd
    jf_65742179
    發(fā)布于 :2025年06月18日 10:07:54

    FZH1691 4×36 LCD顯示屏高集成度驅(qū)動(dòng)控制芯片中文手冊(cè)

    深圳市方中禾科技有限公司(Premier Chip Limited)推出的 FZH1691 是一款專為 4×36 LCD 顯示屏 設(shè)計(jì)的高集成度驅(qū)動(dòng)控制芯片,最多可驅(qū)動(dòng) 144 段顯示,適用于低功耗
    發(fā)表于 05-23 10:19 ?0次下載

    戶外顯示屏驅(qū)動(dòng)的具體防護(hù)措施

    驅(qū)動(dòng)在戶外顯示屏中的防水設(shè)計(jì)是確保顯示屏長(zhǎng)期穩(wěn)定運(yùn)行的關(guān)鍵之一。
    的頭像 發(fā)表于 04-22 15:58 ?1101次閱讀

    LED燈桿與常規(guī)LED顯示屏的區(qū)別

    LED燈桿與常規(guī)LED顯示屏的區(qū)別
    的頭像 發(fā)表于 03-21 08:45 ?1189次閱讀
    LED燈桿<b class='flag-5'>屏</b>與常規(guī)LED<b class='flag-5'>顯示屏</b>的區(qū)別