خانه » فروشگاه » ماژول صفحه کلید ۴×۴ ماتریسی

ماژول صفحه کلید ۴×۴ ماتریسی

80,000 تومانهر عدد

ماژول صفحه کلید ۴×۴ ماتریسی یک رابط کاربری ساده و مؤثر برای پروژه‌های الکترونیکی است که نیاز به ورود دستی اعداد، حروف یا دستورات دارند.

این ماژول با ۱۶ کلید فشاری، امکان تعامل مستقیم کاربر با سیستم را فراهم می‌کند.

تعداد قیمت تخفیف
10-49 78,400 تومان هر عدد 2%
50+ 77,600 تومان هر عدد 3%

5,000,000 تومان را به سبد خرید اضافه کنید و ارسال رایگان دریافت کنید!

موجود در انبار

Size and packaging guidelines

یکا (واحد) علامت اختصاری شرح انگلیسی مقدار
1 متر m Meter 1
1 سانتی متر cm Canti Meter 2-^10
1 میلی متر mm Mili Meter 3-^10
1 اینچ in Inch 2.54cm
2 اینچ in Inch 5.08cm
3 اینچ in Inch 7.62cm
5 اینچ in Inch 12.7cm
2 افرادی که اکنون این محصول را تماشا می کنند!




توضیحات

ماژول صفحه کلید ۴×۴ ماتریسی

(16 Keypad Keyboard Module)

ماژول صفحه کلید ۴×۴ ماتریس یک رابط کاربری ساده و مؤثر برای پروژه‌های الکترونیکی است که نیاز به ورود دستی اعداد، حروف یا دستورات دارند. این ماژول با ۱۶ کلید فشاری، امکان تعامل مستقیم کاربر با سیستم را فراهم می‌کند.

 

ویژگی‌های کلیدی

۱طراحی ماتریسی هوشمند

  • ۴ ردیف × ۴ ستون = ۱۶ کلید مستقل
  • کاهش مصرف پایه‌های میکروکنترلر
  • مدار اسکن ماتریسی بهینه

۲کلیدهای با کیفیت

  • مکانیک membrane با عمر طولانی
  • فیدبک لمسی واضح
  • مقاوم در برابر گرد و غبار

۳نصب آسان

  • پین‌های استاندارد ۲٫۵۴mm
  • قابلیت نصب روی برد بورد
  • سوراخ‌های نصب برای پیچ

۴سازگاری گسترده

  • کار با آردوینو، رزبری‌پای، ESP
  • ولتاژ کاری ۵V و ۳٫۳V
  • نیاز به مقاومت خارجی ندارد

 

مشخصات فنی کامل

مشخصات الکتریکی:

  • ولتاژ کاری: ۳٫۳V تا ۵V DC
  • جریان مصرف: < ۱۰mA در حالت فعال
  • مقاومت کلید: < ۱۰۰Ω در حالت فشرده
  • ولتاژ نشتی: < ۵μA
  • پین‌های ارتباطی: ۸ پین (۴ ردیف، ۴ ستون)

مشخصات مکانیکی:

  • ابعاد برد: ۷۰ × ۶۰ میلی‌متر
  • ابعاد کلید: ۱۲ × ۱۲ میلی‌متر
  • فاصله کلیدها: ۱۵ میلی‌متر مرکز به مرکز
  • نیروی فشردن: ۱۸۰ ± ۵۰gf
  • سفر کلید: ۰٫۵ ± ۰٫۲mm

مشخصات محیطی:

  • دمای کاری: -۲۰°C تا +۷۰°C
  • دمای ذخیره: -۳۰°C تا +۸۰°C
  • رطوبت مجاز: ۹۵% RH بدون شبنم
  • طول عمر مکانیکی: > ۱,۰۰۰,۰۰۰ بار فشردن

مشخصات چاپ:

  • نوع چاپ: لیزر یا سیلک اسکرین
  • رنگ زمینه: مشکی مات (ضد انعکاس)
  • رنگ حروف: سفید یا نقرایی
  • قابلیت سفارشی: چاپ لوگو یا علائم خاص

 

طرح‌های مختلف صفحه کلید

۱طرح استاندارد عددی-حروفی

[ 1 ][ 2 ][ 3 ][ A ]

[ 4 ][ 5 ][ 6 ][ B ]

[ 7 ][ 8 ][ 9 ][ C ]

