תוכן עניינים:
- אספקה
- שלב 1: מד תאוצה ממשק עם פטל פטל
- שלב 2: כפתור לחיצה ממשק עם פטל פטל
- שלב 3: פיתוח סקריפט Python לשליטה סדרתית על מצביע העכברים
- שלב 4: פיתוח סקריפט Python לשליטה במצביע העכברים באמצעות Bluetooth
- שלב 5: הטמעת תאוצה וכפתור על הכפפה
וִידֵאוֹ: [עכבר לביש] בקר עכבר לביש מבוסס Bluetooth עבור Windows 10 ו- Linux: 5 שלבים
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:12
הכנתי בקר עכבר מבוסס בלוטות 'שניתן להשתמש בו כדי לשלוט על מצביע העכברים ולבצע פעולות הקשורות לעכבר PC תוך כדי תנועה, מבלי לגעת במשטחים. המעגל האלקטרוני, המוטבע על כפפה, יכול לשמש כדי לעקוב אחר מחוות ידיים באמצעות מד תאוצה וניתן לתרגם אותו לתנועה של מצביע העכבר. למכשיר זה יש ממשק גם עם כפתור המשכפל את הלחיצה על הכפתור השמאלי. ניתן לחבר את המכשיר באופן סדרתי למחשב (באמצעות USB) או באופן אלחוטי באמצעות חיבור Bluetooth. Bluetooth מספק תקשורת אלחוטית חזקה ואוניברסלית בין המכשיר המארח לבין העכבר הלביש הזה. מכיוון ש- Bluetooth זמין באופן נרחב ומגיע עם כמעט כל המחשבים הניידים האישיים, מקרה השימוש במכשיר לביש כזה הוא רחב. השימוש ב- Raspberry Pi, המהווה פלטפורמת פיתוח נפוצה לפרויקטים שונים, ממשק חיישנים שונים ופיתוח מכשיר כזה הוא קל וניתן להרחבה. ניתן להחליף את הכפפה בכל לביש אחר כדי להפוך את היישום שלה רחב יותר.
כאמצעי זהירות נגד נגיף הקורונה (COVID-19), מומלץ להימנע ממגע עם משטחים הניתנים לשיתוף בין אנשים שונים, ומחשבים ניידים או עכבר עם מסך מגע יכולים להיות בין אותם משטחים נפוצים. שימוש במכשיר לביש כזה מסייע בשמירה על היגיינה ושמירה על חיטוי המשטחים הנפוצים:)
אספקה
- Raspberry Pi 3 דגם B V1.2
- פריצת מד תאוצה משולש ציר SparkFun - MMA8452Q
- חוט מגשר זכר לנקבה
- כפפה
- סרט דביק
- מספריים
- כבל מיקרו USB
- כבל HDMI (לאיתור באגים באמצעות Raspberry Pi)
שלב 1: מד תאוצה ממשק עם פטל פטל
השתמשתי במד תאוצה MMA8542Q דו-ציר מבית Sparkfun המשתמש בפרוטוקול התקשורת I2C כדי לדבר עם סיכות ה- Raspberry Pi GPIO ולשלוח את נתוני הצירים. חיישן זה מספק מצבי פעולה שונים עם קצב הנתונים הניתן להגדרה, מצבי שינה, טווח האצה, מצב סינון וכו '. מצאתי שהקוד מפיביטס עוזר מאוד בתצורת החיישן הראשונית שלי ובדיקתו באמצעות תנועות הידיים שלי. עדיף קודם כל למקם את החיישן על משטח שטוח ולבצע הטיה דטרמיניסטית תוך התבוננות בערכי החיישנים הגולמיים. זה שימושי במיוחד בהבנת כיצד חיישן זה מגיב בתנועות ידיים שונות וכיצד אנו יכולים להגדיר ספים ליישום שלנו. ברגע שמד התאוצה מתממשק בהצלחה, אתה יכול לראות את נתוני הצירים הגולמיים המגיעים למסך הטרמינל של הפי.
שלב 2: כפתור לחיצה ממשק עם פטל פטל
במכשיר לביש זה, התממשקתי לכפתור שיכול לפעול ככפתור עם העכבר השמאלי כדי שאוכל ללחוץ על אייקונים שעל המסך. 2 קצוות הכפתור מחוברים לאחר מכן ל -2 סיכות GPIO של ה- Pi. אחד הפינים פלט שיא לוגי והסיכה השנייה קוראת ערך זה. כאשר לוחצים על הכפתור, המעגל נסגר וסיכת הקלט מסוגלת לקרוא ערך גבוה לוגיקה, אשר לאחר מכן מעובד על ידי התסריט שכתבתי כדי לחקות לחיצה עם העכבר השמאלי. בגלל היעדר ברזל הלחמה, השתמשתי בדבק כדי לחבר את המגשרים עם הכפתור.
שלב 3: פיתוח סקריפט Python לשליטה סדרתית על מצביע העכברים
השתמשתי בספריית Pyautogui Python לשליטה על מצביע העכבר. הסיבה לשימוש בספרייה זו הייתה שהיא פועלת הן על לינוקס והן על פלטפורמת Windows. על מנת לשלוט על מצביע העכברים ב- Raspberry Pi שלי, תחילה חיברתי את ה- Pi לתצוגה. לאחר מכן, השתמשתי בממשקי ה- API הבאים המסופקים על ידי הספרייה כדי לשלוט על מצביע העכבר שלי:
- pyautogui.move (0, 200, 2) # מעביר את העכבר למטה 200 פיקסלים לאורך 2 שניות
- pyautogui.click () # לחץ על העכבר
על מנת לסנן נתוני שגיאות המגיעים מאיץ מד, השתמשתי בשיטות ממוצעות וסינון אחרות שניתן להבין אותן בקלות באמצעות הקוד המצורף. ה- API pyautogui.move (0, y) שימש באופן שמצביע העכבר יכול לעלות כלפי מעלה או שמאלה ימינה בכל פעם. הסיבה לכך היא שמד התאוצה מדווח על צירים בכיוון X, Y ו- Z, אך ה- API לוקח רק 2 ארגומנטים, X ו- Y צירים. מכאן שגישה זו התאימה מאוד למד התאוצה שלי ולמפות את המחוות על המסך.
שלב 4: פיתוח סקריפט Python לשליטה במצביע העכברים באמצעות Bluetooth
חלק זה הוא יישום מתקדם שבו כל מחשב נייד בעל יכולות Bluetooth יכול לתקשר עם פטל פיי במודל תקשורת שרת-לקוח ולהעביר נתוני קואורדינטות עכבר באופן אלחוטי. על מנת להקים מחשב נייד של Windows 10 64 סיביות שיאפשר תקשורת Bluetooth, עלינו לבצע את השלבים הבאים:
חלונות 10:
- צור יציאת Bluetooth COM נכנסת.
- חבר את ה- Bluetooth של ה- Pi עם ה- Bluetooth של המחשב הנייד על ידי הפיכת Pi לגלות.
- התקן את פייתון ב- Windows.
- התקן פיפ ב- Windows. פיפ משמש להתקנת ספריות במחשב לינוקס או Windows.
- התקן את pyautogui ב- Windows באמצעות: pip install pyautogui
- לאחר התקנת pyautogui בהתקן, התקן את Pybluez ב- Windows באמצעות הפקודה הבאה במסוף Windows באמצעות: pip install PyBluez-win10. PyBluez מאפשרת תקשורת Bluetooth במחשבי Windows ו- Linux כאחד.
-
על מנת לפתח יישום במחשב נייד של Windows 10, עלינו להתקין את Microsoft Visual Studio (נדרש 15-20 GB של שטח) ואת כלי הבנייה שלו. לכן, יחד עם PyBluez, עלינו לפעול לפי ההוראות שלהלן,
- הורד והפעל את "Visual Studio Installer":
- התקן את "Visual Studio Build Tools 2017", בדוק את "כלי בניית Visual C ++" ו- "כלי בניית אוניברסלי של Windows Platform"
- שיבוט git
- cd pybluez
התקנת python setup.py
-
אם ההנחיות לעיל מתקיימות כהלכה, הפעלת Python במסוף Windows ויבוא מודול pyautogui ו- Bluetooth אמורות לפעול ללא שגיאות, בהתאם לתמונה למעלה.
- בספריית pybluez המותקנת במחשב Windows, נווט אל: pybluez-master / דוגמאות / פשוט / rfcomm-server.py והפעל באמצעות python rfcomm-server.py. אם הטרמינל נכנס למצב המתנה ללא שגיאות, עבור לסעיף שלהלן להגדרת Bluetooth ב- Pi. אם ישנן שגיאות בהתקנת pybluez, עיין בבעיות GitHub לצורך איתור באגים.
Raspbian ב- Raspberry Pi:
- התקן את PyBluez ב- Pi
- הפעל את דוגמת השרת ב- Windows. לאחר מכן, ב- Pi, נווט אל pybluez-master / דוגמאות / פשוט / rfcomm-client.py והפעל. אם שני המכשירים החלו לתקשר, Bluetooth מותקן כעת בשני המכשירים. כדי להבין יותר כיצד פועלת תקשורת שקע עם Python, עיין בקישור זה מ- MIT.
יהיה צורך בניתוח נתונים נוסף כדי לשלוח נתוני צירים מ- Pi למחשב, מכיוון שהנתונים נשלחים בבייטים. עיין בקוד המצורף למידע נוסף על תקשורת נתוני הלקוח והשרת.
שלב 5: הטמעת תאוצה וכפתור על הכפפה
ברגע שמד התאוצה מתקשר היטב, מערכת השלד נראית משהו בתמונה הראשונה בשלב זה.
מכיוון שמשטח הכפפה אינו שטוח, השתמשתי בכרטיס אשראי דמה שמגיע מדי פעם לתיבת הדואר שלי. בהתאם לתמונה השנייה בשלב זה, הצמדתי את כרטיס האשראי הדמי על המשטח העליון של הכפפה שלי בעזרת נייר דבק. מעל הכרטיס חיברתי את מד התאוצה שלי. מערך זה היה מספיק חזק כדי לשמור על מד התאוצה שלי יציב ויכול לעקוב אחר המחוות שלי במדויק.
מוּמלָץ:
בקר משחק DIY מבוסס Arduino - בקר משחקים Arduino PS2 - משחק Tekken עם לוח המשחקים Arduino DIY: 7 שלבים
בקר משחק DIY מבוסס Arduino | בקר משחקים Arduino PS2 | משחק Tekken עם DIY Arduino Gamepad: שלום חבר'ה, משחקים זה תמיד כיף, אבל משחק עם בקר DIY מותאם אישית משלך הוא יותר כיף. אז נכין בקר משחק באמצעות arduino pro micro במדריך זה
מד חום אינפרא אדום מבוסס Arduino - מד חום מבוסס IR באמצעות Arduino: 4 שלבים
מד חום אינפרא אדום מבוסס Arduino | מד חום מבוסס IR באמצעות Arduino: היי חברים במדריך זה נכין מדחום ללא מגע באמצעות arduino. מכיוון שלפעמים הטמפרטורה של הנוזל/מוצק גבוהה מדי או נמוכה ואז קשה ליצור איתו קשר ולקרוא אותו הטמפרטורה אז בתרחיש זה
חיישן תנועה מבוסס PIR מבוסס Arduino: 4 שלבים
חיישן תנועה מבוסס PIR מבוסס Arduino: בעזרת פרויקט זה, אתה יכול לשלוט על המצב הגבוה והרגישות של PIR
מחולל מוזיקה מבוסס מזג אוויר (מחולל מידי מבוסס ESP8266): 4 שלבים (עם תמונות)
מחולל מוזיקה מבוסס מזג אוויר (מחולל מידי מבוסס ESP8266): היי, היום אסביר כיצד להכין מחולל מוזיקה קטן מבוסס מזג אוויר. ועוצמת אור. אל תצפה שהוא ייצור שירים שלמים או יתפתח אקורד
משחק משחק ציפור פלאפפי עם לוח פיתוח מבוסס M5stack Esp32 מבוסס M5stick C: 5 שלבים
משחק משחק Flappy Bird עם לוח פיתוח מבוסס M5stack Esp32 מבוסס M5stick C: היי חברים היום נלמד כיצד להעלות את קוד משחק הציפורים ללוח הפיתוח של m5stick c המסופק על ידי m5stack. לפרויקט קטן זה תזדקקו לשני דברים הבאים: m5stick-c לוח פיתוח: https://www.utsource.net/itm/p/8663561.h