פרסומת

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

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

מה אתה צריך

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

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

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

instagram viewer

OSOYOO Pro Micro ATmega32U4 5V / 16MHz מודול לוח עם 2 כותרות סיכה שורה ל arduino לאונרדו החלף את ATmega328 Pro MiniOSOYOO Pro Micro ATmega32U4 5V / 16MHz מודול לוח עם 2 כותרות סיכה שורה ל arduino לאונרדו החלף את ATmega328 Pro Mini קנו עכשיו באמזון $10.99

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

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

בניית תוכנית

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

בחירת מתג

ארדואינו שרי MX

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

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

המקרה

הדפסתי את התיק הזה בתלת ממד ותוכל להוריד את ה- .STL קבצים מ- Thingiverse. אל תדאג אם אין לך מדפסת תלת ממדית, אתה עדיין יכול לבנות את זה. אתרים רבים מספקים שירותי הדפסת תלת מימד, כגון רכזות תלת מימד או מסלולי דרך. לחלופין, זה מקרה פשוט מאוד, אתה יכול להכין משלך מפלסטיק, פרספקס, עץ או אפילו קרטון. אם אתה רוצה להיות חסכן באמת, Cherry MX תמכור בודק / מדגם מתג שנקבע אמזון (בריטניה). תצטרך 4 ברגים M5 x 35 מ"מ ו -4 M5 אגוזים. אתה יכול כמובן להחליף את אלה בחלופה מתאימה שיש לך.

Keycap מקלדת מקסימלי, מתג MX של דובדבן, ערכת בודק (9 מתגים Pro Pro Sampler Tester)Keycap מקלדת מקסימלי, מתג MX של דובדבן, ערכת בודק (9 מתגים Pro Pro Sampler Tester) קנו עכשיו באמזון $14.99

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

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

קיצור הדרך הר MX

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

קיצור דרך LED של דובדבן MX

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

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

קיצור דרך Cherry MX All

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

המעגל

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

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

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

רצועת קיצור של ארדואינו

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

לחם קיצור דרך של ארדואינו

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

רצועת קיצור

זה אמור להתאים היטב לתחתית המקרה:

רצועת קיצור בקופסה

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

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

נורית סטטוס קיצור דרך

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

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

מעגל נוריות לחצן קיצור דרך

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

קיצור דרך LED הקירור

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

בדיקת LED קיצור דרך

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

מעגל קיצורי הדרך של ארדואינו

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

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

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

הקוד

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

לחצני const int [] = {2,3,4,5,6,7,8,9,10}; // מערך כל סיכות הכפתורים בטל ההתקנה () {// שים את קוד ההתקנה שלך כאן, כדי לרוץ פעם אחת: Serial.begin (9600); pinMode (2, קלט); pinMode (3, קלט); pinMode (4, קלט); pinMode (5, קלט); pinMode (6, קלט); pinMode (7, INPUT); pinMode (8, קלט); pinMode (9, INPUT); pinMode (10, קלט); } לולאת חלל () {// שימו כאן את הקוד הראשי שלכם, כדי לרוץ שוב ושוב: עבור (int i = 2; i <11; ++ i) {if (digitalRead (i) == HIGH) {// ניתוב תוכנה משפר את עיכוב הדיוק (10); if (digitalRead (i) == HIGH) {// לבדוק את מתגי Serial.print ("קלט"); Serial.println (i); עיכוב (250); } } } }

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

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

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

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

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

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

מקשי int [] = {2, 3, 4, 5, 6, 7, 8, 9, 10};

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

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

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

הגדרת ביטול () {// שימו את קוד ההתקנה שלכם כאן, כדי להפעיל פעם אחת: Keyboard.begin (); // מקלדת התקנה עבור (int i = 2; i <11; ++ i) {// ליישם סיכות pinMode (i, INPUT); } }

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

צור שיטה בשם readButton:

כפתור הקריאה הבוליאני (pin pin) {// בדוק ונתק את כפתורי ה- if (digitalRead (pin) == HIGH) {עיכוב (10); אם (digitalRead (pin) == HIGH) {להחזיר אמת; }} חזרו כוזבים; }

זה לוקח סיכה ובודק אם הוא נלחץ או לא. זה פשוט חוזר אמת או FALSE. הוא מכיל גם כמה הפעלת תוכנה עיכוב פשוט ואז בדיקה מחודשת של המתג מבטיחה כי הכפתור באמת נלחץ.

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

לולאת חלל () {// שימו כאן את הקוד הראשי שלכם, כדי לרוץ שוב ושוב: עבור (int i = 2; i <11; ++ i) {// בדוק כפתורים אם (readButton (i)) {doAction (i); } } }

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

doAction בטל (pin pin) {// לבצע מתג משימות (pin) {מקרה 2: Keyboard.println ("drive.google.com"); לשבור; מקרה 3: Keyboard.println ("makeuseof.com"); לשבור; מקרה 4: // CMD + T (כרטיסייה חדשה, Chrome) מקלדת. לחץ (KEY_LEFT_GUI); Keyboard.press ('t'); עיכוב (100); מקלדת. ReleaseAll (); לשבור; מקרה 5: // הפסקת המשימה שלך כאן; מקרה 6: // הפסקת המשימה שלך כאן; מקרה 7: // הפסקת המשימה שלך כאן; מקרה 8: // הפסקת המשימה שלך כאן; מקרה 9: // המשימה שלך כאן הפסקה; } }

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

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

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

מקשי int [] = {2, 3, 4, 5, 6, 7, 8, 9, 10}; הגדרת ביטול () {// שימו את קוד ההתקנה שלכם כאן, כדי להפעיל פעם אחת: Keyboard.begin (); // מקלדת התקנה עבור (int i = 2; i <11; ++ i) {// ליישם סיכות pinMode (i, INPUT); } } לולאת חלל () {// שימו כאן את הקוד הראשי שלכם, כדי לרוץ שוב ושוב: עבור (int i = 2; i <11; ++ i) {// בדוק כפתורים אם (readButton (i)) {doAction (i); } } } כפתור הקריאה הבוליאני (סיכת int) {// בדוק והכפתורי כפתורים אם (digitalRead (pin) == HIGH) {עיכוב (10); אם (digitalRead (pin) == HIGH) {להחזיר אמת; }} חזרו כוזבים; } void doAction (pin pin) {// לבצע מתג משימות (pin) {מקרה 2: Keyboard.println ("drive.google.com"); לשבור; מקרה 3: Keyboard.println ("makeuseof.com"); לשבור; מקרה 4: // CMD + T (כרטיסייה חדשה, Chrome) מקלדת. לחץ (KEY_LEFT_GUI); Keyboard.press ('t'); עיכוב (100); מקלדת. ReleaseAll (); לשבור; מקרה 5: // הפסקת המשימה שלך כאן; מקרה 6: // הפסקת המשימה שלך כאן; מקרה 7: // הפסקת המשימה שלך כאן; מקרה 8: // הפסקת המשימה שלך כאן; מקרה 9: // המשימה שלך כאן הפסקה; } }

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

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

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

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