فهرست مطالب:
- تدارکات
- مرحله 1: دکمه ها
- مرحله 2: برنامه نویسی آردوینو
- مرحله 3: ایجاد کلیدهای میانبر برای برنامه ها
- مرحله چهارم: پیشنهادات
- مرحله 5: گسترش
تصویری: عرشه جریان آردوینو: 5 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:54
من چیزی از سفرم به آمریکا دیدم که فکر می کردم واقعا جالب و مفید است - The Stream Deck. این اساساً کلیدهای میانبر برای هر برنامه ای است که می خواهید ، برای چند وظیفه عالی است. اما نکته این است که برای من بسیار گران است (100 دلار) و حتی در کشور من نیز موجود نیست. با این وجود ، من فکر می کردم که این کار به طور فوق العاده ای برای کار من مفید خواهد بود ، بنابراین تصمیم گرفتم خودم آن را تهیه کنم (که از زمان ارزان قیمت چینی Pro Micro تقریباً 10 دلار هزینه داشت) و آن را به اشتراک بگذارم تا دانش آموزان و افراد با بودجه بتوانند آن را داشته باشند. زندگی کمی ساده تر
به هر حال حتی از نظر ظاهری به اندازه 100 دلار زیبا نیست ، اما عملکرد خوبی دارد.
(تصویر Deck من از زمان انداختن و شکستن Arduino Pro Micro فاقد آن بود ، HC - 05 و Arduino Pro Mini برای پروژه دیگری بود ، بنابراین اهمیتی ندهید).
تدارکات
Arduino Pro Micro x 1
دکمه x 12 (Arduino Pro Micro حداکثر 12 دکمه را پشتیبانی می کند)
اندازه PCB که متناسب با تعداد دکمه های دلخواه شما باشد
مقاومتهای 10k اهم
مرحله 1: دکمه ها
برای اینکه Arduino هنگام فشار دادن یک دکمه تشخیص دهد ، باید دکمه ها را به صورت زیر سیم کشی کنیم:
پین دکمه 1 -> مقاومت 10k -> GND
پین دکمه 2 -> VCC
پین دکمه 4 -> یکی از پین های دیجیتال یا پین های آنالوگ آردوینو
این کار را تکرار کنید تا تعداد دکمه های مورد نظر خود را دریافت کنید
PCB من به طرز احمقانه ای به هم ریخته است ، بنابراین تشخیص خطا هنگام رخ دادن آن بسیار دشوار است ، شما می خواهید برای عیب یابی آسان تر سازماندهی شده باشد.
مرحله 2: برنامه نویسی آردوینو
برنامه نویسی با Pro Micro با سایر آردوینوها کمی متفاوت است و به مراحل بیشتری نیاز دارد. من راهنماهایی را که به من در برنامه نویسی Pro Micro کمک کردند پیشنهاد می کنم:
راهنمای رسمی Sparkfun:
www.sparkfun.com/products/12640
راهنمای دستورالعمل ها:
www.instructables.com/id/Set-up-and-Instal…
بعد از اینکه Pro MIcro خود را با موفقیت به رایانه خود وصل کردید و اکنون می توانید آن را برنامه ریزی کنید ، در اینجا کد پروژه من آمده است:
#تعریف KEY_RIGHT_SHIFT 0x85 #تعریف KEY_RIGHT_ALT 0x86 #تعریف KEY_RIGHT_GUI 0x87
#تعریف KEY_UP_ARROW 0xDA
# تعریف KEY_DOWN_ARROW 0xD9 # تعریف KEY_LEFT_ARROW 0xD8 # تعریف KEY_RIGHT_ARROW 0xD7 # تعریف KEY_BACKSPACE 0xB2 # تعریف KEY_TAB 0xB3 # تعریف KEY_RETURN 0xB0 # تعریف KEY_ESC 0xB1 # تعریف KEY_INSERT 0xD1 # تعریف KEY_DELETE 0xD4 # تعریف KEY_PAGE_UP 0xD3 # تعریف KEY_PAGE_DOWN 0xD6 # تعریف KEY_HOME 0xD2 # تعریف KEY_END 0xD5 # تعریف KEY_CAPS_LOCK 0xC1 # تعریف KEY_F1 0xC2 # تعریف KEY_F2 0xC3 # تعریف KEY_F3 0xC4 # تعریف KEY_F4 0xC5 # تعریف KEY_F5 0xC6 # تعریف KEY_F6 0xC7 # تعریف KEY_F7 0xC8 # تعریف KEY_F8 0xC9 # تعریف KEY_F9 0xCA # تعریف KEY_F10 0xCB # تعریف KEY_F11 0xCC #تعریف KEY_F12 0xCD #تعریف KEY_LEFT_CTRL دکمه 0x80 int پین = 9 ؛ دکمه int پین 1 = 10 ؛ int buttonPin2 = 8 ؛ int buttonPin3 = 6؛ int buttonPin4 = 5 ؛
#عبارتند از
void setup ()
{pinMode (buttonPin ، INPUT) ؛ pinMode (buttonPin1 ، INPUT) ؛ pinMode (buttonPin2 ، INPUT) ؛ pinMode (buttonPin3 ، INPUT) ؛ pinMode (buttonPin4 ، INPUT) ؛
}
حلقه خالی ()
{if (digitalRead (buttonPin) == 1) // وقتی دکمه 1 فشرده می شود {Keyboard.print ("هر عبارتی را که می خواهید چاپ کنید") ؛ //
تاخیر (1000) ؛
} if (digitalRead (buttonPin1) == 1) {Keyboard.print ("")؛ // هر عبارتی که می خواهید} if (digitalRead (buttonPin2) == 1) // این یک میانبر برای تغییر زبان صفحه کلید من است {Keyboard.press (KEY_RIGHT_SHIFT) ؛ Keyboard.press (KEY_LEFT_CTRL) ؛ Keyboard.release (KEY_LEFT_CTRL) ؛ Keyboard.release (KEY_RIGHT_SHIFT) ؛ تاخیر (1000) ؛ } if (digitalRead (buttonPin3) == 1) // برنامه را با میانبر Ctrl + Alt + t {Keyboard.press (KEY_LEFT_ALT) باز کنید ؛ Keyboard.press (KEY_LEFT_CTRL) ؛ Keyboard.print ('t')؛ Keyboard.release (KEY_LEFT_ALT) ؛ Keyboard.release (KEY_LEFT_CTRL) ؛ تاخیر (1000) ؛ } if (digitalRead (buttonPin4) == 1) // برنامه را با میانبر Ctrl + Alt + p باز کنید
{Keyboard.press (KEY_LEFT_ALT) ؛ Keyboard.press (KEY_LEFT_CTRL) ؛ Keyboard.print ('p')؛ Keyboard.release (KEY_LEFT_ALT) ؛ Keyboard.release (KEY_LEFT_CTRL) ؛ تاخیر (1000) ؛ }}
اگر می خواهید صفحه کلید شما کلید "Enter" را فشار دهد: Keyboard.write (10)؛ (کد ACSII برای کلید Enter 10 است)
تأخیر بعد از هر اقدام جلوگیری از اسپم شدن کلید است.
این هم کد دانلود:
مرحله 3: ایجاد کلیدهای میانبر برای برنامه ها
مرحله 1: میانبر برنامه هایی را که می خواهید استفاده کنید ایجاد کنید
مرحله 2: راست کلیک کرده و "Properties" را انتخاب کنید
مرحله 3: روی "میانبر" (در تصویر نشان داده شده) کلیک کنید و کلید مورد نظر خود را انتخاب کنید
به عنوان مثال اگر "p" را انتخاب کنید ، میانبر برنامه Ctrl + Alt + p خواهد بود
حالا باید خوب باشی که بروی
// می توانید در کد مشاهده کنید
if (digitalRead (buttonPin4) == 1) // برنامه را با میانبر Ctrl + Alt + p باز کنید
{
Keyboard.press (KEY_LEFT_ALT) ؛ Keyboard.press (KEY_LEFT_CTRL) ؛ Keyboard.print ('p')؛ Keyboard.release (KEY_LEFT_ALT) ؛ Keyboard.release (KEY_LEFT_CTRL) ؛ تاخیر (1000) ؛ }
مرحله چهارم: پیشنهادات
من تمام 12 کلید Arduino Pro Micro را به چیزی متصل کردم ، در اینجا کاری است که می توانید انجام دهید:
- دستورات بازی یا هرزنامه ها (CS: GO، TF2)
- کلیدهای عمومی جهانی برای Windows Media Player زیرا صفحه کلید من کلیدهای عملکرد رسانه را ندارد
در اینجا راهنمای افزونه آمده است:
www.howtogeek.com/howto/19356/add-global-h…
لینک دانلود:
wmpkeys.sourceforge.net/
- پر کردن خودکار گذرواژه ها: اگر نمی خواهید گذرواژه را در مرورگر خود به خاطر بسپارید ، آن را به یکی از دکمه ها وصل کنید (خطرات دارد ، اما اگر کلیدها را برچسب گذاری نکردید باید خوب باشد ، از موارد زیر استفاده کنید:
if (digitalRead (buttonPin) == 1) // وقتی دکمه 1 فشرده می شود {Keyboard.print ("Password") ؛
تاخیر (1000) ؛
Keyboard.write (10)؛ // برای فشار دادن Enter
}
مرحله 5: گسترش
شما می توانید سنسورها و ماژول ها را به Pro Micro اضافه کنید تا راه های مختلفی برای باز کردن قفل رایانه خود داشته باشید.
شاید یک خواننده RFID ، خواننده IR به طوری که هنگام اسکن کارت یا فشار دادن کنترل از راه دور ، Pro mini بتواند رمز عبور را چاپ کند.
به عنوان مثال ، کامپیوتر خود را بوت می کنید ، به جای تایپ رمز عبور ، کلید RFID را اسکن می کنید و قفل رایانه باز می شود.
من مدتی است به این موضوع فکر می کنم اما از آنجا که PCB من برای اسکنر خالی است ، هرگز آن را انجام ندادم ، اما امیدوارم شما دوستان بتوانید آن را به واقعیت تبدیل کنید.
توصیه شده:
تفاوت بین (جریان متناوب و جریان مستقیم): 13 مرحله
تفاوت بین (جریان متناوب و جریان مستقیم): همه می دانند که برق بیشتر DC است ، اما در مورد نوع دیگری از برق چطور؟ آیا Ac را می شناسید؟ مخفف AC چیست؟ آیا بعد از DC قابل استفاده است؟ در این مطالعه تفاوت بین انواع برق ، منابع ، کاربرد
عرشه کارت برش لیزری: 3 مرحله
عرشه های برش لیزری: در Makerspace ما بازی های زیادی را طراحی می کنیم ، یا برای نشان دادن مفهوم یا سیستمی که دانش آموزان در مورد آن یاد گرفته اند ، یا برای آموزش دانش آموزان به سایر دانش آموزان در مورد یک مفهوم یا سیستم. ما چاپگرهای سه بعدی برای ساخت قطعات و عناصر بازی داریم ،
Longane Electric Longboard Budet با عرشه فیبر کربن: 6 مرحله (همراه با تصاویر)
Insane Electric Longboard Budet With Carbon Fiber Deck: سلام قبل از اینکه در مورد خودم صحبت کنم و اینکه چرا تصمیم گرفتم به این سفر بروم ، می خواهم بگویم لطفاً ویدیوی من را برای یک مونتاژ سوار حماسی و شیوه های مهم ساختن آن را نیز لطفاً مشاهده کنید واقعاً به دوره دانشگاه من کمک خواهد کرد ، زیرا
جریان جریان: 4 مرحله
نور جریان: نور جاری از جریان نور برای نشان دادن گذشت زمان استفاده می کند. وقتی چراغ را وارونه می کنید ، فعال می شود و همه به رنگ رنگین کمان روشن می شود و وقتی آن را به عقب برمی گردانید ، به تدریج از بالا به پایین خاموش می شود
اندازه گیری جریان با متر جریان آب (اولتراسونیک): 5 مرحله (همراه با تصاویر)
اندازه گیری جریان با آب سنج های جریان (اولتراسونیک): آب منبع مهمی برای سیاره ما است. ما انسان ها هر روز به آب نیاز داریم. و آب برای صنایع مختلف ضروری است و ما انسانها هر روز به آن نیاز داریم. از آنجا که آب با ارزش تر و کمیاب تر شده است ، نیاز به نظارت م effectivelyثر و انسان