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

נגן MP3 בשליטת אינפרא אדום: 6 שלבים (עם תמונות)
נגן MP3 בשליטת אינפרא אדום: 6 שלבים (עם תמונות)

וִידֵאוֹ: נגן MP3 בשליטת אינפרא אדום: 6 שלבים (עם תמונות)

וִידֵאוֹ: נגן MP3 בשליטת אינפרא אדום: 6 שלבים (עם תמונות)
וִידֵאוֹ: נגן MP3 כשר 4GB - בעברית, עם ספיקר מובנה 2024, דֵצֶמבֶּר
Anonim
Image
Image
נגן MP3 בשליטת אינפרא אדום
נגן MP3 בשליטת אינפרא אדום

בנה נגן MP3 שלט רחוק אינפרא אדום תמורת כ $ 10 (usd). יש לו את התכונות הרגילות: הפעלה, השהייה, הפעלה הבאה או הקודמת, השמעת שיר בודד או כל השירים. יש לו גם וריאציות אקולייזר ובקרת עוצמת קול. הכל ניתן לשליטה באמצעות שלט.

פונקציונליות מתוכנתת:

מפתח מרחוק: פונקציה

+ 01: הורדת עוצמת הקול + 02: הגדר לספרייה מספר 2. + 03: הגברת עוצמת הקול + 4… 9: בחר את הגדרות האקוולייזר הבאות: ++ (4) DFPLAYER_EQ_POP (5) DFPLAYER_EQ_CLASSIC (6) DFPLAYER_EQ_NORMAL ++ (7) DFPLAYER_EQ_ROCK (8) DFPLAYER_EQ_JAZZASS (9): הפעל + >>: הפעל הבא + <<: הפעל את הקודם + למעלה: הפעל את שירי הספרייה הבאים + Dn: הפעל את שירי הספרייה הקודמים + *| חזרה: שיר לולאה יחיד: מופעל + #| יציאה: לולאה שיר בודד: כבוי

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

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

אספקה

  • לוח בקר מיקרו Nano V3 ATmega328P CH340G עבור Arduino. כחלופה, אתה יכול להשתמש ב- Uno.
  • מקלט אינפרא אדום ושלט רחוק. השתמשתי בערכות מודול שלט רחוק אלחוטיות המגיעות עם מקלט אינפרא אדום ושלט רחוק אינפרא אדום.
  • מתנגד אחד, 1K עד 5K. אני משתמש במנגנון 5K כי יש לי כמה מהם. המתנגדת מסירה רעש שקיים כאשר לא משתמשים במנגנון ההתנגדות.
  • כבלי חוט הלוח
  • מתאם קיר 5 וולט

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

עלויות משוערות: ננו 3 $, ערכת אינפרא אדום 1 $, קרש לחם 2 $, חבילה של 40 כבלי תיל 1 $, 1 $ למתאם קיר של 5 וולט. בסך הכל, כ -8 דולר. שימו לב, קניתי את ה- Nano עם סיכות לוח הלחם שכבר מולחמו במקומן, כיוון שאני כישורי ההלחמה שלי ירודים.

שלב 1: הוסף את ה- Arduino Nano ללוח הלחם

הוסף את ה- Arduino Nano ללוח הלחם
הוסף את ה- Arduino Nano ללוח הלחם

חבר את ה- Arduino Nano ללוח הלחם. או, אם אתה מעדיף, אתה יכול להשתמש ב- Arduino Uno לפרויקט זה; שניהם משתמשים באותם סיכות לפרויקט זה. חבר את ה- Nano (או Uno) למחשב שלך באמצעות כבל USB.

חבר את החשמל והקרקע מהארדואינו לסרגל החשמל של לוח הלחם. חבר את סיכת Arduino 5+ לסרגל החיובי של לוח הלחם. חבר את סיכת ה- GRN (הקרקע) של Arduino לסרגל השלילי (הקרקע) של לוח הלחם. זה ישמש רכיבים אחרים.

הורד והפעל את תוכנית הבדיקה הבסיסית של Arduino: arduinoTest.ino. בעת הפעלת התוכנית, נורית ה- LED המשולבת תידלק למשך שנייה אחת ולאחר מכן תיכבה למשך שנייה אחת. כמו כן, מתפרסמות הודעות שניתן לצפות בהן ב- Arduino IDE Tools/Monitor Serial.

+++ התקנה.

+ אתחל את סיכת ה- LED הדיגיטלית המשולבת עבור הפלט. LED כבוי. ++ עבור ללופ. + מונה לולאה = 1 + מונה לולאה = 2 + מונה לולאה = 3 …

כתרגיל, שנה את עיכוב הזמן בנורה המהבהבת, העלה את התוכנית שהשתנתה ואשר את השינוי.

בתמונה למעלה תיבת ערכת חוט מגשר ללא לחם של 140 חלקים שתוכל לקבל תמורת 3 עד 5 דולר. הם הופכים את הלוחות למסודרים יותר באמצעות כבלים ארוכים לחיבורים קצרים.

שלב 2: הוסף את מקלט האינפרא אדום וחבר אותו ל- Arduino

הוסף את מקלט האינפרא אדום וחבר אותו ל- Arduino
הוסף את מקלט האינפרא אדום וחבר אותו ל- Arduino

חבר את חוטי הכבל הנקבה לזכר למקלט האינפרא אדום (קצוות נקבה). חבר את סיכת הקרקע של מודול השעון, לרצועת מוט הטחון של לוח הלחם. חבר את סיכת החשמל של מודול השעון לרצועת החבטות החיובית של לוח הלחם. חבר את סיכת הפלט של מקלט האינפרא אדום לסיכה Arduino A1.

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

הכי שמאל (ליד ה- X) - פין ננו A1 מרכז - 5V ימין - קרקע A1 + - - חיבורי פיני ננו | | | -סיכות מקלט אינפרא אדום --------- | S | | | | --- | | | | | | --- | | | ---------

ב- IDE של Arduino, התקן ספריית אינפרא אדום. בחר כלים/נהל ספריות. סנן את החיפוש שלך על ידי הקלדת 'IR remote'. בחר IR remote מאת Shirriff (לעיון, הקישור GitHub של הספרייה). מידע על ספריית Arduino IR קישור לספרייה מרחוק.

הורד והפעל את תוכנית הבדיקה הבסיסית: infraredReceiverTest.ino. בעת הפעלת התוכנית, כוון את השלט רחוק אל המקלט ולחץ על לחצנים שונים כגון המספר מ -0 עד 9. יוצאות הודעות סדרתיות (מודפסות) אותן ניתן לצפות בכלי Arduino IDE Tools/Serial Monitor.

+++ התקנה.

+ אתחל את מקלט האינפרא אדום. ++ עבור ללופ. + מקש אישור - החלפת + מקש> - הבא + מקש < - הקודם + מקש למעלה + מקש למטה + מקש 1: + מקש 2: + מקש 3: + מקש 4: + מקש 6: + מקש 7: + מקש 8: + מקש 9: + מקש 0: + מקש * (חזרה) + מפתח מספר (יציאה)

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

מארז 0xFF9867:

מקרה 0xE0E08877: Serial.print ("+ מפתח 0:"); Serial.println (""); לשבור;

שלב 3: צור כרטיס Mico SD של קבצי MP3

מכיוון ש- DFPlayer הוא חלק קטן וחסר חומרה, הוא מנהל קבצים ותיקיות בצורה פשטנית. היו לי תוצאות מעורבות בעת הפעלת קבצי MP3 שאינם פועלים לפי הפורמטים המומלצים הבאים, ולכן אני ממליץ על הדברים הבאים. כמו כן, לא בדקתי אפשרויות אחרות, כגון שמות קבצים תלת ספרתיים (דוגמא: 003.mp3), אולם ראיתי שמות קבצים בת 3 ספרות המשמשים בהוראות ודוגמאות אחרות.

להלן פורמטים המומלצים של שם הקובץ ושם תיקיית התיקיות שלי:

  • שם תיקיית ברירת המחדל הוא MP3, הממוקם מתחת לספריית הבסיס של כרטיס ה- SD: SD:/MP3. תיקיה זו היא אופציונלית בעת שימוש במספר תיקיות.
  • הנגן גם יפעיל קבצי MP3 בספריית השורש.
  • בעת שימוש בתיקיות מרובות, השתמש בשמות התיקיות: 01, 02, 03, …, 99.
  • שם קובץ ה- mp3 צריך להיות 4 ספרות עם "0001.mp3" כתוסף, למשל, "0001.mp3".
  • ניתן להציב קבצים בתיקיית MP3 או באחת התיקיות המרובות.
  • שמות קבצים: 0001.mp3 עד 0255.mp3. שים לב, הנגן יפעיל גם קובץ MP3 של שמות אחרים.
  • תוכל להוסיף תווים אחרי הספרות, למשל, "0001hello.mp3".

