विषयसूची:

LCD डिस्प्ले और Arduino Uno के साथ डैशबोर्ड कीबोर्ड: 9 कदम
LCD डिस्प्ले और Arduino Uno के साथ डैशबोर्ड कीबोर्ड: 9 कदम

वीडियो: LCD डिस्प्ले और Arduino Uno के साथ डैशबोर्ड कीबोर्ड: 9 कदम

वीडियो: LCD डिस्प्ले और Arduino Uno के साथ डैशबोर्ड कीबोर्ड: 9 कदम
वीडियो: Arduino Display You've Been Waiting For: Arduino Giga Display Shield 2024, जुलाई
Anonim
Image
Image
एलसीडी डिस्प्ले और Arduino Uno. के साथ डैशबोर्ड कीबोर्ड
एलसीडी डिस्प्ले और Arduino Uno. के साथ डैशबोर्ड कीबोर्ड
एलसीडी डिस्प्ले और Arduino Uno. के साथ डैशबोर्ड कीबोर्ड
एलसीडी डिस्प्ले और Arduino Uno. के साथ डैशबोर्ड कीबोर्ड

यह एक एलसीडी डिस्प्ले और एक Arduino Uno के साथ चलने वाला एक मैट्रिक्स कीबोर्ड है, जो आज मौजूद सबसे बुनियादी है। इस सेटअप का उद्देश्य एक प्रोग्राम बनाना है जो मैट्रिक्स कीबोर्ड पर टाइप किया गया पासवर्ड प्राप्त करता है, इसकी सही पासवर्ड से तुलना करता है, और डिस्प्ले पर एक पुष्टिकरण संदेश प्रदर्शित करता है।

यह याद रखना महत्वपूर्ण है कि मैट्रिक्स कीबोर्ड और यह डिस्प्ले दोनों ही ESP8266 और ESP32 के साथ काम करते हैं।

जैसा कि आप देख सकते हैं, हम USB के साथ Arduino के साथ सर्किट को पावर देते हैं, क्योंकि हम बाहरी स्रोत का उपयोग नहीं कर रहे हैं। Arduino के पोर्ट से बहुत ही सरल तरीके से जुड़े आठ तार हमारे कीबोर्ड का कनेक्शन बनाते हैं। इस कीबोर्ड में कोई शक्ति नहीं है और यह निष्क्रिय है, जो कनेक्शन को बहुत सुविधाजनक बनाता है।

डिस्प्ले यूएआरटी, सीरियल पोर्ट के माध्यम से एक Arduino के साथ जुड़ा हुआ है, जो डिवाइस को भी शक्ति देता है।

एक प्रदर्शन में, हम वीडियो में दिखाते हैं कि हमारा सर्किट जाँच कर रहा है कि कीबोर्ड पर टाइप किया गया पासवर्ड सही है या नहीं।

वीडियो में प्रयुक्त और यहां उपलब्ध पीडीएफ में, हमारे पास उपयोग की जा रही चिप का पूरा पिनआउट है।

चरण 1: सीरियल डिस्प्ले

सीरियल डिस्प्ले
सीरियल डिस्प्ले
सीरियल डिस्प्ले
सीरियल डिस्प्ले

यह सीरियल डिस्प्ले है जो UART के साथ संचार करता है, जो कि TXRX के साथ RS है। यह I2C संस्करणों में भी मौजूद है, लेकिन अन्य मॉडल आगामी असेंबली के लिए बने रहेंगे। ऐसे में यह डिस्प्ले UART by RS द्वारा काम करता है।

चरण 2: मैट्रिक्स कीबोर्ड

मैट्रिक्स कीबोर्ड
मैट्रिक्स कीबोर्ड

हम जिस मैट्रिक्स कीबोर्ड का उपयोग करते हैं उसका उदाहरण फोटो का है, और यह दाईं ओर है। हमारे पास एक आरेख है जो दिखाता है कि यह कैसे काम करता है। इसमें वास्तव में केवल 4x4 लाइनें हैं। इस प्रकार, यह न्यूनतम मात्रा में तारों का उपयोग करता है; प्रत्येक पंक्ति और स्तंभ के लिए एक तार, ताकि कुल आठ तार हों।

इसे शक्ति की आवश्यकता नहीं है क्योंकि यह निम्नानुसार काम करता है: जब 7 दबाया जाता है, तो कीबोर्ड 7 को उठाता है और लाइन और कॉलम से जुड़ जाता है, जो स्वचालित रूप से एल्गोरिदम को स्कैन करके पहचान को संभव बनाता है।

यह याद रखना महत्वपूर्ण है कि कोई भी 4x4 कीबोर्ड जो कि डॉट मैट्रिक्स है, इस असेंबली में काम करेगा।

चरण 3: विधानसभा

सभा
सभा

सामान्य योजना में, हम आठ तारों को सीधे Arduino के पोर्ट से जोड़ते हैं, क्योंकि कीबोर्ड में कोई शक्ति नहीं होती है। डिस्प्ले में हमारे पास 232 रुपये का सिग्नल है, और सकारात्मक और नकारात्मक शक्ति है। बैकलाइट अभी भी मौजूद है, जो पहले से ही जुड़ा हुआ है (बीकेएल द्वारा पहचाना गया)।

चरण 4: स्रोत कोड

इस प्रोजेक्ट के सोर्स कोड में आपको सीरियल और कीपैड को शामिल करना होगा। इसमें एक सेट RX_PIN और एक TX_PIN है, जो सीरियल सॉफ़्टवेयर के लिए आवश्यक है, और साथ ही INVERTED 1 भी है। इसे उल्टे तर्क के साथ इनपुट का उपयोग करने वाले सिग्नल को बढ़ाने के लिए नीचे रखा गया था।

//biblioteca उत्तर दिया गया काम कम्युनिकेशंस o डिस्प्ले LCD#शामिल करें डिस्प्ले LCD #define TX_PIN 3 // इनवर्ट ए लॉजिका डॉस पिनोस Rx e Tx, ट्रैटैंडो लो कोमो हाई और इसके विपरीत #define INVERTED 1

चरण 5: कमांड प्रदर्शित करें

प्रदर्शन आदेश
प्रदर्शन आदेश

महत्वपूर्ण: इस डिस्प्ले में, केवल एक स्ट्रिंग लगाना ही पर्याप्त नहीं है। आपको नियंत्रण वर्ण भेजने की आवश्यकता है। पीडीएफ में उस साइट का लिंक है जहां आपके पास इस डिस्प्ले का मैनुअल है। लेकिन अगर आपके पास किसी अन्य ब्रांड का सीरियल डिस्प्ले है, तो उनके नियंत्रण कोड को देखना अच्छा है जो इससे संबंधित हैं। इस मॉडल में, उदाहरण के लिए, जब हम एक निश्चित नियंत्रण (उदाहरण के लिए, इस प्रदर्शन के लिए जानकारी) भेजते हैं, तो हमें संचार को सक्षम करने के लिए एक उपसर्ग, संख्या 254 भेजने की आवश्यकता होती है।

इसलिए हमने चीजों को सुविधाजनक बनाने के लिए एक ARRAY की स्थापना की, जो कि वेरिएबल का एक संग्रह है जिसे एक संख्यात्मक सूचकांक के साथ एक्सेस किया जाता है। इसे प्रारंभिक कॉन्फ़िगरेशन के रूप में डिस्प्ले पर भेजा जाएगा।

// कोमांडो पैरा लिम्पर टोडा ए टेला डू डिस्प्लेकॉन्स्ट चार लिम्परटेला = { २५४, १}; //comandos de configuração inicial /* 254, 254 acende o backlight 254, 1 limpa a tela 254, 253, 1 configura o Constree em nível alto 254, 13 liga o कर्सर paraficar piscando */ const char configInicial = { 254, 254, 254, 1, 254, 253, 1, 254, 13};

चरण 6: कीबोर्ड ऑपरेशन

कीबोर्ड कैसे काम करता है? सबसे पहले, यह एक सरणी माउंट करता है। यह सरणी उस चरित्र की है जो वास्तव में वहां प्रदर्शित होगी। तो अगर मैं एक एक्स डालता हूं, जब मैं शीर्ष पर पहला बायां बटन दबाता हूं, तो यह प्रदर्शित होता है। यह कीबोर्ड की सामग्री है, जिसे वह कमांड करेगा।

अन्य चीजें जिनकी हमारे पास परिभाषा है, वे हैं पंक्ति संख्या 4 और स्तंभ संख्या 4, इस कीबोर्ड के ARRAY के मामले में। हमारे पास अभी भी लाइनों के पिन हैं, जो कि Arduino पिन हैं, और कॉलम के पिन हैं। हमारे पास अभी भी एक कस्टम कीपैड कीपैड बिल्डर है जिसमें प्रतीक, पिन, पंक्ति और कॉलम पैरामीटर हैं।

कॉन्स्ट बाइट लिनहास = 4; //número de linhas do tecladoconst byte COLUNAS = 4; // नेमेरो डे कोलुनास डो टेकलाडो 'बी', '4', '5', '6'}, {'सी', '7', '8', '9'}, {'डी', 'सी', '0', 'ई '}}; बाइट PINOS_LINHA[LINHAS] = {8, 9, 10, 11}; // पिनोस क्यू इंडिकम लिन्हास डो टेकलाडो बाइट PINOS_COLUNA [COLUNAS] = {4, 5, 6, 7}; // पिनोस क्यू संकेत के रूप में कोलुनास डू टेकलाडो // इंस्टैंसिया डे कीपैड, प्रतिक्रिया के लिए एक टेकला प्रेसेशनडा कीपैड कस्टम कीपैड = कीपैड (मेककेमैप (सिमबोलोस), पिनओएस_लिन्हा, पिनओएस_कोलुना, लिनहास, कोलुनास);

चरण 7: पासवर्ड सेटिंग

इस भाग में, हम पासवर्ड को परिभाषित करते हैं, और फिर हमें एक पासवर्ड दर्ज करने की आवश्यकता होती है, जो एक खाली स्ट्रिंग है। नीचे, हम softwareSerial का उदाहरण देते हैं।

//variáveis resposnsáveis por armazenar as senhasconst String SENHA_ESPERADA = "1234ABCD"; स्ट्रिंग SENHA_DIGITADA = ""; // सॉफ्टवेयर सीरियल के लिए उदाहरण के लिए कम्युनिकर कॉम ओ सीरियल सॉफ्टवेयर के माध्यम से प्रदर्शन सीरियल डिस्प्ले सीरियल = सॉफ्टवेयर सीरियल (RX_PIN, TX_PIN, INVERTED);

चरण 8: सेटअप

जहां तक सेटअप की बात है, यहां डिस्प्ले सीरियल.बेगिन (2, 400) है, जो गति के बारे में है। हमारे मामले में, यह एक बाइट भेजने के लिए पर्याप्त है। इसके बाद 700 मिलीसेकंड का वेटिंग होता है। हम 10 मिलीसेकंड की एक नई देरी के साथ प्रारंभिक कॉन्फ़िगरेशन से displaySerial.print (initialConfig) शामिल करते हैं, और हम प्रारंभ फ़ंक्शन पर जाते हैं। प्रारंभ फ़ंक्शन में, हम displaySerial.print ("पासवर्ड:") डालते हैं।

शून्य सेटअप () {Serial.begin (2400); //inializando a serial de comunicação com o display //important o baud rate ser de 2400 displaySerial.begin(2400); // टेम्पो डे एस्पेरा पेला इनिसियलिज़ाकाओ प्रदर्शन विलंब (700); // सेट ए कॉन्फिगरेशन इनिशियल डू डिस्प्ले डिस्प्लेसेरियल.प्रिंट (कॉन्फिग इनिशियल); देरी(10); इनिसियो (); } //função जवाब पोर इंप्रिमिर ना तेल ए मेन्सेजम पैरा डिजिटर ए सेन्हा // ई चमादा टोडा वेज़ क्यू ए सेन्हा फोई डिजिटाडा ई तुलना, टैम्बेम क्वांडो // एक टेकला लिम्पर डिस्प्ले फोई प्रेसेशनडा। शून्य inicio () { displaySerial.print ("सेन्हा:"); }

चरण 9: लूप

लूप में, हम एक customKey = customKeypad.getKey () बनाते हैं, और इस क्रम में, हम एक स्विच कमांड दर्ज करते हैं।

// कैप्चर ए टेकला प्रेसेशनाडा टेकलाडो चार कस्टमकी = customKeypad.getKey (); // कैसो अल्गुमा टेकला फॉइ प्रेसेशनडा अगर (कस्टमकी) {सीरियल.प्रिंट्लन (कस्टमकी); स्विच (कस्टमकी) { /…/ } }

लूप स्विच भाग 1

स्विच कमांड के अंदर: यह दबाए जाने पर प्रिंट करने योग्य कुंजियों की संभावनाओं की सूची दिखाता है, और पासवर्ड बढ़ाता है: कस्टमकी लेता है और दर्ज पासवर्ड को जोड़ता है। इसके बाद, displaySerial.print (customKey) मुख्य सामग्री दिखाता है।

स्विच (कस्टमकी) {//कैसो अल्गुमा दास टेकलास इंप्रिमिविस फोई प्रेसेशनडा केस 'ए': केस 'बी': केस 'सी': केस 'डी': केस '0': केस '1': केस '2': केस '3': केस '4': केस '5': केस '6': केस '7': केस '8': केस '9': // कॉन्केटेना ओ नोवो सिम्बोलो ए सेन्हा क्यू एस्टामोस डिजिटांडो SENHA_DIGITADA+=customKey; Serial.println (SENHA_DIGITADA); // imrpime na tela o símbolo pressionado displaySerial.print(customKey); टूटना;

लूप स्विच भाग 2

इस कोड में, यदि CLEAR कुंजी दबाया जाता है तो हम एक परिदृश्य दिखाते हैं। यदि आप C अक्षर टाइप करते हैं और आपके द्वारा टाइप किए जा रहे पासवर्ड को रखने वाले चर को साफ़ करते हैं, तो यह स्क्रीन को साफ़ करने और पुनरारंभ करने के लिए कमांड को कॉल करता है।

//कैसो ए टेकला स्पष्ट तेन्हा सिदो प्रेशनाडा केस 'सी': //लिम्पा ए वेरिअवेल क्यू गार्डा ए सेन्हा क्यू एस्टा सेंडो डिजिटाडा SENHA_DIGITADA = ""; // चमा ओ कोमांडो पैरा लिम्पर ए टेला डिस्प्लेसीरियल.प्रिंट (लिम्परटेला); // configura a mensagem para digitar a senha inicio (); टूटना;

लूप स्विच भाग 3

एक अन्य संभावना यह है कि यदि आप ई अक्षर टाइप करते हैं। इस मामले में, स्क्रीन को साफ और विश्लेषण किया जाएगा यदि दर्ज किया गया पासवर्ड सही या गलत है। इसके बाद, हम 2 सेकंड का एक नया विलंब देंगे, स्क्रीन को साफ़ करेंगे, पासवर्ड चर को रीसेट करेंगे, और शुरुआत में वापस आएंगे।

//caso a tecla ENTER seja pressionada, devemos comparar as senhas case 'e': //limpa a tela displaySerial.print(limparTela); // से एक सेन्हा डिजिटाडा फोई इगुअल ए एस्पेरडा अगर (SENHA_ESPERADA == SENHA_DIGITADA) { Serial.println ("सेन्हा कोरेटा!"); // इंप्राइम मेन्सेजम डे सेन्हा कोरेटा डिस्प्ले सीरियल.प्रिंट ("सेन्हा कोरेटा !!!");] // इंप्राइम मेन्सेजम डे सेन्हा इनकॉर्रेटा डिस्प्ले सीरियल.प्रिंट ("सेन्हा इंकोररेटा!"); } //अगार्डा 2 सेगुंडोस पैरा लिम्पर ए तेला नोवामेंटे ई एस्पेरार उमा नोवा सेन्हा सेर डिजिटडा डिले (2000); डिस्प्लेसीरियल.प्रिंट (लिम्परटेला);

सिफारिश की: