در این مثال (صفحه کلید سریال با آردوینو ) ، برنامه آردوینو منتظر می ماند تا یک بایت از ورودی سریال دریافت کند. پس از دریافت، آردوینو کد مربوط به یک کلید را به سمت کامپیوتر برمیگرداند. کد برگشت داده شده یک واحد از کد دریافت کرده بیشتر است. مثلا اگر آردوینو “a” را دریافت کند، “b” را برمیگرداند. یا اگر عدد “1” را دریافت کند عدد “2” را برمیگرداند.
تذکر : زمانی که از تابع ()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
نکته : البته در ورژنهای جدید به احتمال زیاد لازم نباشه چون خود نرم افزار تشخیص میده ولی بهتره فایلهای لایبری را در کنار پروژه داشته باشید تا پروژه قابل حمل تر باشد…
کد آردوینو:
/* 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); } }
نکات برنامه صفحه کلید سریال با آردوینو:
پس از آپلود برنامه بر روی برد، پنجره سریال را باز کرده و یا بایت را برای برد ارسال نمایید. برد یک واحد بیشتر از عدد بایت ارسال شده را به عنوان پاسخ ارسال میکند.
نکته خیلی مهم: این پروژه فقط و فقط یک مثال است و شما میتوانید کاربرد خاص خودتان را با کمک این کد خیلی خیلی ساده پیاده کنید.
نتایج:
برد آردوینو یک عدد یک بایتی را به عنوان پاسخ ارسال میکند که عدد آن یک واحد از عدد ارسال شده توسط پنجره سریال به آن بییشتر خواهد بود.
و به سادگی پروژه صفحه کلید سریال با آردوینو را انجام دادید به مطالب و پروژههای بیشتر سایت مراجعه کنید تا مطالب بیشتری را انجام دهید و تمرینهای زیاد باعث سرعت بخشیدن به کارهای آتی شما خواهد شد.
امیدوارم این نوشته برایتان مفید باشد.
منبع: میکرودیزاینرالکترونیک