Table of Contents
מיקרובקר הם מחשבים זעירים, זולים שיכולים לתקשר עם העולם הפיזי באמצעות חיישנים, אקטוטורים, ממשקי תקשורת.הם יוצרים עמוד השדרה של מערכות משובצות מודרניות, ממרכזי אוטומציה ביתיים כדי ללבוש גאדג'טים ניתן ללבוש.אחד הדרכים הזמינות והמעשיות ביותר לתת חיישנים מיקרו-בקר קישוריות אלחוטית של תאים פשוטים, עם מודול Bluetooth, אלה מאפשרים מיקרו-בקר שלך לדבר ויזואלי, מחשב נייד, או מחשב נייד אחר, ללא צורך מחשב נייד.
הבנת מודולים Bluetooth
Bluetooth Classic לעומת Bluetooth Low Energy (BLE)
לא כל מודולי Bluetooth הם אותו הדבר, שתי הקטגוריות העיקריות שתפגוש הן (FLT:0 Bluetooth ClassicFLT:1 ו-FLT:2 Bluetooth Low Energy) EvolutionFLT 3.
- (FLT:0) Bluetooth ClassicFLT 1 תוכנן עבור זרימת נתונים רציפה - לחשוב על רמקולים אלחוטיים, ראשי תיבות והחלפת נמל סדרתי.מודולים כמו HC-05 ו-HC-06 פועלים במצב זה.הם פשוטים, זולים ומושלם עבור שליחת קוראי חיישן או שליטה בשיעורי נתונים בינוניים (עד 2.1 Mbps).
- (FLT:0) Bluetooth Low Energy (BLE)FigLT:1 נועד יישומים הזקוקים לחיי סוללה ארוכים ורק לשלוח התפרצויות קטנות של נתונים - לדוגמה, חיישן טמפרטורה המשדר קריאה כל דקה. מודולים כגון HM-10, CC2541, או את ה- BLE המובנה על ESP32 ו-NRF52 נפוצים בפרויקטים מודרניים ומודרניים של IoT הם לא תואמים ישירות ל- Bluetooth.
עבור פרויקטים רבים של תחביבים, מודולים Bluetooth קלאסי כמו HC-05 הם נקודת ההתחלה הקלה ביותר כי הם יכולים לשמש כבל סדרתי וירטואלי.עם זאת, אם אתה מתכנן לרוץ על סוללות במשך חודשים, לשקול מעבר ל-BLE.
מודול Bluetooth פופולרי
המודולים הנפוצים ביותר בקהילת היצרן כוללים:
- (ב) [15] [15] ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
- (ב) HC-06igmFLT:1 - כמו HC-05 אבל יכול להיות רק מכשיר עבדים. זול יותר וקל יותר, אבל אתה לא יכול לשנות את שמו או את קצב הבשור ללא כלים נוספים.
- (FLT:0)HM-10IRFLT:1 - מודול 4.0 נפוץ מבוסס על TI CC2541.
- (FLT:0)Built-in Bluetooth על ESP32IRLT:1 - המיקרובקר ESP32 כולל תמיכה קלאסית וקשוחה על הסיפון, ביטול הצורך מודול נפרד.
לרשימה מקיפה וגליונות נתונים, בדוק את ה-FLT:0Arduino Bluetooth תיעוד של 1FreaLT.
למה להוסיף את Bluetooth למיקרובקר?
Bluetooth נפתח מגוון רחב של אפשרויות.כאן הסיבות הכי משכנעות:
- (ב) ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
- (FLT:0) העברת נתונים לטלפונים או למחשב בזמן אמת.
- (FLT:0) ,Easy PrototypingFLT:1) השתמש ב- Bluetooth כקישור סדרתי אלחוטי כדי לפענח את הקוד שלך ללא כבלים USB.
- (FLT:0) ,הופנה עם יישומים ניידיםFLT:1 - בנה את האפליקציה שלך (באמצעות MIT App Inventor, Android Studio או Swift) כדי לתקשר עם החומרה שלך.
- (FLT:0)Low Cost and AvaentialFLT:1 - מודולי Bluetooth עולים רק כמה דולרים והם מלאים על ידי רוב מפיץ האלקטרוניקה.
- (ב) ,0) לוטו אפשרויות כוח (FLT:1) - עם BLE, אתה יכול לנהל פרויקטים על סוללות קטנות של תאים מטבע במשך חודשים.
יסודות של אינטראקציה: חשמל ותקשורת יסודות
לפני חיפוש, אתה צריך להבין כמה מושגים קריטיים: רמות מתח, תקשורת סדרתית (UART), וקצב הבנד.
רמות וולטאז
מיקרו-בקרים רבים (למשל, Arduino Uno) פועלים ב 5V, בעוד מודולים רבים של Bluetooth (במיוחד HC-05, HM-10) הם 3.3V מכשירים.FLT:0Connecting פרמטר 5V לוגי ישירות ל- 3.3V קלט עלול לפגוע במודול.FLT:1 עבור קווי הנתונים (TX ו- RX), להשתמש ברמת שינוי או מפיץ פשוט:
- השתמש ב-1k ⁇ + 2k ⁇ התנגדות מתח מפולגת על קו המיקרובקר של TX ל- RX של המודול.
- או להשתמש במודול מומיר ברמה לוגיקה של 3.3V/5V ייעודי.
- חיבור VCC ל- 3.3V (כמה מודולים יכולים לקחת 5V ב-VCC, אך לבדוק את גליון הנתונים).
- תמיד לחבר את GND ל- GND.
תקשורת אווירית
מודולים Bluetooth בדרך כלל מתקשרים על ממשק סדרתי UART.המיקרובקר שולח נתונים על סיכת TX שלה, והמודול מקבל אותו על רצף ה- RX שלה, ולהיפך.זה אומר שאתה צריך להתחבר:
- מיקרובקר TX - מודול RX
- מיקרובקר RX - מודול TX
- לחצות את השורות כך שכל מכשיר מדבר על השני מקבל את הסימון.
רוב לוחות Arduino יש לפחות נמל אחד של חומרה (pins 0 ו 1) אשר אתה יכול להשתמש, אבל זה גם קשר את הממיר USB-Serial. עבור פרויקטים מתקדמים, להשתמש FLT:0 על כל שני סיכות דיגיטליות כדי לשמור על החומרה חינם עבור debuing.
עקבו אחרי
שיעור הבאוד חייב להתאים בין המיקרובקר לבין מודול Bluetooth. Common ברירת מחדל: HC-05 ו-HC-06 באים ב 9600 בודה.אפשר לשנות אותו באמצעות פקודות ב-HC-05, אך ה-HC-06 לא ניתן לשנות ללא מתכנתים מיוחדים.כאשר אתה מתחבר לראשונה, להגדיר את הנמל הסידורי של המיקרובקר שלך לאותו שיעור הבזיליקה כמו המודול.
Step-by-Step Wiring Guide (HC-05 + Arduino Uno)
בואו נערוך מודול Bluetooth HC-05 לארדונו כדוגמה אדנית / slave. כי HC-05 הוא מכשיר 3.3V, אנחנו צריכים להיות זהירים עם מתח.
חומרים
- Arduino Uno (או כל 5V לוגי לוח)
- HC-05 Bluetoothמודול
- מחבת לחם וחוטי קפיצה
- שני מתנגדים 1k ⁇ ואחד 2k ⁇ התנגדות (עבור מפיץ מתח פשוט)
עקבו אחרי Diagram
- (FLT:0)Power:veFLT:1 ; מודול VCC , 3.3V על Arduino (או 5V אם גיליון נתונים מודול מאפשר - בדיקה ראשונה).
- (ב) חיבור (מודול שולח ל-Uno): מודול 1 TX: Uno RX (pin 0) קו זה הוא 3.3V, אשר בטוח עבור Uno.
- (FLT:0RX חיבור (Uno שולח למודול): ibph1 (pin 1) ; p) מבדיל מתח מודול RX. Build a Stress Divider: one end of 1k ⁇ Resistanceor to Uno TX, ולאחר מכן לצומת עם קצה של 2k ⁇ התנגדות.com השני של 2k ⁇ הולך GND.
- (ב) אם אתה משתמש ב-HC-05 במצב פיקוד, ייתכן שיהיה עליך גם לחבר את ערכת EN או למשוך אותה גבוה - לבדוק את הסימון של המודול שלך.
אלטרנטיבה נקייה היא להשתמש במודול המרתר ברמת ההיגיון, זול ולהימנע ממתנגדים מוכרים.
המונחים:HC-05)
כדי לשנות את שם המודול, קצב הבשור או הסיסמה, עליך להיכנס למצב פקודה.עקוב אחר השלבים האלה:
- ודא שהמודול אינו מחובר לכל מכשיר Bluetooth אחר.
- החזק את EN (או מפתח) pining תוך כדי כוח למעלה.או ללחוץ את ערכת EN עד 3.3V.
- פתח את ה-Arduino Serial Monitor ב-38400 בודה (הגדירו את ה-HC-05s) ובחר את "Both NL & CR".
- (ב) ,2 (ב) , ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
- (ב) , (ב) , ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
- פרטים נוספים ניתן למצוא בגליון הנתונים של FLT:0.05. ↑
תכנות מיקרובקר לתקשורת Bluetooth
לאחר שחוט, אתה צריך לכתוב סקיצה פשוטה לשלוח ולקבל נתונים.הרעיון הוא פשוט: נתונים המגיעים מהמודול (קבלה מהטלפון) מופיעים ב-buffer הסידורי, ואתה יכול לכתוב נתונים למודול כדי לשלוח בחזרה.
להלן השלד מושגי - אל תעתיק קוד ישירות, אלא להתאים אותו לצרכים שלך.
בפרשתך (ב)
- (ב) עיין ב[[המאה ה-20]], [[1924]], [[1924]]]]
- אם משתמשים בתוכנות טוריות, לחבר את המודול של TX כדי להבקיע 2 ו- RX כדי להבקיע 3.
בפרשתך (ב)
- בדוק אם הנתונים זמינים ממודול Bluetooth: FLT:11
- קרא את זה ואולי גם את ה-Serial Monitor:
- בנוסף, נתונים מ-Serial Monitor למודול: FLT:13
גשר שני נתיב זה מאפשר לך לשלוט המיקרובקר שלך מכל אפליקציית מסוף Bluetooth סדרתי בטלפון שלך (כמו "טרמינל Bluetooth" עבור אנדרואיד).מבחן על ידי שליחת "ON" כדי להפוך LED על, או "OFF" כדי לכבות אותו.
תקשורת ותקשורת עם מכשיר נייד
החלפת מודול Bluetooth Classic דומה לצירוף כל מכשיר Bluetooth:
- נצלו את המיקרובקר והמודול שלכם.
- בטלפון, לכו להגדרות Bluetooth וסרקו למכשירים.
- חפש את שם המודול (default "HC-05" או "HC-06") הקש על הצמד - ברירת המחדל PIN הוא לעתים קרובות 1234 או 0000.
- לאחר שזוג, פתח אפליקציה טרמינלית, בחר את המכשיר, וכדאי לראות חיבור. LED של המודול בדרך כלל ימצמץ מהר כאשר לא מוקרן ואט כאשר מחובר.
עבור מודולים אפשריים כמו HM-10, התהליך הוא מעט שונה: אתה צריך אפליקציה BLE-capable (למשל, "Sekner" או "Adafruit BlueLoil LE Connect") לסרוק ולחבר. BLE משתמשת בשירות / מודל מאויש במקום פרופיל נמל סדרתי, אבל מודולים רבים BLE סימולציה של קישור סדרתי (שירות רגיל) כדי לשמור על תאימות.
אתגרים משותפים וכיצד לפתור את
נזק ל-Voltage Mismatch
כאמור, לוגיקה 5V יכולה להרוס 3.3V קלטות.תמיד משנה את קו TX ממיקרובקר למודול. השתמש במגירה ברמת רמת או דיבידנד התנגדות המוצג מוקדם יותר.אם המודול אינו מגיב, בדוק אם הוא עדיין חי על ידי מדידה מתח ב- VCC.
המונחים: rate Mismatch
הבעיה הנפוצה ביותר: המודול והסקיצות נקבעים לשיעורי הבשור השונים.עבור HC-05, ברירת המחדל ב-Bud היא 38400, אך התקשורת שרביט לאחר מצב ב- 9600. Double-check.You יכול לאמת את ה-Bud של המודול על ידי חיבור עם מהירויות שונות עד שאתה רואה "בסדר" בתגובה ל- "AT".
TX/RX חצה את הלא נכון
זכור: TX הולך RX, RX הולך ל- TX. רבים חדשים חוטי חוט TX-to-TX ו- RX-to-RX, אשר אינם מובילים לשום תקשורת.אם ספק, השתמש ב- Multimeter כדי לבדוק המשכיות, או להחליף את קווי הנתונים.
המונחים: Range
Bluetooth Classic יש טווח של כ 10 מטרים בתוך קירות ומכשירים אחרים 2.4 GHz (Wi-Fi, תנורי מיקרוגל) יכול להפחית את זה.אם אתה חווה אובדן החבילה, נסה להעביר את המודול הרחק מאובייקטי מתכת גדולים או לעבור למודול עם אנטנה חיצונית (למשל, HC-05 עם ציון).
במצב פיקוד לא עובד
ודא שיש לך את ערכת EN משך גבוה או שאתה מחזיק את הכפתור במהלך כוח.בנוסף לאשר את קצב ה baud עבור במצב AT - רוב HC-05s לצפות 38400, אבל כמה השיבוטים עשויים להשתמש 9600.
Real-World Project Ideas with Bluetoothמודולs
ברגע שיש לך תקשורת בסיסית, האפשרויות הן אינסופיות.כאן כמה פרויקטים כדי להתחיל:
1 Wireless LED Strip Controller
השתמש במודול HC-05 או BLE כדי לשלוט ברצועה LED RGB באמצעות אפליקציית סמארטפון. שלח פקודות כמו "אדום", "כחול", "צד" כדי לשנות צבעים.שלב עם מקף FET כדי לטפל בזרם גבוה יותר.
2. טמפרטורה מרחוק ו-Hidity Monitor
צור חיישן DHT22 ומודול BLE (כגון HM-10) ל-Arduino או ESP32.יש את לוח השידור טמפרטורה ונתוני לחות כל כמה שניות. השתמש ביישום סורק BLE או ליצור אפליקציה אישית כדי להציג את הקריאה.מושלם עבור שעון חממה או חדר תינוקות.
Bluetooth-Controlled Robot Car
ממשק נהג מנוע L298N עם HC-05 ו Arduino. שלח דמויות כמו "F" (קדימה), "B" (בחזרה), "L" (משמאל) כדי להניע את הרובוט.הקוד פשוט קורא את הפקודה הסדרתי וקבוע פינות מנוע בהתאם.הוספת חיישן קולי עבור מכשולים ויש לך בוט חצי-אוטומטי.
4. Smart Lock with BLE Proximity
השתמש במערה בלתי אפשרית (ESP32 או NRF52) אשר שולח מזהה ייחודי. A מכשיר מרכזי (למשל, סמארטפון) מקשיב לכוח ה- RSSI של מגדלור.כאשר הטלפון קרוב מספיק, הוא שולח פקודה פתוחה.זה העיקרון מאחורי מנעולים חכמים רבים.
מסקנה וצעדים הבאים
(ב) מול מיקרובקר עם מודול Bluetooth הוא מיומנות מתגמל כי לגשר על הפער בין חומרה מוטבעת וקישוריות סלולרית.על ידי הבנת ההבדלים בין קלאסי ו-BLE, שליטה על המתפתל (כולל שינוי מתח), ולמידה להגדיר את המודול עם פקודות ב-AT, אתה יכול להעביר באופן אמין את פתרונות אלחוטיים של נתונים באופן אלחוטי, החל עם פרויקט מעבר סדרתי פשוט באמצעות HC-05 ו-Arduino, ואז להרחיב את ה-ABLE כדי לבחון את ה-ACT1 ל-ABLE יותר: