משחק הנחש היה מאוד פופולרי מאז תחילת הטלפונים הניידים. בתחילה הוא הגיע בטלפונים סלולריים בשחור לבן, ועד מהרה התפרסם מאוד. ואז עם התקדמות הטלפונים הסלולריים, גם המשחק הזה השתנה מאוד, וכעת זמינות גרסאות גרפיות וצבעוניות רבות למשחק זה.
משחק הנחש הפך גם לפרויקט DIY פופולרי מאוד עבור הוביסטים וסטודנטים אלקטרוניים. אז היום אנו הולכים להפגין, משחק נחש ארדואינו, על כל הפונקציות הבסיסיות שלו, תוך שמירה על הפשטות בו זמנית.
רכיבים בשימוש:
- ארדואינו UNO
- תצוגת מטריקס LED 8x8
- Shift Register 74HC595
- LCD בגודל 16x2
- סיר 1K
- ללחוץ על כפתורים
- חוטי חיבור
- לוח לחם
- ספק כוח
הסבר עבודה:
זהו משחק מסובך מעט לבנייה. אבל במדריך זה עשינו את זה פשוט עבורך. לצורך ביצוע פרויקט זה, השתמשנו בתצוגת מטריצת נקודה בצבע אדום 8x8 להצגת הנחש ונקודת האוכל שלו, LCD לתצוגת הנקודות או הציון, 5 לחצני כפתור למתן הוראות ולהתחלת המשחק ולבסוף ארדואינו UNO לשליטה כל התהליך. דיאגרמת סיכות של תצוגת מטריקס LED 8x8 עם התמונה המקורית שלה ניתנת להלן:
כאשר אנו מפעילים את המעגל, ראשית אנו מציגים הודעת קבלת פנים ואז רמז "לחץ על התחל לשחק" על גבי LCD. לאחר מכן, LCD מציג את הציון כאפס ותצוגת מטריקס נקודה מראה שתי נקודות כנחש ונקודה אחת כמזון.
כעת המשתמש צריך ללחוץ על הכפתור האמצעי כדי להתחיל את המשחק ונחש מתחיל לנוע בכיוון מעלה כברירת מחדל. אז המשתמש צריך לתת כיוון לנחש על ידי לחיצה על 'מקשי הכיוון' סביב הכפתור האמצעי. כאן השתמשנו בחמישה מקשים (לחצני כפתור) כלומר מקש שמאל, מקש ימני, מקש למעלה, מקש למטה ומקש התחל. בכל פעם שהנחש מגיע לנקודת האוכל או אוכל את האוכל, הציון עולה ב -5 נקודות בכל פעם ואורך הנחש גדל בנקודה אחת (LED) בכל פעם, גם מהירות הנחש הופכת למהירה מבעבר. ובכל פעם שנחש היה מכה על קיר כלשהו או מגיע בסוף מטריצת ה- LED, אז זה היה מסיים את המשחק ("Game Over"). אז המשתמש צריך להתחיל את המשחק שוב על ידי לחיצה על מקש התחל.
הסבר מעגל:
המעגל של פרויקט משחק הנחש הזה הוא מורכב מעט. כאן חיברנו תצוגת מטריצות נקודה באמצעות Shift Register 74HC595. כאן משתמשים בשני רושמי משמרות, אחד להנעת העמודות והשני להנעת השורות. סיכות בקרה של שני האגפים, רושם משמרות עמודים ורושם משמרות שורות (SH, ST),מחוברים ישירות לסיכה של Arduino 14 ו- 16 בהתאמה. וסיכה DS של רושם משמרות עמודים ורשם משמרות שורה מחוברים ישירות לסיכה מספר 15 ו -17 של Arduino. כפתור התחלה להתחלת המשחק מחובר בסיכה מספר 3, כפתור כיוון שמאל בסיכה 4, כפתור כיוון ימין בסיכה 6, כפתור למעלה בכיוון סיכה 2 ולחצן כיוון למטה בסיכה 5. LCD מחובר גם בחומרה שלנו ציון להראות. סיכות RS ו- EN מחוברות ישירות בסיכה 13 ו 12. סיכת RW קרקע ישירות. וסיכות נתונים d4-d7 מחוברות בסיכה 11, 10, 9, 8 של Arduino. שאר החיבור מוצג בתרשים המעגל.
הסבר על תכנות:
כדי לכתוב קוד משחק נחש זה של ארדואינו, קודם כל אנו כוללים קבצי כותרת ומגדירים סיכות עבור LCD. ואז הגדר כמה סיכות ללחצני כיוון וסיכת נתונים לרושמי משמרות.
#לִכלוֹל
לאחר מכן אנו מאותחלים את כל הדברים שהשתמשנו בהם בתוכנית. ב התקנת הפונקציה אנו לאתחל LCD, נותן כיוון סיכות פלט קלט, למשוך את פיסות מראת הודעת ברכה על LCD.
הגדרת חלל () {lcd.begin (16,2); pinMode (ds_col, OUTPUT); pinMode (sh_col, OUTPUT); pinMode (st_col, OUTPUT); pinMode (ds_row, OUTPUT); pinMode (התחל, INPUT);……………
ואז אנחנו מתחילים משחק בפונקציה לולאה .
חלל show_snake (int temp) {עבור (int n = 0; n
כאן השתמשנו בפונקציה שלהלן לקריאת כיוון הקלט מהלחצן.
בטל read_button () {if (! digitalRead (משמאל)) {move_r = 0; move_c! = - 1? move_c = -1: move_c = 1; בעוד (! digitalRead (משמאל));……………
בדוק את קוד ה- C המלא של משחק הנחש להלן.