תוכן עניינים:

מטהר Arduino I2C: 4 שלבים
מטהר Arduino I2C: 4 שלבים

וִידֵאוֹ: מטהר Arduino I2C: 4 שלבים

וִידֵאוֹ: מטהר Arduino I2C: 4 שלבים
וִידֵאוֹ: Попрощайтесь со стеклянными предохранителями / 3 превосходной защиты от короткого замыкания 2024, יולי
Anonim
Arduino I2C Sniffer
Arduino I2C Sniffer

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

מכשיר זה מחקה ב- UNO Arduino את התנהגות סקריפט Raspberry Pi i2cdetect, מרחרח את כל כתובות ה- i2c האפשריות שמחפש מכשירים מחוברים ומדפיס את התוצאות יפה על מסך LCD בגודל 16x02.

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

שלב 1: חומרים

חומרים
חומרים
חומרים
חומרים

אופציה 1

1 x ארדואינו UNO

1 x 16x02 מסך LCD

1x 10K פוטנציומטר

נגד 330 אוהם

3x כפתורי לחיצה

כבלי מגשר

1x מחלף ברמת I2C (לא בתמונת החומרים)

אפשרות 2

1 x ארדואינו UNO

מגן לוח מקשים LCD (הכפתורים במגן לא ישמשו)

3x כפתורי לחיצה

כבלי מגשר

1x מחלף ברמת I2C (לא בתמונת החומרים)

אפשרות 2 היא זו שתיבנה כי זה מה שהיה לי בהישג יד כרגע. שינוי הרמות הוא חלק חשוב במעגל מכיוון שכיום רוב המכשירים משתמשים בהיגיון של 3.3V וה -5V מהארדואינו פוגע בהם.

(בתמונות אין צורך בחומר המסומן).

שלב 2: מעגל

מעגל חשמלי
מעגל חשמלי
מעגל חשמלי
מעגל חשמלי
מעגל חשמלי
מעגל חשמלי

המעגל די פשוט קדימה, באמצעות הסיכה הסטנדרטית לדוגמאות ה- Arduino עבור ה- LCD, סיכות ברירת המחדל עבור I2C ו -3 סיכות חילוף לכפתורי הלחיצה.

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

שלב 3: קוד

קוד
קוד

במקרה שמשתמש במגן לוח המקשים LCD, יש להשאיר #define LCD_SHIELD ללא תגובה בתחילת הסקיצה. אחרת, הגיב על זה כדי להשתמש בתרשים הראשון.

שלב 4: מסקנות

מסקנות
מסקנות
מסקנות
מסקנות
מסקנות
מסקנות

לבדיקת הקוד והמעגל, נעשה שימוש בשבב BQ32000 RTC ומד תאוצה MMA8452Q. כפי שניתן לראות בתמונות, המכשיר מזהה 4 כתובות: 0x3A ו- 0xD0 ככתובות כתיבה, ו- 0x3B ו- 0xD1 ככתובות קריאה. כתובות אלה תואמות את מכשירי הבדיקה כך שהקוד עובד.

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

מוּמלָץ: