สารบัญ:

เครื่องเล่น MP3 ควบคุมด้วยอินฟราเรด: 6 ขั้นตอน (พร้อมรูปภาพ)
เครื่องเล่น MP3 ควบคุมด้วยอินฟราเรด: 6 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: เครื่องเล่น MP3 ควบคุมด้วยอินฟราเรด: 6 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: เครื่องเล่น MP3 ควบคุมด้วยอินฟราเรด: 6 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: วิธีต่อบลูทูธ ต่อใช้งานบอร์ดBluetooth MP3 FM TF USB AUX IN 3.5mm 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_JAZZ (9)DFPLAYER_EQ_BASS + ตกลง: หยุดชั่วคราว + ตกลง: เล่น + >>: เล่นถัดไป + <<: เล่นก่อนหน้า + ขึ้น: เล่นเพลงไดเรกทอรีถัดไป + Dn: เล่นเพลงไดเรกทอรีก่อนหน้า + *|Return: วนซ้ำเพลงเดียว: เปิด + #|ออก: เพลงเดียวแบบวนซ้ำ: ปิด

ขั้นตอนแรกคือการทดสอบ Arduino และเดินสายไปยังเขียงหั่นขนม ขั้นตอนต่อไปนี้ได้รับการออกแบบมาให้ทำงานอย่างอิสระ แต่ละขั้นตอนมีคำแนะนำการเดินสายและคำแนะนำในการทดสอบ เมื่อฉันสร้างโปรเจ็กต์ ฉันจะต่อสายและทดสอบแต่ละส่วนประกอบเพื่อยืนยันว่าใช้งานได้ ซึ่งจะช่วยผสานรวมส่วนประกอบต่างๆ เพราะรู้ว่าแต่ละงานและฉันสามารถมุ่งเน้นไปที่ข้อกำหนดในการผสานรวมได้

คำแนะนำนี้ต้องการให้คุณติดตั้ง Arduino IDE คุณต้องมีทักษะพื้นฐานในการดาวน์โหลดโปรแกรมร่าง Arduino จากลิงก์ในโครงการนี้ สร้างไดเร็กทอรีสำหรับโปรแกรม (ชื่อไดเร็กทอรีเหมือนกับชื่อโปรแกรม) ขั้นตอนต่อไปคือการโหลด ดู และแก้ไขโปรแกรมใน IDE จากนั้นอัปโหลดโปรแกรมผ่านสาย USB ไปยังบอร์ด Arduino ของคุณ

เสบียง

  • Nano V3 ATmega328P CH340G บอร์ดไมโครคอนโทรลเลอร์สำหรับ Arduino คุณสามารถใช้ Uno แทนได้
  • ตัวรับสัญญาณอินฟราเรดและรีโมทคอนโทรล ฉันใช้ชุดโมดูลรีโมตคอนโทรลไร้สาย IR ซึ่งมาพร้อมกับตัวรับสัญญาณอินฟราเรดและรีโมตคอนโทรลอินฟราเรด
  • ตัวต้านทานหนึ่งตัว 1K ถึง 5K ฉันใช้ตัวต้านทาน 5K เพราะฉันมีอยู่หลายตัว ตัวต้านทานจะขจัดเสียงรบกวนที่มีอยู่เมื่อไม่ใช้ตัวต้านทาน
  • เขียงหั่นขนม สายเคเบิล
  • อะแดปเตอร์ติดผนัง 5 โวลต์

ฉันซื้อชิ้นส่วนบนอีเบย์ ส่วนใหญ่มาจากผู้จัดจำหน่ายในฮ่องกงหรือจีน ผู้จัดจำหน่ายในสหรัฐอเมริกาบางครั้งมีชิ้นส่วนที่เหมือนกันหรือคล้ายกันในราคาที่สมเหตุสมผลและจัดส่งได้เร็วกว่า ชิ้นส่วนของจีนใช้เวลา 3 ถึง 6 สัปดาห์ในการจัดส่ง ตัวแทนจำหน่ายที่ฉันเคยใช้ล้วนเชื่อถือได้

ค่าใช้จ่ายโดยประมาณ: Nano $3, ชุดอินฟราเรด $1, เขียงหั่นขนม $2, แพ็คเกจสายไฟ 40 เส้น $1, $1 สำหรับอะแดปเตอร์ติดผนัง 5 โวลต์ รวมประมาณ 8 เหรียญ หมายเหตุ ฉันซื้อนาโนด้วยหมุดเขียงหั่นขนมที่บัดกรีแล้ว เนื่องจากฉันมีทักษะการบัดกรีไม่ดี

ขั้นตอนที่ 1: เพิ่ม Arduino Nano ไปที่ Breadboard

เพิ่ม Arduino Nano ลงในเขียงหั่นขนม
เพิ่ม Arduino Nano ลงในเขียงหั่นขนม

เสียบ Arduino Nano เข้ากับ Breadboard หรือหากต้องการ คุณสามารถใช้ Arduino Uno สำหรับโครงการนี้ได้ พวกเขาทั้งสองใช้หมุดเดียวกันสำหรับโครงการนี้ เชื่อมต่อ Nano (หรือ Uno) กับคอมพิวเตอร์ของคุณผ่านสาย USB

เชื่อมต่อพลังงานและกราวด์จาก Arduino เข้ากับแถบพลังงานของเขียงหั่นขนม เชื่อมต่อขา Arduino 5+ กับแถบบวกของเขียงหั่นขนม เชื่อมต่อพิน Arduino GRN (กราวด์) กับแถบลบ (กราวด์) ของเขียงหั่นขนม สิ่งนี้จะถูกใช้โดยส่วนประกอบอื่น ๆ

ดาวน์โหลดและรันโปรแกรมทดสอบ Arduino พื้นฐาน: arduinoTest.ino เมื่อรันโปรแกรม ไฟ LED บนเครื่องจะติด 1 วินาที จากนั้นดับ 1 วินาที นอกจากนี้ยังมีการโพสต์ข้อความซึ่งสามารถดูได้ใน Arduino IDE Tools/Serial Monitor

+++ การติดตั้ง

+ เริ่มต้นพินดิจิตอล LED บนบอร์ดสำหรับเอาต์พุต ไฟ LED ปิดอยู่ ++ ไปที่ลูป + ตัวนับวง = 1 + ตัวนับวง = 2 + ตัวนับวง = 3 …

ในแบบฝึกหัด ให้เปลี่ยนการหน่วงเวลาบนไฟกะพริบ อัปโหลดโปรแกรมที่เปลี่ยนแปลง และยืนยันการเปลี่ยนแปลง

ในภาพด้านบนเป็นกล่องชุดสายจัมเปอร์แบบเขียงหั่นขนมขนาด 140 ชิ้นที่คุณสามารถซื้อได้ 3 ถึง 5 ดอลลาร์ พวกเขาทำให้บอร์ดดูเรียบร้อยยิ่งขึ้นโดยใช้สายเคเบิลยาวสำหรับการเชื่อมต่อระยะสั้น

ขั้นตอนที่ 2: เพิ่มตัวรับสัญญาณอินฟราเรดและเชื่อมต่อกับ Arduino

เพิ่มตัวรับสัญญาณอินฟราเรดและเชื่อมต่อกับ Arduino
เพิ่มตัวรับสัญญาณอินฟราเรดและเชื่อมต่อกับ Arduino

เสียบสายเคเบิลตัวเมียกับตัวผู้เข้ากับตัวรับสัญญาณอินฟราเรด (ปลายตัวเมีย) ต่อหมุดกราวด์ของโมดูลนาฬิกาเข้ากับแถบกราวด์ของเขียงหั่นขนม ต่อสายไฟของโมดูลนาฬิกาเข้ากับแถบบวกของเขียงหั่นขนม เชื่อมต่อขาออกของเครื่องรับอินฟราเรดกับขา Arduino A1

เชื่อมต่อตัวรับสัญญาณอินฟราเรด หมุดจากบนซ้ายไปขวา:

ซ้ายสุด (ถัดจาก X) - Nano pin A1 Center - 5V ขวา - กราวด์ A1 + - - การเชื่อมต่อ Nano pin | | | - หมุดรับสัญญาณอินฟราเรด --------- |S | | | | --- | | | | | | --- | | | ---------

