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

מדחום Bluetooth: 8 שלבים
מדחום Bluetooth: 8 שלבים

וִידֵאוֹ: מדחום Bluetooth: 8 שלבים

וִידֵאוֹ: מדחום Bluetooth: 8 שלבים
וִידֵאוֹ: שער אוניברסלי Tuya Smart - Ethernet, Zigbee, רשת בלוטות' 2024, יולי
Anonim
מדחום בלוטות '
מדחום בלוטות '
מדחום בלוטות '
מדחום בלוטות '
מדחום בלוטות '
מדחום בלוטות '

מדריך זה מפרט את הכנת מדחום פשוט דו -ערוצי באמצעות בדיקות תרמיסטור 100K, מודול Bluetooth וסמארטפון. מודול ה- Bluetooth הוא שעועית LightBlue שתוכננה לפשט את פיתוח אפליקציית Bluetooth באנרגיה נמוכה באמצעות סביבת Arduino המוכרת לתכנות המודול.

לאחר שמעדתי זמן מה בניסיון להבין כיצד להביא את נתוני הטמפרטורה ממודול ה- Bluetooth לאייפון שלי, מצאתי אפליקציה בשם EvoThings אשר פישטה את צד פיתוח האפליקציות של הפרויקט בצורה ניכרת. אין לי Mac (מזעזע אני יודע!) המגביל את היכולת שלי לפתח אפליקציית אייפון, ואין לי זמן לפענח את הכלים החדשים של מיקרוסופט התומכים כנראה בפיתוח חוצה פלטפורמות עבור iOS ו- Android. עשיתי מספר אפליקציות בסגנון HTML5 אבל הדרך היחידה להגיע לנתוני Bluetooth היא באמצעות תוספים לקורדובה שנראו כמו אתגר יותר ממה שהיה לי זמן. EvoThings מספק מערכת כלים נוחה מאוד שהפכה את אתגר ה- Bluetooth לאייפון למסע הליכה. ואני אוהב עוגה!

בסך הכל מצאתי שהשילוב של Lightblue Bean ו- EvoThings הוא פתרון מעשי מאוד עם השקעה לזמן נמוך.

שלב 1: דברים שתצטרך

דברים שתצטרך
דברים שתצטרך
דברים שתצטרך
דברים שתצטרך
דברים שתצטרך
דברים שתצטרך

השתמשתי בבדיקת תרמיסטור זמינה מסחרית לערוץ אחד מכיוון שרציתי שהתרמיסטור יהיה אטום לטבילה בנוזלים. עבור הערוץ השני, הכנתי בדיקה בסיסית מטרמיסטור, כמה חוט 26 מד ותקע אוזניות 3.5 מ מ. אתה חופשי להשתמש בכל תרמיסטורים שאתה רוצה ותוכל להכין בדיקות משלך מאפוקסי מוליכות תרמית וקשיות פלסטיק/מערבבי קפה למשל. להלן מה שהשתמשתי בו - הוא לא נועד להיות רשימה מרשמת!

חוּמרָה

  • 1 x 100K בדיקות תרמיסטור. דגם Extech TP890. אלה זמינים בדרך כלל ב- eBay ו- Amazon.
  • 2 x 2.5 מ"מ חיבורי סטריאו התואמים את תקע 2.5 מ"מ על הגששים של Extech. הוצאתי שקעי 3.5 מ"מ ממחשב ישן אז ניתקתי את התקע מהחישה של Extech והחלפתי אותו בתקעי 3.5 מ"מ. עליך להימנע מכך פשוט להשתמש בשקעי 2.5 מ"מ, או להשתמש בתקע מתאם סטריאו של 2.5 מ"מ עד 3.5 מ"מ.
  • חרוז תרמיסטור 100K בתוספת 26 חוט מדי פלוס סטריאו 3.5 מ"מ אם אתה רוצה להכין בדיקה משלך. אם לא, קנה בדיקה נוספת של Extech!
  • 1 x שעועית Lightblue על ידי ניקוב עיצובים. זהו מודול ה- Bluetooth הניתן לתכנות כלוח פיתוח של Arduino. המודול די יקר אבל מסיר הרבה מורכבות. הם מפעילים קמפיין קיקסטארטר למכשיר הדור הבא שאולי כדאי לשקול אותו.
  • נגדים 2 x 1/4W 100K המשמשים לחלוקת מתח ההתייחסות של הטרמיסטורים. השתמשתי בנגדים של 5% אך נגדים בעלי סובלנות גבוהה יותר הם בדרך כלל פחות רגישים לטמפרטורה ויספקו ביצועים טובים יותר. 1% הוא ערך סובלנות טוב לכך.
  • מלחם והלחמה
  • חותכי תיל וכמה אורכים קטנים של חוט חיבור 26 או 28 מד.

תוכנה וקושחה

  • כדי לתכנת את שעועית, תזדקק לאפליקציית מטעין שעועית. השתמשתי בחלונות כך שכל הקישורים יהיו ספציפיים ל- Windows. כל מה שאתה צריך כדי להתחיל עם שעועית כולל הפרטים של Arduino זמין מאתר LightBlueBean
  • שולחן העבודה של EvoThings לאפליקציית הסמארטפונים זמין כאן. כל תיעוד "תחילת העבודה" זמין גם שם. זה מתועד היטב.

שלב 2: המעגל והבנייה החשמלית

המעגל והבנייה החשמלית
המעגל והבנייה החשמלית
המעגל והבנייה החשמלית
המעגל והבנייה החשמלית
המעגל והבנייה החשמלית
המעגל והבנייה החשמלית

תרמיסטור הוא נגד תלוי טמפרטורה. לחדשת Extech יש מקדם טמפרטורה שלילי, כלומר ככל שהטמפרטורה עולה, ההתנגדות יורדת. ערך ההתנגדות נמדד במעגל פשוט היוצר מחלק מתח עם התרמיסטור ברגל אחת, ונגד 100K קבוע ברגל השנייה. המתח המחולק מוזרם לערוץ קלט אנלוגי על השעועית ונדגם בקושחה.

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

שלב 3: מקדמי בדיקה

מקדמי בדיקה
מקדמי בדיקה

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

אילו מסלולים הם הנוהל הבסיסי שהגעתי אליו למקדמים. לא יזכה בנקודות על סגנון אבל מספיק טוב בכדי לגרום לך להגיד מדויק +/- מעלה אחת (סך הכל אגודל מצידי)…. בהתאם לדיוק מדחום ההתייחסות ומולטימטר שלך כמובן! המולטימטר שלי הוא יחידת מותג זולה ללא שם שרכשתי לפני שנים רבות כשהכסף היה דחוק. הכסף עדיין הדוק וזה עדיין עובד!

כדי לכייל, אנו זקוקים לשלוש קריאות התנגדות מ -3 טמפרטורות.

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

    טֶמפֶּרָטוּרָה הִתנַגְדוּת
    5.6 218K
    21.0 97.1K
    38.6 43.2

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

חיבור ערכים מוקלטים אלה למחשבון האינטרנט מניב את הדברים הבאים:

תמונה
תמונה

המקדמים (A, B ו- C) מחוברים למשוואת סטנהרט-הארט כדי לקבוע את הטמפרטורה מערך התנגדות שנדגם. המשוואה מוגדרת כ (מקור: wikipedia.com)

תמונה
תמונה

איפה T = טמפרטורה בקלווין

A, B ו- C הם מקדמי משוואת שטיינהרט-הארט שאנו מנסים לקבוע R היא ההתנגדות בטמפרטורה T

הקושחה תבצע חישוב זה.

שלב 4: קושחה

קושחה
קושחה
קושחה
קושחה

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

כדי להמיר את המתח לערך התנגדות בתוך השעועית, משתמשים במשוואה לינארית פשוטה. גזירת המשוואה ניתנת כתמונה. במקום להמיר את הערך שנדגם למתח, מכיוון שגם ה- ADC וגם מתח הכניסה מופנים לאותו מתח סוללה, נוכל להשתמש בערך ה- ADC במקום במתח. עבור ADC Bean ADC, מתח סוללה מלא יגרום לערך ADC של 1023 ולכן אנו משתמשים בערך זה כ- Vbat. הערך האמיתי של הנגד המפריד הוא שיקול חשוב. מדוד את הערך האמיתי של הנגד של מפריד 100K והשתמש בערך הנמדד במשוואה כדי למנוע מקור טעויות מיותר עקב סובלנות הנגד.

לאחר חישוב ערך ההתנגדות, ערך ההתנגדות מומר לטמפרטורה באמצעות משוואת שטיינהרט-הארט. משוואה זו מתוארת בפירוט בויקיפדיה.

מכיוון שיש לנו 2 בדיקות, היה הגיוני לכלול את פונקציונליות הבדיקה למחלקה C ++.

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

העוצמה של ה- Lightblue Bean ניכרת בעובדה שכל פונקציונליות ה- Bluetooth מיושמת בעיקרה בשורת קוד אחת שכותבת את ערכי הטמפרטורה שנדגמו לאזור נתוני שריטות בזיכרון ה- Bluetooth.

Bean.setScratchData (TEMPERATURE_SCRATCH_IDX, (uint8_t*) & טמפרטורה [0], 12);

כל ערך טמפרטורה שנדגמה מיוצג על ידי ציפה שתופסת 4 בתים. אזור נתוני השריטה יכול להכיל 20 בתים. אנו משתמשים רק 12 מהם. ישנם 5 אזורי נתוני שריטות כך שתוכל להעביר עד 100 בתים של נתונים באמצעות נתוני שריטה.

זרימת האירועים הבסיסית היא:

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

אם הוא לא מחובר, הקושחה מרדימה את שבב ATMEGA328P במשך זמן רב. מחזור השינה חשוב לשימור הכוח. שבב ATMEGA328P נכנס למצב צריכת חשמל נמוכה ונשאר שם עד להפרעה על ידי מודול ה- Bluetooth LBM313. ה- LBM313 ייצור הפסקה כדי להעיר את ATMEGA328P בתום תקופת השינה המבוקשת, או בכל פעם שמתבצע חיבור Bluetooth לשעועית. הפונקציונליות של WakeOnConnect מופעלת על ידי התקשרות מפורשת ל- Bean.enableWakeOnConnect (true) במהלך ההתקנה ().

חשוב לציין כי הקושחה תעבוד עם כל יישום לקוח BLE. כל מה שהלקוח צריך לעשות הוא להפשיט את בתות הטמפרטורה מבנק נתוני השריטות ולהרכיב אותן מחדש למספרי נקודה צפה להצגה או לעיבוד. אפליקציית הלקוח הקלה ביותר בשבילי הייתה להשתמש ב- EvoThings.

שלב 5: אפליקציית סמארטפון

אפליקציית סמארטפון
אפליקציית סמארטפון

אפליקציית דוגמת Evo Things קרובה מאוד למה שהייתי צריך במאמץ קל בלבד הנדרש להוספת רכיבי התצוגה הנוספים להשלמת מכשיר מדידת הטמפרטורה של 3 ערוצים.

ההתקנה וההפעלה הבסיסית של פלטפורמת EvoThings מתועדת היטב באתר האינטרנט של Evo Things כך שאין ערך לחזור על זה כאן. כל מה שאכסה כאן הם השינויים הספציפיים שביצעתי בקוד המדגם שלהם להצגת 3 ערוצי מידע על הטמפרטורה, המופקים מאזור נתוני שריטות ה- Bluetooth.

לאחר שהתקנת את שולחן העבודה של EvoThings, תמצא כאן את דוגמת Lightblue Bean (במחשבי Windows 64 ביט):

זה PC / Documents / EvothingsStudio_Win64_1. XX / דוגמאות / Lightblue-bean-basic / app

תוכל להחליף את קבצי index.html ו- app.js בקבצים המצורפים לשלב זה. השינויים שבוצעו בקובץ jacascript חולצים את 3 ערכי הטמפרטורה של נקודת הצפה מהווים את אזור נתוני השריטה, ומעלה את ה- HTML הפנימי של רכיבים חדשים שנוצרו בקובץ ה- HTML.

function onDataReadSuccess (נתונים) {

var temperatureData = Float32Array חדש (נתונים);

var bytes = Uint8Array חדש (נתונים);

var temperature = temperatureData [0];

console.log ('קריאת טמפרטורה:' + טמפרטורה + 'C');

document.getElementById ('temperatureAmbient'). innerHTML = temperatureData [0].toFixed (2) + "C °";

document.getElementById ('temperature1'). innerHTML = temperatureData [1].toFixed (2) + "C °";

document.getElementById ('temperature2'). innerHTML = temperatureData [2].toFixed (2) + "C °";

}

שלב 6: מארז

קַרפִּיף
קַרפִּיף
קַרפִּיף
קַרפִּיף
קַרפִּיף
קַרפִּיף
קַרפִּיף
קַרפִּיף

המארז הוא קופסה מודפסת בתלת מימד פשוטה. השתמשתי ב- Cubify Design ליצירת העיצוב אך כל תוכנית דוגמנות תלת מימד תספיק. קובץ STL מצורף לך להדפסה משלך. אם הייתי צריך לעשות את זה מחדש, הייתי עושה את הקירות קצת יותר עבים ממה שהם עכשיו, ומשנה את עיצוב הקליפ שמחזיק את הלוח במקומו. הקליפים נשברים בקלות רבה מכיוון שהלחץ הוא במישור smae כשכבות המודפסות בתלת -ממד, המהוות את הכיוון החלש ביותר עבור חלקים מודפסים בתלת -ממד. הקירות דקים מאוד כך שמנגנון ההצמדה נמצא מעט בצד החלש. השתמשתי בקלטת שקופה כדי לשמור על הקופסה סגורה מכיוון שהקירות דקיקים מדי - לא אלגנטי אבל זה עובד!

שלב 7: הגדרות מחשב ותצורת Bluetooth

הגדרות מחשב ותצורת Bluetooth
הגדרות מחשב ותצורת Bluetooth

מחזור הבנייה וההעלאה של הקושחה עבור השעועית מתבצע כולו באמצעות Bluetooth. יכול להיות רק חיבור Bluetooth פעיל אחד בכל פעם. מטען השעועית זמין מחנות האפליקציות של Windows

המחזור הבסיסי בו אני משתמש כדי להתאים ולחבר (ולתקן ולחבר מחדש כאשר דברים משתבשים) הוא כדלקמן: מלוח הבקרה;/הגדרות Bluetooth, אתה אמור לראות את המסך הבא:

תמונה
תמונה

בסופו של דבר Windows ידווח על "מוכן להתאמה". בשלב זה תוכל ללחוץ על סמל שעועית ולאחר מספר שניות, Windows יבקש ממך להזין קוד סיסמה. קוד הסיסמה המוגדר כברירת מחדל עבור השעועית הוא 00000

תמונה
תמונה

אם קוד הסיסמה הוזן כהלכה, Windows יראה שהמכשיר מחובר כראוי. עליך להיות במצב זה על מנת שתוכל לתכנת את השעועית.

תמונה
תמונה

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

תמונה
תמונה

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

תמונה
תמונה

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

תמונה
תמונה

כאשר תלחץ על כפתור "הפעלה", לקוח EvoThings יטען אוטומטית את דף ה- html של מד החום. לחץ על כפתור התחבר כדי להתחבר לשעועית ותראה טמפרטורות המוצגות. הַצלָחָה!

שלב 8: סיכום

סיכום
סיכום

אם הכל בנוי ומוגדר כראוי, תהיה ברשותך מערכת פועלת שתאפשר לך לעקוב אחר טמפרטורות בעזרת 2 בדיקות, כמו גם לעקוב אחר הטמפרטורה של חיישן BMA250 בלוח הפיתוח של שעועית. יש עוד מה לעשות עם EvoThings - זה עתה גירדתי את המשטח אז אני משאיר לכם את הניסוי הזה! תודה שקראתם! אם דברים משתבשים, פשוט השאירו הערות ואני אעזור היכן שאוכל.

מוּמלָץ: