- חומרים נדרשים
- מודול Bluetooth (HC-05)
- יציאות STM32 USART
- תרשים מעגלים וחיבורים
- תכנות STM32F103C8
- שלבים לחיבור מודול Bluetooth לטלפון אנדרואיד
בעולם של ימינו בלוטות 'הפך פופולרי מאוד וכמעט כל מכשיר כמו מערכת הנייד, הטלפון הנייד והמכונית משתמש במכשירי Bluetooth לתקשורת אלחוטית. Bluetooth משמש לא רק להעברת נתונים אלא גם לשליטה בהתקני Bluetooth אחרים באופן אלחוטי, כמו שימוש באוזניות Bluetooth, אתה יכול לשמוע את השיר באופן אלחוטי מהטלפון הנייד שלך או להשתמש במערכת שמע לרכב כדי להשמיע את השירים מהנייד שלך.
Bluetooth היא טכנולוגיה אלחוטית העובדת בתדר של 2.4 GHz. אות Bluetooth רגיל הוא בטווח של 10 מטר רדיוס. Bluetooth היא הטכנולוגיה האלחוטית הנפוצה ביותר בפרויקטים משובצים בתנאי שמגוון התקשורת מוגבל. Bluetooth הוסיפה יתרון של צריכת החשמל הנמוכה והפעולה הנמוכה שלה. הוא משמש בדרך כלל לממשק מיקרו-בקרים עם טלפונים חכמים באמצעות יישומי Bluetooth.
ראינו התממשקות של מודול בלוטות 'עם מיקרו-בקרים אחרים כמו Arduino, 8051, PIC וכו'. כעת במדריך זה נתממשק מודול Bluetooth HC-05 עם STM32F103C8 ונפעיל / כיבה נורית באמצעות Android אנדרואיד.
חומרים נדרשים
- STM32F103C8
- מודול Bluetooth (HC-05)
- לד
- אנדרואיד נייד
- קרש לחם
- חוטי חיבור
תוֹכנָה:
- מסוף Bluetooth (אפליקציית Android)
מודול Bluetooth (HC-05)
זה משמש בעיקר מודול Bluetooth בפרויקטים משובצים. זהו מודול Bluetooth סדרתי המשתמש בתקשורת טורית בטווח הנמוך מ- 100 מטר ופועל במהירות 5V (מינימום 3.3V). באמצעותו ניתן לחבר שני מיקרו-בקרים באופן אלחוטי וגם עם טלפון נייד ומחשבים ניידים. מכיוון שיש הרבה יישומי אנדרואיד, זה מאוד שימושי לביצוע פרויקטים אלחוטיים עם Bluetooth.
הוא משתמש בתקשורת USART וניתן להתממשק אליו עם מיקרו-בקרים בעלי פרוטוקול תקשורת של USART.
יש לו אנטנה משולבת. יש לו תצורות Master / Slave שניתן לשנות במצב פקודה AT, שימושי כאשר רק התקן אחד אמור לשלוח את הנתונים (מאסטר לעבד) כמו למשל ממחשב (MASTER) לעבד (כל MCU). מאסטר יכול להתחבר להתקנים אחרים ועבד אינו מתחבר לחיבור אחר שאינו מאסטר.
דרכי פעולה
יש לו שני מצבים במצב פקודה ומצב נתונים.
כאשר Bluetooth מופעל הוא עובר למצב ברירת מחדל של נתונים. ניתן להשתמש במצב זה להעברת נתונים. כדי להיכנס למצב AT Command במהלך ההפעלה עלינו ללחוץ על הכפתור הקיים במודול כדי לשנות את הגדרות ברירת המחדל של המודול כמו תצורות מאסטר / עבדים.
סיכות של מודול Bluetooth
- סיכת EN (ENABLE) - סיכה זו משמשת להגדרת מצב נתונים או מצב פיקוד AT. כברירת מחדל הוא נמצא במצב DATA. כאשר לוחצים על כפתור במהלך ההפעלה הוא עובר למצב פקודה AT.
- סיכה + 5V - זה משמש לאספקת חשמל למודול
- סיכת GND - זה משמש לקרקע למודול
- סיכת TX - סיכה זו המחוברת לסיכת RX של MCU
- סיכת RX - סיכה זו מחוברת לסיכת TX של MCU
- STATE - סיכה זו מציינת את מצב המודול, ראה להלן אודות אינדיקציות
אינדיקציה לד
- יש לו נורית LED (RED) המספקת את מצב מודול ה- Bluetooth.
- כאשר מודול ה- Bluetooth אינו מחובר למכשיר כלשהו, האות הולך ונמוך והנורית האדומה מהבהבת ברציפות מה שמעיד על כך שהמודול אינו משויך.
- כאשר מודול Bluetooth מחובר למכשיר כלשהו, האות הולך גבוה והנורית האדומה מהבהבת עם עיכוב מסוים המציין שהמודול משויך.
בדוק את הפרויקטים האחרים שלנו למידע נוסף על מודול Bluetooth HC-05 עם מיקרו-בקרים אחרים:
- מכונית צעצוע נשלטת באמצעות Bluetooth באמצעות Arduino
- מערכת אוטומציה ביתית מבוקרת באמצעות Bluetooth באמצעות 8051
- אורות נשלטים קוליים באמצעות פטל פטל
- רדיו FM מבוקר בטלפון חכם באמצעות Arduino ועיבוד
- מכונית רובוט נשלטת בטלפון נייד באמצעות חיישן G ו- Arduino
- ממשק Bluetooth Bluetooth HC-06 עם מיקרו בקר PIC
יציאות STM32 USART
STM32F103C8 (גלולה כחולה) יציאות תקשורת סדרתיות של USART מוצגות בתמונה המוצמדת למטה. אלה הם בצבע כחול שיש (PA9-TX1, PA10- RX1, PA2-TX2, PA3- RX2, PB10-TX3, PB11- RX3). יש לו שלושה ערוצי תקשורת כאלה.
תרשים מעגלים וחיבורים
חיבורי המעגל להתממשקות מודול Bluetooth עם STM32 מיוצרים כמו להלן
חיבור בין STM32F103C8 למודול Bluetooth (HC-05)
- פין ה- TX (PA9) של STM32F103C8 מחובר לסיכת ה- RX של מודול ה- Bluetooth.
- סיכת ה- RX (PA10) של STM32F103C8 מחוברת לסיכת ה- TX של מודול ה- Bluetooth.
- פין VCC (+ 5V) של מודול Bluetooth מחובר לפין 5V של STM32F103C8.
- סיכת GND של מודול Bluetooth מחוברת לסיכה GND של STM32F103C8.
חיבורים אחרים
- הסיכה (PA0) של STM32 (גלולה כחולה) מחוברת לסיכה חיובית של נורית דרך נגד סדרה. הנורית משמשת כאן בצבע מעורב.
- הוביל סיכה נוספת מחוברת ל- GND של STM32.
תכנות STM32F103C8
ממשק Bluetooth עם STM32 זהה לארדואינו ותכנות ב- STM32 זהה לארדואינו IDE. עיין במדריך זה לתכנות STM32 עם USB באמצעות Arduino IDE.
כפי שכבר נאמר, בפרויקט זה נתממשק מודול Bluetooth (HC-05) עם STM32F103C8 ונשתמש בטלפון חכם אנדרואיד עם אפליקציית אנדרואיד Bluetooth Terminal כדי להפעיל ולכבות את הנורית.
הערה: יש להסיר את סיכת RX & TX בזמן העלאת הקוד ל- STM32F103C8.
הקוד השלם לפרויקט זה ניתן בסוף הדרכה זו עם סרטון הדגמה.
קידוד לפרויקט זה כל כך פשוט. ניתן להשתמש באותם קודי ארדואינו אך יש לשנות את הסיכה בלבד. מכיוון שיש לנו שלוש קבוצות של סיכת USART ב- STM32F103C8 ולכן עלינו לציין את הסיכה הנכונה בה השתמשנו לחיבור מודול ה- Bluetooth.
1. ראשית עלינו למנות את הסיכות עם מספר הסיכה בהתאמה שלהן עם סוג הנתונים int כדלקמן
const int pinout = PA0;
2. בשלב הבא עלינו להיות משתנה לאחסון נתונים טוריים מהנייד אנדרואיד. הנתונים יכולים להיות תו או מספר שלם כדלקמן
נתונים קלט char = 0;
3. לאחר מכן בהתקנת הריק (), עלינו להתחיל בתקשורת טורית בין הגלולה הכחולה STM32 לבין מודול ה- Bluetooth על ידי מתן קצב שידור של 9600
סדרה 1. התחיל (9600);
השתמשנו כאן בסדרה 1 מכיוון שחיברנו את HC-05 ל- TX1 ו- RX1 של STM32.
אנו יכולים גם להשתמש ב- Serial2 או ב- Serial3, אך בהתאם לכך יש להתחבר לסיכה.
4. הודעת מבוא נשלחת כנתונים סדרתיים ל- serial1, כלומר למודול Bluetooth HC05. עוד מודול זה שולח נתונים לאפליקציית מסוף Bluetooth של אנדרואיד נייד. אז אנו משתמשים בהצהרות הבאות
Serial1.print ("CIRCUIT DIGEST \ n"); Serial1.print ("BLUETOOTH עם STM32 \ n");
5. הבא עלינו להגדיר את ה- pinmode (PA0) כפלט, שכן התחברנו הוביל לסיכה זו. כך אנו משתמשים
pinMode (pinout, OUTPUT);
6. לאחר מכן בלולאת הריק (), אנו מריצים את הנתונים הבאים כדי לקרוא את הנתונים הסדרתיים ולהדליק / לכבות את ה- LED בהתאם
loop loop () { If (Serial1.available ()> 0) { inputdata = Serial1.read (); אם (קלט נתונים == '1') { digitalWrite (pinout, HIGH); Serial1.print ("נורית LED דולקת \ n"); } אחר אם (inputdata == '0') { digitalWrite (pinout, LOW); Serial1.print ("נורית כיבוי \ n"); } } }
כאן אנו משתמשים בהצהרת if מכיוון שקוד זה מבוצע רק כאשר ליציאת Serial1 יש נתונים שהתקבלו ממודול ה- Bluetooth, מדוע משתמשים בהצהרה זו Serial1.available ()> 0 . אחרת אם הוא לא ייכנס, הוא ממתין עד שהוא מתחיל לתקשר סדרתי. כעת הוא שומר את הנתונים שהתקבלו בנתוני קלט משתנים = Serial1.read (). ואז לבדוק את הערך שנשלח מאפליקציית מסוף Bluetooth. כך שאם הערך הוא 1, הוא מדפיס את ה- LED דולק וגורם לסיכה (PA0) ללכת גבוה על ידי הצהרה digitalWrite (pinout, HIGH) ואם הערך הוא 0, הוא מדפיס את ה- LED OFF ומכבה את ה- (PA0) לסיכה נמוכה.
שלבים לחיבור מודול Bluetooth לטלפון אנדרואיד
שלב 1: - פתח את Bluetooth מהנייד לאחר העלאת קוד ל- STM32 מ- Arduino IDE ומתן כוח למעגל. זכור להסיר את סיכת ה- RX וה- TX בזמן קוד ההעלאה
שלב 2: - במכשירים הזמינים בחר HC-05 והזן סיסמה כ- 1234
שלב 3: - לאחר ההתאמה, פתח את אפליקציית Bluetooth Terminal ובחר להתחבר התקן ובחר HC-05 כמוצג להלן
שלב 4: - לאחר התחברות למודול Bluetooth HC-05, ספק ערכים במסוף 1 או 0 כדי להדליק ולכבות את נורית הנורית. תקבל גם הודעה לפיה נורית LED דולקת או כבויה.