יש מגוון רחב של דרכים להעביר מידע מאדם למיקרו-בקר או למחשב, ואחת מהן היא באמצעות ג'ויסטיק. בואו נראה איך לחבר ג'ויסטיק אנלוגי עם שני צירים וכפתור לארדואינו.
זה הכרחי
- - ארדואינו;
- - ג'ויסטיק דו-צירי;
- - 3 נגדים בערך נומינלי של 220 אוהם;
- - 1 RGB או 3 נוריות נוריות.
הוראות
שלב 1
הג'ויסטיק הוא מכשיר נוח וקל לשימוש להעברת מידע. ישנם מספר רב של סוגי ג'ויסטיקים מבחינת מספר דרגות החופש, עקרון קריאת האינדיקציות והטכנולוגיות המשמשות. ג'ויסטיקים משמשים לרוב לשליטה בתנועה של כל מנגנון, מודל מבוקר, רובוט. הג'ויסטיק האנלוגי, שנביט בו היום, הוא ידית המחוברת למפרק כדור עם שני צירים בניצב זה לזה. כאשר הכפתור מוטה, הציר מסובב את המגע הניתן לתנועה של הפוטנציומטר, שבגללו מתח המתח ביציאתו משתנה. כמו כן, לג'ויסטיק האנלוגי יש כפתור טקט המופעל כאשר לוחצים על הידית אנכית.
שלב 2
חבר את הג'ויסטיק בהתאם לתרשים להלן. חבר את היציאות האנלוגיות X ו- Y של הג'ויסטיק לכניסות האנלוגיות A1 ו- A2 של ה- Arduino, את הפלט של כפתור SW לכניסה דיגיטלית 8. הג'ויסטיק מופעל על ידי מתח של +5 V.
שלב 3
על מנת לראות בבירור כיצד עובד הג'ויסטיק, בוא נכתוב סקיצה כזו. בואו נכריז על הפינים, נגדיר עבורם את מצבי ההפעלה. שימו לב כי בהליך ההתקנה () הגדרנו את קלט switchPin לרמה גבוהה. זה מאפשר את הנגיעה המובנית בנמל זה. אם לא תפעיל אותו, כאשר לחצן הג'ויסטיק לא נלחץ, יציאת הארדואינו השמינית תתלה באוויר ותתפוס טנדרים. זה יוביל לתגובות כוזבות לא רצויות וכאוטיות.
בהליך הלולאה (), אנו כל הזמן סוקרים את מצב הכפתור ומציגים אותו באמצעות הנורית בפלט 13. בשל כניסת ה- SwitchPin הנמשכת כלפי מעלה, ה- LED דולק ללא הרף, וכאשר לוחצים על הכפתור הוא נכבה, ולא להיפך.
לאחר מכן אנו קוראים את הקריאות של שני הפוטנציומטרים של הג'ויסטיק - הפלט של צירי ה- X וה- Y. לארדואינו יש ADC של 10 סיביות, כך שהערכים הנקראים מהג'ויסטיק נעים בטווח שבין 0 ל -1023. במיקום האמצעי של הג'ויסטיק, כפי שניתן לראות באיור, הערכים באזור 500 הם בערך באמצע הטווח.
שלב 4
בדרך כלל משתמשים בג'ויסטיק לבקרת מנועים חשמליים. אבל למה לא להשתמש בו כדי לשלוט על בהירות הנורית, למשל? בואו נחבר נורית RGB (או שלוש נוריות נוריות רגילות) ליציאות הדיגיטליות 9, 10 ו -11 של הארדואינו על פי התרשים שלעיל, ולא נשכח, כמובן, מהנגדים.
שלב 5
נשנה את בהירות הצבעים המתאימים בעת שינוי מיקום הג'ויסטיק לאורך הצירים, כפי שמוצג באיור. בשל העובדה כי הג'ויסטיק אולי לא מרוכז במדויק על ידי היצרן ואמצע הסקאלה אינו בסביבות 512, אך בין 490 ל -525, ה- LED עשוי להדליק מעט גם כאשר הג'ויסטיק נמצא במצב ניטרלי. אם ברצונך לכבות אותו לחלוטין, בצע את התיקונים המתאימים לתוכנית.
שלב 6
בהתבסס על התרשים שלמעלה, נכתוב סקיצה של ארדואינו השולט על בהירות נורית ה- RGB באמצעות ג'ויסטיק.
ראשית, נכריז על התכתבות של סיכות ושני משתנים - ledOn ו- prevSw - לעבודה עם הכפתור. בהליך ההתקנה (), הקצה את הפונקציות לסיכות וחבר את הנגד למשוך לסיכת הכפתור באמצעות הפקודה digitalWrite (swPin, HIGH).
בלולאה () אנו מגדירים את הלחיצה על כפתור הג'ויסטיק. כשלוחצים על הכפתור, אנו מחליפים את מצבי ההפעלה בין מצב "פנס" למצב "מוסיקה צבעונית".
במצב freeMode (), בהירות הנוריות נשלטת על ידי הטיית הג'ויסטיק לכיוונים שונים: ככל שהטיה חזקה יותר לאורך הציר, כך הצבע המקביל בוהק. יתר על כן, טרנספורמציית הערכים משתלטת על ידי פונקציית המפה (value, fromLower, fromUpper, toLower, toUpper). פונקציית map () מעבירה את הערכים הנמדדים (מ- Low ל- High) לאורך צירי הג'ויסטיק לטווח הבהירות הרצוי (ל- Low, ל- High).אתה יכול לעשות את אותו הדבר עם פעולות חשבון רגילות, אך סימון זה קצר בהרבה.
במצב discoMode (), שלושה צבעים מחליפים לסירוגין בהירות ונכבים. כדי להיות מסוגל לצאת מהלולאה כשלוחצים על הכפתור, אנו בודקים כל איטרציה כדי לראות אם הכפתור נלחץ.
שלב 7
התוצאה היא פנס העשוי מנורת LED RGB צבעונית, בהירות כל צבע מוגדרת באמצעות ג'ויסטיק. וכאשר לוחצים על הכפתור, מצב "מוסיקה צבעונית" מופעל. למרות שאני משתמש בו, להפך, כאור לילה.
לפיכך למדנו כיצד לחבר ג'ויסטיק אנלוגי דו-צירי עם כפתור לארדואינו ולקרוא קריאות ממנו. אתה יכול לחשוב וליישם שימוש מעניין יותר בג'ויסטיק מאשר בדוגמה שלנו.