ใน Arduino IDE ให้ติดตั้งไลบรารีอินฟราเรด เลือกเครื่องมือ/จัดการไลบรารี กรองการค้นหาของคุณโดยพิมพ์ใน 'IRremote' เลือก IRremote โดย Shirriff (สำหรับการอ้างอิง ลิงก์ไลบรารี GitHub) ข้อมูลห้องสมุด Arduino ลิงค์ไลบรารี IRremote

ดาวน์โหลดและรันโปรแกรมทดสอบพื้นฐาน: infraredReceiverTest.ino เมื่อเรียกใช้โปรแกรม ให้ชี้รีโมทคอนโทรลไปที่เครื่องรับ แล้วกดปุ่มต่างๆ เช่น ตัวเลขตั้งแต่ 0 ถึง 9 ข้อความอนุกรมจะถูกส่งออก (พิมพ์) ซึ่งสามารถดูได้ใน Arduino IDE Tools/Serial Monitor

+++ การติดตั้ง

+ เริ่มต้นเครื่องรับอินฟราเรด ++ ไปที่ลูป + ปุ่ม OK - สลับ + คีย์ > - ถัดไป + คีย์ < - ก่อนหน้า + คีย์ขึ้น + คีย์ลง + คีย์ 1: + คีย์ 2: + คีย์ 3: + คีย์ 4: + คีย์ 6: + คีย์ 7: + คีย์ 8: + คีย์ 9: + คีย์ 0: + คีย์ * (ย้อนกลับ) + คีย์ # (ออก)

ในการออกกำลังกาย ให้ใช้รีโมททีวีเพื่อดูค่าที่พิมพ์ออกมา จากนั้นคุณสามารถปรับเปลี่ยนโปรแกรมเพื่อใช้ค่าในคำสั่ง switch ของฟังก์ชัน infraredSwitch() ตัวอย่างเช่น กดปุ่ม "0" และรับค่าสำหรับรีโมตของคุณ เช่น "0xE0E08877" จากนั้น เพิ่มเคสลงในคำสั่ง switch ดังตัวอย่างโค้ดต่อไปนี้

กรณี 0xFF9867:

กรณี 0xE0E08877: Serial.print("+ คีย์ 0:"); Serial.println(""); หยุดพัก;

ขั้นตอนที่ 3: สร้างการ์ด Micro SD ของไฟล์ MP3

