תוכן עניינים:
- שלב 1: קריאת חיישני הגיבוי
- שלב 2: יצירת תמונת מפת הסיביות והכנסתה לכרטיס MicroSD
- שלב 3: חיבור החומרה
- שלב 4: מנהל התקן תצוגה וגרפיקה RA8875
- שלב 5: העלאת הסקיצה
- שלב 6: הדפס תלת -ממד נרתיק LCD
- שלב 7: פיצול יציאת OBD-II כך שלארדואינו יש כוח רק כאשר המכונית פועלת
וִידֵאוֹ: תצוגת רכב Arduino: 7 שלבים (עם תמונות)
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:15
בניתי צג מבוסס דיאגנוסטיקה (OBD-II) באמצעות מסך TFT בגודל 7 אינץ 'מבית Adafruit, Teensy 3.6, מתאם Freematics OBD-II I2C, וכמה חיישני גיבוי של צ'יפים שמצאתי באמזון. התצוגה כוללת שני עמודים: אחת כאשר הונדה אקורד שלי נמצאת בנסיעה ואחת כאשר היא הפוכה.
כאשר המכונית שלי נמצאת בנסיעה, הסל"ד, הקמ"ש, אחוזי עומס המנוע, מתח הסוללה, טמפרטורת תא הנוסעים וטמפרטורת נוזל הקירור של המנוע מוצגים (ישנן מספר נתונים סטטיסטיים אחרים לרכב שניתן להציג אם אינך רוצה אלה).
כאשר המכונית שלי הפוכה, ה- Teensy 3.6 תואם Arduino IDE קורא תמונת מפת סיביות מונפשת של המכונית שלי שמצאתי באינטרנט, מציגה אותה ולאחר מכן קוראת את חיישני הגיבוי. לארבעת החיישנים כל אחד מהם מרחקו ברגליים בתוספת אנימציה מאחורי המכונית שמשנה את הצבע בהתאם למידת הקרבה של האובייקט לרכב (רק ירוק פירושו <5 רגל, ירוק וצהוב פירושו <2.6 רגל, וירוק, צהוב, ואדום פירושו <1 רגל).
לבסוף הוספתי את היכולת לעמעם את המסך בלילה.
התוצאה הסופית נראית נהדר ומתפקדת טוב מאוד ברכב שלי. בסופו של דבר אפילו התקנתי אותו בקונסולה המרכזית, וזה היה תהליך אחר לגמרי שלא אכנס אליו בהוראה זו. רשימת החלקים בהם השתמשתי ליצירת צג LCD זה להלן.
1) מתאם OBD -II Freematics - 35 $
2) חיישני גיבוי - 15 $
3) צג TFT LCD בגודל 7 אינץ ' - 38 $
4) מנהל התקן תצוגת LCD מבוסס SPI - 35 $
5) Teensy 3.6 - 30 $
6) מחלף רמות - 4 $
7) 74HC125 Tri State Buffer IC -6 $ לחבילה (אני בטוח שתוכל למצוא את הצ'ופר הזה במקומות אחרים)
8) כרטיס MicroSD> = 1 GB - 4 $
9) חוט, קבלים ונגדים.
10) LP3470-2.93 הפעלה מחדש של IC - 2 $
11) (אופציונלי): חיישן טמפרטורה DS18B20 - 8 $
12) (אופציונלי): מפצל OBD -II - 10 $
13) (אופציונלי): הוסף כבל נתיך מעגל - 8 $ לחבילה של 5
שלב 1: קריאת חיישני הגיבוי
שלב זה הוא מסובך מכיוון שחיישני הגיבוי האלה מתקשרים למקלט ולאחר מכן למסך LCD קטן כפי שניתן לראות בתמונה למעלה. רציתי דרך להיפטר מהתצוגה שלהם ולהשתמש בשלי. בעזרת אתר אינטרנט שמצאתי לאחר כמה חיפושים (פריצת חיישני חניה לאחור), הצלחתי לקרוא את פרוטוקול התקשורת הקנייני שהמקלט שולח למסך ה- LCD. משום מה, פרוטוקול התקשורת אינו טיפוסי כגון I2C, UART, CAN, USB וכו 'והפרוטוקול שונה בהתאם לספק. אני ממליץ בחום לרכוש את הסט שקישרתי למעלה אם אתה מתכוון להשתמש בקוד שלי מכיוון שהוא נכתב במיוחד עבור אותם חיישנים.
לפני ניתוק ה- LCD שסיפקו, חיפשתי את שלושת החוטים המצטרפים למקלט ולמסך ה- LCD. היה חוט +5V אדום, חוט שחור טחון וחוט כחול. לאחר שחיברתי את האוסילוסקופ שלי לחוט הכחול ולאדמה, ראיתי עקבות דומים לתמונה שנראתה למעלה אך לא בדיוק (השתמשתי בתמונה מהאתר המקושר למעלה). לעקוב שלי היה ביט התחלה למשך זמן ארוך יותר, ואחריו עוד 17 סיביות קצרות יותר. לביטים 0-5 לאחר סיבית ההתחלה לא היה מידע שימושי. ביטים 6-8 תואמים לחיישן A, B, C או D. ביטים 9-16 תואמים את האורך במטר. כללתי סקיצה של Arduino IDE שקוראת את החיישנים ומוציאה את הנתונים דרך הקונסולה הטורית.
שלב 2: יצירת תמונת מפת הסיביות והכנסתה לכרטיס MicroSD
השתמשתי בתוכנת עריכת תמונות בחינם בשם GIMP כדי לחתוך ולשנות את גודל התמונה של המכונית שלי מן המבט העליון. לאחר מכן ייצאתי את התמונה כתמונת מפת סיביות של 24 סיביות בשם "car.bmp" שהיא 110 פיקסלים על 250 פיקסלים. העליתי את זה לכרטיס microSD ושמתי את כרטיס ה- microSD במיקרו -בקר ה- Teensy 3.6 שלי.
הסיבות העיקריות שהלכתי עם ה- Teensy 3.6 במקום UNO הייתה המהירות שבה התאגיד יכול לקרוא כרטיס SD ולהציג את התמונה באמצעות מנהל התצוגה RA8875. באמצעות UNO, התהליך נמשך כ -8 שניות, ואילו Teensy 3.6 לקח 1.8 שניות.
שלב 3: חיבור החומרה
ל- Adafruit יש ממש 7 אינץ 'TFT LCD המונע על ידי IC הנקרא RA8875. בחרתי במנהל התצוגה והתצוגה הזה משתי סיבות. ראשית, ישנן ספריות נרחבות שנכתבו מראש לתצוגה. שנית, מנהל התצוגה יכול לדבר איתו כל מיקרו -בקר מעל SPI, כלומר אין כל כך הרבה חוטים המחברים את המיקרו -בקר ל- RA8875.
ישנם שני חסרונות בהגדרה זו. ראשית, העובדה שיש באג חומרה עם לוח RA8875 מ- Adafruit הדורש שימוש במאגר ה- IC של Tri-state 74HC125 אם אתה רוצה להשתמש בכל מכשיר מבוסס SPI כגון כרטיס SD. כדי להבין יותר את באג החומרה, אנא קרא את הפורום הבא. שנית, פרק הזמן הארוך יחסית שלוקח לשלוח תמונות ל- LCD. כמו כן, פרק הזמן הארוך שנדרש לשליחת תמונה ל- LCD נובע מחיבור ה- SPI, המוגבל על ידי מהירות השעון של המיקרו -בקרים וכמות הנתונים הגדולה שיש לשלוח למנהל התצוגה מעל מעט מאוד חוטים.
יצרתי סכמטי Fritzing כך שכל מי שרוצה ליצור תצוגה זו יוכל לקרוא בקלות לאילו פינים ב- Teensy 3.6 מתחברים. כללתי קובץ.frz למטה. שני המרכיבים היחידים שאינם מסומנים הם הקבלים, שהם קבל אלקטרוליטי 1F 16V וקבל קרמיקה של 100μF. כללתי את אלה כדי לוודא שהספק אל המיקרו -בקר של Teensy היה DC +5V יציב ולא הכיל קפיצי מתח (אולי אין צורך, אבל כללתי אותם מכיוון שאספקת המתח של המכונית יכולה להשתנות במהירות בהתאם לעומס על הסוללה).
כמה דברים שכדאי להזכיר לגבי הרכיבים. ראשית, מחלף הרמות לוקח כל אות 5V והופך אותו למתח בטוח של 3.3V Teensy 3.6. זה הכרחי עבור מתאם OBD I2C כמו גם משדר חיישן הגיבוי. שנית, קווי I2C של בני הנוער דורשים נגדים של 4.7kΩ. שלישית, ארבעת הנגדים המחברים בין "חוט הלילה" (חוט העמעום) ו"חוט הנעילה לגיבוי "נחוצים כדי לשמש כמפריד מתח כדי להוריד את האותות 12V-13V עד לאותות של 2.5-3V.
עדכון 22/7/18: מצאתי שחיישן הטמפרטורה הפנימי של מודול OBD-I2C מוציא מספרים מוזרים מאוד. לפעמים זה יעבוד, אבל רוב הזמן המודול הוציא טמפרטורות מעל 400 מעלות צלזיוס. בגלל זה החלטתי להוסיף חיישן טמפרטורה ds18b20 משלי. אתה יותר ממוזמן להשתמש בכל סוג של חיישן טמפרטורה כאן, אך יהיה עליך לערוך את קוד ה- Arduino.
עדכון 3/1/19: Teensy 3.6 אינו מתחיל כאשר הוא קר במיוחד. הוספתי מעגל איפוס להפעלה כדי לוודא שהוא מופעל כראוי.
שלב 4: מנהל התקן תצוגה וגרפיקה RA8875
למנהל התצוגה RA8875 יש ספרייה בשם Adafruit_RA8875, בה השתמשתי בעת יצירת הצורות הנראות בעמוד הראשון ובעמוד השני. הספרייה של RA8875 יכולה ליצור רק קווים, מלבנים, מלבנים מעוגלים, משולשים, אליפסים ומעגלים, ולכן יש לעצב את הגרפיקה בצורה חכמה כדי ליצור צורות מורכבות יותר. לדוגמה, הטבעת האפורה בעמוד הראשון היא למעשה עיגול אפור מלא בקוטר גדול יותר ואחריו עיגול שחור מלא בקוטר קטן יותר. כמו כן, חלק קטן אחד מדף חיישן הגיבוי מכיל 2 משולשים המסודרים בצורה שהם יוצרים צורת מצולע. עשיתי זאת כדי שאוכל לשנות את הצבע של קטע בודד בדף חיישן הגיבוי. קובץ ה- Arduino לתצוגה מכיל מערך של נקודות בהן השתמשתי כדי לעקוב אחר היכן נמצאו המשולשים וצורות אחרות.
השתמשתי באתר נהדר זה כדי לבחור צבעי RGB565 ולהגדיר אותם בסקיצה, כך שאוכל להשתמש בצבעים שאינם ברירת מחדל שכבר הוגדרו מראש בספריית Adafruit_RA8875.
מבחינת גופנים, ספריית Adafruit_RA8875 תומכת רק באחד, אלא אם כן אתה מעיר על חלק בספרייה, המאפשר לך להשתמש בגופנים של ספריית Adafruit_GFX. כללתי את הספרייה Adafruit_RA8875 שהשתנתה למטה. רק הערתי כמה שורות קוד ואז יכולתי להשתמש בגופנים בספריית Adafruit_GFX. כמו כן, על מנת להשתמש בגופן של 7 קטעים שהשתמשתי בהם בפרויקט זה, אנא ודא שקובץ "FreeSevenSegNumFont.h" שנמצא בתיקיית הגופנים שבספריית Adafruit_GFX.
שלב 5: העלאת הסקיצה
כדי להעלות את הסקיצה ל- Teensy 3.6, יהיה עליך להתקין את Teensyduino. לאחר מכן יהיה עליך להחליף את ספריות Adafruit_RA8875 ו- Adafruit_GFX במיקום הספרייה העשרה (לא המיקום הטיפוסי שלך במסמכים). ב- Mac, הייתי צריך ללחוץ באמצעות לחצן העכבר הימני על סמל היישום Arduino ביישומים, ולאחר מכן לנווט אל/Contents/Java/hardware/teensy/avr/libraries. בחלונות, אני די בטוח שהוא נמצא מתחת לכונן C שלך בקבצי Program x86, Arduino ולאחר מכן בתיקיית החומרה שם. לאחר שתעשה זאת, יהיה עליך לשנות את מיקום ספר הסקיצות ביישום Arduino על ידי עריכתו בהעדפות היכן שהן נמצאות ספריות העשרה שלך (כלומר /Applications/Arduino.app/Contents/Java/hardware/teensy/avr).
עדכון 22/7/16: בגלל הבעיה של חיישן הטמפרטורה הפנימי שעליו דיברתי קודם לכן, הייתי צריך להתקין חיישן טמפרטורה של מודול DS18B20. תראה 4 סקיצות ארדואינו בקובץ ה- zip. אנא העלה את סקיצת display_code אם ברצונך להשתמש בחיישן הטמפרטורה הפנימי של מודול OBD-II I2C. אנא העלה את שרטוט display_code_with_new_temperature_sensor אם ברצונך להשתמש במודול DS18B20 שקישרתי למעלה.
עדכון 17/11/17: תיקנתי כמה באגים בתוכנה, כולל ה- DS18B20 בהוצאת טמפרטורה של 185 פרנהייט, התצוגה לא נדלקת כלל במזג אוויר קר, ופיקסלים נתקעים בצבע הלא נכון כאשר המסך מעומעם.
לאחר מכן, השתמש בתמונה שיש לי למעלה כדי לוודא שהגדרות העשרה שלך תואמות את התמונה. מצאתי כי שעון יתר של בני נוער עד 240MHz לא איפשר למתאם I2C OBD-II לתקשר עם בני הנוער. לבסוף, פשוט לחץ על העלה.
כתבתי הערות די נרחבות בקבצי הסקיצות של הארדואינו. אנא חפש שם הסבר כיצד פועלת התוכנה. אנא אל תהסס לפנות אלי בכל שאלה. אנסה לענות להם כמיטב יכולתי. בהצלחה!
שלב 6: הדפס תלת -ממד נרתיק LCD
יצרתי כיסוי עליון ותחתון של LCD המודפס בתלת -ממד כדי להגן על התצוגה בגודל 7 אינץ '. צירפתי את קבצי החלק של ממציא. IPT וכן את קבצי ה-. STL.
כללתי גם חלק שנקרא backup_sensor_ring.ipt, שהוא טבעת שמתאימה לחיישני הגיבוי אותם קישרתי למעלה. לרכב שלי היו כבר חורי חיישן גיבוי קדוחים שהיו גדולים מדי לחיישני הגיבוי שקניתי באמזון, אז הייתי צריך ליצור טבעת שתתאים לחיישני הגיבוי. אם אתה עומד לקדוח לתוך הפגוש שלך עם פיסת הקידוח המעגלית הכלולה בסט, לא תזדקק לחלק זה.
שלב 7: פיצול יציאת OBD-II כך שלארדואינו יש כוח רק כאשר המכונית פועלת
הבנתי זמן קצר לאחר התקנת התצוגה שלי כי המסך תמיד דולק, גם כשהרכב כבוי. כאשר הסתכלתי על ה- pinout של OBD-II, גיליתי שקו החשמל של 12V למחבר OBD-II מחובר תמיד ישירות לסוללה.
כדי לעקוף את זה, רכשתי מפצל OBD-II, חתכתי את החוט שעומד לפין 16 על אחד משני המחברים במפצל ולאחר מכן חיברתי את החוט החתוך להוספת חוט מעגל.
לאחר מכן, באמצעות המולטימטר שלי, ניגשתי אל תיבת הנתיכים בצד הנהג ובדקתי את הנתיכים הקיימים כדי לראות איזה נתיך מקבל כוח לאחר שהמפתח הופך להצתה.
לבסוף, חיברתי את כבל הוספת מעגל לנתיך שאיתרתי כך שהתצוגה תידלק רק כאשר המכונית שלי פועלת. אנא בדוק קצת כיצד להוסיף נכון מעגל לרכב שלך. גיליתי שהמדריך הזה ביוטיוב היה טוב.
מוּמלָץ:
רכב Arduino מבוקר Bluetooth: 6 שלבים (עם תמונות)
רכב Arduino מבוקר Bluetooth DIY: שלום חברים! שמי ניקולאס, אני בן 15 ואני גר באתונה, יוון. היום אראה לך כיצד להכין מכונית מבוקרת Bluetooth דו גלגלי באמצעות Arduino Nano, מדפסת תלת מימד וכמה רכיבים אלקטרוניים פשוטים! הקפד לצפות שלי
תצוגת שעון תצוגת LED עם מטריקס LED בשליטת WiFi: 3 שלבים (עם תמונות)
תאורת שעון תצוגת מטריצת תצוגת LED מבוקרת באמצעות WiFi: רצועות LED הניתנות לתכנות, למשל מבוסס על WS2812, מרתקים. יישומים הם רבים ואתה יכול להשיג תוצאות מרשימות במהירות. ואיכשהו בניית שעונים היא תחום אחר שאני חושב עליו הרבה. מתחיל עם קצת ניסיון בתחום
תצוגת TTGO (צבע) עם מיקרופיתון (תצוגת TGO T): 6 שלבים
תצוגת TTGO (צבע) עם מיקרופיתון (תצוגת TTGO T): תצוגת TTGO T היא לוח המבוסס על ESP32 הכולל תצוגת צבע בגודל 1.14 אינץ '. ניתן לרכוש את הלוח תמורת פרס של פחות מ -7 $ (כולל משלוח, פרס שניתן לראות ב- Banggood). זהו פרס מדהים עבור ESP32 כולל תצוגה
כיצד להכין שעון בזמן אמת באמצעות תצוגת Arduino ו- TFT - Arduino Mega RTC עם תצוגת TFT 3.5 אינץ ': 4 שלבים
כיצד להכין שעון בזמן אמת באמצעות תצוגת Arduino ו- TFT | Arduino Mega RTC עם תצוגת TFT 3.5 אינץ ': בקר בערוץ היוטיוב שלי. הקדמה:- בפוסט זה אני הולך לעשות "שעון בזמן אמת" באמצעות 3.5 אינץ' TFT מגע LCD, Arduino Mega מודול RTC 2560 ו- DS3231 …. לפני תחילת … בדוק את הסרטון מערוץ היוטיוב שלי..הערה:- אם אתה משתמש ב- Arduin
כיצד להכין רכב שלט רחוק בבית בדרך קלה - רכב אלחוטי RC DIY: 7 שלבים
איך להכין מכונית שלט רחוק בבית בצורה קלה - DIY רכב אלחוטי RC: שלום חברים במדריך הזה אני אראה לכם איך להכין מכונית RC בשלט רחוק בצורה קלה אנא המשיכו לקרוא …… זהו באמת פרויקט מגניב אז נסה לבנות אחד