مهندس موفق الکترونیک

صفحه کلید سریال با آردوینو

در این مثال (صفحه کلید سریال با آردوینو ) ، برنامه آردوینو منتظر می ماند تا یک بایت از ورودی سریال دریافت کند. پس از دریافت، آردوینو کد مربوط به یک کلید را به سمت کامپیوتر برمیگرداند. کد برگشت داده شده یک واحد از کد دریافت کرده بیشتر است. مثلا اگر آردوینو “a” را دریافت کند، “b” را برمیگرداند. یا اگر عدد “1” را دریافت کند عدد “2” را برمیگرداند.

صفحه کلید سریال با آردوینو Leonardo

تذکر :  زمانی که از تابع ()Keyboard.print استفاده می کنید، برد های آردوینو Leonardo، Micro یا Due  به صفحه کلید دسترسی پیدا می کند. برای اطمینان از عدم تداخل عملکرد آردوینو با عملکرد کامپیوتر هنگام استفاده از صفحه کلید، پیش از فراخوانی تابع ()Keyboard.print از یک برنامه کنترلی مناسب به این منظور استفاده نمایید.

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

قطعات و وسایل مورد نیاز :

  • 1 عدد برد آردوینو Leonardo ، Micro یا Due

مراحل :

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

مطلب پیشنهادی:  آموزش ساخت ردیاب خورشید با آردوینو و استپر موتور و مقاومت نوری

نرم افزار آردوینو :

برنامه آردوینو را بر روی کامپیوتر خود باز نمایید. کدهای نوشته شده در این بخش مدار شما را کنترل می کند. یک sketch جدید با کلیک بر روی گزینه New ایجاد نمایید.

برنامه آردوینو

نکته : حتما توجه داشته باشید که باید فایل کتابخانه صفحه کلید  Keyboard.h  را به برنامه خود اضافه کنید.

مطابق شکل زیر فایل کتابخانه keypad را که در پوشه libraries هست در فایل برنامه خود paste کنید.

مثلا در ویندوز در مسیر زیر این کتابخونه موجود است :

C:\Program Files (x86)\Arduino\libraries\Keyboard\src

نکته : البته در ورژن های جدید به احتمال زیاد لازم نباشه چون خود نرم افزار تشخیص میده ولی بهتره فایل های لایبری را در کنار پروژه داشته باشید تا پروژه قابل حمل تر باشد…

فایل کتابخانه keypad

کد آردوینو :

 /*
 Keyboard test
 For the Arduino Leonardo, Micro or Due Reads
 a byte from the serial port, sends a keystroke back. 
 The sent keystroke is one higher than what's received, e.g. if you send a, you get b, send
 A you get B, and so forth.
 Melec.ir
*/

#include "Keyboard.h"

void setup() {
 // open the serial port:
 Serial.begin(9600);
 // initialize control over the keyboard:
 Keyboard.begin();
}

void loop() {
 // check for incoming serial data:
 if (Serial.available() > 0) {
 // read incoming serial data:
 char inChar = Serial.read();
 // Type the next ASCII value from what you received:
 Keyboard.write(inChar + 1);
 }
}

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

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

مطلب پیشنهادی:  راه اندازی سروموتور با آردوینو

نکته خیلی مهم : این پروژه فقط و فقط یک مثال است و شما میتوانید کاربرد خاص خودتان را با کمک این کد خیلی خیلی ساده پیاده کنید.

نتایج :

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

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

اگر این نوشته‌ برایتان مفید بود لطفا کامنت بنویسید.

مطالعه دیگر جلسات این آموزش<< جلسه قبلی                    جلسه بعدی >>

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

2 دیدگاه

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

  2. برنامه بیخودی بود
    یک مثال کابردی تر میزدین