ኮድ ይፈልጉ

4x4 ለስላሳ ቁልፍ ሰሌዳን ከአርዱኖ ጋር እንዴት መጠቀም እንደሚቻል

4x4 ለስላሳ ቁልፍ ሰሌዳን ከአርዱኖ ጋር እንዴት መጠቀም እንደሚቻል

በዚህ መማሪያ ውስጥ፣ ከአርዱኖ ጋር ባለ 4x4 ለስላሳ ቁልፍ ሰሌዳን እንዴት ማገናኘት እና መጠቀም እንደሚቻል እንመረምራለን። ይህ የቁልፍ ሰሌዳ አስራ ስድስት ቁልፎች ያሉት ቢሆንም ለመገናኘት ስምንት ፒኖች ብቻ ይፈልጋል፣ ይህም ለተለያዩ ፕሮጀክቶች የታመቀ እና ቀልጣፋ የግቤት መሳሪያ ያደርገዋል። በዚህ መመሪያ መጨረሻ ላይ፣ ከቁልፍ ሰሌዳው ግቤቶችን ማንበብ እና በእነዚያ ግቤቶች ላይ ተመስርተው እርምጃዎችን መቀስቀስ ይችላሉ።

4x4 soft keypdad

ከቁልፍ ሰሌዳው ጋር ለመገናኘት የKeypad ቤተ-መጻሕፍትን እንጠቀማለን፣ ይህም የትኛው ቁልፍ እንደተጫነ በቀላሉ እንድናውቅ ያስችለናል። የምንተገብረው ፕሮግራም የተጫነውን ቁልፍ በተከታታይ መቆጣጠሪያ ላይ ያሳያል እና እንደ ቁልፍ '4' ያሉ የተወሰኑ ቁልፎች ሲጫኑ እርምጃ ይወስዳል። ለበለጠ ምስላዊ መመሪያ፣ ቪዲዮውን መመልከትዎን ያረጋግጡ (በቪዲዮው 00:00 ላይ)።

ሃርድዌር ተብራርቷል

የዚህ ፕሮጀክት ዋና አካል ባለ 4x4 ለስላሳ የቁልፍ ሰሌዳ ነው፣ እሱም በፍርግርግ የተደረደሩ 16 አዝራሮችን ያካትታል። እ প্রতিটি አዝራር በአርዱኖ ላይ ካለ የተወሰነ ፒን ጋር ይገናኛል፣ ይህም አንድ አዝራር ሲጫን እንዲያውቅ ያስችለዋል። የቁልፍ ሰሌዳው የማትሪክስ ቅኝት ዘዴን ይጠቀማል፣ በዚህም ረድፎች እና ዓምዶች የትኛው ቁልፍ እንደተጫነ ለማወቅ በቅደም ተከተል ይነቃሉ።

የቁልፍ ሰሌዳውን ለማገናኘት፣ በአርዱኖ ላይ ስምንት ዲጂታል ፒኖችን መጠቀም ያስፈልግዎታል። ረድፎቹ በተለምዶ ከፒን 2 እስከ 5 ጋር ይገናኛሉ፣ ዓምዶቹ ደግሞ ከፒን 6 እስከ 9 ጋር ይገናኛሉ። ይህ አደረጃጀት አርዱኖ የእያንዳንዱን ቁልፍ ሁኔታ ውጤታማ በሆነ መንገድ እንዲያነብ ያስችለዋል።

የዳታሼት ዝርዝሮች

ስፋት69ሚሜ
ርዝመት76ሚሜ
የኬብል ርዝመት84ሚሜ
የኮኔክተር ስፋት20ሚሜ
የኮኔክተር ቀዳዳ ክፍተት2.56ሚሜ

  • የተሳሳተ ንባብ ለማስቀረት የረድፍ እና የዓምድ ፒኖች ትክክለኛ ሽቦ መሆኑን ያረጋግጡ።
  • የግቤት ንባቦችን ለማረጋጋት አስፈላጊ ከሆነ የመጎተት-ወደላይ ተቃዋሚዎችን ይጠቀሙ።
  • ለአንድ ጫና ብዙ ንባቦችን ለማስቀረት ቁልፎችን በሶፍትዌር ውስጥ ያረጋግጡ (ዴቦንስ)።
  • ተግባራዊነቱን ለማረጋገጥ እያንዳንዱን ቁልፍ በተናጠል ይሞክሩ።
  • አፈጻጸሙን ለመጠበቅ የቁልፍ ሰሌዳውን ደረቅ እና ንጹህ ያድርጉት።

የሽቦ መመሪያዎች

Arduino wiring for 4x4 soft keypad
Arduino wiring for 4x4 soft keypad

ባለ 4x4 የቁልፍ ሰሌዳውን ከአርዱኖ ጋር ለማገናኘት፣ የቁልፍ ሰሌዳውን የረድፍ ፒኖች በአርዱኖ ላይ ካሉት ዲጂታል ፒኖች ጋር እንደሚከተለው ያገናኙ፡ የመጀመሪያውን ረድፍ ከፒን 2፣ ሁለተኛውን ረድፍ ከፒን 3፣ ሦስተኛውን ረድፍ ከፒን 4፣ እና አራተኛውን ረድፍ ከፒን 5 ጋር ያገናኙ። ለዓምድ ፒኖች፣ የመጀመሪያውን ዓምድ ከፒን 6፣ ሁለተኛውን ዓምድ ከፒን 7፣ ሦስተኛውን ዓምድ ከፒን 8፣ እና አራተኛውን ዓምድ ከፒን 9 ጋር ያገናኙ።

ይህ ውቅር አርዱኖ በረድፎች እና ዓምዶች ላይ በብቃት እንዲቃኝ ያስችለዋል። እያንዳንዱ ፒን ከተመደበው ረድፍ ወይም ዓምድ ጋር በትክክል መዛመዱን ለማረጋገጥ ግንኙነቶቹን ሁለት ጊዜ መፈተሽዎን ያረጋግጡ። በቪዲዮው ውስጥ፣ አማራጭ የሽቦ ውቅሮች በአጭሩ ተብራርተዋል (በቪዲዮው 01:15 ላይ)። በተለየ መንገድ ለማገናኘት ከመረጡ፣ በኮዱ ውስጥ ያሉትን የፒን ቁጥሮች በዚሁ መሠረት ያዘምኑ።

የኮድ ምሳሌዎች እና ማብራሪያ

በኮዱ ውስጥ፣ የKeypad ቤተ-መጻሕፍትን በማካተት እና የቁልፍ ሰሌዳውን አቀማመጥ በመግለጽ እንጀምራለን። ረድፎቹ እና ዓምዶቹ ድርድሮችን በመጠቀም ይዘጋጃሉ፣ በዚህም rowPins ከረድፎቹ ጋር የተገናኙትን ዲጂታል ፒኖች እና colPins ደግሞ ዓምዶቹን ያመለክታል።

const byte ROWS = 4; //አራት ረድፎች
const byte COLS = 4; //አራት ዓምዶች
char keys[ROWS][COLS] = {
  {'1','2','3','A'},
  {'4','5','6','B'},
  {'7','8','9','C'},
  {'*','0','#','D'}
};

በዚህ ክፍል፣ የረድፎችን እና የዓምዶችን ብዛት፣ እንዲሁም የቁልፎቹን የቁምፊ አቀማመጥ እንገልጻለን። ይህ ውቅር በነቃው ረድፍ እና ዓምድ ላይ በመመስረት የትኛው ቁልፍ እንደተጫነ ለመለየት ወሳኝ ነው።

void setup(){
  Serial.begin(9600);
}

setup ተግባር በ9600 ባውድ መጠን የተከታታይ ግንኙነትን ያስጀምራል። ይህ የቁልፍ ጫና ውሂብን ለማረም እና ለማረጋገጥ ወደ ተከታታይ መቆጣጠሪያ ለመላክ አስፈላጊ ነው።

void loop(){
  char key = keypad.getKey();
  if (key){
    Serial.println(key);
  } 
  if (key =='4'){
    Serial.println("ቁልፍ 4 ተጭኗል");
  }
}

loop ተግባር ውስጥ፣ keypad.getKey() በመጠቀም የተጫነ ቁልፍ መኖሩን ያለማቋረጥ እንፈትሻለን። ቁልፍ ከተጫነ፣ የቁልፍ ዋጋውን በተከታታይ መቆጣጠሪያ ላይ ያትማል። በተጨማሪም፣ ቁልፍ '4' ከተጫነ፣ ቁልፍ '4' መነቃቃቱን የሚያመለክት የተለየ መልእክት ያትማል። ይህ የኮድ ክፍል በተጠቃሚ ግቤት ላይ በመመስረት በቅጽበት መስተጋብር እንዲፈጠር ያስችላል።

ማሳያ / ምን እንደሚጠበቅ

ሁሉም ነገር ከተዘጋጀ እና ኮዱ ወደ አርዱኖዎ ከተጫነ በኋላ፣ የተጫኑት ቁልፎች በተከታታይ መቆጣጠሪያ ላይ ሲታዩ ማየት ይችላሉ። ቁልፍ '4' ከተጫነ፣ "ቁልፍ 4 ተጭኗል" የሚለው መልእክት ይታያል፣ ይህም ግቤቱ በተሳካ ሁኔታ መገኘቱን ያረጋግጣል። እንደ ተንሳፋፊ ግቤቶች ወይም የተሳሳተ ሽቦ ያሉ የተለመዱ ችግሮችን ይጠንቀቁ፣ ምክንያቱም እነዚህ የተሳሳቱ ንባቦችን ሊያስከትሉ ይችላሉ (በቪዲዮው 02:30 ላይ)።

የቪዲዮ ጊዜ አመልካቾች

  • 00:00 - ለቁልፍ ሰሌዳው መግቢያ
  • 01:15 - የሽቦ መመሪያዎች
  • 02:30 - የኮድ ማብራሪያ እና ማሳያ

ምስሎች

4x4 soft keypdad back view
4x4 soft keypdad back view
4x4 soft keypdad
4x4 soft keypdad
4x4 soft keypdad connector
4x4 soft keypdad connector
4x4 soft keypdad
4x4 soft keypdad
Arduino wiring for 4x4 soft keypad
Arduino wiring for 4x4 soft keypad
41-Resources for this code
ቋንቋ: C++
/*
 * Original source: https://playground.arduino.cc/Code/Keypad
 * This is the Arduino code for a 4x4 keypad.
 * Watch the video for details and demo: http://youtu.be/qIDzzG2LUtg
 * 
 * Written by Ahmad Nejrabi for Robojax Video channel: www.Robojax.com
 * Date: December 18, 2017, in Ajax, Ontario, Canada
 * Permission granted to share this code given that this
 * note is kept with the code.
 * Disclaimer: This code is "AS IS" and for educational purposes only.
 * This code has been downloaded from https://robojax.com
 * 
 */
/* @file HelloKeypad.pde
|| @version 1.0
|| @author Alexander Brevig
|| @contact alexanderbrevig@gmail.com
||
|| @description
|| | Demonstrates the simplest use of the matrix Keypad library.
|| #
*/
#include <Keypad.h>

const byte ROWS = 4; //four rows
const byte COLS = 4; //four columns
char keys[ROWS][COLS] = {
  {'1','2','3','A'},
  {'4','5','6','B'},
  {'7','8','9','C'},
  {'*','0','#','D'}
};

byte rowPins[ROWS] = {2, 3, 4, 5}; //connect to the row pinouts of the keypad
byte colPins[COLS] = {6,7,8,9}; //connect to the column pinouts of the keypad

Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );

void setup(){
  Serial.begin(9600);
}
  
void loop(){
  char key = keypad.getKey();
    // Just print the pressed key
   if (key){
    Serial.println(key);
  } 
  
  // This checks if 4 is pressed, then do something. Here we print the text, but you can control something.
  if (key =='4'){
    Serial.println("Key 4 is pressed");
  }
}

እንደሚያስፈልግዎት ይችላል

ምንጮች እና ምንጮች

አሁን ምንም ምንጮች የለም።

ፋይሎች📁

Arduino ቤተ መዝገቦች (zip)