מומלץ לעצב את הכרטיס לפני הוספת קבצים. זה מבטיח שהכרטיס נקי מקבצי מערכת. פורמט באמצעות FAT32 MS-DOS.

ב- Mac, השתמש בכלי הדיסק כדי לעצב את הדיסק: יישומים> כלי עזר> פתח את כלי הדיסק.

לחץ על כרטיס ה- SD, דוגמה: APPLE SD Card Reader Media/MUSICSD. לחץ על פריט בתפריט, מחק שם שם, דוגמה: MUSICSD. בחר: MS-DOS (שומן). לחץ על מחק.

הדיסק מנוקה ומעוצב.

כתבתי תוכנית ג'אווה שתעתיק ספרייה של קבצי MP3 לספריית יעד, תוך שימוש בספריות וקבצים שעובדים עם מודול DFPlayer. כדי להפעיל את התוכנית, יהיה עליך להתקין את Java JRE. להלן פלט העזרה של התוכנית.

$ java -jar mp3player.jar

+++ התחל, תוכנית העתקת מודולים של DFPlayer. תחביר: java -jar mp3player.jar העתק [(IN: מדריך MP3) (OUT: מדריך MP3)] ---------------------- תוכנית זו מעתיקה ספרייה של קבצי MP3 ליצירת ספרייה נוספת של קבצי MP3 באמצעות ספריות ושמות קבצים שעובדים עם מודול DFPlayer. לפני הפעלת תוכנית זו, + צור ספרייה של קבצי MP3 שלך. + צור ספריית יעד. + ספריית היעד היא המקום שאליו יועתקו קבצי MP3, ++ באמצעות ספריית מספרים ושמות קבצים. + ספריית היעד שלך צריכה להיות ריקה. + אם יש בו קבצים, מחק את הקבצים והספריות. ---------------------- + הפעל תוכנית זו. + תחביר: java -jar mp3player.jar העתק [(IN: מדריך MP3) (OUT: מדריך MP3)] + תחביר באמצעות ברירות מחדל: java -jar mp3player.jar copy + שמות ברירת מחדל של ספריות: mp3player1 ו- mp3player2. + אותו דבר כמו: java -jar mp3player.jar העתק mp3player1 mp3player2. ---------------------- + הכנס את כרטיס ה- SD למחשב שלך. + מחק את הספריות והקבצים מכרטיס ה- SD. + רוקן אשפה מכיוון שהקבצים עדיין נמצאים בכרטיס ה- SD ומודול DFPlayer עשוי להשמיע אותם. + העתק את הספריות והקבצים החדשים לכרטיס ה- SD. + הוצא את הכרטיס מהמחשב. ---------------------- + הכנס את הכרטיס למודול DFPlayer. + הכרטיס מוכן למשחק

לצפייה בקוד המקור לחץ כאן. לחץ כאן להורדת קובץ התוכנית JAR שתוכל להריץ.

להשוואה

ב- Mac, משורת הפקודה, תוכל להריץ את הפעולות הבאות.

רשימה כדי למצוא את הכרטיס.

רשימת $ diskutil

… /dev /disk3 (פנימי, פיזי): #: מזהה גודל גודל TYPE 0: FDisk_partition_scheme *4.0 GB disk3 1: DOS_FAT_32 MUSICSD 4.0 GB disk3s1 $ ls /Volumes /MUSICSD

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

נקה קבצים מוסתרים שיכולים לגרום לבעיות (הפניה:

$ dot_clean /Volumes /MUSICSD

כרטיס ה- SD שלך מוכן כעת לשימוש. הכנס אותו למודול DFPlayer שלך.

שלב 4: כבל במודול DFPlayer המפעיל קבצי MP3

חוט במודול DFPlayer המפעיל קבצי MP3
חוט במודול DFPlayer המפעיל קבצי MP3
חוט במודול DFPlayer המפעיל קבצי MP3
חוט במודול DFPlayer המפעיל קבצי MP3
חוט במודול DFPlayer המפעיל קבצי MP3
חוט במודול DFPlayer המפעיל קבצי MP3

הפרדתי את החיבורים לשלושה חלקים: תקשורת טורית, מתח ורמקול/צליל.

1. חבר את סיכות ה- RX/TX של Arduino למודול DFPlayer. חבר חוט בין סיכה Arduino 10 לבין סיכת DFPlayer 3 (TX). חבר חיזוק, אני משתמש במנגנון 5K מפין 2 של DFPlayer (RX), לשורה ריקה בין ה- Arduino ל- DFPlayer. חבר חוט מהפיכת ננו 11 לנגן 5K. ה- Resist 5K מסיר רעש שקיים כאשר לא משתמשים ב- Resister.

2. חבר את סיכה הארקה (GND) של מודול DFPlayer, לרצועת מוט הלוח של לוח הלחם. חבר את סיכת החשמל (VCC) של מודול DFPlayer, לרצועת הסרגל החיובית של לוח הלחם.

3. אם יש לך רמקול קטן יחיד, חבר אותו לפינים 6 (SPK-) ו- 8 (SPK+) כמו בתמונה למעלה עם ננו.

סיכות מיני DFPlayer

ב- Arduino IDE, התקן את ספריית DFPlayer. בחר כלים/נהל ספריות. סנן את החיפוש שלך על ידי הקלדת 'DFRobotDFPlayerMini'. בחר בספריית נגן המיני DFRobotDFPlayerMini by DFRobot (לעיון, הקישור לספרייה). ליישום שלי, טענתי את גרסת 1.0.5.

לעיון, הקישור לספרייה. וקישור לדף הוויקי של DFPlayer.

טען קבצי MP3 על כרטיס ה- micro SD. אתה יכול לקבל שירים בספריות נפרדות. הכנס את כרטיס ה- SD ל- DFPlayer.

הורד והפעל את תוכנית נגן MP3: mp3infrared.ino. בעת הפעלת התוכנית, כוון את השלט רחוק אל המקלט ולחץ על כפתור בסדר כדי להתחיל לנגן את השיר הראשון. כאשר הוא מתחיל לנגן, הנורה הכחולה של DFPlayer תידלק ותישאר דולקת בזמן הקובץ.

תצורה מתקדמת

בניתי מחשב אמולטור Altair 8800 המשתמש במגה Arduino. כשהוספתי את DFPlayer היה הרבה רעש. כדי להיפטר מהרעש, השתמשתי באספקת חשמל נפרדת ל- DFPlayer. למגה יש ספק כוח אחד, ושולח אותות בקרה סדרתיים ל- DFPlayer. ל- DFPlayer יש ספק כוח נוסף, והוא מקבל ומיישם את אותות הבקרה הטוריים מהמגה.

בתמונה למעלה, רכזת ה- USB המיני הלבנה של אמולטור Altair מפעילה את המגה ומחוברת לרכזת הנייד השחורה של המחשב הנייד. ל- DFPlayer יש כבל USB המחבר אותו ישירות לרכזת השחור של מחשב נייד. תצורה זו הסירה את הרעש שהיה כאשר ה- DFPlayer הופעל באמצעות רכזת המיני הלבנה הלבנה.

לחץ כאן, לקוד שהוגדר עבור מגה. גרסה זו של הקוד באמצעות סיכות Mega RX/TX, כאשר כנאנו או אונו משתמש בסיכות יציאה טורית של תוכנה.

להלן לעיון

חיבורים המשמשים עם Arduino, 1. סדרתי UART, RX לקבלת הוראות שליטה ב- DFPlayer. RX: קלט מתחבר ל- TX במגה/ננו/אונו. TX לשלוח מידע על המדינה. TX: פלט מתחבר ל- RX במגה/ננו/אונו. חיבורים ל- Nano או Uno: RX (2) להתנגדות לפין תוכנה סידורי 11 (TX). TX (3) לפין תוכנה סידורי 10 (RX). חיבורים למגה: RX (2) להתנגדות ל- Serial1 pin 18 (TX). TX (3) ל- Serial 1 pin 19 (RX). 2. אפשרויות כוח. התחבר מה- Arduino ישירות ל- DFPlayer: VCC ל- +5V. הערה, עובד גם עם +3.3V במקרה של NodeMCU. GND לקרקע (-). השתמש במקור כוח שונה לחלוטין: VCC עד 5V של מקור החשמל השני. GND לקרקע (-) של מקור החשמל השני. ראיתי אופציית כוח נוספת: מה- Arduino +5V, השתמש ב- 7805 עם קבלים ודיודה לסיכה VCC של DFPlayer. GND לקרקע (-). 3. פלט רמקול. עבור רמקול בודד, פחות מ -3 W: SPK - לפין הרמקול. SPK + לפין הרמקול השני. עבור פלט למגבר סטריאו או לטלפונים אוזניים: DAC_R ליציאה ימין (+) DAC_L ליציאה שמאלה (+) GND לפלט קרקע.

בעקבות שיחות פונקציית הספרייה המרכזית. קישור לדף הוויקי של DFPlayer.

DFRobotDFPlayerMini myDFPlayer;

myDFPlayer.play (1); // הפעל את mp3 myDFPlayer.pause הראשון (); // השהה את mp3 myDFPlayer.start (); // הפעל את ה- mp3 מההשהיה ------------------------------ myDFPlayer.next (); // הפעל את ה- mp3 הבא myDFPlayer.previous (); // הפעל mp3 הקודם ------------------------------ myDFPlayer.playMp3Folder (4); // הפעל mp3 ספציפי ב- SD: /MP3/0004.mp3; שם קובץ (0 ~ 65535) myDFPlayer.playFolder (15, 4); // הפעל mp3 ספציפי ב- SD: /15/004.mp3; שם תיקיה (1 ~ 99); שם קובץ (1 ~ 255) myDFPlayer.playLargeFolder (2, 999); // הפעל mp3 ספציפי ב- SD: /02/004.mp3; שם תיקיה (1 ~ 10); שם קובץ (1 ~ 1000) ------------------------------ myDFPlayer.loop (1); // לולאה את ה- mp3 הראשון myDFPlayer.enableLoop (); // אפשר לולאה. myDFPlayer.disableLoop (); // השבת לולאה. myDFPlayer.loopFolder (5); // לולאה כל קבצי mp3 בתיקייה SD:/05. myDFPlayer.enableLoopAll (); // לולאה של כל קבצי mp3. myDFPlayer.disableLoopAll (); // עצור לולאה של כל קבצי mp3. ------------------------------ myDFPlayer.volume (10); // הגדר ערך נפח. מ 0 עד 30 myDFPlayer.volumeUp (); // הגדלת עוצמת הקול myDFPlayer.volumeDown (); // הורדת עוצמת הקול ------------------------------ myDFPlayer.setTimeOut (500); // הגדר פסק זמן תקשורת טורי 500 ms myDFPlayer.reset (); // אפס את המודול ------------------------------ Serial.println (myDFPlayer.readState ()); // read mp3 state Serial.println (myDFPlayer.readVolume ()); // קרא כרך הנוכחי Serial.println (myDFPlayer.readEQ ()); // קרא הגדרת EQ Serial.println (myDFPlayer.readFileCounts ()); // קרא את כל ספירת הקבצים בכרטיס SD Serial.println (myDFPlayer.readCurrentFileNumber ()); // קרא את מספר קובץ ההפעלה הנוכחי Serial.println (myDFPlayer.readFileCountsInFolder (3)); // לקרוא ספירות מילוי בתיקייה SD:/03 ------------------------------ myDFPlayer.available ()

שלב 5: ספק כוח חיצוני

Image
Image
ספק כוח חיצוני
ספק כוח חיצוני
ספק כוח חיצוני
ספק כוח חיצוני

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

התמונה מימין והסרטון מציגים את הנגן המחובר למגבר של 40 $ בישיבה על הרמקול הימני של Bose על שולחני. זוהי מערכת המוסיקה השולחנית שלי: נגן MP3 Arduino, מגבר שמע אודיו, ו -2 רמקולים של Bose. איכות צליל טובה.

אני מקווה שאתה מצליח ונהנה לבנות נגן מוסיקה MP3 משלך.

שלב 6: סלק רעש סטטי

בעוצמה נמוכה, היה רעש סטטי מרקע מרגיז. הרעש היה בסדר כאשר עוצמת הקול של DFPlayer הייתה גבוהה יותר ומוסיקה מתנגנת. אבל כשהמוזיקה הייתה שקטה, הסטטי היה שם.

מצאתי דף StackExchage שיש בו הרבה הצעות. הדברים הבאים עבדו בשבילי:

  • חבר חוט קצר בין סיכות הקרקע של DFPlayer: סיכות 7 עד 10.
  • השתמש בתקע נפרד לקיר USB (5V) להפעלת מודול DFPlayer.
  • חבר את הקרקע של תקע הקיר לקרקע הארדואינו. זה נדרש כדי שהעבודה הסדרתית תעשה בין הארדואינו לשחקן.

האמור לעיל נבדק על אמולטור Altair 8800 שלי ששיפרתי בעזרת DFPlayer להפעלת מוזיקה. השחקן נשלט על ידי סיבוב החלפת הלוח הקדמי.

מוּמלָץ: