เครื่องเล่นเสียง ESP8266 DfPlayer: 8 ขั้นตอน
เครื่องเล่นเสียง ESP8266 DfPlayer: 8 ขั้นตอน
เครื่องเล่นเสียง ESP8266 DfPlayer
เครื่องเล่นเสียง ESP8266 DfPlayer
เครื่องเล่นเสียง ESP8266 DfPlayer
เครื่องเล่นเสียง ESP8266 DfPlayer
เครื่องเล่นเสียง ESP8266 DfPlayer
เครื่องเล่นเสียง ESP8266 DfPlayer

นี่คือเครื่องเล่นเสียง mp3 ที่สร้างจากโมดูล wifi esp8266 และโมดูล dfPlayer mp3 มันเล่นไฟล์จากการ์ด SD

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

คุณสมบัติต่างๆ ได้แก่

  • ปุ่มในเครื่อง 4 ปุ่มสำหรับการใช้งานแบบสแตนด์อโลน (ระดับเสียง การเลือกอย่างง่าย)
  • อินเทอร์เฟซเบราว์เซอร์มือถือพร้อมตัวควบคุมการเล่นและการนำทางโฟลเดอร์
  • การควบคุมการปิดเสียงเพื่อให้ใช้หูฟังได้
  • ติดตั้งง่ายผ่าน WifiManager
  • การอัปเดตเฟิร์มแวร์ทางอากาศ
  • ไฟล์เบราว์เซอร์สำหรับการบำรุงรักษา
  • dfPlayer เอาต์พุตเสียงสูงสุด 2W ไปยังลำโพง (โมโน) สเตอริโอกับหูฟัง

ขั้นตอนที่ 1: ส่วนประกอบและเครื่องมือที่จำเป็น

ส่วนประกอบและเครื่องมือที่จำเป็น
ส่วนประกอบและเครื่องมือที่จำเป็น
ส่วนประกอบและเครื่องมือที่จำเป็น
ส่วนประกอบและเครื่องมือที่จำเป็น
ส่วนประกอบและเครื่องมือที่จำเป็น
ส่วนประกอบและเครื่องมือที่จำเป็น
ส่วนประกอบและเครื่องมือที่จำเป็น
ส่วนประกอบและเครื่องมือที่จำเป็น

จำเป็นต้องใช้ชิ้นส่วนต่อไปนี้

  • โมดูลประมวลผล wifi ESP-12F
  • โมดูล dfPlayer mp3 พร้อมที่ใส่การ์ด micro SD
  • แบตเตอรี่ 18650 และที่ยึด
  • โมดูลเครื่องชาร์จ LIPO
  • สวิตช์ปุ่มกด x4
  • สวิตช์สไลด์ไฟฟ้า x 1
  • ตัวปรับแรงดันไฟฟ้าโดยใช้ชิป 3.3V ดรอปเอาท์ต่ำ (เช่น XC6203)
  • เศษแผงวงจรทำเรกูเลเตอร์
  • ตัวต้านทาน 2.2K
  • ตัวต้านทาน 10K x 2
  • ตัวต้านทาน 47K
  • ตัวเก็บประจุดีคัปปลิ้ง 220 ยูเอฟ
  • ต่อสายไฟ
  • ลำโพง + ตัวเครื่อง (เช่น ลำโพงคอมพิวเตอร์หรือวิทยุเก่า)
  • แจ็คหูฟัง. อาจมีอยู่แล้วในตู้ที่มีอยู่
  • การ์ด SD (แนะนำ 4GB แต่สามารถใช้ได้เกือบทุกขนาด)

สิ่งเหล่านี้สามารถหาได้ในปริมาณที่พอเหมาะในเว็บไซต์เช่น eBay

เครื่องมือที่จำเป็น

  • เจาะและตะไบเพื่อทำรูในกล่องหุ้ม
  • หัวแร้งหัวแร้ง

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

ขั้นตอนที่ 2: แผนผัง

แผนผัง
แผนผัง

แผนผังค่อนข้างง่าย

โมดูลชาร์จแบตเตอรี่ LIPO ใช้เพื่อชาร์จแบตเตอรี่

แบตเตอรี่ป้อนโมดูล dfPlayer โดยตรงและ ESP-12F ผ่านตัวควบคุม 3.3V

dfPlayer ถูกควบคุมผ่านอินเทอร์เฟซแบบอนุกรม ดังนั้น 2 พินบนโมดูล ESP-12F จึงรองรับสิ่งนี้

ปุ่มกด 4 ปุ่มเชื่อมโยงกับ ESP-12F GPIO สำหรับการทำงานแบบสแตนด์อโลน

โมดูล dfPlayer รองรับช่องเสียบลำโพงและหูฟังโดยตรง

ขั้นตอนที่ 3: การก่อสร้าง

การก่อสร้าง
การก่อสร้าง
การก่อสร้าง
การก่อสร้าง

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

รูปภาพแสดงมุมมองที่เสร็จสมบูรณ์สำหรับตัวอย่างนี้ USB สวิตช์เปิดปิด และปุ่มกดอยู่ทางด้านขวามือ LIPO ติดตั้งที่ด้านหลัง โมดูล ESP-12F ช่องเสียบหูฟัง และ dfPlayer ติดตั้งอยู่ทางด้านซ้ายมือ แบตเตอรี่ถูกติดตั้งที่ด้านหลัง

ขั้นตอนทั่วไปหลังจากทำโครงร่างที่เหมาะสมกับตู้ของคุณคือ

  • เจาะและเจาะรูเพื่อรับอินพุต USB, สวิตช์เลื่อน, ปุ่มกด 4 ปุ่ม, แจ็คหูฟัง และช่องเสียบสำหรับการ์ด micro SD ช่องเสียบการ์ด SD ต้องทำอย่างระมัดระวังเพื่อให้สอดคล้องกับตำแหน่งที่จะติดตั้งโมดูล dfPlayer
  • หากต้องการให้ปิดเสียงลำโพงเพื่อให้สามารถใช้งานหูฟังได้ dfPlayer จำเป็นต้องมีการปรับเปลี่ยนเล็กน้อยตามภาพประกอบ มีการปิดเสียงบนแอมพลิฟายเออร์ตัวเล็ก ๆ บนบอร์ด แต่ต่อสายเข้ากับกราวด์ผ่านตัวต้านทาน 0 โอห์ม ถอดตัวต้านทานนี้และแทนที่ด้วยตัวต้านทาน 10K บัดกรีตะกั่วบนแผ่นตามที่แสดง นี่คือการปิดเสียงซึ่งสามารถควบคุมได้จาก ESP-12F
  • โปรดทราบว่าคุณอาจต้องการแฟลชโมดูล ESP-12F ก่อนการสร้างกลไกขั้นสุดท้าย ดูขั้นตอนซอฟต์แวร์
  • ประกอบตัวควบคุม 3.3V บนแผ่นกระดานเศษเหล็ก มีส่วนประกอบเพียง 2 ชิ้นเท่านั้น และสามารถต่อสายและติดตั้งเข้ากับโมดูล ESP-12F ได้
  • ติดตั้งสวิตช์ปุ่มกดแบบกลไก ยึดด้วยกาวและบัดกรีกราวด์กราวด์ผ่านด้านหนึ่งของสวิตช์ทั้งหมด
  • ประสาน 4 บินนำไปสู่ขั้วต่อ USB และติดตั้งในตู้และยึดด้วยกาว
  • บัดกรีนำจากที่ใส่แบตเตอรี่ไปยังเครื่องชาร์จ LIPO และสวิตช์สไลด์ไฟ เครื่องชาร์จกาวและสวิตช์เลื่อนในตัวเครื่อง
  • บัดกรีที่บินได้นำไปสู่แจ็คหูฟัง ตัวยึด และกาวเข้าที่
  • เพิ่มตัวต้านทาน 2.2K, ตัวแบ่ง ADC และการเชื่อมต่อ CH/Up เข้ากับโมดูล ESP-12F
  • การบัดกรีที่บินนำไปสู่โมดูล ESP-12F สำหรับอินเทอร์เฟซแบบอนุกรม ปุ่ม GPIO 4 ปุ่ม
  • ติดตั้ง dfPlayer ในตำแหน่งโดยระวังว่าช่องเสียบสามารถเข้าถึงการ์ด SD ได้
  • การเดินสายที่สมบูรณ์จาก ESP12-F ไปยังการเชื่อมต่อสายไฟ ปุ่มกด อินเทอร์เฟซแบบอนุกรม และการควบคุมการปิดเสียงบน dfPlayer
  • การเดินสายไฟที่สมบูรณ์ คู่ข้อมูล USB ช่องเสียบหูฟัง และลำโพงไปยัง dfPlayer

