این پدال پا به قاب آردوینو متصل می شود که از طریق کابل microUSB به رایانه شخصی شما وصل می شود.
میکروکنترلرهای آردوینو به راحتی میتوانند برای تقویت پروژههای سرگرمکننده مانند روباتها و حتی ارسال توییتها به توییتر استفاده شوند، اما آنها به اندازهای همهکاره هستند که در عجیبترین مکانها - مانند زیر پاهای شما ظاهر شوند.
ما از یک خواننده سوال داشتیم که آیا امکان ایجاد یک سوئیچ ماوس با پا برای کمک به کاهش آسیب فشاری مکرر (RSI) وجود دارد یا خیر. او باید کارهای زیادی با ماوس انجام می داد، اما کلیک کردن و کشیدن مداوم با دکمه سمت چپ ماوس باعث ایجاد فشار می شد. بنابراین سؤال این بود که آیا میتوان آردوینو را طوری برنامهریزی کرد که با استفاده از یک سوئیچ پدال پایی، کلیک چپ ماوس را فراهم کند؟
معرفی آردوینو میکرو
پاسخ این است که بله می تواند. با این حال، برای اولین بار در این سری چیزی را پیدا کردیم که برد Arduino Uno قادر به انجام آن نیست. بنابراین برای این کلاس، ما Arduino Micro یک برد میکروکنترلر کوچک به اندازه یک کارت SD را معرفی می کنیم که تمام ویژگی های مورد نیاز ما برای کار را دارد. Micro نسخه مینیاتوری Arduino Uno به نام Leonardo است.
چیزی که لئوناردو و این آردوینو میکرو کوچک را با آردوینو یونو که ما تاکنون از آن استفاده کردهایم متفاوت میکند، یک CPU کاملا متفاوت است.
این بردهای جدیدتر به جای ATMEGA328P قدیمی از یک میکروکنترلر ATMEGA32U4 استفاده می کنند. تراشه جدید با همان مجموعه دستورالعمل و 32 کیلوبایت فلش داخلی ارائه می شود و همچنان به Arduino IDE شما متصل می شود و همان کد اصلی را اجرا می کند - تفاوت این است که ATMEGA32U4 دارای یک کنترلر USB داخلی و 512 بایت رم اضافی است. اگر تا به حال میخواهید یک دستگاه USB ساده بسازید، آردوینو لئوناردو یا آردوینو میکرو کوچک میتوانند این کار را انجام دهند.
- برد میکرو آردوینو: 8.20 دلار (در eBay موجود است )
- پدال تعویض پا: 2.60 دلار (در eBay موجود است )
- سوکت پنل 6.35 میلی متری: 1.95 دلار (موجود در Jaycar )
- جعبه شفاف 83x54x31mm: 2.95 دلار (موجود در Jaycar )
- کل: 15.70 دلار
قطعات مورد نیاز
چیزی که ما در این کلاس می سازیم اساسا یک دکمه ماوس است که با پا کار می کند که به پورت USB کامپیوتر شما متصل می شود. از نظر سختافزاری به چیز زیادی نیاز نداریم – میتوانید آن را به یک پدال سوئیچ پایی، یک جعبه کوچک پلاستیکی ABS از Jaycar، یک سوکت پانل 6.5 میلیمتری و برد آردوینو Micro کوچک کنید. بیشتر قطعات را از eBay بخرید و می توانید کل پروژه را با کمتر از 20 دلار انجام دهید. شما همچنین به یک کابل microUSB نیاز دارید، اگرچه کابل همراه گوشی هوشمند شما باید به خوبی کار کند.
Arduino Micro فوقالعاده ارزان است و توسط تعدادی از فروشندگان در eBay با قیمت کمتر از 9 دلار از جمله حمل و نقل در دسترس است. فقط مطمئن شوید که آردوینو میکرو است که شما سفارش میدهید و نه آردوینو نانو - نانو بردی با اندازه مشابه است، اما یک برد دوره آردوینو Uno است که از تراشه قدیمی ATMEGA328P استفاده میکند نه تراشه ATMEGA32U4 که در اینجا به آن نیاز داریم. حداقل برای اجرای این پروژه به دلیل کنترلر USB یکپارچه به یک Arduino Leonardo یا Micro نیاز دارید.
آردوینو میکرو از تراشه Atmel ATMEGA32U4 استفاده می کند و دارای دو ردیف 13 پین است.
آردوینو نانو را نمی توان در این پروژه استفاده کرد و با دو ردیف 15 پین متفاوت است.
در مورد سوئیچ پا، می توانید تعداد زیادی از اینها را در eBay با قیمت کمتر از 3 دلار پیدا کنید. چیزی که ما را شگفت زده کرد این است که آنها در دستگاه های خالکوبی از همه چیز استفاده می شوند و معمولاً با یک کانکتور فونو 6.5 میلی متری TS (آستین نوک) در انتهای آن ارائه می شوند که آنها را برای نیازهای ما ایده آل می کند. همچنین باید یک سوکت پنل را انتخاب کنید تا مطابقت داشته باشد - آنها را در هر فروشگاه Jaycar پیدا خواهید کرد (لیست قطعات روبرو را ببینید).
در پایان زمان تنگ بود، بنابراین ما تصمیم گرفتیم با یک سوئیچ پای لوکس از Jaycar برویم که برای ما 25 دلار هزینه داشت. این دستگاه مانند یک مخزن ساخته شده است و می تواند 220VAC را تا 10A کنترل کند، بنابراین باید مقدار زیادی سایش و پارگی را تحمل کند. نکته منفی این است که Jaycar فقط با انتهای سیم برهنه عرضه می شود، بنابراین باید خودتان دوشاخه 6.35 میلی متری را لحیم کنید. انجام این کار کمی صبر می خواهد، بنابراین اگر می خواهید گزینه ساده تری داشته باشید، از سوئیچ پدال پایی eBay استفاده کنید.
این پدال لوکس 25 دلاری بدون دوشاخه ارائه می شود که نیازی به DIY ندارد. eBay مدل های سبک تر از قبل وصل شده را با قیمت کمتر از 5 دلار به فروش می رساند.
کتابخانه ماوس/صفحه کلید
کلید این پروژه، کنترلر USB داخلی در تراشه ATMEGA32U4 است که با دو کتابخانه جدید همراه با آخرین IDE آردوینو ارائه می شود: کتابخانه های «صفحه کلید» و «موس». نکته هوشمندانه در مورد اینها این است که آنها به ما اجازه می دهند کنترل ماوس و صفحه کلید رایانه شخصی را در دست بگیریم تا بتوانید صفحه کلید و لوازم جانبی USB مانند ماوس خود را بسازید که با هر رایانه ای کار می کند - نه فقط رایانه های ویندوز. کتابخانهها به گونهای طراحی شدهاند که میتوانید عملکردهای ماوس و صفحهکلید هر رایانه Windows Linux یا Mac OS X را هک کنید. حتی بهتر است جدای از تغییر نقشه کلیدهای عجیب و غریب، نیازی نیست چیزی را در کد منبع خود تغییر دهید تا روی هر یک از این سیستم عامل ها کار کند.
در این پروژه ما از کتابخانه "موس" استفاده می کنیم تا یک Arduino Micro را بفرستیم تا دکمه سمت چپ ماوس را فشار داده و کلیک ها را به رایانه شخصی ارسال کند. در مورد کد منبع خیلی ساده تر نمی شود.
کد پروژه
می توانید کد منبع را از وب سایت ما در apcmag.com/arduino.htm به طور معمول دانلود کنید. با این حال، از آنجایی که فقط 14 خط است، در اینجا طرحی برای سوئیچ ماوس با پدال پا به طور کامل ارائه شده است.
void setup(){
pinMode(5INPUT_PULLUP)؛
Mouse.begin();
}
void loop(){
if(digitalRead(5) == LOW){
Mouse.press();
تاخیر (100);
while (digitalRead(5) == LOW){
delay(10);
}
Mouse.release();
}
}
در اینجا نحوه کار آن آمده است. رویه راه اندازی، پایه ورودی/خروجی دیجیتال 5 میکرو را به عنوان ورودی تعریف می کند. برای صرفه جویی در خرید یک مقاومت 10 کیلویی، از مقاومت کششی که در آن (و هر پین) Micro I/O تعبیه شده است استفاده می کنیم. پس از آن، کتابخانه "موس" را مقداردهی اولیه می کنیم.
سپس رویه حلقه اصلی را می زنیم و این بسیار ساده است: به طور مداوم سطح ورودی پین 5 را می خواند و به محض اینکه به عدد "پایین" دیجیتال تبدیل شد (این زمانی است که سوئیچ را فشار می دهیم) یک دکمه سمت چپ ماوس را فشار می دهیم. به رایانه شخصی بروید و مستقیماً با تأخیر 100 میلی ثانیه ای بروید. چرا؟ ما در حال انجام یک شکل فوقالعاده خام و در عین حال مؤثر از "جهش سوئیچ" هستیم.
هنگامی که یک سوئیچ فشاری مکانیکی را مانند پدال پا فشار می دهید، فوراً از "خاموش" به "روشن" یا "روشن" به "خاموش" نمی شود. برای مدت کوتاهی صدها بار (معروف به پرش) بین دو حالت برقرار می شود و تا زمانی که در حالت جدید خود قرار می گیرد، تماس خود را از دست می دهد. تأخیر 100 میلیثانیه ما اجازه میدهد تا جهش حل شود. این یک شکل خام از debouncing است – آردوینو روش پیچیده تری در arduino.cc/en/Tutorial/Debounce دارد ، اما برای سادگی، این روش کار می کند.
نمودار مدار ساده کنترلر ماوس/صفحه کلید آردوینو میکرو.
با این حال، اگر هر زمان که متوجه شدیم پین 5 بدون انقباض پایین میرود، ماوس را فشار میدهیم، در نهایت صدها فشار ماوس در بافر ویندوز منتظر میمانیم. فقط برای اثبات آن تاخیر را حذف کنید(100); خط بزن ببین چی میشه
عقب نشینی تضمین می کند که ما فقط یک نقطه ماشه را از فشار یک پا پدال دریافت می کنیم و این کار را در اینجا با یک تاخیر ساده انجام می دهیم. هنگامی که فشار تشخیص داده شد و تأخیر 100 میلیثانیه تکمیل شد، کد وارد یک حلقه میشود و در آنجا باقی میماند در حالی که ورودی در پایه 5 «کم» باقی میماند (یعنی کلید پا فشار داده میشود). به محض اینکه پای خود را از روی سوئیچ بردارید، پایه سوئیچ 5 "بالا" می شود که پایان حلقه while را آغاز می کند و طرح کد Mouse.release() را منتشر می کند که به ویندوز می گوید دکمه ماوس رها شده است.
ایده اینجا این است که میتوانید از سوئیچ پا مانند دکمه سمت چپ ماوس استفاده کنید: مستقیم کلیک کنید یا کلیک کنید و بکشید. اثبات آن در پودینگ است – ما آردوینو میکرو خود را دقیقاً با این کد برنامهریزی کردهایم و عملکرد خوبی داشت.
ساخت پروژه
اگر تصمیم به استفاده از سوئیچ پای Jaycar دارید، در انتهای آن هیچ کانکتوری وجود ندارد و از آنجا که کابل برای حمل ولتاژ 220VAC در 10A طراحی شده است، تقریباً به اندازه انگشت کوچک شما ضخیم است و به این معنی است که شما به یک دوشاخه فونو 6.5 میلی متری نیاز دارید. برای اتصال کابل به سوئیچ پای Jaycar دارای سه سیم است که دو حالت را ایجاد می کند: معمولاً باز (NO) و معمولاً بسته (NC). شما اتصال NO را می خواهید، بنابراین همانطور که در نمودار مدار ما نشان داده شده است، از سیم های سفید و سبز در کابل استفاده کنید.
لحیم کردن سیم ها به نقاط لحیم روی دوشاخه کمی مشکل است، اما اگر قبلاً این کار را انجام نداده اید، تمرین خوبی است. فقط به یاد داشته باشید که قبل از شروع لحیم کاری، روکش دوشاخه را روی کابل بلغزانید و لحیم کاری را مرتب نگه دارید تا پس از لحیم کاری کابل، روکش روی دوشاخه پیچ شود. پس از انجام این کار، برد آردوینو میکرو خود را در یک جعبه کوچک پلاستیکی شفاف قرار دهید.
از آنجایی که آردوینو میکرو بسیار کوچک است، هیچ سوراخی برای پیچ وجود ندارد. گزینه سریع برای لنگر انداختن برد این است که از سه لایه نوار چسب دو طرفه ضخیم برای نگه داشتن آن روی درب کیس با یک کانال کوچک بریده شده در انتهای جعبه استفاده کنید تا به پورت microUSB مقداری هوا بدهد. ما در اینجا از چند فایل چوبی اولیه استفاده کردیم - هر چیزی بیشتر از پلاستیک ABS خیلی سریع می برد.
تنها دو سیم به یک سوکت تلفن 6.35 میلی متری تنها چیزی است که آردوینو میکرو نیاز دارد.
در طرف دیگر کیس، سوکت پنل 6.5 میلیمتری را قرار دادیم و دو سیم را از زبانههای سوکت به پایه زمین (GND) و پایه 5 روی آردوینو میکرو را از طریق چند پایه PCB لحیم کردیم. فرقی نمی کند که کدام سیم به کدام پایه می رود تا زمانی که آن سوکت را به این دو پایه وصل کنید. فقط هنگام لحیم کردن پین های PCB به برد مراقب باشید - زیاد طول نکشید و از لحیم کاری زیاد استفاده نکنید. سیمی که ما استفاده کردیم فقط سیم قلاب استاندارد سبک است.
برای جزئیات بیشتر: پروژه آردوینو: سوئیچ ماوس با پای USB
در ادامه، متن انگلیسی این مطلب را میتوانید مشاهده نمایید:
This foot pedal plugs into the Arduino case which plugs into your PC via microUSB cable.
Arduino microcontrollers can easily be used to power fun projects like robots and even sending tweets to Twitter but they’re versatile enough to turn up in the strangest of places – like under your feet.
We had a question from a reader about whether it was possible to create a foot-operated mouse switch to help reduce his repetitive strain injury (RSI). He needed to do a lot of mouse work but continually clicking and dragging with the left mouse button was causing strain. So the question was could an Arduino be programmed to provide a left mouse button click by using a foot pedal switch instead?
Introducing Arduino Micro
The answer is yes it can. However for the first time in this series we’ve found something the Arduino Uno board can’t do. So for this class we’re introducing the Arduino Micro a tiny microcontroller board about the size of an SD card that has all the features we need for the job. The Micro is the miniature version of the Arduino Uno follow-up called Leonardo.
What makes the Leonardo and this tiny Arduino Micro different to the Arduino Uno we’ve been using up until now is a completely different CPU.
Instead of the old ATMEGA328P these newer boards use an ATMEGA32U4 microcontroller. The new chip comes with the same instruction set and 32KB of onboard flash plus it still connects to your Arduino IDE and runs the same basic code – the difference is the ATMEGA32U4 has a built-in USB controller and an extra 512 bytes of RAM. If you’ve ever wanted to make a simple USB device the Arduino Leonardo or the little Arduino Micro can make it happen.