[ * ][ 0 ][ # ][ D ]

۲طرح ماشین حساب

[ 7 ][ 8 ][ 9 ][ + ]

[ 4 ][ 5 ][ 6 ][ – ]

[ 1 ][ 2 ][ 3 ][ × ]

[ C ][ 0 ][ = ][ ÷ ]

۳طرح کنترل صنعتی

[ F1 ][ F2 ][ F3 ][ ESC ]

[ ◄ ][ ▲ ][ ▼ ][ ► ]

[ ENT ][ DEL ][ CLR ][ ALT ]

[ START ][ STOP ][ PAUSE ][ RESET ]

۴طرح سفارشی

  • حروف فارسی یا عربی
  • نمادهای تخصصی
  • دستورات سیستم‌های خاص
  • رنگ‌بندی متفاوت

 

کاربردهای عملی

۱سیستم‌های امنیتی

  • وارد کردن رمز عبور
  • فعال/غیرفعال کردن آلارم
  • کنترل دسترسی
  • سیستم‌های حضور و غیاب

۲کنترل صنعتی

  • وارد کردن پارامترها
  • کنترل ماشین‌آلات CNC
  • تنظیمات PLC
  • مانیتورینگ خط تولید

۳دستگاه‌های اندازه‌گیری

  • وارد کردن محدوده اندازه‌گیری
  • کالیبراسیون دستگاه
  • انتخاب واحدها
  • ذخیره و فراخوانی تنظیمات

۴سرگرمی و گیمینگ

  • کنترل بازی‌های ساخته شده
  • امتیازدهی
  • انتخاب مراحل
  • سیستم‌های آرکید

۵سیستم‌های ارتباطی

  • شماره‌گیری تلفن داخلی
  • وارد کردن کدهای دستوری
  • کنترل PBX
  • سیستم‌های پیام‌رسان

۶پروژه‌های آموزشی

  • آموزش الکترونیک دیجیتال
  • تمرین برنامه‌نویسی میکروکنترلر
  • پروژه‌های آزمایشگاهی
  • کارگاه‌های عملی

 

آموزش نصب و برنامه‌نویسی

اتصال پایه‌ها:

پین‌های ماژول ← پین‌های میکروکنترلر

ردیف ۱ (R1) ← پین دیجیتال ۹

ردیف ۲ (R2) ← پین دیجیتال ۸

ردیف ۳ (R3) ← پین دیجیتال ۷

ردیف ۴ (R4) ← پین دیجیتال ۶

ستون ۱ (C1) ← پین دیجیتال ۵

ستون ۲ (C2) ← پین دیجیتال ۴

ستون ۳ (C3) ← پین دیجیتال ۳

ستون ۴ (C4) ← پین دیجیتال ۲

 

کتابخانه‌های مورد نیاز:

  • برای آردوینو: Keypad توسط Mark Stanley
  • برای پایتون (رزبری‌پای): RPi.GPIO یا gpiozero
  • برای میکروپایتون: keypad داخلی

کد نمونه آردوینو:

#include <Keypad.h>

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’}
};

byte rowPins[ROWS] = {9, 8, 7, 6};
byte colPins[COLS] = {5, 4, 3, 2};

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

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

void loop() {
char key = keypad.getKey();

if (key) {
Serial.print(“کلید فشرده شده: “);
Serial.println(key);

// پردازش کلید خاص
switch(key) {
case ‘A’:
// عملیات مربوط به کلید A
break;
case ‘#’:
// تایید ورود
break;
case ‘*’:
// پاک کردن ورود
break;
}
}
}

کد نمونه پایتون (رزبری‌پای):

import RPi.GPIO as GPIO
import time

# تنظیم پین‌ها
rows = [17, 18, 27, 22]
cols = [23, 24, 25, 4]

keys = [
[‘1’, ‘2’, ‘3’, ‘A’],
[‘4’, ‘5’, ‘6’, ‘B’],
[‘7’, ‘8’, ‘9’, ‘C’],
[‘*’, ‘0’, ‘#’, ‘D’]
]

GPIO.setmode(GPIO.BCM)

# تنظیم ردیف‌ها به عنوان خروجی
for row_pin in rows:
GPIO.setup(row_pin, GPIO.OUT)
GPIO.output(row_pin, GPIO.HIGH)

# تنظیم ستون‌ها به عنوان ورودی
for col_pin in cols:
GPIO.setup(col_pin, GPIO.IN, pull_up_down=GPIO.PUD_UP)

def read_keypad():
key = None
for i, row_pin in enumerate(rows):
GPIO.output(row_pin, GPIO.LOW)
for j, col_pin in enumerate(cols):
if GPIO.input(col_pin) == GPIO.LOW:
key = keys[i][j]
while GPIO.input(col_pin) == GPIO.LOW:
time.sleep(0.01)
GPIO.output(row_pin, GPIO.HIGH)
return key

try:
while True:
key = read_keypad()
if key:
print(f”کلید فشرده شده: {key}”)
time.sleep(0.1)

except KeyboardInterrupt:
GPIO.cleanup()

تکنیک‌های پیشرفته

۱. تشخیص فشار طولانی (Hold)

unsigned long startTime;
char lastKey = NO_KEY;

void checkLongPress() {
char key = keypad.getKey();

if (key != NO_KEY) {
if (key == lastKey) {
if (millis() – startTime > 1000) { // 1 ثانیه
Serial.println(“کلید به مدت طولانی فشرده شده”);
}
} else {
lastKey = key;
startTime = millis();
}
} else {
lastKey = NO_KEY;
}
}

۲. ترکیب کلیدها (Key Combinations)

String inputBuffer = “”;

void processKeypad() {
char key = keypad.getKey();

if (key) {
if (key == ‘#’) {
// پردازش ترکیب کلیدها
if (inputBuffer == “1234”) {
Serial.println(“رمز صحیح است”);
// فعال کردن رله یا انجام عملیات
}
inputBuffer = “”;
} else if (key == ‘*’) {
inputBuffer = “”;
Serial.println(“ورود پاک شد”);
} else {
inputBuffer += key;
Serial.print(“*”); // نمایش ستاره به جای اعداد
}
}
}

۳. دیبانس نرم‌افزاری پیشرفته

class DebouncedKeypad {
private:
Keypad keypad;
unsigned long lastDebounceTime = 0;
unsigned long debounceDelay = 50;
char lastKey = NO_KEY;
char lastStableKey = NO_KEY;

public:
char getDebouncedKey() {
char key = keypad.getKey();

if (key != lastKey) {
lastDebounceTime = millis();
}

if ((millis() – lastDebounceTime) > debounceDelay) {
if (key != lastStableKey) {
lastStableKey = key;
return key;
}
}

lastKey = key;
return NO_KEY;
}
};

سیستم‌های مبتنی بر ماژول صفحه کلید

۱. سیستم قفل دیجیتال

class DigitalLock {
private:
String correctCode = “2580”;
String enteredCode = “”;
bool locked = true;

public:
void enterDigit(char digit) {
if (digit == ‘#’) {
checkCode();
} else if (digit == ‘*’) {
resetEntry();
} else if (enteredCode.length() < 6) {
enteredCode += digit;
}
}

void checkCode() {
if (enteredCode == correctCode) {
locked = false;
unlockDoor();
} else {
locked = true;
soundAlarm();
}
resetEntry();
}
};

۲. منو سیستم تعاملی

class MenuSystem {
private:
int currentMenu = 0;
int cursorPos = 0;

public:
void handleKey(char key) {
switch(key) {
case ‘2’: // بالا
cursorPos = max(0, cursorPos – 1);
break;
case ‘8’: // پایین
cursorPos = min(3, cursorPos + 1);
break;
case ‘5’: // انتخاب
executeMenuItem(cursorPos);
break;
case ‘0’: // بازگشت
goBack();
break;
}
updateDisplay();
}
};

۳. دستگاه ثبت زمان

class TimeLogger {
private:
String currentTime = “”;

public:
void logTimeEntry() {
Serial.println(“زمان ورود را وارد کنید (HHMM): “);
waitForTimeInput();
}

void waitForTimeInput() {
String timeInput = “”;
while(timeInput.length() < 4) {
char key = keypad.getKey();
if (key && isdigit(key)) {
timeInput += key;
Serial.print(key);
}
}
processTime(timeInput);
}
};

اتصال به نمایشگرها

با نمایشگر LCD 16×2:

#include <LiquidCrystal.h>
#include <Keypad.h>

LiquidCrystal lcd(12, 11, 10, 9, 8, 7);
Keypad keypad = …;

void setup() {
lcd.begin(16, 2);
lcd.print(“رمز را وارد کن:”);
}

void loop() {
char key = keypad.getKey();
if (key) {
lcd.setCursor(0, 1);
lcd.print(key);
}
}

با نمایشگر OLED I2C:

#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#include <Keypad.h>

Adafruit_SSD1306 display(128, 64, &Wire, -1);
Keypad keypad = …;

void showKeypadLayout() {
display.clearDisplay();
display.setTextSize(1);
display.setTextColor(WHITE);
display.setCursor(0,0);
display.println(“1 2 3 A”);
display.println(“4 5 6 B”);
display.println(“7 8 9 C”);
display.println(“* 0 # D”);
display.display();
}

بهبود عملکرد و بهینه‌سازی

۱. استفاده از وقفه‌ها (Interrupts)

volatile bool keyPressed = false;

void setup() {
attachInterrupt(digitalPinToInterrupt(2), keypadISR, FALLING);
}

void keypadISR() {
keyPressed = true;
}

void loop() {
if (keyPressed) {
scanKeypad();
keyPressed = false;
}
// انجام سایر عملیات
}

۲. حالت خواب (Sleep Mode)

#include <avr/sleep.h>

void enterSleepMode() {
set_sleep_mode(SLEEP_MODE_PWR_DOWN);
sleep_enable();
sleep_mode();
// با وقفه بیدار می‌شود
sleep_disable();
}

۳. اسکن غیرمسدودکننده (Non-blocking Scan)

unsigned long lastScanTime = 0;
const unsigned long scanInterval = 10; // میلی‌ثانیه

void nonBlockingKeypadScan() {
if (millis() – lastScanTime >= scanInterval) {
char key = keypad.getKey();
if (key) {
processKey(key);
}
lastScanTime = millis();
}
}

سوالات متداول (FAQ)

سوال ۱: چرا بعضی کلیدها همزمان تشخیص داده می‌شوند؟

پاسخ: ممکن است نیاز به مقاومت pull-up خارجی داشته باشید یا سیم‌کشی طولانی باشد.

سوال ۲: حداکثر طول کابل چقدر می‌تواند باشد؟

پاسخ: تا ۲ متر با سیم‌های استاندارد، برای طول بیشتر از شیلد استفاده کنید.

سوال ۳: آیا می‌توان چند صفحه کلید را با هم استفاده کرد؟

پاسخ: بله، با استفاده از مالتی‌پلکسر یا I2C GPIO Expander.

سوال ۴: سرعت پاسخگویی چقدر است؟

پاسخ: معمولاً ۱۰-۵۰ms بسته به دیبانس و سرعت اسکن.

سوال ۵: آیا در محیط‌های صنعتی قابل استفاده است؟

پاسخ: بله، با پوشش محافظ یا استفاده از کی‌پدهای صنعتی مخصوص.

پروژه‌های پیشنهادی

پروژه مبتدی:

  • قفل درب دیجیتال: با رمز ۴ رقمی

  • ماشین حساب ساده: چهار عمل اصلی

  • کنترل LED RGB: انتخاب رنگ با صفحه کلید

پروژه متوسط:

  • سیستم رزرواسیون: ثبت زمان و تاریخ

  • کنترل موتور پله‌ای: تنظیم سرعت و موقعیت

  • دیتالاگر: وارد کردن نام فایل و پارامترها

پروژه پیشرفته:

  • تلفن سانترال کوچک: شماره‌گیری داخلی

  • کنترل CNC: وارد کردن مختصات

  • منو سیستم تعاملی: با چندین سطح منو

گارانتی و خدمات

شرایط گارانتی:

  • مدت: ۱۲ ماه گارانتی عملکرد

  • پوشش: معیوبی ساختاری

  • تعویض: در صورت عدم امکان تعمیر

خدمات اضافی:

  • برنامه‌نویسی سفارشی

  • چاپ حروف فارسی/انگلیسی

  • ارائه مثال‌های عملی

  • مشاوره فنی پروژه

تست کیفیت:

  • تست تمامی کلیدها

  • بررسی اتصالات

  • تست استقامت فشاری

  • بررسی چاپ و خوانایی

قیمت‌گذاری و خرید

عوامل مؤثر بر قیمت:

  1. تعداد سفارش: قیمت عمده پایین‌تر

  2. طرح چاپ: سفارشی‌سازی هزینه اضافه

  3. رنگ‌بندی: رنگ‌های خاص هزینه بیشتر

  4. کابل و کانکتور: با یا بدون کابل

بسته‌های پیشنهادی:

  • استارتر پک: ۱ عدد صفحه کلید + کابل

  • توسعه‌دهنده پک: ۳ عدد + کابل‌های مختلف

  • صنعتی پک: ۱۰ عدد + کابل‌های طولانی

خدمات پس از فروش:

  • پاسخگویی فنی

  • ارائه کدهای نمونه

  • راهنمای نصب فارسی

  • به‌روزرسانی کتابخانه‌ها

جمع‌بندی

، مقرون به صرفه و ساده برای طیف وسیعی از پروژه‌های الکترونیکی است. از پروژه‌های دانش‌آموزی ساده تا سیستم‌های صنعتی پیچیده، این ماژول پاسخگوی نیازهای ورود اطلاعات دستی است.

با طراحی بهینه، مصرف پایین و سازگاری گسترده، این ماژول تبدیل به یکی از پرکاربردترین ماژول‌های رابط کاربری در دنیای الکترونیک شده است.

توضیحات تکمیلی
ابعاد 2 × 2 × 2 سانتیمتر
ساختار محصول تعیین نوع محصول فیزیکی و مجازی ( شامل نقشه ی شماتیک، مدار چاپی و .. بصورت دانلودی )

لایه های مدارچاپی

نوع مدار

کشور سازنده

نظرات (0)
0 بررسی
0
0
0
0
0

هیچ دیدگاهی برای این محصول نوشته نشده است.

.فقط مشتریانی که این محصول را خریداری کرده اند و وارد سیستم شده اند میتوانند برای این محصول دیدگاه ارسال کنند.

حمل و نقل و تحویل

در تهران فقط

پیک موتوری

تحویل حضوری

روشهای ارسال تهران و شهرستان ها

اداره پست جمهوری اسلامی ایران

پست سفارشی، پیشتاز، بین‌المللی، تیپاکس و پست پیشتاز خارج از کشور

در حال حاضر امکان رهگیری مرسوله های پستی با کد مرسوله، دریافت گواهی کد پستی، مشاهده تعرفه های پستی به صورت آنلاین و ... در سایت شرکت ملی پست جمهوری اسلامی ایران فراهم شده است. تمامی مردم می توانند با ورود به این سایت، از خدمات مربوط به شرکت و اداره پست استفاده کنند.

در اداره پست جمهوری اسلامی ایران، برای ارسال مرسولات، روش‌های مختلفی وجود دارد که عبارتند از:

۱. پست سفارشی: این روش برای ارسال کالاهای کوچک و سبک و با ارزش کمتر از ۱۰۰ هزار تومان استفاده می‌شود. در این روش، هزینه ارسال بر اساس وزن و مسافت محاسبه می‌شود و زمان تحویل ۳ تا ۷ روز کاری است.

۲. پیشتاز: این روش برای ارسال کالاهایی با ارزش بیشتر از ۱۰۰ هزار تومان و یا کالاهایی که به سرعت باید تحویل داده شوند، استفاده می‌شود. در این روش، هزینه ارسال بر اساس وزن و مسافت محاسبه می‌شود و زمان تحویل ۱ تا ۳ روز کاری است.

۳. بین‌المللی: این روش برای ارسال کالاهایی به خارج از کشور استفاده می‌شود. در این روش، هزینه ارسال بر اساس وزن و مسافت و هزینه گمرکی محاسبه می‌شود و زمان تحویل بسته به مقصد و روش ارسال، متفاوت است.

۴. تیپاکس: این روش برای ارسال کالاهایی است که به سرعت باید تحویل داده شوند. در این روش، هزینه ارسال بر اساس وزن و مسافت و زمان تحویل مورد نظر مشتری محاسبه می‌شود.

۵. پست پیشتاز خارج از کشور: این روش برای ارسال کالاها به خارج از کشور استفاده می‌شود و هزینه ارسال بر اساس وزن و مسافت و هزینه گمرکی محاسبه می‌شود.

در کل، برای ارسال مرسوله در اداره پست جمهوری اسلامی ایران، می‌توانید یکی از روش‌های فوق را انتخاب کنید که بسته به نیاز و شرایط شما، مناسب‌تر است.