กลับไปหน้ารวมไฟล์
vinyl-record-frame-mp3-player-with-screen-7daa32.md

Arduino Vinyl Mp3 Player

เจ้านี่คือเครื่องเล่น mp3 แบบง่ายๆ ที่เปิดด้วยปุ่มสัมผัส (touch sensitive button) แล้วก็เล่นไฟล์ mp3 จาก SD Card ที่เสียบอยู่ใน DFPlayer ไปเลย

มันยังแสดงชื่อเพลงปัจจุบันลงบนหน้าจอ LCD แบบ i2c ด้วยนะ โดยการจดจำว่าเพลงไหนกำลังเล่นอยู่ แล้วก็ดึงชื่อเพลงจาก array ของอัลบั้มมาโชว์

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

พี่ใช้อุปกรณ์หลักๆ ก็มี Arduino Nano, LCD 16x4 แบบ I2C, โมดูล DFPlayer กับ ปุ่มสัมผัสแบบ TTP223

แล้วก็ใช้ลำโพง 2w เล็กๆ สองตัวด้วย มันดังพอฟังได้ แต่ก็เล็กพอจะซ่อนไว้หลังกรอบวินิลบางๆ ได้

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

สรุปการทำงานของปุ่ม: กดครั้งเดียว → เล่นเพลงแรก กดสองครั้งเร็วๆ → ข้ามไปเพลงถัดไป กดสามครั้งเร็วๆ → กลับไปเพลงก่อนหน้า กดค้าง (ในโค้ดตั้งไว้ที่ 5 วินาที) → รีเซ็ตโมดูล (และหยุดเพลง)

ไหนๆ ก็ไหนๆ แล้ว พี่มึนกับวงจรมาก เลยสรุปการต่อสายให้แบบนี้นะ: 5v → ต่อเข้า VCC ของ TTP223, I2C LCD และ DFPlayer GND → ต่อเข้า GND ของ TTP223, I2C LCD และ DFPlayer D11 → ต่อเข้า RX ของ DFPlayer D10 → ต่อเข้า TX ของ DFPlayer D8 → ต่อเข้า I/O ของ TTP223 A4 → ต่อเข้า SDA ของ I2C LCD A5 → ต่อเข้า SCL ของ I2C LCD

ข้อมูลเทคนิคเพิ่มเติม (แบบจัดเต็ม)

Vinyl Frame MP3 Player เนี่ยคือการผสมผสานระหว่างงานไม้ การเขียนโปรแกรม และการประมวลผลเสียงอย่างลงตัว ซ่อนโมดูล DFPlayer ไว้ในกรอบแผ่นวินิลจริงๆ แล้วก็ได้งานศิลปะติดผนังที่เล่นเพลงได้ตามสั่งเลย

อัพเกรดขั้นเทพ: แสดงภาพปกอัลบั้มแบบ Full-Color บน TFT

การใช้ LCD แบบข้อความ 16x2 แบบเวอร์ชันพื้นฐานอาจทำลายบรรยากาศวินเทจไปหน่อย ถ้าอยากอัพเกรดให้เท่ห์กว่านี้ ให้เปลี่ยนไปใช้ หน้าจอสี TFT ขนาด 2.4" หรือ 2.8" แบบ SPI เพื่อแสดงภาพปกอัลบั้มแบบดิจิทัลซะ!

  1. แปลงไฟล์ภาพ: Arduino จัดการไฟล์ JPEG หรือ PNG ไม่ได้ น้องต้องใช้ซอฟต์แวร์บน PC แปลงภาพปกอัลบั้มขนาด 240x320 ให้เป็น array ของ Bitmap (.BMP) แบบ raw
  2. ใช้ SD Card: เก็บไฟล์ .BMP ไว้ใน SD Card ที่เสียบอยู่ด้านหลังโมดูล TFT
  3. โหลดภาพขึ้นจอ: ใช้ไลบรารี <Adafruit_TFTLCD.h> อ่านข้อมูลสี RGB ทีละพิกเซลจาก SD Card แล้ววาดภาพปกอัลบั้มขึ้นบนหน้าจอแบบเรียลไทม์

ซิงค์เสียงกับภาพ

การเล่นเพลงจริงๆ ดูแลโดย โมดูล DFPlayer Mini MP3

  • เมื่อผู้ใช้กดปุ่ม "Play" ที่ติดอยู่บนกรอบไม้ Arduino จะสั่ง myDFPlayer.play(1); (เล่นแทร็กที่ 1)
  • ในเวลาเดียวกัน Arduino จะสั่งให้หน้าจอ TFT โหลดและวาดภาพ Cover01.bmp
  • ปุ่ม Play/Pause/Next/Prev ที่ต่อกับ Arduino จะใช้ควบคุมการเปลี่ยนเพลง ทำให้ภาพบนหน้าจอตรงกับเพลงที่เล่นอยู่เสมอ

อุปกรณ์ที่ต้องใช้สำหรับเวอร์ชันขั้นเทพ

  • Arduino Mega: การเรนเดอร์ bitmap ต้องการหน่วยความจำและพลังประมวลผลมากกว่า Uno หรือ Nano มาก
  • หน้าจอสี TFT ขนาด 2.4" แบบ SPI หรือ Parallel
  • DFPlayer Mini MP3 Player + MicroSD card
  • ลำโพง 3W ถึง 5W ซ่อนไว้หลังกรอบภาพ
  • กรอบวินิลวินเทจ หรือกรอบรูปหนาๆ

จัดไปให้สุด วัยรุ่น! สู้งานนะน้อง

ข้อมูล Frontmatter ดั้งเดิม

apps:
  - "1x Arduino IDE"
author: "aaronalam1987"
category: "Audio & Sound"
components:
  - "1x Stereo Enclosed Speaker - 3W 8Ω"
  - "1x Arduino Nano"
  - "1x Soldering kit"
  - "1x DFPlayer - A Mini MP3 Player"
  - "1x Touch sensor module TTP223"
  - "1x I2C 16x2 LCD"
description: "มาทำเครื่องเล่น MP3 ตึงๆ พร้อมหน้าจอ LCD เอาไปใส่ในกรอบแผ่นเสียงวินเทจกัน! ใช้ Arduino ควบคุม ต่อเซนเซอร์กับมอเตอร์ง่ายๆ งานนี้ทั้งวัยรุ่นทั้งสายช่าง รับรองจัดไปแบบเทพๆ"
difficulty: "Easy"
documentationLinks: []
downloadableFiles:
  - "https://projects.arduinocontent.cc/592ea706-aa2d-406b-968c-fac20a7c0f4e.ino"
encryptedPayload: "U2FsdGVkX18C4ZxlDFwVCa0gZFYRdqCEh7TN/oBYpkyzVO+GoscoAEpPS2JWZGVCyACJ/KBMWUAb/hgnBlv0caEDITZlG89Wr9r8POHyedk="
heroImage: "https://cdn.jsdelivr.net/gh/bigboxthailand/arduino-assets@main/images/projects/vinyl-record-frame-mp3-player-with-screen-7daa32_cover.jpg"
lang: "en"
likes: 0
passwordHash: "eeb2bc53ae32aee335313a6cc28664b743f78d9187633f7e02805b599dd09d35"
price: 1499
seoDescription: "Simple DIY Vinyl Record Frame Mp3 Player with lcd display. A creative Arduino project for music lovers and home decor."
tags:
  - "Music"
  - "Audio"
title: "โปรเจกต์เฟรมแผ่นเสียงสุดเท่ พร้อมจอเล่น MP3 งานง่ายแต่หล่อ!"
tools: []
videoLinks:
  - "https://www.youtube.com/watch?v=aEK5C6ygAdU"
views: 7905