เนื่องจาก DFPlayer เป็นฮาร์ดแวร์ขนาดเล็กราคาไม่แพง มันจึงจัดการไฟล์และโฟลเดอร์ในลักษณะที่เรียบง่าย ฉันมีผลลัพธ์ที่หลากหลายเมื่อเล่นไฟล์ MP3 ที่ไม่เป็นไปตามรูปแบบที่แนะนำต่อไปนี้ ดังนั้นฉันจึงแนะนำสิ่งต่อไปนี้ นอกจากนี้ ฉันยังไม่ได้ทดสอบตัวเลือกอื่นๆ เช่น ชื่อไฟล์ 3 หลัก (ตัวอย่าง: 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.คลิกรายการเมนู Erase. Set name, example: MUSICSD. Select: MS-DOS (Fat). Click Erase.

ดิสก์ถูกล้างและฟอร์แมต

ฉันเขียนโปรแกรม Java ที่จะคัดลอกไดเร็กทอรีของไฟล์ MP3 ลงในไดเร็กทอรีปลายทาง โดยใช้ชื่อไดเร็กทอรีและไฟล์ที่ทำงานร่วมกับโมดูล DFPlayer ในการรันโปรแกรม คุณจะต้องติดตั้ง Java JRE ต่อไปนี้เป็นผลลัพธ์ความช่วยเหลือของโปรแกรม

$ java -jar mp3player.jar

+++ เริ่มโปรแกรมคัดลอกโมดูล DFPlayer วากยสัมพันธ์: java -jar mp3player.jar copy [(IN: MP3) (ไดเร็กทอรี OUT: MP3)] ---------------------- โปรแกรมนี้คัดลอกไดเร็กทอรี ของไฟล์ MP3 เพื่อสร้างไดเร็กทอรีอื่นของไฟล์ MP3 โดยใช้ชื่อไดเร็กทอรีและไฟล์ที่ทำงานร่วมกับโมดูล DFPlayer ก่อนเรียกใช้โปรแกรมนี้ + สร้างไดเร็กทอรีของไฟล์ MP3 ของคุณ + สร้างไดเร็กทอรีปลายทาง + ไดเร็กทอรีปลายทางเป็นที่ที่ไฟล์ MP3 จะถูกคัดลอกไปยัง ++ โดยใช้ไดเร็กทอรีตัวเลขและชื่อไฟล์ + ไดเรกทอรีปลายทางของคุณควรว่างเปล่า + หากมีไฟล์อยู่ในนั้น ให้ลบไฟล์และไดเร็กทอรี ---------------------- + เรียกใช้โปรแกรมนี้ + ไวยากรณ์: java -jar mp3player.jar copy [(IN: ไดเรกทอรี MP3) (ออก: ไดเรกทอรี MP3)] + ไวยากรณ์ที่ใช้ค่าเริ่มต้น: java -jar mp3player.jar copy + ชื่อไดเรกทอรีเริ่มต้น: mp3player1 และ mp3player2 + เช่นเดียวกับ: java -jar mp3player.jar คัดลอก mp3player1 mp3player2 ---------------------- + ใส่การ์ด SD ลงในคอมพิวเตอร์ของคุณ + ลบไดเรกทอรีและไฟล์ออกจากการ์ด SD + ล้างถังขยะเพราะไฟล์ยังอยู่ในการ์ด SD และโมดูล DFPlayer อาจเล่นได้ + คัดลอกไดเรกทอรีและไฟล์ใหม่ไปยังการ์ด SD + นำการ์ดออกจากคอมพิวเตอร์ ---------------------- + ใส่การ์ดลงในโมดูล DFPlayer + การ์ดพร้อมเล่น

หากต้องการดูซอร์สโค้ด คลิกที่นี่ คลิกที่นี่เพื่อดาวน์โหลดไฟล์โปรแกรม JAR ที่คุณเรียกใช้ได้

สำหรับการอ้างอิง

บน Mac จากบรรทัดคำสั่ง คุณสามารถเรียกใช้สิ่งต่อไปนี้

รายการเพื่อค้นหาการ์ด

$ รายการดิสก์

… /dev/disk3 (ภายใน กายภาพ): #: TYPE NAME SIZE IDENTIFIER 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: ต่อสายในโมดูล DFlayer ที่เล่นไฟล์ MP3

ต่อสายในโมดูล DFPlayer ที่เล่นไฟล์ MP3
ต่อสายในโมดูล DFPlayer ที่เล่นไฟล์ MP3
ต่อสายในโมดูล DFPlayer ที่เล่นไฟล์ MP3
ต่อสายในโมดูล DFPlayer ที่เล่นไฟล์ MP3
ต่อสายในโมดูล DFPlayer ที่เล่นไฟล์ MP3
ต่อสายในโมดูล DFPlayer ที่เล่นไฟล์ MP3

ฉันได้แยกการเชื่อมต่อออกเป็น 3 ส่วน ได้แก่ การสื่อสารแบบอนุกรม กำลังไฟ และลำโพง/เสียง

1. เชื่อมต่อพิน Arduino RX/TX เข้ากับโมดูล DFPlayer เชื่อมต่อสายไฟระหว่าง Arduino pin 10 และ DFPlayer pin 3 (TX) เชื่อมต่อตัวต้านทาน ฉันใช้ตัวต้านทาน 5K จาก DFPlayer pin 2 (RX) ไปยังแถวว่างระหว่าง Arduino และ DFPlayer ต่อสายไฟจากนาโนพิน 11 เข้ากับตัวต้านทาน 5K ตัวต้านทาน 5K ขจัดเสียงรบกวนที่มีอยู่เมื่อไม่ใช้ตัวต้านทาน

2. เชื่อมต่อหมุดกราวด์ (GND) ของโมดูล DFPlayer กับแถบกราวด์ของเขียงหั่นขนม ต่อสายไฟ (VCC) ของโมดูล DFPlayer เข้ากับแถบขั้วบวกของเขียงหั่นขนม

3. หากคุณมีลำโพงขนาดเล็กเพียงตัวเดียว ให้เชื่อมต่อกับพิน 6 (SPK-) และ 8 (SPK+) ตามภาพด้านบนด้วย Nano

หมุดมินิ DFPlayer

ใน Arduino IDE ให้ติดตั้งไลบรารี DFPlayer เลือกเครื่องมือ/จัดการไลบรารี กรองการค้นหาของคุณโดยพิมพ์ใน 'DFRobotDFPlayerMini' เลือก DFRobotDFPlayerMini โดย DFRobot mini player library (สำหรับการอ้างอิง, ลิงก์ไลบรารี) สำหรับการใช้งานของฉัน ฉันโหลดเวอร์ชัน 1.0.5

สำหรับการอ้างอิง ลิงค์ห้องสมุด และลิงก์หน้าวิกิ DFlayer

โหลดไฟล์ MP3 ลงในการ์ด micro SD คุณสามารถมีเพลงในไดเร็กทอรีแยกต่างหาก ใส่การ์ด SD ลงใน DFPlayer

ดาวน์โหลดและเรียกใช้โปรแกรมเครื่องเล่น MP3: mp3infrared.ino เมื่อเปิดโปรแกรม ให้ชี้รีโมทคอนโทรลไปที่เครื่องรับ แล้วกดปุ่ม OK เพื่อเริ่มเล่นเพลงแรก เมื่อเริ่มเล่น ไฟสีน้ำเงินของ DFPlayer จะเปิดขึ้นและติดค้างในขณะที่กำลังเล่นไฟล์

การกำหนดค่าขั้นสูง

ฉันได้สร้างคอมพิวเตอร์อีมูเลเตอร์ Altair 8800 ที่ใช้ Arduino Mega เมื่อฉันเพิ่ม DFPlayer ก็มีสัญญาณรบกวนมากมาย เพื่อกำจัดเสียงรบกวน ฉันใช้แหล่งจ่ายไฟแยกต่างหากสำหรับ DFPlayer Mega มีแหล่งจ่ายไฟหนึ่งตัว และส่งสัญญาณควบคุมแบบอนุกรมไปยัง DFPlayer DFPlayer มีตัวจ่ายไฟอีกตัวหนึ่ง และรับและใช้สัญญาณควบคุมแบบอนุกรมจาก Mega

ในภาพด้านบน ฮับ mini USB สีขาวของ Altair emulator ให้พลังงานแก่ Mega และเชื่อมต่อกับมินิฮับสีดำของแล็ปท็อป DFPlayer มีสาย USB ที่เชื่อมต่อโดยตรงกับฮับขนาดเล็กสีดำของแล็ปท็อป การกำหนดค่านี้ลบสัญญาณรบกวนที่มีอยู่เมื่อ DFPlayer ขับเคลื่อนผ่านฮับขนาดเล็กสีขาวของโปรแกรมจำลอง

คลิกที่นี่ สำหรับรหัสที่กำหนดค่าสำหรับ Mega โค้ดเวอร์ชันนั้นใช้หมุด Mega RX/TX โดยที่ Nano หรือ Uno ใช้พินพอร์ตอนุกรมของซอฟต์แวร์

ต่อไปนี้สำหรับการอ้างอิง

การเชื่อมต่อที่ใช้กับ Arduino, 1. UART serial, RX สำหรับรับคำสั่งควบคุม DFPlayer RX: อินพุตเชื่อมต่อกับ TX บน Mega/Nano/Uno TX สำหรับการส่งข้อมูลสถานะ TX: เอาต์พุตเชื่อมต่อกับ RX บน Mega/Nano/Uno การเชื่อมต่อสำหรับ Nano หรือ Uno: RX(2) เพื่อต้านทานต่อซอฟต์แวร์ซีเรียลพิน 11(TX) TX(3) ไปยังขาซอฟต์แวร์ซีเรียล 10(RX) การเชื่อมต่อสำหรับ Mega: RX(2) เพื่อต้านทานกับ Serial1 pin 18(TX) TX(3) ถึง Serial1 ขา 19(RX) 2. ตัวเลือกพลังงาน เชื่อมต่อจาก Arduino โดยตรงกับ DFPlayer: VCC ถึง +5V หมายเหตุ ยังใช้งานได้กับ +3.3V ในกรณีของ NodeMCU GND ถึงกราวด์ (-) ใช้แหล่งพลังงานที่แตกต่างอย่างสิ้นเชิง: VCC ถึง +5V ของแหล่งพลังงานอื่น GND ลงกราวด์ (-) ของแหล่งพลังงานอื่น ฉันเห็นตัวเลือกพลังงานอื่น: จาก Arduino +5V ใช้ 7805 พร้อมตัวเก็บประจุและไดโอดไปที่พิน DFPlayer VCC GND ถึงกราวด์ (-) 3. เอาต์พุตลำโพง สำหรับลำโพงตัวเดียว น้อยกว่า 3W: SPK - ไปยังพินของลำโพง SPK + ไปยังพินของลำโพงอื่น สำหรับเอาต์พุตไปยังแอมป์สเตียโรหรือเอียร์โฟน: DAC_R เพื่อส่งสัญญาณออกทางขวา (+) DAC_L ไปยังเอาต์พุตทางซ้าย (+) GND ไปยังเอาต์พุตกราวด์

หลังจากการเรียกใช้ฟังก์ชันไลบรารีคีย์ ลิงก์ไปยังหน้าวิกิ DFlayer

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); //ตั้งค่าการสื่อสารแบบอนุกรมหมดเวลา 500ms myDFPlayer.reset(); //รีเซ็ตโมดูล ------------------------------ Serial.println(myDFPlayer.readState()); //อ่านสถานะ mp3 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 โวลต์ ซึ่งสามารถซื้อได้ในราคาประมาณ 1 ดอลลาร์ และใช้สาย USB อีก 1 ดอลลาร์ สายเคเบิลเชื่อมต่อ Arduino กับอะแดปเตอร์ติดผนัง +5V เนื่องจากสายไฟ Arduino และพินกราวด์เชื่อมต่อกับเขียงหั่นขนม ซึ่งจะจ่ายไฟให้กับส่วนประกอบอื่นๆ เนื่องจากความเรียบง่ายและต้นทุนต่ำ ฉันจึงใช้ชุดค่าผสมเดียวกันนี้เพื่อขับเคลื่อนโครงการอื่นๆ

ภาพถ่ายทางด้านขวาและวิดีโอแสดงเครื่องเล่นที่เชื่อมต่อกับแอมป์ $40 ของฉันซึ่งนั่งอยู่บนลำโพง Bose ด้านขวาบนโต๊ะทำงานของฉัน เป็นระบบเพลงเดสก์ท็อปของฉัน: เครื่องเล่น MP3 Arduino, แอมป์ Douk Audio และลำโพง Bose 2 ตัว คุณภาพเสียงที่ดี

ฉันหวังว่าคุณจะประสบความสำเร็จและสนุกกับการสร้างเครื่องเล่นเพลง MP3 ของคุณเอง

ขั้นตอนที่ 6: ขจัดเสียงรบกวนจากไฟฟ้าสถิต

ที่ระดับเสียงต่ำ จะมีเสียงรบกวนจากพื้นหลังแบบสถิตย์ เสียงรบกวนนั้นใช้ได้เมื่อระดับเสียงของ DFPlayer ดังขึ้นและกำลังเล่นเพลงอยู่ แต่เมื่อดนตรีเงียบ สถิตย์ก็อยู่ที่นั่น

ฉันพบหน้า StackExchage ที่มีคำแนะนำมากมาย สิ่งต่อไปนี้ใช้ได้กับฉัน:

  • ต่อสายสั้นระหว่างพินกราวด์ของ DFPlayer: พิน 7 ถึง 10
  • ใช้ปลั๊ก USB แบบเสียบผนัง (5V) แยกต่างหากเพื่อจ่ายไฟให้กับโมดูล DFPlayer
  • ต่อกราวด์ปลั๊กผนังกับกราวด์ Arduino สิ่งนี้จำเป็นสำหรับการควบคุมแบบอนุกรมระหว่าง Arduino และเครื่องเล่น

ด้านบนได้รับการทดสอบบนอีมูเลเตอร์ Altair 8800 ของฉัน ซึ่งฉันปรับปรุงด้วย DFPlayer เพื่อเล่นเพลง เครื่องเล่นถูกควบคุมโดยการพลิกสลับแผงด้านหน้า

แนะนำ: