সুচিপত্র:
- ধাপ 1: সিরিয়াল প্রদর্শন
- ধাপ 2: ম্যাট্রিক্স কীবোর্ড
- ধাপ 3: সমাবেশ
- ধাপ 4: সোর্স কোড
- ধাপ 5: প্রদর্শন কমান্ড
- ধাপ 6: কীবোর্ড অপারেশন
- ধাপ 7: পাসওয়ার্ড সেটিং
- ধাপ 8: সেটআপ
- ধাপ 9: লুপ
ভিডিও: এলসিডি ডিসপ্লে এবং আরডুইনো ইউনো সহ ড্যাশবোর্ড কীবোর্ড: 9 টি ধাপ
2024 লেখক: John Day | [email protected]. সর্বশেষ পরিবর্তিত: 2024-01-30 08:02
এটি একটি ম্যাট্রিক্স কীবোর্ড যা একটি এলসিডি ডিসপ্লে এবং একটি আরডুইনো ইউনো সহ চলমান, সবচেয়ে মৌলিক যা আজ বিদ্যমান। এই সেটআপের উদ্দেশ্য হল একটি প্রোগ্রাম তৈরি করা যা ম্যাট্রিক্স কীবোর্ডে টাইপ করা একটি পাসওয়ার্ড গ্রহণ করে, এটি সঠিক পাসওয়ার্ডের সাথে তুলনা করে এবং ডিসপ্লেতে একটি নিশ্চিতকরণ বার্তা প্রদর্শন করে।
এটা মনে রাখা গুরুত্বপূর্ণ যে ম্যাট্রিক্স কীবোর্ড এবং এই ডিসপ্লে উভয়ই ESP8266 এবং ESP32 এর সাথে কাজ করে।
আপনি যেমন দেখতে পাচ্ছেন, আমরা একটি ইউএসবি দিয়ে আরডুইনো দিয়ে সার্কিটকে শক্তি দিই, যেহেতু আমরা কোনও বাহ্যিক উত্স ব্যবহার করছি না। আরডুইনো বন্দরে খুব সহজ উপায়ে সংযুক্ত আটটি তার আমাদের কীবোর্ডের সংযোগ তৈরি করে। এই কীবোর্ডের কোন ক্ষমতা নেই এবং এটি প্যাসিভ, যা সংযোগগুলিকে ব্যাপকভাবে সহজ করে।
ডিসপ্লেটি UART এর মাধ্যমে একটি Arduino এর সাথে সংযুক্ত, সিরিয়াল পোর্ট, যা ডিভাইসটিকে ক্ষমতাও দেয়।
একটি বিক্ষোভে, আমরা ভিডিওতে দেখাই আমাদের সার্কিট চেক করা হচ্ছে কিবোর্ডে টাইপ করা পাসওয়ার্ড সঠিক কিনা।
ভিডিওতে ব্যবহৃত পিডিএফ এবং এখানে উপলব্ধ, আমাদের কাছে চিপের সম্পূর্ণ পিনআউট রয়েছে।
ধাপ 1: সিরিয়াল প্রদর্শন
এটি সিরিয়াল ডিসপ্লে যা UART এর সাথে যোগাযোগ করে, যা একটি TXRX এর সাথে RS। এটি I2C সংস্করণগুলিতেও বিদ্যমান, তবে অন্যান্য মডেলগুলি আসন্ন সমাবেশের জন্য থাকবে। এই ক্ষেত্রে, এই প্রদর্শনটি UART দ্বারা RS দ্বারা কাজ করে।
ধাপ 2: ম্যাট্রিক্স কীবোর্ড
ম্যাট্রিক্স কীবোর্ডের উদাহরণ যা আমরা ব্যবহার করি তা হল ছবির, এবং এটি ডান দিকে। আমাদের একটি ডায়াগ্রাম আছে যা দেখায় কিভাবে এটি কাজ করে। এটি আসলে 4x4 লাইন আছে। সুতরাং, এটি তারের সর্বনিম্ন পরিমাণ ব্যবহার করে; প্রতিটি সারি এবং কলামের জন্য একটি তার, যাতে মোট আটটি তার থাকে।
এর শক্তির প্রয়োজন নেই কারণ এটি নিম্নরূপ কাজ করে: যখন 7 টি চাপানো হয়, কীবোর্ড 7 টি তুলে নেয় এবং লাইন এবং কলামের সাথে সংযোগ স্থাপন করে, যা স্বয়ংক্রিয়ভাবে অ্যালগরিদম স্ক্যান করে সনাক্তকরণ সম্ভব করে।
এটা মনে রাখা গুরুত্বপূর্ণ যে ডট ম্যাট্রিক্সের যেকোন 4x4 কীবোর্ড এই সমাবেশে কাজ করবে।
ধাপ 3: সমাবেশ
সাধারণ স্কিমে, আমরা আটটি তারের সরাসরি Arduino এর পোর্টের সাথে সংযুক্ত করি, যেহেতু কীবোর্ডের কোন ক্ষমতা নেই। ডিসপ্লেতে, আমাদের RS 232 এর একটি সংকেত, এবং ইতিবাচক এবং নেতিবাচক শক্তি রয়েছে। ব্যাকলাইট এখনও বিদ্যমান, যা ইতিমধ্যেই সংযুক্ত (BKL দ্বারা চিহ্নিত)।
ধাপ 4: সোর্স কোড
এই প্রকল্পের সোর্স কোডে, আপনাকে সিরিয়াল এবং কীপ্যাড অন্তর্ভুক্ত করতে হবে। এটিতে একটি সেট RX_PIN এবং একটি TX_PIN আছে, যা সিরিয়াল সফটওয়্যারের জন্য প্রয়োজনীয়, এবং ইনভার্টেড ১। এটিকে উল্টানো যুক্তির সাথে ইনপুট ব্যবহার করে এমন সিগন্যালকে বাড়ানোর জন্য নীচে রাখা হয়েছিল।
// 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 TXo Nossa Nossa এলসিডি প্রদর্শন করুন
ধাপ 5: প্রদর্শন কমান্ড
গুরুত্বপূর্ণ: এই ডিসপ্লেতে কেবল একটি স্ট্রিং লাগানো যথেষ্ট নয়। আপনাকে নিয়ন্ত্রণ অক্ষর পাঠাতে হবে। পিডিএফটিতে সেই সাইটের লিঙ্ক রয়েছে যেখানে আপনার এই প্রদর্শনের একটি ম্যানুয়াল রয়েছে। কিন্তু আপনার যদি অন্য ব্র্যান্ডের সিরিয়াল ডিসপ্লে থাকে, তাহলে তাদের সাথে সম্পর্কিত তাদের কন্ট্রোল কোডগুলি দেখে নেওয়া ভাল। এই মডেলে, উদাহরণস্বরূপ, যখন আমরা একটি নির্দিষ্ট নিয়ন্ত্রণ পাঠাই (উদাহরণস্বরূপ এই ডিসপ্লের জন্য তথ্য), আমাদের যোগাযোগের জন্য 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 রাখি, যখন আমি উপরের প্রথম বাম বোতাম টিপব, এটি প্রদর্শিত হবে। এটি কীবোর্ডের বিষয়বস্তু, যা এটি নির্দেশ করবে।
এই কিবোর্ডের ARRAY এর ক্ষেত্রে আমাদের অন্যান্য জিনিসগুলির সংজ্ঞা হল সারি সংখ্যা 4 এবং কলাম নম্বর 4। আমাদের এখনও লাইনের পিন রয়েছে, যা হল Arduino পিন এবং কলামের পিন। প্রতীক, পিন, সারি এবং কলাম প্যারামিটার সহ আমাদের এখনও একটি কাস্টম কেপ্যাড কীপ্যাড নির্মাতা আছে।
const বাইট 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, responsável por capturar a tecla pressionada Keypad customKeypad = Keypad (makeKeymap (SIMBOLOS), PINOS_LINHA, PINOS_COLUNA, LINHAS, COLUNAS);
ধাপ 7: পাসওয়ার্ড সেটিং
এই অংশে, আমরা পাসওয়ার্ড সংজ্ঞায়িত করি, এবং তারপর আমাদের একটি পাসওয়ার্ড লিখতে হবে, যা একটি খালি স্ট্রিং। নীচে, আমরা সফটওয়্যার সিরিয়াল এর উদাহরণ রাখি।
// 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: সেটআপ
সেটআপের জন্য, এখানে displaySerial.begin (2, 400), যা গতি সম্পর্কে। আমাদের ক্ষেত্রে, এটি একটি বাইট পাঠানোর জন্য যথেষ্ট। এটি অনুসরণ করে, 700 মিলিসেকেন্ডের জন্য অপেক্ষা করা হচ্ছে। আমরা 10 মিলিসেকেন্ডের নতুন বিলম্বের সাথে প্রাথমিক কনফিগারেশন থেকে displaySerial.print (initialConfig) অন্তর্ভুক্ত করি, এবং আমরা স্টার্ট ফাংশনে যাই। স্টার্ট ফাংশনে, আমরা displaySerial.print ("পাসওয়ার্ড:") রাখি।
অকার্যকর সেটআপ () {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); বিলম্ব (10); ইনিসিও (); } // 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। অকার্যকর inicio () {displaySerial.print ("Senha:"); }
ধাপ 9: লুপ
লুপে, আমরা একটি customKey = customKeypad.getKey () তৈরি করি এবং ক্রম অনুসারে, আমরা একটি সুইচ কমান্ড লিখি।
// captura a tecla pressionada do teclado char customKey = customKeypad.getKey (); // caso alguma tecla foi pressionada if (customKey) {Serial.println (customKey); সুইচ (customKey) { /… /}}
লুপ সুইচ পার্ট 1
সুইচ কমান্ডের ভিতরে: এটি মুদ্রণযোগ্য কীগুলির সম্ভাব্যতার তালিকা দেখায়, যদি টিপে থাকে, এবং পাসওয়ার্ড বৃদ্ধি করে: কাস্টমকে নেয় এবং প্রবেশ করা পাসওয়ার্ডটি সংযুক্ত করে। পরবর্তী, displaySerial.print (customKey) মূল বিষয়বস্তু দেখায়।
সুইচ (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); বিরতি;
লুপ সুইচ পার্ট 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 = ""; // চাম ও কম্যান্ডো প্যারা লিম্পার এ টেলা ডিসপ্লেসিরিয়াল ডিপ্রিন্ট (লিম্পারটেলা); // একটি mensagem para digitar a senha inicio (); বিরতি;
লুপ সুইচ পার্ট 3
আরেকটি সম্ভাবনা হল যদি আপনি E অক্ষরটি টাইপ করেন। এই ক্ষেত্রে, প্রবেশ করা পাসওয়ার্ডটি সঠিক বা ভুল হলে পর্দা পরিষ্কার এবং বিশ্লেষণ করা হবে। এরপরে, আমরা 2 সেকেন্ডের একটি নতুন বিলম্ব দেব, পর্দা সাফ করব, পাসওয়ার্ড ভেরিয়েবল রিসেট করব এবং শুরুতে ফিরে যাব।
// caso a tecla ENTER seja pressionada, devemos comparr 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 incomreta displaySerial.print ("Senha Incorreta!"); } // aguarda 2 segundos para limpar a tela novamente e esperar uma nova senha ser digitada delay (2000); displaySerial.print (limparTela);
প্রস্তাবিত:
আইআর প্রক্সিমিটি সেন্সর, স্পিকার এবং আরডুইনো ইউনো (আপগ্রেড/পার্ট -২) ব্যবহার করে এয়ার পিয়ানো: Ste টি ধাপ
আইআর প্রক্সিমিটি সেন্সর, স্পিকার এবং আরডুইনো ইউনো (আপগ্রেডেড/পার্ট -২) ব্যবহার করে এয়ার পিয়ানো: এটি এয়ার পিয়ানো এর আগের প্রজেক্টের আপগ্রেড সংস্করণ? এখানে আমি একটি JBL স্পিকার আউটপুট হিসেবে ব্যবহার করছি। আমি প্রয়োজনীয়তা অনুযায়ী মোড পরিবর্তন করার জন্য একটি স্পর্শ সংবেদনশীল বোতাম অন্তর্ভুক্ত করেছি। যেমন- হার্ড বেস মোড, নরমাল মোড, হাই ফ্র
পটেন্টিওমিটার (ভেরিয়েবল রেজিস্টর) এবং আরডুইনো ইউনো ব্যবহার করে ফেইড/কন্ট্রোলিং এলইডি/ব্রাইটনেস: Ste টি ধাপ
পটেন্টিওমিটার (ভেরিয়েবল রেজিস্টার) এবং আরডুইনো ইউনো ব্যবহার করে ফেইড/কন্ট্রোলিং এলইডি/ব্রাইটনেস: আরডুইনো এনালগ ইনপুট পিন পোটেন্টিওমিটারের আউটপুটের সাথে সংযুক্ত। তাই আরডুইনো এডিসি (এনালগ টু ডিজিটাল কনভার্টার) এনালগ পিন পোটেন্টিওমিটারের আউটপুট ভোল্টেজ পড়ছে। পোটেন্টিওমিটারের ঘূর্ণন ঘূর্ণন ভোল্টেজ আউটপুট এবং Arduino পুনরায় পরিবর্তিত হয়
সিম 808 এবং আরডুইনো ইউনো সহ জিপিএস ফরেস্ট ফায়ার অ্যালার্ট সিস্টেম: 23 ধাপ (ছবি সহ)
জিপিএস ফরেস্ট ফায়ার অ্যালার্ট সিস্টেম সিম 808 এবং আরডুইনো ইউনো দিয়ে: হ্যালো যে, এই পোস্টে আমরা দেখব কিভাবে একটি ফরেস্ট ফায়ার ডিটেক্টর সিস্টেম তৈরি করতে হয়, টেক্সট মেসেজের মাধ্যমে বিজ্ঞপ্তি দিয়ে, দুর্ঘটনার অবস্থান, ধন্যবাদ সমন্বিত জিপিএস সিম 808 মডিউল, DFRobot এর লোকদের দ্বারা প্রদত্ত, আমরা উৎস দেখতে পাবেন
আরডুইনো ইউনো এবং সেন্সর ব্যবহার করে পিসি মাউস এমুলেটর।: 8 টি ধাপ
আরডুইনো ইউনো এবং সেন্সর ব্যবহার করে পিসি মাউস এমুলেটর ।: এই নির্দেশনায়, আমরা মাউস এমুলেটরের একটি প্রোটোটাইপ তৈরি করতে যাচ্ছি। মাউস এমুলেটর এমন একটি যন্ত্র যা ব্যবহার করা যেতে পারে যখন আপনার মাউস সঠিকভাবে কাজ করছে না। মাউস নিয়ন্ত্রণের জন্য সেন্সর ব্যবহার করা হয় আন্দোলন প্রকল্প এক ul
এলসিডি স্টুডিওতে একটি কাস্টম ডিসপ্লে তৈরি করুন (জি 15 কীবোর্ড এবং এলসিডি স্ক্রিনের জন্য)।: 7 টি ধাপ
এলসিডি স্টুডিওতে একটি কাস্টম ডিসপ্লে তৈরি করুন (জি 15 কীবোর্ড এবং এলসিডি স্ক্রিনগুলির জন্য): ঠিক আছে যদি আপনি কেবল আপনার জি 15 কীবোর্ড পেয়ে থাকেন এবং এটির সাথে আসা মৌলিক ডিসপ্লেগুলি নিয়ে অত্যন্ত অসন্তুষ্ট হন তবে আমি আপনাকে এলসিডি স্টুডিও ব্যবহারের মূল বিষয়গুলি নিয়ে যাব। আপনার নিজের তৈরি করতে এই উদাহরণটি এমন একটি ডিসপ্লে তৈরি করবে যা শুধুমাত্র বেস দেখায়