תוכן עניינים:
וִידֵאוֹ: שחמט דיגיטלי - עקוב אחר משחק השחמט שלך באינטרנט: 5 שלבים
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:15
אני משחק הרבה שחמט מאז שהייתי צעיר, ומאחר והאינטרנט כולל כמות עצומה של אתרים בהם אפשר לשחק שחמט מול מחשבים או יריבים חיים, מעולם לא מצאתי אתר שעוקב אחר משחק השחמט שלך שאתה ממש משחק בחיים האמיתיים. אז עם הפרויקט הזה אני מקווה לממש זאת!
אני מקווה ש:
- להיות מסוגל לעקוב אחר התנועה של יצירות השחמט
- עיין בכמה טבלאות לידר על משחקים קודמים.
- עקוב אחר הזמן ושחק מהר כמו משחק מקצועי.
זהו פרויקט מורכב מאוד שכן אם יושלם הוא ידרוש 64 חיישני אור ו -8 שבבים לקריאה. שזו כבר משימה גדולה ואנחנו אפילו לא סופרים אף אחד מהחיישנים האחרים.
המכללה שלי נתנה לנו רשימה גדולה של דברים לעשות:
- צור סכמטי לפרויקט שלנו
- צור מסד נתונים לאחסון וקבלת נתונים.
- עיצוב אתר באמצעות Adobe XD
- צור אתר זה מחדש באמצעות CSS ו- HTML
- קרא את החיישנים עם פייתון
- הצג את נתוני החיישנים באתר באמצעות בקבוק.
במדריך זה אלווה אותך במסע שלי, ואת כל הצרות ורגעי ההצלה שעברתי בשבועיים האחרונים.
שלב 1: ציוד/כלים
אספקה, חומרים וכלים הם השלב הראשון לפרויקט מוצלח!
כלים:
- מלחם
- פח הלחמה
- צְבָת
- מקדחה
- קלטת
אספקה:
- פטל פאי עם כרטיס מיקרו SD (4GB אמור להספיק)
- Rasberry Pi סנדלר
- לוח שחמט עם חלקים
- תצוגת 7 פלחים (TM 1637)
- 2 חיישני מגע (TTP223B)
- קורא RFID עם כרטיסים (MFRC522)
- MCP3008 (תלוי כמה רחוק אתה רוצה ללכת, עבור כל MCP אתה יכול לקרוא 8 קואורדינטות שחמט)
- התנגדות תלויה באור 5288 (8 לכל MCP שיש לך)
- כותרות (זכר לזכר ונקבה לזכר)
אם אתה צריך לקנות הכל, מחיר העלות המשוער צריך להיות בסביבות 125 יורו כולל עלויות משלוח (ציוד בלבד)!
מצורף קובץ אקסל עם קישורים ומחירים לכל מה שאתה צריך!
שלב 2: סכמות ותכנון
השלב הבא בפרויקט זה הוא יצירת סכמטי. הכנתי 2: אחד על קרש לחם ואחד אלקטרוני בלבד. נזדקק לתרשימים אלה כדי לשמור על הכל נקי ולוודא שלא נחבר דברים מיותרים!
השתמשתי בתוכנית בשם "Fritzing" כדי ליצור סכמטים אלה אם מישהו מעוניין בכך.
קידוד צבעים:
- אדום = ספק כוח
- ירוק = חיבור
- כחול = טחון
חיבורי פטל פטל:
- 3V3 => קו VC בלוח הלחם, מניע הכל
- 5V => VCC של 7 פלחי תצוגה
-
GND:
- טחון על לוח הלחם
- הקרקע של תצוגת 7 הקטעים
- GPIO4 => שעון בחר סיכה של MCP3008
- GPIO10 => סיכת MOSI של MCP3008
- GPIO9 => סיכת MISO של MCP3008
- GPIO11 => סיכת CLK של MCP3008
- GPIO7 => סיכת SDA של MFRC522
- GPIO19 => סיכת DIG של חיישן המגע הראשון
- GPIO26 => סיכת DIG של חיישן המגע השני
- GPIO20 => סיכת CLK בתצוגת שבעה הפלחים
- GPIO21 = סיכת DIO של תצוגת הקטע השביעי
כמה הערות על התרשימים:
- סכמטי זה מכיל רק MCP אחד, פירוש הדבר שרק 8 קואורדינטות יוכלו לקרוא באופן מלא.
- אני אשתמש בסיכות GPIO כ- Chip Select שלי. מאחר שרק 2 סיכות בחירה בשבבים זמינות עם 8 MCP אפשרי.
- תצוגת 7 הקטעים היא אחת המוצעת על ידי מורה, רק 4 חוטים נחוצים מכיוון שהיא פועלת על הפרוטוקול שלה.
- הנגדים בסיכה הדיגיטלית של חיישני המגע אינם נחוצים במלואם, אך הם מומלצים.
הסבר על המרכיבים:
-
MCP עם חיישני אור:
-
MCP3008 הוא ADC בעל 8 ערוצים של 10 סיביות:
- MCP3008 יקרא את הערך האנלוגי של חיישני האור, ערך זה תלוי בכמות האור הזורחת כעת על החיישן.
- בקוד הפיתון שלי אקבל את הערך האנלוגי הזה ואמיר אותו ל- 1 או 0
-
- משתמש בפרוטוקול ספציפי (SPI) עם חבילה מותקנת.
- לא קשה לקודד עם חבילה מותקנת
- קורא את התג ומחזיר את ערך התג
- אתה יכול גם לכתוב ערך לתג, כך שבמקום להחזיר את הערך ההקסדצימלי הוא מחזיר שם למשל
- משתמש גם בחבילה מותקנת לקידוד קל
- צור משתנה עם ערך שלם, ואז פיצל אותו ב -4 תווים והראה את התווים האלה
חיישני מגע:
עובד בדיוק כמו כפתור, אני משתמש בכיתה לשם שיטת התקשרות חוזרת. עוד על כך בהמשך
קורא RFID (MFRC 522):
7 פלחים (TM1637)
שלב 3: מסד נתונים של SQL
השלב השלישי לקראת פרויקט זה הוא יצירת מסד נתונים SQL מנורמל 3NF!
נזדקק לזה עבור:
- הכנסת נתונים
- קבלת נתונים והצגתם באתר שלנו
- היכולת לראות בדיוק כמה סיבובים עברו במשחק השחמט הנוכחי!
טבלאות הסבירו:
-
משחקים
- עוקב אחר מי זכה במשחק מסוים ומתי המשחק שיחק
- המפתח העיקרי כאן הוא GameID
- לתאריך יש ערך סטנדרטי של התאריך הנוכחי
- המנצח והציון יתווספו מאוחר יותר, לאחר סיום המשחק!
-
שחקנים (כובשים בהולנדית)
- אלה מוכנסים באופן ידני, אך ניתן להכניס אותם גם באמצעות מערכת כרטיסי ה- RFID.
- כתוב שם לכרטיס שלך, ולאחר מכן קרא את הכרטיס והכנס את השם לטבלה זו
- הוא עוקב גם אחר שיא הניצחון / ההפסד של כל שחקן, שיוצג באתר
-
היסטוריה (היסטוריה)
- זוהי היסטוריית התורות
- כאשר לוח שחמט יועבר, הוא יתעדכן כאן
- יש לו 3 מפתחות זרים, שחקן, משחק ושחמט
- תאריך הקריאה (InleesDatum) הוא התאריך שבו נקרא החיישן
- ReadTime זהה ל- ReadDate אך עם חותמת זמן
- LocationID (LocatieID) הוא השם של הקואורדינטות שבה הוא ממוקם. למשל "a3"
-
כלי שחמט (Schaakstukken בהולנדית)
- לכל לוח שחמט יש תעודה, צוות, שם ומעמד
- הצוות הוא 1 או 2, שחור או לבן;
- שם היצירה אי פעם יהיה קרי "משכון 1"
- הסטטוס אומר שהיצירה חיה או מתה!
שלב 4: חומרה
כעת, לאחר שקיבלנו את כל החלקים הנכונים, נוכל להתחיל ליצור משהו!
בואו נחלק את החלק הזה לשלבי משנה מכיוון שיהיה קל יותר להסביר אותו:
-
שלב 1: אתה רוצה לקדוח חור בכל קואורדינטות של לוח השחמט שלך כפי שמוצג בתמונה הראשונה, וגם לקדוח חור שבו אתה רוצה למקם את חיישני המגע, קורא RFID ותצוגת 7 פלחים.
אל תשכח לקדוח כמה חורים בצד הלוח, אלה מיועדים לחוטים של הרכיבים השונים על גבי הלוח. הרבה קידוחים, אני יודע
- שלב 2: נסה לחבר חיישן אחד או שניים ל- Raspberry Pi, בדוק אם הם פועלים. אתה רוצה לחבר אותם לקורא האנלוגי של MCP כפי שהוסבר קודם לכן בשלב 2 (התרשימים).
-
שלב 3: זה עשוי להיות מסובך והרס עצבים מאוד, מכיוון שכותרות המגשר אינן תקועות במקומן, כדאי להקליט את כולן ללוח, בנפרד או במספר רב בבת אחת. עליך לוודא שהם נשארים תקועים על לוח השחמט, אחרת לא תוכל לקרוא את החיישנים בהצלחה
עֵצָה! אם זה מקל עליך, קצת דבק עשוי למעשה לעזור לשמור על החיישנים יותר במקומם בזמן הדבקתם, גיליתי זאת בדרך הקשה
שלב 5: תוכנה
אחרי שיצרת חומרה שתוכל לבדוק, בוא ננסה לכתוב לה קוד! אם אתה רוצה להסתכל על הקוד שלי, אנא עבור אל github שלי.
תחילה עלינו להתקין כמה חבילות, הלכתי ועשיתי לך רשימה:
-
בקבוק
על זה יפעל קוד הפיתון שלך
-
בקבוק-שקע IIO
לתקשר בין חזית לקצה
-
ערמומי
שימושי לקריאת חיישני האור, עובד עם מטריצות
-
רשתות
כדי להדפיס כתובת IP משלך בתצוגת 7 הקטעים
-
בקבוק- CORS
שיתוף מוצא בין -מוצא, מאפשר לחלוק חבילות בתחומים שונים
לצד זה, כתבתי כמה שיעורים ואתה חופשי להשתמש בהם.
חזיתי
קוד האתר זמין גם בדף github שלי!
בחזית אני אשתמש ב- Chessboard.js. זה מוסיף לוח שחמט נוח לשימוש עם חלקים נוחים לתנועה!
הכל בלוח ניתן להתאמה אישית אז תהנה! לאחר הורדת הגירסה העדכנית ביותר, יהיה עליך לגרור את הקבצים לפרויקט שלך ולקשר אותם לדף בו ברצונך להציג לוח שחמט!
לאחר מכן, ננסה ליצור לוח, לא נראה קשה מדי:
ראשית, ב- html שלך:
שנית, בקובץ javascript שלך:
board1 = לוח שחמט ('לוח 1', 'התחל');
ויש לך את זה, אתה אמור להיות מסוגל לראות לוח שחמט עכשיו! אל תהסס להתאים אישית את הלוח בקבצי CSS!
עכשיו, אנחנו רוצים לראות כמה מהלכים על לוח השחמט, לא קשה מדי. אבל עלינו להתאים אותו כך שפקודת ההעברה תישלח מהקצה האחורי. לא אפרט יותר מדי, אבל אנחנו רוצים לעשות משהו כזה:
new_lijst = [Data.data [0], Data.data [1]; commando = new_lijst [0].concat ('-', new_lijst [1]); board1.move (קומנדו);
אנו מקבלים רשימה מהתוכנית האחורית שלנו, ושמים מקף בין שני הקואורדינטות, ולאחר מכן משתמשים בפקודה board.move לביצוע המהלך!
זה ההסבר שלי למה שאנחנו צריכים את הפלאגין chessboard.js, עבור אל github שלי כדי להסתכל על הקוד בעצמך
מוּמלָץ:
בנה את רובוט הזרמת הוידאו הנשלט שלך באינטרנט עם Arduino ו- Raspberry Pi: 15 שלבים (עם תמונות)
בנה את רובוט הזרמת הווידאו שלך מבוקר באינטרנט עם Arduino ו- Raspberry Pi: I'm @RedPhantom (aka LiquidCrystalDisplay / Itay), תלמיד בן 14 מישראל הלומד בתיכון מקס שין למדעים ומתמטיקה מתקדמת. אני מכין את הפרויקט הזה לכולם ללמוד ולשתף! יתכן שיש לך
כיצד להרוס קליפר דיגיטלי וכיצד עובד קליפר דיגיטלי: 4 שלבים
כיצד לקרוע קליפר דיגיטלי וכיצד עובד קליפר דיגיטלי: אנשים רבים יודעים כיצד להשתמש בקליפר למדידה. מדריך זה ילמד אתכם כיצד לקרוע קליפר דיגיטלי והסבר כיצד עובד המחוגה הדיגיטלית
ערכות רכב חכמות למעקב אחר חכמות DIY מעקב אחר רגישות לרכב: 7 שלבים
ערכות רכב חכמות למעקב אחר רובוט חכם עוקבות אחר מכוניות רגישות: עיצוב על ידי SINONING ROBOT אתה יכול לקנות ממכונית רובוט מעקב Theory LM393 שבב להשוות את שני הפוטורזיסטור, כאשר יש צד פוטוסיסטור צד אחד על לבן הצד של המנוע ייעצר מייד, הצד השני של המנוע להסתובב כך ש
שליטה על העולם האלקטרוני שלך באינטרנט: 16 שלבים
שלוט על העולם האלקטרוני שלך באמצעות האינטרנט: על פי ההנחיות הנלוות, תוכל להדליק ולכבות נורית מכל מקום בעולם. קרא את כל ההוראות בעיון ובצע את השלבים אחד אחד. לאחר לימוד זה ניתן להנחות, תוכל להשתמש בידע זה על
כיצד לשתף את התמונות שלך מה- Mac Mini שלך באינטרנט: 6 שלבים
כיצד לשתף את התמונות שלך מה- Mac Mini שלך באינטרנט: " Picasa - מגבלה של 1 GB " Flickr - 100 MB " Photobucket - 1 GB " ה- mini mini שלך - ללא הגבלה !!! *** " כל אתר שיתופי תמונות גנרי אחר שם בחוץ, מגבלת גודל קובץ מטופש ומרחב מוגבל והגבלות אחרות שאינן חושניות. לַחֲכוֹת