สารบัญ:

เครื่องเล่นเพลง AdaBox004: 4 ขั้นตอน
เครื่องเล่นเพลง AdaBox004: 4 ขั้นตอน

วีดีโอ: เครื่องเล่นเพลง AdaBox004: 4 ขั้นตอน

วีดีโอ: เครื่องเล่นเพลง AdaBox004: 4 ขั้นตอน
วีดีโอ: ADABOX 004 UNBOXING! @adafruit #adafruit #adabox #adabox004 2024, กรกฎาคม
Anonim
เครื่องเล่นเพลง AdaBox004
เครื่องเล่นเพลง AdaBox004

ฉันใช้ชิ้นส่วนต่างๆ ใน AdaBox004 เพื่อสร้างเครื่องเล่นเพลงอย่างง่าย มันเสียบเข้ากับพอร์ต USB และเริ่มเล่นเพลงแบบสุ่มจากการ์ด micro SD สำหรับเวิร์กชอปของฉันสำหรับแหล่งเพลงจังหวะสนุกๆ

ขั้นตอนที่ 1: อะไหล่

AdaBox004 (https://www.adafruit.com/product/3370)

ขั้นตอนที่ 2: สร้างกล่องดนตรี

ทำกล่องดนตรี
ทำกล่องดนตรี
ทำกล่องดนตรี
ทำกล่องดนตรี

คำแนะนำทั่วไปอยู่ในเว็บไซต์ AdaFruit ที่

สำคัญที่ต้องใส่ใจกับ:

เมื่ออ่านคำแนะนำของ AdaBox004 จะมองข้ามลิงก์ไปยังไซต์คำแนะนำสำหรับส่วนประกอบได้ง่าย อย่าลืมสังเกตกล่องสีเขียวที่มีลิงก์สำหรับ Adafruit Feather HUZZAH ESP8266 (https://learn.adafruit.com/adafruit-feather-huzzah-esp8266) ในส่วน "การใช้ Arduino IDE" สำหรับบอร์ด จะมีลิงก์ไปยังไดรเวอร์ต่างๆ ที่คุณจำเป็นต้องเชื่อมต่อบอร์ดและดาวน์โหลดโค้ดจาก Arduino IDE รวมถึงคำแนะนำในการเพิ่มบอร์ดเป็นตัวเลือกให้กับ Arduino IDE

ให้ความสนใจกับลิงก์ของ Music Maker FeatherWing เช่นเดียวกัน (https://learn.adafruit.com/adafruit-music-maker-featherwing/) ที่มีคำแนะนำในการติดตั้งไลบรารีที่จำเป็นให้กับ Arduino

ฉันต่อโพเทนชิออมิเตอร์ตรงตามที่แสดง (https://learn.adafruit.com/adabox004/adding-a-volume-knob) - แต่โปรดทราบว่าฉันย้าย Feather กลับไปบนเขียงหั่นขนมเพื่อให้สาย USB พอดี

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

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

ขั้นตอนที่ 3: รหัสเครื่องเล่นเพลง

ฉันแก้ไขโค้ดตัวอย่างสำหรับ Feather Player โดยลอกโค้ดที่ไม่ได้ใช้ออก คุณสามารถตัดและวางลงใน Arduino IDE จากนั้นโหลดลงบน Feather ของคุณ

โปรดทราบว่าฉันมีช่วงเวลาที่ยากลำบากในการพยายามทำให้ไฟล์เป็นที่รู้จัก สิ่งที่ฉันมีที่นี่ใช้งานได้ แต่คุณต้องปรับรหัสเพื่อเปลี่ยนจำนวนเพลงที่มีให้ และสังเกตว่าวิธีที่ผมทำจะทำให้ยากกว่า 100 เพลง (000 - 099) เพราะเลือกเพียง 2 หลักเท่านั้น ฉันสามารถเลือกหมายเลขแทร็กจริงได้ แต่ต้องแยกวิเคราะห์เพื่อสร้างชื่อไฟล์ที่ถูกต้อง บางทีในการทำซ้ำในอนาคต

ไฟล์นี้ยังมีอยู่ใน GitHub ที่ https://github.com/KFW/AdaBox004 ถ้าฉันทำการเปลี่ยนแปลงใดๆ พวกเขาจะอยู่ที่นั่น

// AdaBox004_random_songs

// สำหรับใช้กับ Adafruit Feather โดยเฉพาะ หมุดถูกตั้งค่าไว้ล่วงหน้าที่นี่!// ตัวอย่างที่แก้ไข feather_player สำหรับโครงการ AdaBox 004 // เครื่องเล่นแบบสแตนด์อโลนที่เล่นเพลงแบบสุ่มจากเพลย์ลิสต์ // แยกรหัสที่ไม่ได้ใช้ออก // มีปัญหาในการรับชื่อไฟล์ string to work แปลง String type // เนื่องจากการเรียกใช้ฟังก์ชันสำหรับการเล่นใช้ char array // หลังจากลองใช้วิธีการที่แตกต่างกัน นี่คือ kludge ที่ฉันคิดขึ้น // ชื่อแทร็ก TRACK##.mp3 // ฉันมี 60 เพลงในการ์ด SD I กำลังใช้ (000 - 059) // น่าจะฉลาดกว่าที่จะนับ # ของไฟล์หรือหาวิธีอื่นในการสุ่มชื่อไฟล์ // โอเค ครั้งหน้า

// รวมไลบรารี SPI, MP3 และ SD

#รวม #รวม #รวม

// นี่คือพินที่ใช้

#define VS1053_RESET -1 // VS1053 รีเซ็ตพิน (ไม่ได้ใช้!) // Feather ESP8266 - ใช้ HUZZAH featther #define VS1053_CS 16 // VS1053 ชิปเลือกพิน (เอาต์พุต) #define VS1053_DCS 15 // VS1053 ข้อมูล/ คำสั่งเลือกพิน (เอาต์พุต) #define CARDCS 2 // ชิปเลือกพินของชิปการ์ด #define VS1053_DREQ 0 // VS1053 คำขอข้อมูล เป็นการดีที่พิน Interrupt #define VOLUME_KNOB A0

intlastvol = 10;

int ลูปเคาน์เตอร์ = 0; ติดตามยาวหมายเลข; แทร็กสตริงสตริง; เพลงถ่าน [13] = {'T', 'R', 'A', 'C', 'K', '0', '2', '0', '.', 'm', 'p', '3', '\0'};

Adafruit_VS1053_FilePlayer musicPlayer =

Adafruit_VS1053_FilePlayer (VS1053_RESET, VS1053_CS, VS1053_DCS, VS1053_DREQ, CARDCS);

การตั้งค่าเป็นโมฆะ () {

// Serial.begin(115200); // จำเป็นสำหรับการแก้ไขปัญหาเท่านั้น // ในขณะที่ (!Serial) { ล่าช้า (1); } // รอให้เปิดพอร์ตอนุกรม // Serial.println("\n\nAdafruit VS1053 Feather Test"); randomSeed(ESP.getCycleCount()); // HUZZAH มีขาอนาล็อกเพียง 1 อันที่ใช้แล้ว // ต้องการเมล็ดพันธุ์สุ่มที่แตกต่างกัน // แนวคิดนี้จาก https://github.com/esp8266/Arduino/issues/728 musicPlayer.begin(); musicPlayer.sineTest(0x44, 500); // สร้างเสียงเพื่อระบุว่า VS1053 กำลังทำงาน SD.begin(CARDCS);

// ตั้งค่าระดับเสียงสำหรับช่องซ้ายขวา เลขล่าง == เสียงดังขึ้น!

musicPlayer.setVolume(lastvol,lastvol); musicPlayer.useInterrupt(VS1053_FILEPLAYER_PIN_INT); // DREQ int }

วงเป็นโมฆะ () {

// ตรวจสอบเป็นระยะเพื่อปรับระดับเสียง!

ลูปเคาน์เตอร์++; ถ้า (loopcounter >= 1000) { loopcounter = 0; ปริมาตรภายใน = 0; ฉบับ = analogRead (VOLUME_KNOB); ฉบับ /= 10; ถ้า (abs (ฉบับ - lastvol) > 3) { // Serial.println (ฉบับ); Lastvol = ฉบับ; musicPlayer.setVolume(lastvol,lastvol); } }

// เล่นไฟล์ในพื้นหลัง ต้องการการขัดจังหวะ!

ถ้า (! musicPlayer.playingMusic) { trackNumber = สุ่ม (6); // ต้องทำทีละหนึ่งหลัก หลักแรก 0-5 ตัวอักษร c = ถ่าน (trackNumber + 48); // ASCII 48 คือ '0'; ต้องเปลี่ยนค่าเพื่อให้ได้เพลงตัวละครที่ถูกต้อง[6] = c; // แทนที่ค่าสิบในอาร์เรย์ถ่าน trackNumber = random(10); // ตัวเลขที่สอง 0-9 c= ถ่าน (trackNumber + 48); เพลง[7] = ค; // Serial.println (เพลง); musicPlayer.startPlayingFile(เพลง); ล่าช้า(10); } }

ขั้นตอนที่ 4: เพลิดเพลิน

เพียงเสียบเข้ากับแหล่งจ่ายไฟ USB และเพลิดเพลินกับเพลงโปรดของคุณ

สามารถปรับระดับเสียงได้ด้วยโพเทนชิออมิเตอร์ภายในกล่อง มิฉะนั้นจะไม่มีการควบคุม

แนะนำ: