فهرست مطالب:
- مرحله 1: صفحه کلید را سیم کشی کنید
- مرحله 2: Micro Servo را اضافه کنید
- مرحله 3: کد را تغییر دهید تا از صفحه کلید روی سروو استفاده کنید
تصویری: سرويس گذاری با یک صفحه کلید: 3 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:57
در این دستورالعمل ما پروژه ای ایجاد خواهیم کرد که میکرو سروو را با صفحه کلیدی که با Arduino Uno اجرا می شود کنترل می کند.
مواد استفاده شده:
آردوینو اونو
تخته نان
صفحه کلید 4x4
میکرو سروو
مرحله 1: صفحه کلید را سیم کشی کنید
اولین تصوری که باید انجام دهید این است که از آردوینو ریل برق و ریل زمین را روی تخته نورد خود سیم کشی کنید
- پین 5 ولت را به ریل برق متصل کنید (قرمز)
- یک پایه زمین (GND) را به ریل زمین وصل کنید (آبی)
اکنون که تخته نان قدرت دارد و زمین خورده است ، می توانیم سیم کشی قطعات خود را شروع کنیم.
سیم کشی صفحه کلید آسان است ، اما باید به پین های صفحه کلید و آردوینو توجه داشته باشید. وقتی توجه خود را به کد خود معطوف کنیم ، مفید خواهد بود.
به یاد داشته باشید که هنگام استفاده از سیم های خود از سمت چپ شروع کنید!
- پین اول به عدد 13 می رسد
- پین دوم به 12 می رسد
- پین سوم به 11 می رسد
- پین چهارم به 10 می رسد
- پین پنجم تا 9
- پین ششم به 8
- سنجاق هفتم به 7
- هشتم پین تا 6
هنگام سیم کشی صفحه کلید ، به یاد داشته باشید که یک پین pwm دیجیتال را باز نگه دارید. ما برای میکرو سروو به آن نیاز داریم
قبل از رسیدن به کد ، مطمئن شوید که کتابخانه صفحه کلید را نصب کرده اید. این را می توان در طرح خود یافت ، سپس برگه طرح ، شامل کتابخانه. بدون آن نمی توانید از صفحه کلید استفاده کنید.
اکنون اجازه دهید به کد برویم و مطمئن شویم که صفحه کلید کار می کند و مقادیر موردنظر را نشان می دهد
یادداشت های سریع: مطمئن شوید که دستور if را برای بررسی صفحه کلید دارید ، در غیر این صورت کار نمی کند. همچنین مراقب تاخیرها باشید ، آنها با دکمه های ثبت شده از صفحه کلید خراب می شوند
#عبارتند از
سطرهای const byte = 4 ؛ // چهار ردیف از زمانی که صفحه کلید پر است
ستون const byte = 4 ؛ // چهار ستون ، همانند بالا
دکمه های char [ردیف] [ستون] = {
{1 "،" 2 "،" 3 "،" A "} ، {" 4 "،" 5 "،" 6 "،" B "} ، {" 7 "،" 8 "،" 9 "،" C '} ، {'*'،' 0 '،'#'،' D '}} ؛
بایت rowP [ردیف] = {13 ، 12 ، 11 ، 10} ؛ // پین های ردیف صفحه کلید
بایت ستون P [ستون] = {9 ، 8 ، 7 ، 6} ؛ // ستون های صفحه کلید
صفحه کلید = صفحه کلید (makeKeymap (دکمه ها) ، rowP ، ستون P ، سطر ، ستون) ؛ // ایجاد صفحه کلید
void setup () {
Serial.begin (9600)؛ }
حلقه خالی () {
char buttonPressed = pad.getKey ()؛ // دریافت char از صفحه کلید if (buttonPressed) // نشان دهید چه دکمه ای روی صفحه کلید فشار داده شده است {Serial.println (buttonPressed)؛ }}
مرحله 2: Micro Servo را اضافه کنید
حالا اجازه دهید سرو موتور را اضافه کنیم. این یکی واقعاً آسان است که به پروژه فعلی ما اضافه شود زیرا میکرو سرور فقط سه سیم دارد.
- سیم قهوه ای به نرده زمین روی تخته نان می رود
- قرمز به ریل برق می رود
- نارنجی به پین 3 در آردوینو می رود. به یاد داشته باشید که میکرو سرور باید دارای پین PWM در آردوینو باشد. این به دلیل سروو با استفاده از TIMER2 است
حالا اجازه دهید فقط مطمئن شویم که میکرو سروو را درست سیم کشی کرده ایم و حرکت می کند
#شامل #شامل "Servo.h"
سطرهای const byte = 4 ؛ // چهار ردیف از زمانی که صفحه کلید پر است
ستون const byte = 4 ؛ // چهار ستون ، همانند بالا
دکمه های char [ردیف] [ستون] = {
{1 "،" 2 "،" 3 "،" A "} ، {" 4 "،" 5 "،" 6 "،" B "} ، {" 7 "،" 8 "،" 9 "،" C '} ، {'*'،' 0 '،'#'،' D '}} ؛
بایت rowP [ردیف] = {13 ، 12 ، 11 ، 10} ؛ // پین های ردیف صفحه کلید
بایت ستون P [ستون] = {9 ، 8 ، 7 ، 6} ؛ // ستون های صفحه کلید
صفحه کلید = صفحه کلید (makeKeymap (دکمه ها) ، rowP ، ستون P ، سطر ، ستون) ؛ // ایجاد صفحه کلید
سروو جریان سروو ؛ // ایجاد شیء سروو برای کنترل سروو
// دوازده شیء سروو را می توان در اکثر تخته ها ایجاد کرد
int pos = 0؛ // متغیر برای ذخیره موقعیت سروو
void setup () {
Serial.begin (9600)؛ currentServo.attach (3) ؛ // سروو روی پین 9 را به شیء سروو متصل می کند
}
حلقه خالی () {
char buttonPressed = pad.getKey ()؛ // دریافت char از صفحه کلید if (buttonPressed) // نشان دهید چه دکمه ای روی صفحه کلید فشار داده شده است {Serial.println (buttonPressed)؛ }
currentServo.write (95)؛
}
مرحله 3: کد را تغییر دهید تا از صفحه کلید روی سروو استفاده کنید
بدانید که ما قصد داریم کد خود را طوری تغییر دهیم که وقتی دکمه خاصی را روی صفحه کلید فشار می دهیم ، سروو به موقعیت خاصی منتقل شود. یک چیز مهم اول موقعیت سروو برای 0 عجیب بود. از آنجا که من یک سروو چرخشی پیوسته داشتم ، هر زمان که به 0 نزدیک می شد ، سروو به تازگی شروع به چرخش می کند. شماره ای که در کد وارد کردم تا آنجا که می توانستم بدون این اتفاق رخ می دهد کم بود. به هر حال ، کد نهایی من این است:
#شامل #شامل شود
سطرهای const byte = 4 ؛ // چهار ردیف از زمانی که صفحه کلید پر است
ستون const byte = 4 ؛ // چهار ستون ، همانند بالا
دکمه های char [ردیف] [ستون] = {
{1 "،" 2 "،" 3 "،" A "} ، {" 4 "،" 5 "،" 6 "،" B "} ، {" 7 "،" 8 "،" 9 "،" C '} ، {'*'،' 0 '،'#'،' D '}} ؛
بایت rowP [ردیف] = {13 ، 12 ، 11 ، 10} ؛ // پین های ردیف صفحه کلید
بایت ستون P [ستون] = {9 ، 8 ، 7 ، 6} ؛ // ستون های صفحه کلید
صفحه کلید = صفحه کلید (makeKeymap (دکمه ها) ، rowP ، ستون P ، سطر ، ستون) ؛ // ایجاد صفحه کلید
Servo myServo؛ //
void setup () {
Serial.begin (9600)؛ myServo.attach (5) ؛ // سروو را روی پین 9 به شیء سروو متصل می کند}
حلقه خالی () {
کلید char = pad.getKey ()؛ // char را از صفحه کلید if (key == '0') {myServo.write (11) دریافت کنید؛ Serial.println ("0") ؛ تأخیر (15) ؛ } if (key == '1') {myServo.write (12)؛ Serial.println ("1") ؛ تأخیر (15) ؛ } if (key == '2') {myServo.write (24)؛ Serial.println ("2") ؛ تأخیر (15) ؛ } if (key == '3') {myServo.write (36)؛ Serial.println ("3") ؛ تأخیر (15) ؛ }
if (کلید == '4')
{myServo.write (48)؛ Serial.println ("4") ؛ تأخیر (15) ؛ }
if (کلید == '5')
{myServo.write (60) ؛ Serial.println ("5") ؛ تأخیر (15) ؛ }
if (کلید == '6')
{myServo.write (72) ؛ Serial.println ("6") ؛ تأخیر (15) ؛ }
if (کلید == '7')
{myServo.write (84)؛ Serial.println ("7") ؛ تأخیر (15) ؛ }
if (کلید == '8')
{myServo.write (96)؛ Serial.println ("8") ؛ تأخیر (15) ؛ }
if (کلید == '9')
{myServo.write (108) ؛ Serial.println ("9") ؛ تأخیر (15) ؛ }
if (کلید == '*')
{myServo.write (120) ؛ Serial.println ("*") ؛ تأخیر (15) ؛ }
if (key == '#')
{myServo.write (132) ؛ Serial.println ("#")؛ تأخیر (15) ؛ }
if (کلید == 'A')
{myServo.write (146) ؛ Serial.println ("A") ؛ تأخیر (15) ؛ }
if (کلید == 'B')
{myServo.write (158) ؛ Serial.println ("B") ؛ تأخیر (15) ؛ }
if (کلید == 'C')
{myServo.write (170) ؛ Serial.println ("C") ؛ تأخیر (15) ؛ }
if (کلید == 'D')
{myServo.write (180) ؛ Serial.println ("D") ؛ تأخیر (15) ؛ }}
توصیه شده:
استفاده از 1602 صفحه کلید صفحه کلید LCD W/ Arduino [+پروژه های کاربردی]: 7 مرحله
استفاده از 1602 LCD Keypad Shield W/ Arduino [+پروژه های کاربردی]: می توانید این و سایر آموزش های شگفت انگیز را در وب سایت رسمی ElectroPeak بخوانید. مرور کلی در این آموزش ، نحوه استفاده از سپر صفحه کلید Arduino LCD با 3 پروژه کاربردی را خواهید آموخت. آنچه خواهید آموخت: نحوه تنظیم سپر و شناسایی کلیدها
رابط صفحه کلید با 8051 و نمایش شماره های صفحه کلید در 7 بخش: 4 مرحله (همراه با تصاویر)
رابط صفحه کلید با 8051 و نمایش شماره های صفحه کلید در 7 بخش: در این آموزش من به شما می گویم که چگونه می توان صفحه کلید را با 8051 و نمایش شماره های صفحه کلید در نمایش 7 بخش نمایش داد
صفحه کلید سریع و کثیف Das (صفحه کلید خالی): 3 مرحله
صفحه کلید سریع و کثیف Das (صفحه کلید خالی): صفحه کلید Das نام محبوب ترین صفحه کلید بدون کتیبه روی کلیدها (صفحه کلید خالی) است. صفحه کلید Das با قیمت 89.95 دلار به فروش می رسد. این دستورالعمل می تواند شما را راهنمایی کند هر چند خودتان با هر صفحه کلید قدیمی که در اطراف آن قرار گرفته اید یک دستگاه تهیه کنید
ایجاد یک صفحه نمایش سفارشی در استودیوی LCD (برای صفحه کلید G15 و صفحه LCD): 7 مرحله
ایجاد یک صفحه نمایش سفارشی در استودیوی LCD (برای صفحه کلید G15 و صفحه نمایش LCD): خوب اگر صفحه کلید G15 خود را به دست آورده اید و از صفحه نمایش های اولیه ای که تحت آن قرار گرفته اید بسیار تحت تأثیر قرار نگرفته اید ، اصول اولیه استفاده از LCD Studio را برای شما شرح می دهم. خودتان بسازید. این مثال ایجاد یک صفحه نمایش است که فقط پایه را نشان می دهد
تمیز کردن صفحه کلید آلومینیومی اپل یا هر صفحه کلید نرم دیگر: 5 مرحله
تمیز کردن صفحه کلید آلومینیومی Apple …. این دستورالعمل به شما کمک می کند تا آن را تمیز کنید. مراقب باشید ، زیرا اگر صفحه کلید شما هنگام انجام این کار خراب شود ، من مسئولیتی ندارم …. SUCKS F