צור כפתורי קיצור מותאמים אישית משלך עם ארדואינו

צור כפתורי קיצור מותאמים אישית משלך עם ארדואינו

ארדואינו הצנוע יכול לעשות הרבה דברים, אבל האם ידעת שהוא יכול לחקות מקלדת USB? אתה יכול לשלב את אותם קיצורי מקשים ארוכים שקשה לזכור אותם למקש קיצור מותאם אישית אחד, עם המעגל הפשוט הזה. להלן התוצאה הסופית:





מעולם לא השתמשת בארדואינו? בדוק את שלנו מדריך מתחילים ראשון.





מה אתה צריך

הנה מה שאתה צריך כדי ליצור את הפרויקט הזה:





  • 1 x Arduino Pro Micro.
  • כפתורים רגעיים או לחצני מקלדת.
  • נגדי 10K אוהם.
  • חוטי חיבור שונים.
  • נגדי 1 x 220 אוהם.
  • 1 x 5 מ'מ (0.197 אינץ ') LED.
  • מחזיק LED 1 x 5 מ'מ.

תזדקק לארדואינו ספציפי מאוד לפרויקט זה. אני משתמש א פרו מיקרו מכיוון שהם כל כך קטנים וזולים, אתה צריך Arduino עם USB-Serial מובנה במעבד (Atmega32u4). אפשר לבנות את הפרויקט הזה עם ארדואינים אחרים, כגון UNO או ננו, אולם הוא דורש הרבה עבודה קשה כדי להבהב מחדש את ה- BIOS ולהתעסק בכדי לגרום לדברים לעבוד. שיבוטים מדגמי ארדואינו אחרים בדרך כלל אינם עובדים כלל, אך גם שיבוט Pro Micro בסדר.

לוח מודול OSOYOO Pro Micro ATmega32U4 5V/16MHz עם כותרת סיכה עם 2 שורות החלף ב- ATmega328 Pro Mini עבור Arduino קנה עכשיו ב- AMAZON

תזדקק לכפתור רגע אחד, נגד אחד של 10K אוהם וחוט חיבור מתאים לכל כפתור שאתה רוצה להשתמש בו. אני משתמש במתגי מקלדת מכניים של Cherry MX עבור לחצני הקיצור בפועל, אם כי כל מתג יעשה זאת, בתנאי שהוא רגעי ואינו נצמד.



ייתכן שתזדקק לכמה פריטים אחרים בהתאם לאופן שבו אתה בונה זאת. אם אתה רוצה לעשות אב -טיפוס לזה, תצטרך א קרש לחם ללא הלחמה . כדאי להוציא את הכסף על טוב - לפעמים הם יכולים להיות מאוד לא אמינים. אם אתה רוצה לאסוף את זה, תרצה לרכוש לוח פסים.

בנה תוכנית

הנה איך זה יעבוד. ה- Arduino יתוכנת לפעול כמו מקלדת USB - מבחינת המחשב שלך. מספר כפתורים המחוברים ל- Arduino ישלחו פקודות מפתח למחשב שלך. תלחץ רק על כפתור אחד, אך המחשב שלך יחשוב שלחצת הכל > F4 , לדוגמה.





בחירת מתג

ישנן מספר וריאציות של מתגים מסדרת MX. האתר הזה מספק היכרות מצוינת, אולם הם בעצם מסתכמים ברעש ולחץ. חלק מהדגמים דורשים יותר כוח ללחיצה, ודגמים מסוימים משמיעים צליל 'קליק' מכני בעת לחיצה עליו. השתמשתי ב- Cherry MX Browns שאינם משמיעים רעש בעת לחיצה. כולם אותם מידות, אז בחר כל דגם שאתה אוהב (או ערבב והתאים) ללא חשש.

תצטרך לרכוש כמה מכסי מפתח, כמובן, ויש עולם של עיצובים בהתאמה אישית בחירה לבחירה - רכשנו מ KeyboardCo בבריטניה





המקרה

הדפסתי את המארז בתלת מימד ותוכל להוריד את .STL קבצים מ יקום . אל תדאג אם אין ברשותך מדפסת תלת מימד, אתה עדיין יכול לבנות זאת. אתרים רבים מספקים שירותי הדפסה בתלת מימד, כגון רכזות תלת מימד אוֹ Shapeways . לחלופין, מדובר במקרה פשוט מאוד, אתה יכול להכין בעצמך מפלסטיק, פרספקס, עץ או אפילו קרטון. אם אתה רוצה להיות חסכוני באמת, Cherry MX מוכרת בודק מתגים/דגימות מופעל אֲמָזוֹנָה ( בְּרִיטַנִיָה ). תזדקק ל 4 ברגים M5 x 35 מ'מ ו -4 אגוזים M5. אתה יכול כמובן להחליף אלה לחלופה מתאימה שיש לך.

מקש Keycap למקלדת, מתג MX Cherry, ערכת בודקים (9 מתגים Pro Sampler Kit Kit) קנה עכשיו ב- AMAZON

אם אתה יוצר מארז משלך, יש פרט חשוב אחד שאתה צריך לדעת: מתגי ה- MX של דובדבן הינם התאמה לדחיפה לתוך חורי ההרכבה שלהם. הם דורשים חור הרכבה מרובע בגודל 14 x 14 מ'מ (0.551 אינץ '), כשהצלחת אינה עבה יותר מ -1.5 מ'מ (0.059 אינץ'). תתרחק רחוק מדי מממדים אלה, וייתכן שהמתגים שלך כבר לא יותקנו כראוי.

המארז המודפס בתלת מימד הוא בשני חלקים, החלק העליון והתחתון. דחוף את מתגי ה- Cherry MX לתוך החורים המרובעים:

הקפד להתקין את המתגים בצורה הנכונה. בחלק העליון יש את המילים 'CHERRY', ולמטה יש חריץ קטן. הכנס נורית 3 מ'מ לחריץ הקטן הזה:

אתה עשוי לגלות כי נוריות LED נראה רכוב בצורה הטובה ביותר 'הפוך'. זה היה המקרה של מפתחות הכפתורים בהם השתמשתי, וזה לא משפיע על המתגים כלל.

כעת אמורים להיות לך תשעה מתגים עם 9 נוריות LED. אין צורך להדביק אף אחד מהחלקים הללו. הלחמה תחזיק את הלדים, וחיכוך יחזיק את המתגים.

לאחר מכן, הברג את תושבת ה- LED (השאר את הנורית הוסרה לעת עתה). אתה תסיים להרכיב את המארז מאוחר יותר, לאחר בניית המעגל.

המעגל

מעגל זה בנוי על לוח חשמל. זה מצוין לבניית מעגלים קבועים למחצה, ללא עלות של מעגל הדפסה (PCB). זה פשוט פיסת פיברגלס עם פסי נחושת הפועלים במקביל בכיוון אחד. מסלולים אלה ניתנים להלחמה, כמו גם לחיתוך. חיתוך מסילה יכול להתבצע בעזרת כלי מיוחד או מקדח קטן.

לא בטוח מדי בהלחמה? תסתכל קודם כל על הפרויקטים הפשוטים האלה.

להלן פריסת לוח החשבונות (לא כולל לידים נגררים):

הקפד לחתוך את העקבות מתחת לנגדים ולארדואינו. מכיוון שזה יכול להיות מאוד קשה לקרוא מעגל לוח, הנה גרסת לוח לחם:

ההתאמה הדוקה היא לסחוט את כל הרכיבים לחלל כה קטן. חותכים את פינות לוח החשבונות שלכם באופן הבא:

זה צריך להתאים בצורה חלקה לתחתית התיק:

ודא כי המסלולים פועלים אנכית.

חבר את האנודה ( רגל ארוכה, חיובית ) של ה- LED לנגד 200 אוהם ולאחר מכן ל- +5 V. חבר את הקתודה ( רגל קצרה, שלילית ) לקרקע. מכסים את הרגליים בשרוולי כיווץ חום ואז דוחפים לתוך מחזיק הלד. אין צורך בדבק כלשהו, ​​אולם ייתכן שמחזיק ה- LED שלך אינו בכושר דחיפה ולכן ייתכן שיהיה עליך להתאים את ההוראות הללו.

ייתכן שתרצה להשתמש כאן בנורית דו-צבעית כאן-הדבר יאפשר לך להגדיר שני בנקים או יותר של מתגים, עם נורית סטטוס בצבע שונה עבור כל בנק.