ตรวจสอบสายไฟอีกครั้ง!

ขั้นตอนที่ 4: ซอฟต์แวร์และการติดตั้ง

ซอฟต์แวร์ ESP เขียนในสภาพแวดล้อม Arduino ซอร์สโค้ดมีอยู่ที่ https://github.com/roberttidey/dfPlayer ห้องสมุดที่ควบคุม dfPlayer อยู่ที่นั่น ไลบรารีอื่น ๆ ที่จำเป็นและแสดงรายการมีโมดูลมาตรฐาน

แบบร่าง ino ไม่จำเป็นต้องมีการเปลี่ยนแปลงมากนัก แม้ว่าคุณจะต้องการเปลี่ยนรหัสผ่าน WifiManager และการอัปเดตเฟิร์มแวร์

คอมไพล์ในสภาพแวดล้อม Arduino ESP8266 และทำแฟลชแรกผ่านการเชื่อมต่อแบบอนุกรมมาตรฐาน การอัปเดตเพิ่มเติมสามารถทำได้โดยการส่งออกไฟล์ไบนารีใน Arduino IDE และทำการอัพเดต OTA (ผ่านอากาศ) ไปยังยูนิตโดยตรงโดยไม่ต้องใช้สายใดๆ

ในการใช้งานครั้งแรก ซอฟต์แวร์จะไม่มีข้อมูลรับรอง wifi ในเครื่อง แต่จะสร้างจุดเชื่อมต่อที่เรียกว่า dfPlayerSet up แทน เชื่อมต่อกับสิ่งนี้ (เช่น จากโทรศัพท์หรือแท็บเล็ต) จากนั้นไปที่ 102.168.4.1 การดำเนินการนี้จะแสดงอินเทอร์เฟซเพื่อให้สามารถเลือกเครือข่ายจริงและป้อนรหัสผ่านได้ จากนั้นจะใช้งานโดยอัตโนมัติ

มีตัวอัปโหลดไฟล์อย่างง่ายซึ่งควรใช้เพื่อโหลดไฟล์พื้นฐานไปยังระบบการจัดเก็บ SPIFFS บน ESP-12F (edit.htm.gz, index.html, basic.htm, favicon*-p.webp

จากนั้นคุณสามารถใช้ https://ip/edit เพื่ออัปโหลดข้อมูลเพิ่มเติมในลักษณะที่เป็นมิตรกว่า

คุณสามารถแก้ไข index.htm เพื่ออ้างถึงไฟล์ favicon อื่น และตั้งชื่อไฟล์ให้แตกต่างกันได้หากต้องการ

favicon จะถูกใช้หากเพิ่มทางลัดไปยังหน้าจอเมื่อพูดกับโทรศัพท์

ขั้นตอนที่ 5: การเตรียมการ์ด SD

dfPlayer เล่นไฟล์ได้โดยตรงจากการ์ด SD แต่มีโฟลเดอร์และรูปแบบการตั้งชื่อไฟล์ที่จำกัด

เพื่อให้ง่ายต่อการใช้งานและควบคุมสคริปต์มีซอฟต์แวร์ที่สามารถรองรับการตั้งชื่อนี้ แต่ยังอนุญาตให้ฟ้องชื่อเดิมบนเว็บอินเตอร์เฟส

เพื่อใช้ต่อเชื่อมการ์ด SD ลงในพีซีและคัดลอกข้ามโฟลเดอร์ที่มีแทร็กด้วยการตั้งชื่อดั้งเดิม (เช่น อัลบั้มสำหรับโฟลเดอร์และชื่อแทร็กสำหรับไฟล์)

เรียกใช้สคริปต์ (dfPlayer-makeSD.vbs) มันจะถามถึงระดับเสียงของการ์ด SD เปลี่ยนสิ่งนี้ตามความจำเป็น จากนั้นจะเปลี่ยนชื่อโฟลเดอร์และไฟล์ทั้งหมดในการ์ด SD และสร้างไฟล์การแมปจากการตั้งชื่อแบบง่ายกลับไปเป็นชื่อเดิม Folders.txt มีรายการหมายเลขโฟลเดอร์และชื่อ ไฟล์ Track.txt แต่ละรายการมีการแมปภายในแต่ละโฟลเดอร์ เฉพาะ Folders.txt เท่านั้นที่จำเป็นในขั้นตอนนี้ การปรับปรุงซอฟต์แวร์อาจใช้รายการเพลงในอนาคต

ต้องอัปโหลดไฟล์ Folders.txt ไปยังระบบไฟล์ ESP-12F SPIFFS ผ่านตัวอัปโหลด /edit

โปรดทราบว่าคุณสามารถลบโฟลเดอร์และเพิ่มโฟลเดอร์ใหม่ได้ เมื่อคุณเพิ่มรายการใหม่ด้วยการตั้งชื่อดั้งเดิม ให้เรียกใช้สคริปต์อีกครั้ง มันจะเปลี่ยนชื่อเพียงแค่สร้างโฟลเดอร์และไฟล์ใหม่และสร้างแผนที่ใหม่ จะต้องอัปโหลด Folders.txt ใหม่อีกครั้ง

ขั้นตอนที่ 6: การทำงานแบบสแตนด์อโลน

ปุ่ม 4 ปุ่มทำงานดังนี้

  • ปรับระดับเสียงขึ้น. กดสั้นๆ เพิ่มระดับเสียง กดค้างเพื่อเปิดเสียงลำโพง
  • ลดระดับเสียง กดสั้น ๆ เพื่อลดระดับเสียง กดค้างเพื่อปิดเสียงลำโพง
  • Select1 Short Press เพิ่มจำนวนโฟลเดอร์ที่จะเล่น กดค้างเพื่อเริ่มเล่นโฟลเดอร์ที่เลือก
  • Select2 Short Press ลดจำนวนโฟลเดอร์ ลองกดเริ่มเล่นแทร็กแบบสุ่ม

ขั้นตอนที่ 7: การทำงานของเบราว์เซอร์ปกติ

สามารถเข้าถึงได้ที่ https://ip (ค่าเริ่มต้น index.htm)

มันแสดงเว็บอินเตอร์เฟสอย่างง่ายพร้อมตัวเลื่อนระดับเสียงและชุดการควบคุมการเล่น

  • หยุดชั่วคราว
  • เล่น
  • สุ่ม
  • หยุด
  • ข้ามไปที่ถัดไป
  • ข้ามไปก่อนหน้า
  • เปิดเสียงลำโพง
  • ปิดเสียงลำโพง

ด้านล่างนี้คือชุดของปุ่มหนึ่งปุ่มต่อโฟลเดอร์บนการ์ดที่มีชื่อเดิม การคลิกที่รายการใดรายการหนึ่งจะเริ่มเล่นโฟลเดอร์นั้น

ขั้นตอนที่ 8: การใช้งานเบราว์เซอร์ขั้นพื้นฐาน

การทำงานของเบราว์เซอร์พื้นฐาน
การทำงานของเบราว์เซอร์พื้นฐาน

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

อนุญาตให้เลือกคำสั่งและพารามิเตอร์เพื่อส่งไปยังซอฟต์แวร์

คำสั่งเหล่านี้จะถูกส่งไปยัง ESP12-F โดยใช้

ip/dfPlayer?cmd=command&p1=first&p2=second&p3=third

คำสั่งที่ใช้ได้คือ

  • ?cmd=play&p1=folder&p2=track
  • ?cmd=playmp3&p1=track
  • ?cmd=volume&p1=ระดับ (0-30)
  • ?cmd=stop
  • ?cmd=เพิ่มระดับเสียง
  • ?cmd=ลดระดับเสียง
  • ?cmd=ลำโพง&p1=ปิด (0/1)
  • ?cmd=pause
  • ?cmd=start
  • ?cmd=next
  • ?cmd=ก่อนหน้า
  • ?cmd=mode&p1=type
  • ?cmd=loopFolder&p1=โฟลเดอร์
  • ?cmd=สุ่ม
  • ?cmd=eq&p1=type
  • ?cmd=device&p1=type
  • ?cmd=setting&p1=setting1&p2=setting2
  • ?cmd=sleep
  • ?cmd=รีเซ็ต
  • ?cmd=raw&p1=cmdcode&p2=par1&p3=par2
  • ?cmd=init

ip/dfPlayerStatus ให้สถานะพื้นฐานของเครื่องเล่นรวมถึงแรงดันแบตเตอรี่

แนะนำ: