به نام خدا : تو این مطلب از سری مطال پروژه آردوینو ، میخوایم نحوه اتصال keypad کیپد به آردوینو با استفاده از i2c protocol رو توضیحی کوچولویی! بدیم، یه پروژه های کوچولوتری قرار بدیم و یه سری کارای خیلی کوچولوتری هم انجام بدیم و بگیم!
اتصال keypad کیپد به آردوینو با استفاده از i2c protocol
پروژه اتصال کیپد به آردوینو با i2c
این پروژه به این صورت هستش که هر چی تو کیپد بنویسی در پنجره سریال نمایش داده میشه.(پروژه تو پروتئوس هم قابل شبیه سازی هستش.)
شماتیک پروژه
کدهای پروژه
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
#include <Keypad_I2C.h> #include <Keypad.h> #include <Wire.h> char hexaKeys[4/* ROWS*/][4/*COLS*/] = { {'1','2','3','/'}, {'4','5','6','*'}, {'7','8','9','-'}, {'#','0','=','+'} }; byte rowPins[4/* ROWS*/] = {3, 2, 1, 0}; byte colPins[4/*COLS*/] = {7, 6, 5, 4}; Keypad_I2C customKeypad( makeKeymap(hexaKeys), rowPins, colPins,4/* ROWS*/, 4/*COLS*/, 0x21/*I2C Address*/); void setup() { Wire.begin( ); customKeypad.begin( ); Serial.begin(9600); } void loop() { char Key = customKeypad.getKey(); if (Key != NO_KEY) Serial.println(Key); } |
هزینه این مطلب : غیبت نکنیم و غیبت نشنویم برای 1روز! ( از طرف بسیج رفته بودیم جایی! و یه نفر پشت یکی غیبت میکرد، هی یکی از مشکلات اصلی طرف رو پیش همه میگفت، حالا خود این طرف این قدر مشکل داشت که نگو(آقای x)، مشکلات خودش رو نمیدید و فقط گیر داده بود به مشکلات دیگران و یه سوتی از طرف دیده بود حالا مگه ول میکرد و سوتی های خودش رو هم….، همین آقا که فقط عیوب دیگران رو میبینه و برا خودش رو نه، تو اون اردو اومدن به هر 3نفر یه بطری آب دادن، که بطری آب ما رو به همین آقای x دادن، و هوا هم گرم بود و ما تشنه، ازش آب خواستم بهم نداد!، ای دهنت سرویس، بعد بطری رو تا ته کرد تو حلقش و نصف آب رو خورد و میگفت آب مال منه به من دادن، فک کرده خیلی بچه خوشگله به مین خاطر از بین اون 3نفر طرف ازش خوشش اومده و یه بطری آب بهش داده^_^، داشتیم میدویدیم! و باید پشت سر هم و با نظم سریع میدویدیم!، این احمق خان فک کرده بود مسابقس داشت از ملت سبقت میگرفت و سوتی های دیگه ای که میداد، خودش رفتارش عین بچه ها بود و اون وقت فقط عیب دیگران رو میدید و عیوب خودش رو …)، توجه کردین من میرم بالای منبر دیگه پایین نمیام؟ :-D،
بیش از این مزاحم نمیشم، موقع نمازاتون اگه یادتون بود اگه حسش بود و ما رو دعا کنید، فعلا تا مطلب بعد یا علی.
مهمان
سلام
طبق همیشه عالی
فقط یک سوال
اسم ماژول ارتباط کی پد با i2c چی هست ؟(همون ماژول ال سی دی هست )
نویسنده این مطلب
سلام / اسمش باید “ماژول PCF8574” باشه.
مهمان
سلام من میخوام شخص مثلا اگر یک دکمه رو فشار داد و 10 ثانیه صبر کرد و دیگه هیچ دکمه ای نزد یه عملیاتی انجام بشه عین گوشی که بعد چن ثانیه که ولش میکنی خاموش میشه
از ()getkeysو()KeyStateChangedاستفاده کردم eventهم زدم اما چیزی بر نمیگردونن که بخوام بفهمم کلیدی فشار داده شده
مهمان
سلام مهندس
من میخوام با کی پد عددی رو وارد کنم مثل یه رمز 4 رقمی الان اون if رو باید داخل حلقه قرار بدم تا بتون چهار رقم رو بگیره؟
بعد اگر بخوام همون عددی که روی ال سیدی نشون میده رو با زدن یک کلید ذخیره کنم باید چیکار کنم. ؟
اگر میشه شماره یا یک راه ارتباطی بگین تا باهاتون صحبت کنم
مهمان
سلام اگر میشه یه توضیحی بدین که این خطای 14،20،27،29
دقیقا چه کار میکنن واقعا کارم گیره ممنونم.
نویسنده این مطلب
سلام.
14 : ساخت یه شیء از کتابخونه Keypad_I2C با نام customKeypad که یه سری مقدار اولیه هم دادیم از جمله نام هر دکمه و تعداد سطر و ستون کیپدمون
20 : راه اندازی اولیه توابع کیپد – باید بری به کتابخونه کیپد – ببینید تو این تابع دقیقا چه کارایی انجام میشه اگه دوس داری.
27 : مقدار تابع customKeypad.getKey رو میخونیم و در متغییر Key ذخیره میکنیم – این تابع به ما میگه که کدوم دکمه کلیک شده ( فشرده شده ) و اگه دکمه ای فشرده نشده باشه – مقدار NO_KEY رو بر میگردونه.
29 : تو این خط میگیم اگه مقدار تابع فوق، NO_KEY نبود، بیا نشونش بده تو پنجره سریال.
مهمان
سلام.
برای اتصال کی پد 4*3 به این آی سی باید چیکار کرد؟
مهمان
سلام
آقا کار کرد این پروژه رو خودتون تست کردید؟؟
من دقیقا مثل آموزش شما پیش رفتم ولی وقتی کلید های کیپد رو میزنم هیچ عملی انجام نمیشه
من ال سی دی رو با آموزشتون (و یکم راهمایی از طرفتون )راه انداختم ولی کیپد نمیشه
از آی سی pcf8574ap استفاده میکنم و کدهاش آدرس i2c رو هم درست انجام دادم
به نظرتون دلیل مشخص یا نکته خاصی داره که ممکن باشه رعایت نکرده باشم؟؟؟
راستی وقتی دستور if (Key != NO_KEY) رو حذف میکنم دائم علامت || تایپ میشه و وقتی میزارم باشه هیج کاری انجام نمیده
نویسنده این مطلب
سلام – یه موردی – منزل شما کجاس؟ اگه تهرانه میخوای بردار بیار برات درستش کنم – چون خودم ماژولش رو ندارم و در عمل نتونستم تست کنم و فقط در پروتئوس تست کردم لذا در عمل هم جواب میده به احمتمال 102%
مهمان
اصفهانمD:
منم ماژولش رو ندارم با ای سی خالی بستم
راه اندازی کیپد رو هم من توی هیچ سایت و انجمنی پیدا نکردم که درموردش حرفی زده باشن(به جز سایت شما)
اگه بخوامم کیپد رو به روش معمولی به آردوینو وصل کنم دیگه هیچی پایه براش نمیمونه
مهمان
سلام اگر یک سرچ کوچک می زدید کلی مطلب مرتبط پیدا می کرید از جمله فیلم زیر موفق و پیروز باشید
https://m.youtube.com/watch?v=G14tREsVqz0
مهمان
مهدی رزمایش رفته بودی؟
حالا اینقدر حرص نخور داداش
از این ادم ها خیلی زیاده
واسه مطلبتم دمت گرم
مث همیشه عالی
شمام دعا کن
یا علی
نویسنده این مطلب
رزمایش نمیشه بهش گفت.
گفتم برا هزینه مطلب مثالی زده باشم
نوکرتم داش