עכשיו הגיע הזמן להלחם את כל הלדים למפתחות הכפתורים. אלה משמשים אך ורק כדי לגרום למפתחות לזרוח, כך שתוכל לדלג עליהם אם תרצה, והם לא צריכים להיות מחוברים לסיכה דיגיטלית, רק כוח. חבר את כל האנודות יחד, ואת כל הקתודות יחד. למד מהטעות שלי - הרבה יותר קל לעשות זאת לפני חיווט המתגים! חבר את האנודות ל -5 V למרות הנגד של 220 אוהם, והקטודות לקרקע. נוריות אלה חוטיות במקביל. הנה המעגל רק עבור נוריות LED אלה:

השתמש בחתיכה קטנה של צינורות כיווץ חום כדי לכסות את החיבור בין נוריות ה- Arduino:

הפעל את ה- Arduino כדי לבדוק את כל נוריות ה- LED. אינך צריך להעלות קוד כלשהו. אם נוריות כלשהן אינן פועלות, עבור ובדוק שוב את החיווט שלך.

עכשיו חבר את המתגים. אלה חייבים להיות מחוברים באמצעות נגד 10k, אחרת הארדואינו ימות. זה נקרא short short - +5 V נכנס ישירות לאדמה, וכל מה שנשאר מהארדואינו שלך יהיה נפיחות עשן (תאמין לי, כבר הרגתי אחד כדי שלא תצטרך). להלן המעגל למתג אחד:

מעגל זה זהה לכל תשעת המתגים. חבר את המתגים לפינים הדיגיטליים שניים עד עשר, כל אחד עם הנגד שלו 10K לאדמה. היזהר בהלחמת מתגי ה- Cherry MX, הם יכולים להיות מעט שבירים, היו לי כמה סיכות נשברות עלי. ייתכן שתרצה להלחים את אלה ישירות לעוד לוח חשבונות, אולם עדיין מוליכים נגררים מתאימים.

זהו זה לחיווט. ייתכן שתרצה לחבר שקע נקבה מסוג USB מסוג B, אולם הסיכות הזעירות עליהן עלולות לעתים קרובות להיות די קשות להלחמה. אם אינך רוצה לעשות זאת, אל תדאג. מחבר ה- Micro USB בארדואינו מתאים בצורה מסודרת לחור במארז. אם אתה קצת מבולבל לגבי סוגי ה- USB השונים, וודא שאתה להבין את ההבדלים .

לבסוף, בדוק שוב שהמעגל שלך תקין. קצר יכול להרוס Arduino בקלות, וזה יכול להיות קל לביצוע באמצעות לוח חשמל.

הקוד

עכשיו בדוק שהמעגל נכון. מומלץ לעשות זאת לפני שתמשיך, כך שתוכל לתקן בעיות כל עוד אתה יכול. העלה את קוד הבדיקה הזה (אל תשכח לבחור את הלוח והיציאה הנכונים מתוך כלים > גלשן ו כלים > נמל תפריטים):

const int buttons[] = {2,3,4,5,6,7,8,9,10}; // array of all button pins
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
pinMode(2, INPUT);
pinMode(3, INPUT);
pinMode(4, INPUT);
pinMode(5, INPUT);
pinMode(6, INPUT);
pinMode(7, INPUT);
pinMode(8, INPUT);
pinMode(9, INPUT);
pinMode(10, INPUT);
}
void loop() {
// put your main code here, to run repeatedly:
for(int i = 2; i <11; ++i) {
if(digitalRead(i) == HIGH) {
// software de-bounce improves accuracy
delay(10);
if(digitalRead(i) == HIGH) {
// check switches
Serial.print ('input');
Serial.println(i);
delay(250);
}
}
}
}

ייתכן שיהיה עליך לשנות את הסיכות אם שינית את המעגל.

לאחר ההעלאה, פתח את הצג הטורי ( למעלה מימין > צג סידורי ). אחד אחד, לחץ על כל כפתור. אתה אמור לראות את הצג הטורי מראה את מספר הכפתור שלחצת עליו. בדיוק כמו עם הנורית, אם המחשב שלך מתלונן על ציור זרם רב מדי, או שהנורות כבות כאשר אתה לוחץ על כפתור, נתק מיד! יש לך קצר איפשהו במעגל, בדוק שוב שהמעגל נכון ואין קצרים בין החיבורים.

אם הכל עובד, קדימה והכנס את המעגל לקופסה. ייתכן שתרצה להשתמש בטיפת דבק כדי להחזיק את המעגל במקומו (למרות שהחוטים החזיקו את שלי בסדר). בורג גם את המכסה.

לגרום לארדואינו להיראות כמקלדת זה מאוד פשוט. אם אתה משתמש ב- Nano או UNO, אתה מתכוון לתכנת מחדש את ה- Arduino שלך באמצעות עדכון קושחה למכשיר (DFU). בדרך כלל זה משמש להבזק קושחה חדשה ל- Arduino. אתה הולך להשתמש בו כדי להבהב את Arduino עם קושחה חדשה שתגרום לו לעבוד כמו מקלדת. זה לא יעסוק כאן, מכיוון שמדובר במשימה די מורכבת. ה אתר ארדואינו יש הדרכה טובה לכך.

ה- Arduino Pro Micro הופך את הצעד הזה לקל מאוד. ההיגיון הנדרש לחיקוי מקלדת USB כבר מובנה במעבד, כך שזה פשוט כמו כתיבת קוד כלשהו!

ראשית, הגדר את המפתחות:

int keys[] = {2, 3, 4, 5, 6, 7, 8, 9, 10};

זהו מערך המכיל את כל הסיכות שאליהן המחברים את הכפתורים. אם השתמשת בכפתורים פחות או יותר או השתמשת בסיכות שונות, שנה את הערכים כאן.

מערך הוא אוסף של דברים דומים. מחשבים יכולים לייעל את הקוד שלך כדי לגשת אליו במהירות, והם מזרזים את תהליך כתיבת הקוד.

כעת אתחל את כל הסיכות ככניסות:

void setup() {
// put your setup code here, to run once:
Keyboard.begin(); // setup keyboard
for (int i = 2; i <11; ++i) {
// initilize pins
pinMode(i, INPUT);
}
}

זה אומר לארדואינו שכל הסיכות במערך הן תשומות. לולאה משמשת לשם כך, במקום לכתוב pinMode (2, INPUT) תשע פעמים, אתה רק צריך לכתוב את זה פעם אחת. זה גם קורא מקלדת.תחיל . זה מגדיר פונקציה מובנית בספריית Arduino, שנועדה במיוחד לחיקוי מקלדת.

צור שיטה שנקראת readButton :

boolean readButton(int pin) {
// check and debounce buttons
if (digitalRead(pin) == HIGH) {
delay(10);
if (digitalRead(pin) == HIGH) {
return true;
}
}
return false;
}

זה לוקח סיכה, ובודק אם הוא נלחץ או לא. זה פשוט חוזר נָכוֹן אוֹ שֶׁקֶר . הוא מכיל גם כמה פריצת תוכנה -עיכוב פשוט ולאחר מכן בדיקה מחודשת של המתג מבטיח שהלחצן באמת נלחץ.

עכשיו נקראת עוד לולאה בפנים לולאת חלל () :

void loop() {
// put your main code here, to run repeatedly:
for (int i = 2; i <11; ++i) {
// check buttons
if(readButton(i)) {
doAction(i);
}
}
}

שוב, זה עובר על כל רכיב במערך ובודק אם הוא נלחץ. זה עושה את זה על ידי שנקרא readButton שיטה שיצרת קודם. אם נלחץ על כפתור, הוא מעביר את מספר הסיכה הזה לשיטה אחרת הנקראת doAction :

void doAction(int pin) {
// perform tasks
switch (pin) {
case 2:
Keyboard.println('drive.google.com');
break;
case 3:
Keyboard.println('makeuseof.com');
break;
case 4:
// CMD + T (new tab, Chrome)
Keyboard.press(KEY_LEFT_GUI);
Keyboard.press('t');
delay(100);
Keyboard.releaseAll();
break;
case 5:
// your task here
break;
case 6:
// your task here
break;
case 7:
// your task here
break;
case 8:
// your task here
break;
case 9:
// your task here
break;
}
}

זה בודק את מספר הסיכה באמצעות א החלף הַצהָרָה. החלף הצהרות (לפעמים נקרא מארז מתג ) דומים ל- אם הצהרה, אולם הן שימושיות לבדיקה שדבר אחד (במקרה זה מספר הסיכה) שווה לאחת מכמה תוצאות שונות. בעיקרון, הם הרבה יותר מהירים לחישוב.

המרכיבים העיקריים נמצאים בתוך הצהרת מתג זו. Keyboard.println כותב טקסט למחשב כאילו הקלדת פיזית כל מקש. מקלדת.לחץ לוחץ לחיצה ארוכה על מקש אחד. אל תשכח לשחרר אותם באמצעות Keyboard.releaseAll לאחר עיכוב קצר!

כיצד לגרום למשחקים לפעול מהר יותר באנדרואיד

להלן הקוד המלא:

int keys[] = {2, 3, 4, 5, 6, 7, 8, 9, 10};
void setup() {
// put your setup code here, to run once:
Keyboard.begin(); // setup keyboard
for (int i = 2; i <11; ++i) {
// initilize pins
pinMode(i, INPUT);
}
}
void loop() {
// put your main code here, to run repeatedly:
for (int i = 2; i <11; ++i) {
// check buttons
if(readButton(i)) {
doAction(i);
}
}
}
boolean readButton(int pin) {
// check and debounce buttons
if (digitalRead(pin) == HIGH) {
delay(10);
if (digitalRead(pin) == HIGH) {
return true;
}
}
return false;
}
void doAction(int pin) {
// perform tasks
switch (pin) {
case 2:
Keyboard.println('drive.google.com');
break;
case 3:
Keyboard.println('makeuseof.com');
break;
case 4:
// CMD + T (new tab, Chrome)
Keyboard.press(KEY_LEFT_GUI);
Keyboard.press('t');
delay(100);
Keyboard.releaseAll();
break;
case 5:
// your task here
break;
case 6:
// your task here
break;
case 7:
// your task here
break;
case 8:
// your task here
break;
case 9:
// your task here
break;
}
}

בנוסף לכל מקשי הספרות והאותיות, הארדואינו יכול ללחוץ על רוב המקשים המיוחדים שנקראים שינויי מקלדת . אלה שימושיים במיוחד ללחיצת קיצורי מקשים. לאתר Arduino יש רשימה מועילה .

עכשיו כל שנותר הוא ליצור כמה קיצורי דרך. תוכל למפות זאת לקיצורי דרך קיימים, כגון הכל + F4 (סגור תוכנית ב- Windows) או Cmd + ש (צא מתוכנית macOS). לחלופין, הקפד לקרוא את שלנו מדריך קיצור מקשים אולטימטיבי , כיצד ליצור קיצורי דרך של Windows ו- כל קיצור דרך ל- Chromebook כדי להתחיל ליצור קיצורי דרך משלך.

האם יצרת תיבת קיצור משלך? ספרו לי בתגובות, אשמח לראות כמה תמונות!

אנו מקווים שאהבתם את הפריטים שאנו ממליצים עליהם ודנים בהם! ל- MUO יש שותפויות שותפות וממומנות, כך שאנו מקבלים נתח מההכנסות מכמה מהרכישות שלך. זה לא ישפיע על המחיר שאתה משלם ועוזר לנו להציע את המלצות המוצר הטובות ביותר.

לַחֲלוֹק לַחֲלוֹק צִיוּץ אימייל הנה הסיבה שה- FBI הוציא אזהרה על תוכנת כופר של כוורת

ה- FBI הוציא אזהרה על זן מגעיל במיוחד של תוכנות כופר. הנה הסיבה שאתה צריך להיזהר במיוחד מתוכנת הכופר של כוורת.

קרא הבא
נושאים קשורים
  • עשה זאת בעצמך
  • מקלדת
  • קיצורי דרך במקלדת
  • ארדואינו
על הסופר ג'ו קוברן(136 מאמרים פורסמו)

ג'ו בוגר מדעי המחשב מאוניברסיטת לינקולן שבבריטניה. הוא מפתח תוכנה מקצועי, וכשהוא לא מטיס רחפנים או כותב מוזיקה, לעתים קרובות אפשר למצוא אותו מצלם או מפיק סרטונים.

עוד מאת ג'ו קוברן

הירשם לניוזלטר שלנו

הצטרף לניוזלטר שלנו לקבלת טיפים, סקירות, ספרים אלקטרוניים בחינם ומבצעים בלעדיים!

לחצו כאן להרשמה