- מכשיר קשר באמצעות מודול RF nRF24L01
- רכיב נדרש לווקי טוקי מבוסס Arduino
- תרשים מעגלי מכשיר הקשר של ארדואינו
- ווקי טוקי קוד ארדואינו
אנו חיים בעידן המכשירים התומכים ב- 5G וב- 5G; עם זאת, טכנולוגיות ישנות כמו מערכת הווקי-טוק ומערכת התקשורת RF עדיין חשובות בתרחישים בהם נדרשת תקשורת מרוחקת, קצרה, זולה ובעלות נמוכה. לדוגמא, אם יש לך חברת בנייה או חברת בנייה כבדה, העובדים שלך צריכים לתקשר זה עם זה לצורך עבודה מתואמת. בעזרת מכשיר הקשר הם יכולים לתקשר ביניהם ולהפיץ עיסוי קצר או הוראות על ידי לחיצה על כפתור ה- "PTT" כדי להעביר קול לעובדים אחרים, כדי שיקשיבו ויעקבו אחר ההוראות. יישום נוסף יכול להיות בקסדות החכמותכדי לתקשר בין חבילת רוכבים במהלך נסיעה ארוכה, המודל המוצע כאן יכול לתקשר בין שישה אנשים בכל פעם. אם ברצונך לבדוק סוגים אחרים של פרויקטים של העברת אודיו אלחוטי לטווח קצר, בקר בפרויקט משדר אודיו אלחוטי מבוסס IR ו- Li-Fi משדר אודיו באמצעות הקישורים.
מכשיר קשר באמצעות מודול RF nRF24L01
המרכיב העיקרי בפרויקט זה הוא מודול RF NRF24L01 ו- Arduino Uno שהוא המוח או המעבד. למדנו כבר כיצד לממש את Nrf24L01 עם Arduino על ידי שליטה מרחוק על מנוע סרוו. עבור פרויקט זה, נבחר מודול RF NRF24L01 מכיוון שיש לו כמה יתרונות על פני מדיום תקשורת דיגיטלי. יש לה 2.4 GHz ISM בתדירות גבוהה מאוד וקצב הנתונים יכול להיות 250kbps, 1Mbps, 2 Mbps. יש לו 125 ערוצים אפשריים בין מרווח של 1Mhz, כך שהמודול יכול להשתמש ב 125 ערוצים שונים המאפשרים רשת של 125 מודמים עובדים באופן עצמאי במקום אחד.
והכי חשוב, אותות NRF24L01 אינם חופפים או חוצים ממשק למערכות מכשיר קשר אחרות כמו מכשיר קשר משטרתי ומכשיר קשר של הרכבת וזה לא מפריע למכשירי קשר אחרים. מודול nrf24l01 יחיד יכול לתקשר עם שאר 6 המודולים nrf24l01 בזמן שהם נמצאים במצב הקבלה. כמו כן, זהו מודול צריכת חשמל נמוכה המהווה יתרון נוסף. ישנם שני סוגים של מודולי NRF24L01 הזמינים ונפוצים, האחד הוא NRF24L01 + ואחר הוא NRF24L01 + PA + LNA (מוצג להלן) עם אנטנה מובנית.
ל- NRF24L01 + יש אנטנה משולבת וטווח של 100 מטר בלבד. זה טוב רק לשימוש פנימי ואינו מתאים לתקשורת חיצונית למרחקים ארוכים. יתר על כן, אם קיים קיר בין המשדר למקלט, העברת האות גרועה מאוד. ל- NRF24L01 + PA + LNA עם אנטנה חיצונית יש PA שמגביר את עוצמת האות לפני השידור. LNA מייצג מגבר Low Noise. זה ברור, מסנן את הרעש ומגביר את הרמה הנמוכה ביותר חלשה ולא ודאית של האות המתקבל מהאנטנה. זה עוזר בייצור רמות שימושיות של האות ויש לו אנטנה חיצונית 2dB דרכה הוא יכול לשדר 1000 מטר של כיסוי טווח אוויר, כך שהוא מושלם לפרויקטים של תקשורת מכשיר קשר חיצונית שלנו.
רכיב נדרש לווקי טוקי מבוסס Arduino
- NRF24L01 + PA + LNA עם אנטנת 2DB חיצונית (2 יח ')
- Arduino UNO או כל גרסה של Arduino
- מגבר שמע (2 יחידות)
- מעגל מיקרופון: תוכלו להכין אותו בעצמכם (נדון בהמשך) או לרכוש מודול חיישני קול.
- מודול מגבר מגביר DC ל- DC (2 יחידות)
- 3.3V AMS1117 מודול ויסות מתח
- נורית חיווי מתח (2 יחידות)
- התנגדות 470 אוהם (2 יחידות)
- רמקול 4 אינץ '(2 יחידות)
- כפתור לחיצה (ללחצן PTT)
- 104 PF להכנת כפתור PTT (2 יחידות)
- 100 קבלים NF ל- NRF24L01 (2 יחידות)
- התנגדות 1k לכפתור PTT (2 יחידות)
- 2 סטים של סוללת ליתיום
- מודול טעינת סוללות ליתיום והגנת סוללה (2 יחידות)
- חוט מגשר כלשהו, סיכת כותרת זכרית, לוח ורו מנוקד
תרשים מעגלי מכשיר הקשר של ארדואינו
תרשים המעגל השלם עבור מכשיר הקשר Arduino מוצג בתמונה למטה. תרשים המעגל מציג את כל החיבורים כולל כפתור PTT, מעגל מיקרופון ופלט שמע סטריאו.
חשוב: טווח קלט המתח של מודול NRF24L01 הוא 1.9 וולט לכל היותר 3.6 וולט וליציבות מתח וזרם עליכם להשתמש בקבל 100nf לתוך ה- VCC + ו- GND, וסיכות אחרות של מודול nrf24l01 יכולות לסבול אות 5 וולט. רמות.
שלב 1: התחלתי בהכנת PCB מותאם אישית תוצרת בית ולוח Arduino Atmega328p. הנחתי את ה- IC Atmega328p על המתכנת והבהבתי אותו ואז העליתי את הקוד. לאחר מכן, הוספתי גביש 16 מגה-הרץ על ה- Atmega328p IC על (PIN6, PB7) סיכה 9 ו- 10. התמונות של ה- PCB המותאם אישית שלי והלוח המורכב עם IC מתוכנת מוצגים להלן.
שלב 2: חיברתי מודולי NRF24L01 כפי שמוצג בתרשים המעגל בסדר הבא. CE לסיכה דיגיטלית מספר 7, CSN לסיכה 8, SCK לסיכה דיגיטלית 13, MOSI לסיכה דיגיטלית 11, MISO לסיכה דיגיטלית 12 ו- IRQ לסיכה דיגיטלית 2.
עבור אספקת החשמל, עליך להוריד את המתח תחילה מ 5 וולט ל -3.3 וולט עם יציבות זרם טובה. כמו כן, עליך לשים קבל 100nF על VCC ועל הקרקע של מודול nrf24l01. אז השתמשתי ב- AMS1117 שהוא וסת מתח של 3.3 וולט, המודול גם מקטין את גודל הפרויקט שלך והופך אותו לקומפקטי.
אם אתה רוצה להכין לוח רגולטור מתח זה בעצמך, אתה יכול לקנות רק ויסות 3.3 וולט ויכול להכין אותו על ידי הוספת כמה מכסים, התנגדות קלט ופלט מכיוון שהוא חשוב מאוד למודול ה- RF שלך מכיוון שהוא מכשיר רגיש. לחלופין, תוכלו להשתמש בווסת המתח המשתנה LM317 לבניית מעגל מוסדר 3.3V כפי שעשינו בפרויקט אספקת החשמל של Breadboard.
שלב 3: ניתן לרכוש חיישן קול או ליצור מעגל מיקרופון פשוט כפי שמוצג בתרשים המעגל. הוא מורכב מטרנזיסטור אחד בלבד - טרנזיסטור NPN 2n3904. התמונה למטה מציגה את מעגל המיקרופון הביתי הבנוי על לוח ורו. ניתן גם לבדוק את מעגל מגבר השמע הפשוט הזה למידע נוסף.
להבנה טובה יותר, ערכתי ייצוג נוסף של כל הקשר עם ערכי רכיבים כפי שניתן לראות להלן
שלב 4: בשביל ליצור חיבור ממיקרופון הדיגיטלי מספר 9 ו -10 למגבר האודיו שלך, השתמשתי במגבר האודיו הסטריאו PAM8403 מכיוון שכברירת מחדל פלט השמע של Arduino נמוך מאוד (בדרך כלל אתה יכול לשמוע צליל רק באמצעות אוזניות בלבד, לא רמקול, אז אנחנו צריכים שלב הגברה). המודול יכול לנהוג בשני רמקולים למחשב נייד בקלות והוא זמין בעלות נמוכה מאוד. כמו כן, הוא מגיע עם מגבר שמע חזק מאוד באריזת SMD שדורש מעט מאוד מקום. מודול מגבר האודיו PAM8403 מוצג להלן.
</s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s>החיבור פשוט מאוד, נדרש ספק כוח 3.7V עד 5V להפעלת מגבר האודיו. יש לתת את הערוץ השמאלי ואת קלט האודיו של הערוץ הימני מפין Arduino 9 ו -10 יחד עם סיכת הקרקע כקלט עבור מודול מגבר זה כפי שמוצג בתרשים המעגל. במקרה שלי השתמשתי ברמקול יחיד בגודל 4 אינץ '8 אוהם והשתמשתי רק בפלט ערוץ ימין. אם תרצה, תוכל להשתמש בשני רמקולים עם מודול זה.
שלב 5: לאחר מכן בניתי את מתג ה- PTT באמצעות כפתור לחיצה פשוט. הוספתי קבל 104PF או 0.1uf למניעת קפיצות מתגים או אותות לא יציבים כאשר לוחצים על המתג. סיכה 4 מחוברת כעת ישירות ל Arduino סיכה דיגיטלית D3 כאשר סיכה קטועה מוקצה לקידוד.
ה- NRF24L01 + PA + LNA בעת העברת אות שמע או מנות DATA צורכת יותר כוח ולכן היא צורכת יותר זרם. כשלוחצים על כפתור ה- PTT פתאום, צריכת החשמל עולה. לטיפול בעומס מוגבר פתאומי זה, עליך להשתמש בקבל 100nF ב- + vcc ובקרקע ליציבות השידור של מודול NRF24L01 + PA + LNA.
כאשר לוחצים על המתג, לוח הארדואינו מקבל הפרעה של ארדואינו על הסיכה D3 שלו. בתוכנית, אנו נכריז על סיכה דיגיטלית 3 של ארדואינו שבודקת כל הזמן את מתח הכניסה שלה. אם מתח הכניסה נמוך, הוא שומר את מכשיר הקשר במצב קבלה ואם הסיכה הדיגיטלית מספר 3 גבוהה, הוא מעביר את מכשיר הקשר למצב שידור למשלוח אות קולי שנאסף על ידי תהליך המיקרופון דרך המיקרו-בקר ומשדר באמצעות NRF24L01 + PA + LNA עם אנטנה חיצונית.
שלב 6: עבור אספקת החשמל בחרתי בסוללת ליתיום זו. כדי להפעיל את כל הרכיבים כמו Arduino IC Atmega328p, NRF24L01 + PA + LNA, מגבר שמע, כפתור PTT ומעגל מיקרופון, השתמשתי בשני סטים של סוללת ליתיום לפרויקט זה כמוצג להלן.
לתא טוב יש רמת מתח 3.8V עד 4.2 וולט ומתח הטעינה הוא 4V עד 4.2 וולט בלבד. למידע נוסף על סוללות ליתיום תוכלו לבדוק את המאמר המקושר. סוללות אלה משמשות פופולריות מאוד במכשירים אלקטרוניים ניידים וברכבים חשמליים. אך תאי סוללת ליתיום אינם חזקים כמו סוללות אחרות, הם זקוקים להגנה מפני טעינה יתר ופריקה מהירה מדי, כלומר יש לשמור על זרם הטעינה / פריקה והמתח בגבולות הבטוחים. לכן השתמשתי במודול טעינת סוללות הליון -יון ביותר - TP4056. השתמשנו בעבר במודול זה לבניית בנק כוח נייד, אתה יכול לבדוק זאת לקבלת פרטים נוספים על לוח זה.
שלב 7: השתמשתי במתח DC 2 אמפר כדי להגביר את מודול המאיץ כיוון Arduino atmega328p, מגבר שמע, מעגל מיקרופון, כפתור PTT הכל צריך 5 וולט אבל הסוללה שלי יכולה לספק רק 3.7V עד 4.2V, אז אני צריך ממיר דחיפה להגיע ל -5 וולט עם יותר מ -1 אמפר של תפוקת חשמל יציבה.
לאחר שבניתם את המעגל תוכלו להרכיבו במתחם קטן. השתמשתי בקופסת פלסטיק והנחתי את המעגלים שלי כפי שמוצג בתמונה למטה
ווקי טוקי קוד ארדואינו
את התוכנית המלאה למכשיר הקשר שלך Arduino תוכלו למצוא בתחתית דף זה. בחלק זה, בואו נדון כיצד התוכנית עובדת. לפני ההגעה, עליך לכלול כמה ספריות המפורטות להלן.
- ספריית nRF24
- ספריית שמע nRF24
- ספריית Maniaxbug RF24
התחל את התכנות על ידי הכללת כותרות ספריית הרדיו והאודיו כמוצג להלן
#לִכלוֹל
אתחל את רדיו ה- RF בסיכות 7 ו -8 והגדר את מספר רדיו השמע ל 0. כמו כן, אתחל את לחצן ה- ppt בסיכה 3.
רדיו RF24 (7,8); // הגדר את הרדיו באמצעות סיכות 7 (CE) 8 (CS) RF24Audio rfAudio (רדיו, 0); // הגדר את האודיו באמצעות הרדיו, והגדר למספר הרדיו 0 int talkButton = 3;
בתוך פונקציית ההתקנה, התחל צג סדרתי ב 115200 baudrate לצורך איתור באגים. ואז אתחל את כפתור ה- ppt להתחבר לסיכה 3 כסיכת הפסקה.
הגדרת חלל () {Serial.begin (115200); printf_begin (); radio.begin (); radio.printDetails (); rfAudio.begin (); pinMode (talkButton, INPUT); // מגדיר את הפסיקה כדי לבדוק אם כפתור דיבור כפתור לחץ על attachInterrupt (digitalPinToInterrupt (talkButton), שיחה, CHANGE); // מגדיר את מצב ברירת המחדל של כל מודול לקבל rfAudio.receive (); }
לאחר מכן, יש לנו פונקציה הנקראת שיחה () הנקראת בתגובה להפרעה. התוכנית בודקת את מצב הכפתור אם לוחצים לחיצה ממושכת עליו הוא עובר למצב שידור כדי לשלוח את האודיו. אם הכפתור משתחרר הוא עובר למצב קבלה.
שיחה בטלה () {if (digitalRead (talkButton)) rfAudio.transmit (); אחרת rfAudio.receive (); } לולאה בטל () {}
את העבודה המלאה של פרויקט זה תוכלו למצוא בסרטון המקושר למטה. מכשיר הקשר מפיק קצת רעש במהלך ההפעלה, זהו הרעש מתדר הספק של מודול nRF24L01. ניתן להפחית אותו באמצעות חיישן סאונד טוב או מודול מיקרופון. אם יש לך שאלות לגבי פרויקט זה, תוכל להשאיר אותן בסעיף ההערות למטה. תוכל גם להשתמש בפורומים שלנו לקבלת תשובות מהירות לשאלות הטכניות האחרות שלך.