فهرست مطالب:
- مرحله 1: نمایش سریال
- مرحله 2: صفحه کلید ماتریس
- مرحله 3: مونتاژ
- مرحله 4: کد منبع
- مرحله 5: نمایش دستورات
- مرحله 6: عملکرد صفحه کلید
- مرحله 7: تنظیم رمز عبور
- مرحله 8: راه اندازی
- مرحله 9: حلقه کنید
تصویری: صفحه کلید داشبورد با صفحه نمایش LCD و Arduino Uno: 9 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:57
این صفحه کلید ماتریسی است که به همراه صفحه نمایش LCD و Arduino Uno کار می کند ، اصلی ترین چیزی که امروزه وجود دارد. هدف از این راه اندازی ایجاد برنامه ای است که رمز عبور تایپ شده روی صفحه کلید ماتریس را دریافت کرده ، آن را با رمز عبور صحیح مقایسه کرده و یک پیام تأیید بر روی صفحه نمایش دهد.
لازم به یادآوری است که هم صفحه کلید ماتریسی و هم این صفحه نمایش با ESP8266 و ESP32 کار می کنند.
همانطور که می بینید ، ما مدار را با آردوینو با USB تغذیه می کنیم ، زیرا از منبع خارجی استفاده نمی کنیم. هشت سیم که به روشی بسیار ساده به پورت های آردوینو متصل شده اند ، صفحه کلید ما را متصل می کند. این صفحه کلید قدرت ندارد و منفعل است ، که ارتباطات را بسیار تسهیل می کند.
صفحه نمایش با یک آردوینو از طریق UART ، پورت سریال ، که دستگاه را نیز تغذیه می کند ، متصل می شود.
در یک تظاهرات ، ما در ویدئو مدار خود را نشان می دهیم که در حال بررسی این است که آیا گذرواژه تایپ شده روی صفحه کلید صحیح است یا خیر.
در PDF استفاده شده در ویدئو و موجود در اینجا ، ما دارای پینت کامل تراشه مورد استفاده هستیم.
مرحله 1: نمایش سریال
این نمایشگر سریالی است که با UART که RS با TXRX است ارتباط برقرار می کند. همچنین در نسخه های I2C وجود دارد ، اما مدلهای دیگر برای مونتاژ آینده باقی می مانند. در این حالت ، این صفحه نمایش توسط UART by RS کار می کند.
مرحله 2: صفحه کلید ماتریس
مثال صفحه کلید ماتریسی که ما استفاده می کنیم همان عکس است و در سمت راست قرار دارد. ما یک نمودار داریم که نحوه کار آن را نشان می دهد. در واقع فقط 4 خط 4 خط دارد. بنابراین ، از حداقل مقدار سیم استفاده می کند. یک سیم برای هر سطر و ستون ، به طوری که در مجموع هشت سیم وجود دارد.
نیازی به برق ندارد زیرا به صورت زیر عمل می کند: وقتی 7 را فشار می دهید ، صفحه کلید 7 را برداشته و به خط و ستون متصل می شود ، که با اسکن خودکار الگوریتم امکان شناسایی را فراهم می کند.
مهم است که به خاطر داشته باشید که هر صفحه کلید 4x4 که ماتریس نقطه ای دارد در این مجموعه کار می کند.
مرحله 3: مونتاژ
در طرح کلی ، ما هشت سیم را مستقیماً به پورت های آردوینو وصل می کنیم ، زیرا صفحه کلید قدرت ندارد. در صفحه نمایش ، ما یک سیگنال RS 232 و قدرت مثبت و منفی داریم. نور پس زمینه هنوز وجود دارد ، که همچنین قبلاً متصل شده است (توسط BKL مشخص شده است).
مرحله 4: کد منبع
در سورس کد این پروژه باید سریال و صفحه کلید را وارد کنید. این مجموعه دارای یک RX_PIN و یک TX_PIN است که برای نرم افزار سریال لازم است ، و همچنین INVERTED 1. این در زیر قرار گرفته است تا سیگنالی را که از ورودی با منطق معکوس استفاده می کند تقویت کند.
// biblioteca responsável pela comunicação com o display LCD #include // biblioteca responsável برای ضبط یک تجربه که در آن فشار بیاورید بدون تجربه #شامل [// pino invalido apenas usado no contrutor do SoftwareSerial #define RX_PIN 255 // pino TX da nossa ligação Arduino نمایش LCD #تعریف TX_PIN 3 // inverte a lógica dos pinos Rx e Tx، tratando LOW como HIGH e برعکس #تعریف INVERTED 1
مرحله 5: نمایش دستورات
مهم: در این صفحه نمایش فقط قرار دادن یک رشته روی آن کافی نیست. شما باید کاراکترهای کنترل را ارسال کنید. PDF شامل پیوند سایتی است که در آن دفترچه راهنمای این صفحه نمایش را دارید. اما اگر شما یک سریال با نام تجاری دیگر دارید ، خوب است به کدهای کنترل آنها که مربوط به این موضوع است نگاه کنید. در این مدل ، به عنوان مثال ، هنگامی که ما کنترل خاصی را ارسال می کنیم (به عنوان مثال اطلاعات مربوط به این صفحه نمایش) ، برای فعال کردن ارتباط باید یک پیش شماره ، شماره 254 را ارسال کنیم.
بنابراین ما یک ARRAY برای تسهیل کارها راه اندازی کردیم که مجموعه ای از متغیرها است که با یک شاخص عددی به آنها دسترسی پیدا می کند. این به عنوان پیکربندی اولیه به صفحه نمایش ارسال می شود.
// comando para limpar toda a tela do displayconst 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: عملکرد صفحه کلید
عملکرد صفحه کلید چگونه است؟ ابتدا یک آرایه را نصب می کند. این آرایه از شخصیتی است که در واقع در آنجا نمایش داده می شود. بنابراین اگر X را بگذارم ، وقتی اولین دکمه سمت چپ را در بالا فشار می دهم ، نمایش داده می شود. این محتوای صفحه کلید است ، همان چیزی است که دستور می دهد.
سایر مواردی که ما برای آنها تعریف کرده ایم ردیف شماره 4 و ستون شماره 4 در مورد ARRAY این صفحه کلید است. ما هنوز پین خطوط را داریم که پین های آردوینو هستند و پایه های ستون. ما هنوز یک سازنده صفحه کلید سفارشی با پارامترهای نماد ، پین ، سطر و ستون داریم.
const byte LINHAS = 4؛ // número de linhas do tecladoconst 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 '}}؛ بایت 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 ، پاسخگویی به منظور استفاده از یک صفحه کلید customKeypad = Keypad (makeKeymap (SIMBOLOS) ، PINOS_LINHA ، PINOS_COLUNA ، LINHAS ، COLUNAS) ؛
مرحله 7: تنظیم رمز عبور
در این قسمت ، رمز عبور را تعریف می کنیم و سپس باید یک رمز عبور وارد کنیم که یک رشته خالی است. در زیر ، نمونه ای از softwareSerial را قرار می دهیم.
// variáveis resposnsáveis por armazenar as senhasconst String SENHA_ESPERADA = "1234ABCD"؛ رشته SENHA_DIGITADA = ""؛ // instancia de SoftwareSerial para nos comunicar com o نمایش از طریق سریال SoftwareSerial displaySerial = SoftwareSerial (RX_PIN ، TX_PIN ، INVERTED) ؛
مرحله 8: راه اندازی
در مورد Setup ، اینجا displaySerial.begin (2 ، 400) است که در مورد سرعت است. در مورد ما ، این برای ارسال یک بایت کافی است. به دنبال آن ، انتظار 700 میلی ثانیه وجود دارد. ما displaySerial.print (initialConfig) را از پیکربندی اولیه با تأخیر جدید 10 میلی ثانیه شامل می کنیم و به تابع شروع می رویم. در تابع شروع ، displaySerial.print ("رمز عبور:") را قرار می دهیم.
void setup () {Serial.begin (2400)؛ // inicializando a serial de comunicação com o display // importante baud rate ser 2400 displaySerial.begin (2400)؛ // tempo de espera pela inicialização do delay display (700)؛ // seta a configuração inicial do display displaySerial.print (configInicial)؛ تأخیر (10) ؛ inicio ()؛ } // função responsável for imprimir na tela a menagem para digitar a senha // é chamada toda vez q a senha foi digitada و comparada، também quando // a tecla limpar display foi pressionada. void inicio () {displaySerial.print ("Senha:")؛ }
مرحله 9: حلقه کنید
در حلقه ، یک customKey = customKeypad.getKey () ایجاد می کنیم و در دنباله ، یک فرمان Switch وارد می کنیم.
// captura a tecla pressionada do teclado char customKey = customKeypad.getKey ()؛ // caso alguma tecla foi pressionada if (customKey) {Serial.println (customKey) ؛ تغییر (customKey) { /… /}}
سوئیچ حلقه قسمت 1
در داخل فرمان Switch: لیست امکانات کلیدهای قابل چاپ را در صورت فشردن نشان می دهد و رمز عبور را افزایش می دهد: customKey را می گیرد و رمز ورود وارد شده را به هم متصل می کند. بعد ، displaySerial.print (customKey) محتویات کلیدی را نشان می دهد.
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": مورد "4": مورد "5": مورد "6": مورد "7": مورد "8": مورد "9": // concatena o novo símbolo a senha que estamos digitando SENHA_DIGITADA+= customKey؛ Serial.println (SENHA_DIGITADA) ؛ // imrpime na tela or símbolo pressionado displaySerial.print (customKey) ؛ زنگ تفريح؛
سوئیچ حلقه قسمت 2
در این کد ، سناریویی برای فشار دادن کلید CLEAR نشان می دهیم. اگر حرف C را تایپ کرده و متغیری را که گذرواژه ای را که در حال تایپ آن هستید ذخیره می کنید ، پاک کنید ، سپس دستور پاک کردن صفحه را فرا می خواند و راه اندازی مجدد می شود.
// 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)؛ // پیکربندی mensagem para digitar a senha inicio ()؛ زنگ تفريح؛
سوئیچ حلقه قسمت 3
احتمال دیگر این است که اگر حرف E. را تایپ کنید در این صورت ، اگر رمز عبور وارد شده صحیح یا نادرست باشد ، صفحه تمیز و تجزیه و تحلیل می شود. بعد ، 2 ثانیه تأخیر جدید می دهیم ، صفحه را پاک می کنیم ، متغیر رمز عبور را بازنشانی می کنیم و به ابتدا باز می گردیم.
// caso a tecla ENTER seja pressionada، devemos comparer senhas case 'e': // limpa a tela displaySerial.print (limparTela)؛ // se 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 correta displaySerial.print ("Senha Incorreta!") ؛ } // aguarda 2 segundos para limpar a tela novamente e esperar uma nova senha ser digitada delay (2000)؛ displaySerial.print (limparTela)؛
توصیه شده:
استفاده از 1602 صفحه کلید صفحه کلید LCD W/ Arduino [+پروژه های کاربردی]: 7 مرحله
استفاده از 1602 LCD Keypad Shield W/ Arduino [+پروژه های کاربردی]: می توانید این و سایر آموزش های شگفت انگیز را در وب سایت رسمی ElectroPeak بخوانید. مرور کلی در این آموزش ، نحوه استفاده از سپر صفحه کلید Arduino LCD با 3 پروژه کاربردی را خواهید آموخت. آنچه خواهید آموخت: نحوه تنظیم سپر و شناسایی کلیدها
رابط صفحه کلید با 8051 و نمایش شماره های صفحه کلید در 7 بخش: 4 مرحله (همراه با تصاویر)
رابط صفحه کلید با 8051 و نمایش شماره های صفحه کلید در 7 بخش: در این آموزش من به شما می گویم که چگونه می توان صفحه کلید را با 8051 و نمایش شماره های صفحه کلید در نمایش 7 بخش نمایش داد
صفحه کلید سریع و کثیف Das (صفحه کلید خالی): 3 مرحله
صفحه کلید سریع و کثیف Das (صفحه کلید خالی): صفحه کلید Das نام محبوب ترین صفحه کلید بدون کتیبه روی کلیدها (صفحه کلید خالی) است. صفحه کلید Das با قیمت 89.95 دلار به فروش می رسد. این دستورالعمل می تواند شما را راهنمایی کند هر چند خودتان با هر صفحه کلید قدیمی که در اطراف آن قرار گرفته اید یک دستگاه تهیه کنید
ایجاد یک صفحه نمایش سفارشی در استودیوی LCD (برای صفحه کلید G15 و صفحه LCD): 7 مرحله
ایجاد یک صفحه نمایش سفارشی در استودیوی LCD (برای صفحه کلید G15 و صفحه نمایش LCD): خوب اگر صفحه کلید G15 خود را به دست آورده اید و از صفحه نمایش های اولیه ای که تحت آن قرار گرفته اید بسیار تحت تأثیر قرار نگرفته اید ، اصول اولیه استفاده از LCD Studio را برای شما شرح می دهم. خودتان بسازید. این مثال ایجاد یک صفحه نمایش است که فقط پایه را نشان می دهد
تمیز کردن صفحه کلید آلومینیومی اپل یا هر صفحه کلید نرم دیگر: 5 مرحله
تمیز کردن صفحه کلید آلومینیومی Apple …. این دستورالعمل به شما کمک می کند تا آن را تمیز کنید. مراقب باشید ، زیرا اگر صفحه کلید شما هنگام انجام این کار خراب شود ، من مسئولیتی ندارم …. SUCKS F