สารบัญ:

กล่องดนตรี MP3 สำหรับเด็ก: 6 ขั้นตอน (พร้อมรูปภาพ)
กล่องดนตรี MP3 สำหรับเด็ก: 6 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: กล่องดนตรี MP3 สำหรับเด็ก: 6 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: กล่องดนตรี MP3 สำหรับเด็ก: 6 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: กล่องดนตรี ทำงานยังไง?? 2024, กรกฎาคม
Anonim
กล่องดนตรี MP3 สำหรับเด็ก
กล่องดนตรี MP3 สำหรับเด็ก
กล่องดนตรี MP3 สำหรับเด็ก
กล่องดนตรี MP3 สำหรับเด็ก

เมื่อมองหาโครงการ DIY ใหม่ ๆ รอบ ๆ Arduino ฉันพบแนวคิดที่ดีเกี่ยวกับเครื่องเล่น MP3 ที่ใช้ RFID สำหรับเด็ก และมีกล่องของเล่นมืออาชีพที่ยอดเยี่ยมหนึ่งกล่องในท้องตลาด - พวกนี้ปกครอง พวกเขาทำธุรกิจที่ยอดเยี่ยมด้วยแนวคิดอันชาญฉลาด ตรวจสอบ - คุณจะพบหน้าของพวกเขา!

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

ดังนั้นฉันจึงเริ่มเข้าสู่ช่วงแนวคิด - ฉันต้องการใช้คุณสมบัติใด - RFID, เครื่องเล่น MP3, WLAN (ยกเลิกในภายหลัง), การควบคุม IMU, จอ LCD, นาฬิกาปลุก, การชาร์จแบบไร้สาย … จำเป็นต้องทำการวิจัย ส่วนประกอบใดที่ฉันต้องการ ส่วนประกอบใดบ้างที่ฉันสามารถนำกลับมาใช้ใหม่ได้ ฉันยังมี IMU, โมดูล LCD, Arduino nanos บางตัว

ด้วยประสบการณ์ในการบัดกรีและการวัด การประกอบสามารถทำได้ภายใน 1-2 หลังเลิกงาน

การพิมพ์กล่องซึ่งประกอบด้วยฐาน แผ่นปิด และแท่นชาร์จ ใช้เวลาพอสมควร (12+ ชั่วโมงขึ้นอยู่กับการตั้งค่าเครื่องพิมพ์และตัวแบ่งส่วนข้อมูล) แต่ฉันทำอย่างนั้นในระหว่างการบัดกรี

ขั้นตอนที่ 1: ส่วนประกอบ

ส่วนประกอบ
ส่วนประกอบ

ส่วนประกอบเป็นหลักในขณะเดียวกัน นี่คือรายการส่วนประกอบที่ฉันใช้สำหรับโครงการนี้

1. จอแสดงผล LCD 1602 2x16 Big Characters 5 V 122*44 MM blue

2. เครื่องอ่าน RFID- NFC RFID-RC522 RF IC

3. เครื่องเล่น MP3 - DFPlayer เครื่องเล่น MP3 ขนาดเล็กโมดูล MP3 บอร์ดถอดรหัสเสียงสำหรับ Arduino รองรับการ์ด TF U- ดิสก์ IO / พอร์ตอนุกรม / AD

4. ลำโพง-4 โอห์ม 3 วัตต์ 53 มม. ลำโพงสแควร์ 36 มม. ขอบโฟมแม่เหล็กภายนอกสีเงิน Cap

5. การ์ด Micro SD 8GB

6. MPU6050 เซ็นเซอร์ไจโรสโคปแบบแอนะล็อก 3 แกน

7. MINI USB NANO V3.0 CH340 5 V 16 Mt Atmega328 Micro Controller Board (ใช้พินเกือบทั้งหมด!)

8. DS3231 Precision RTC - โมดูลนาฬิกาปลุก

9. พาวเวอร์แบงค์ JETech 3400 mAh

10. Universal DIY PCBA Qi Wireless Charger Receiver Module - สีน้ำเงิน + สีดำ

11. ต้นแบบ PCB Board Protoboard กระป๋อง Universal Breadboard Prototyping Solderless FR4 PCB สองด้าน 5x7 ซม. 50x70 มม. FR4

12. 1x 2N 3904: ทรานซิสเตอร์ NPN TO-92 40V 0, 2A 0, 5W

13. ตัวต้านทาน 1x1kOhm เพื่อจำกัดกระแสเบส 3x220Ohms 0, 5 w (ขนานกัน! เพื่อรองรับกำลังไฟ - เราสามารถใช้ตัวต้านทานสเปคที่สูงกว่าได้ ฉันมีสิ่งเหล่านี้) สำหรับโหลดปัจจุบันระหว่างอีซีแอลและตัวสะสม 2x1kOhms สำหรับ TX และ RX ระหว่าง Arduino และ DFplayer เพื่อกำจัดเสียงรบกวน - ฉันไม่มีปัญหาที่นี่

14. อุปกรณ์อิเล็กทรอนิกส์ DIY มาตรฐานบางตัว - หัวแร้ง, บัดกรี, ปัตตาเลี่ยน, ตัวเชื่อมต่อ, สายเคเบิล…

14. พลังงานเยอะและประกอบสองสามชั่วโมง:)

ราคารวมสำหรับส่วนประกอบด้านบน ~30-35€ - ส่วนใหญ่มาจาก aliexpress.com และ dx.com การจัดส่งใช้เวลานาน แต่ราคาดีมาก

ขั้นตอนที่ 2: การเชื่อมต่อทางอิเล็กทรอนิกส์

การเชื่อมต่อทางอิเล็กทรอนิกส์
การเชื่อมต่อทางอิเล็กทรอนิกส์
การเชื่อมต่อทางอิเล็กทรอนิกส์
การเชื่อมต่อทางอิเล็กทรอนิกส์
การเชื่อมต่อทางอิเล็กทรอนิกส์
การเชื่อมต่อทางอิเล็กทรอนิกส์

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

ในระหว่างการบัดกรี ฉันยังคงวัดการเชื่อมต่อของสายต่างๆ อยู่ สิ้นสุดการตรวจสอบด้วยส่วนประกอบที่ติดตั้งอยู่ด้วย ไม่มีอะไรน่ารำคาญไปกว่าการต้องมองหาการเชื่อมต่อที่ไม่ดีหลังจากประกอบเสร็จแล้ว ส่วนใหญ่ให้ความสำคัญกับ GND และแรงดันไฟฟ้า +

เลย์เอาต์พินของส่วนประกอบใด ๆ พร้อมใช้งานผ่าน google

จอแสดงผล LC

LED ---- GND

LED+---ผ่าน220โอห์มถึง5โวลต์พาวเวอร์แบงค์

DB7---Arduino D2

DB6---Arduino D3

DB5---Arduino D7

DB4---Arduino D8

E---Arduino A1/ขา15

R/W---GND

RS---Arduino A0/พิน14

V0--- 10Kohm potentiometer Rx (เพื่อปรับความคมชัด)

VDD---พาวเวอร์แบงค์+5V

VSS---GND

เครื่องเล่น MP3 ของ DFPlayer

VCC---+พาวเวอร์แบงค์ 5V

RX--- ซอฟต์แวร์ซีเรียล Arduino D5 (อาจใช้ตัวต้านทาน 1kOhm ในกรณีที่มีปัญหาด้านเสียง)

TX--- ซอฟต์แวร์ซีเรียล Arduino D9 (อาจใช้ตัวต้านทาน 1kOhm ในกรณีที่มีปัญหาด้านเสียง)

SPK1---ลำโพง +

GND---Powerbank GND

SPK2---ผู้พูด-

ไม่ว่าง--- Arduino A7

GND---GND

เครื่องอ่าน RFID NFC522

3.3V---Arduino 3.3V

GND---GND

มิโซะ---Arduino D12

MOSI---Arduino D11

SCK---Arduino D13

SDA---Arduino D10

ไจโรเซ็นเซอร์ IMU 6050

VCC--- Arduino 3.3V

GND---GND พาวเวอร์แบงค์

SCL---Arduino A5/SCL

SDA---Arduino A4/SDA

ADO---+3.3V (สัญญาณสูง) สำหรับที่อยู่ I2C 0x69

DS3231 นาฬิกาเรียลไทม์

3, 3V --- Arduino 3.3V

SDA---Arduino A4/SDA

SCL---Arduino A5/SCL

GND---GND

ทริกเกอร์โหลดปัจจุบัน

2N3904 อีซีแอล -- GND

ฐาน 2N3904 - ผ่าน 1kOhm ไปยัง Arduino D6

ตัวรวบรวม 2N3904 - ผ่าน 3x220Ohms (ขนานกัน! - สามารถใช้ตัวต้านทานสเปคที่สูงกว่าฉันมีสิ่งเหล่านี้) ถึง +5V

พาวเวอร์แบงค์

สาย V+ และ GND ของ Powerbank เชื่อมต่อผ่านขั้วต่อ USB ตัวเมียกับขั้วต่อสายไฟบนบอร์ด และเชื่อมต่อกับ Vin/GND ของ Arduino) เปิดพาวเวอร์แบงค์ผ่านไมโครสวิตช์ในแผ่นปิด ฉันบัดกรีไมโครสวิตช์เป็น V+ ผ่านตัวต้านทานโหลดเป็น GND เพื่อจำลองสถานะโหลดและเปิดสวิตช์ หลังจากนั้นโหลดปัจจุบันป้องกันไม่ให้ปิด

+5V -- ขั้วต่อเพาเวอร์บนบอร์ด +5V

GND --ขั้วต่อเพาเวอร์บนบอร์ด GND

+5V ของ powerbank -- ตัวต้านทานโหลด -- microswitch Pin A

GND - ไมโครสวิตช์พิน B

ขั้นตอนที่ 3: การประกอบอุปกรณ์อิเล็กทรอนิกส์

แอสเซมบลีอิเล็กทรอนิกส์
แอสเซมบลีอิเล็กทรอนิกส์
แอสเซมบลีอิเล็กทรอนิกส์
แอสเซมบลีอิเล็กทรอนิกส์
แอสเซมบลีอิเล็กทรอนิกส์
แอสเซมบลีอิเล็กทรอนิกส์

ส่วนประกอบของบอร์ด - เครื่องเล่น MP3, RTC, IMU, Arduino ติดตั้งอยู่ในซ็อกเก็ต ปุ่มเลือกและขึ้น/ลง, RFID, LCD และกำลังไฟเชื่อมต่อผ่าน 'สายแบนด์' ที่บัดกรีด้วยตัวเองได้นานพอที่จะใส่ลงในกล่องในภายหลัง

ไมโครสวิตช์เพื่อเปิดเครื่องพาวเวอร์แบงค์เป็นแบบตายตัว - ไม่แสดงใน pciures

ฉันใช้แหล่งจ่ายไฟแบบตายตัวเพื่อทดสอบการตั้งค่า

ขณะประกอบ ฉันทดสอบแต่ละส่วนประกอบทีละส่วน -> ตัวอย่างภาพร่าง Arduino สำหรับส่วนประกอบต่างๆ มีประโยชน์มากที่นี่

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

ต่อมาปรากฎว่า Mini DFPlayer กำลังดึง > 70mA อย่างต่อเนื่อง ขณะที่ฉันใช้ powerbank auto-switch-off เพื่อปิดกล่อง (โดยไม่ทริกเกอร์การโหลดปัจจุบันอีกต่อไป) ตอนนี้ฉันต้องคิดใหม่

ยังคงมีปัญหากับโหมดสลีปของ Arduino และ DFplayer ในการขับกระแสไฟ - กระแสไฟไม่ตกต่ำกว่าเกณฑ์เพื่อเปิดใช้งานการปิด ข้อเสนอแนะยินดีต้อนรับ

หมายเหตุ: สำหรับกล่องที่สอง ฉันต้องจัดลำดับพาวเวอร์แบงค์อีกอันใหม่เพราะฉันทำลายอุปกรณ์อิเล็กทรอนิกส์ของอันแรกของฉัน และดูที่นี่ - powerbank นี้ปิด 10 วินาทีหลังจากที่ฉันหยุดทริกเกอร์กระแสโหลด -> การปิดกำลังทำงานอยู่

ตัวรับสัญญาณการชาร์จแบบไร้สายเสียบเข้ากับ USB สำหรับชาร์จพาวเวอร์แบงค์ ฐานชาร์จอยู่ในกล่องชาร์จ พิมพ์ด้วยเครื่องพิมพ์ 3 มิติของฉัน

ขั้นตอนที่ 4: ซอฟต์แวร์

ซอฟต์แวร์
ซอฟต์แวร์

ซอฟต์แวร์ที่มีให้ใน github

การเขียนโปรแกรมเป็นเรื่องสนุก ฉันชอบเริ่มต้นด้วยตัวอย่างสั้นๆ และพัฒนาต่อไป เนื่องจากฉันไม่ได้ทำข้อกำหนดที่ตามมาจริงๆ การวางแผนคุณลักษณะและแผนโปรแกรมที่มีโครงสร้าง ฉันจึงลงเอยด้วยโค้ดที่ทำงานได้บางส่วนแต่ไม่ได้หรูหราจริงๆ นี่เป็นสิ่งที่ต้องทำเสมอ -> ไปที่อ็อบเจ็กต์มากขึ้น แยกเป็น.h และ.cpp …

อย่างไรก็ตาม ฉันต้องการให้มันทำงานได้อย่างรวดเร็ว ดังนั้นในหลาย ๆ กรณีฉันก็ไปที่นั่นไม่ได้บนเส้นทางที่มีประสิทธิภาพที่สุด

แต่สิ่งที่ยอดเยี่ยมก็คือ ทันทีที่ HW ทำงาน เราก็สามารถเริ่มทำสิ่งต่างๆ ได้ทุกประเภท

ฉันใช้ arduino IDE ซึ่งเป็นไลบรารี่ที่จำเป็น - ทำได้ง่ายๆ ด้วยตัวจัดการไลบรารี arduino IDE

ดังนั้นซอฟต์แวร์เวอร์ชันปัจจุบันของฉันจึงรองรับ:

ข้อความต้อนรับ

ปริมาณ (duh)

เอียงกล่องซ้าย/ขวาเพื่อสลับไปยังเพลงก่อนหน้า/ถัดไป และหากปิดใช้งาน RFID ไปยังโฟลเดอร์ถัดไปผ่านการกลับไปกลับมา

หยุดชั่วคราว / เล่น (duh)

เริ่มต้น เรียนรู้ RFID ใหม่ - กำหนดโฟลเดอร์ตามโฟลเดอร์การ์ด SD ถัดไปของ RFID ข้อมูลถูกเก็บไว้ใน Arduino EEPROM

เล่นโฟลเดอร์ที่กำหนดให้กับ RFID - กำหนด RFID ให้กับโฟลเดอร์ผ่านฟังก์ชันการเรียนรู้

โหลดและบันทึกพารามิเตอร์เพื่อเปิดใช้งานการตั้งค่าที่บันทึกไว้ รีเซ็ตเป็นค่าจากโรงงาน:)

การตั้งค่านาฬิกาและวันที่

เปิด/ปิดนาฬิกาปลุก, ตั้งเวลาปลุกและนาที, เล่นเพลงปลุกแบบตายตัว

ปิด RFID - เล่น mp3 โดยไม่ต้องใช้

แนวคิดเพิ่มเติมในรายการของฉัน - ยังคงดำเนินการอยู่

แสดงอุณหภูมิ (RTC ทำได้ - วัดอุณหภูมิเพื่อชดเชยการกระแทกของควอตซ์)

เริ่มหัวเราะเมื่อตัวสั่น

ตั้งเพลงปลุก

เลือกโฟลเดอร์ที่กำหนดให้กับ RFID ในโหมดเรียนรู้

การกำหนดโฟลเดอร์จัดเก็บและเพลงสุดท้ายที่เล่นบนชิป RFID - การนำกลับมาใช้ใหม่ระหว่างกล่อง (ฉันกำลังสร้างอีกกล่อง - เด็กสองคนยังจำได้ไหม….?)

เปิดใช้งานการปิด - ใช้งานไม่ได้ ณ ตอนนี้โดยไม่ต้องเชื่อมต่อกับ USB -> โหลดปัจจุบันผ่าน Powerbank จะลดลงในการตั้งค่านี้

ข้อมูลโครงสร้างโฟลเดอร์ในการ์ด SD

ฉันมีหนังสือเสียง mp3 และเพลงสำหรับลูก ๆ ของฉันเก็บไว้ ดังนั้นฉันจึงใช้สคริปต์ลินุกซ์เพื่อแปลงเพลงเป็นการตั้งชื่อที่ถูกต้อง ตั้งชื่อโฟลเดอร์ตามลำดับตัวเลขสองหลัก (เช่น "00", "01", "02"…) เพลงในนั้นจะต้องตั้งชื่อตามลำดับตัวเลขสามหลัก (เช่น "001.mp3", "002.mp3", …)

mp3 การเปิดสวิตช์ของฉัน ("สวัสดี ฉันคือกล่องของเล่นของคุณ…") ถูกจัดเก็บไว้ในโฟลเดอร์ "99" เป็น "001.mp3"

สคริปต์ไม่ได้พิสูจน์คนงี่เง่าและควรใช้เฉพาะในไดเร็กทอรี 'คัดลอก' ไม่ใช่ในต้นฉบับ

#!/bin/bashlet i=1 สำหรับไฟล์ใน *.mp3 do if (($i < 10)); จากนั้น mv "$file" "00${i}.mp3" elif (($i < 100)); จากนั้น mv "$file" "0${i}.mp3" อื่น mv "$file" "${i}.mp3" fi ปล่อยให้ i++ ทำเสร็จแล้ว

ขั้นตอนที่ 5: การพิมพ์และการประกอบกล่อง

การพิมพ์และการประกอบกล่อง
การพิมพ์และการประกอบกล่อง
การพิมพ์และการประกอบกล่อง
การพิมพ์และการประกอบกล่อง
การพิมพ์และการประกอบกล่อง
การพิมพ์และการประกอบกล่อง

ตอนนี้ HW และ SW ใช้งานได้ ฉันต้องการ BOX!

จุดเริ่มต้นที่ดีคือ Tinkercad - ฉันชอบมันมาก! ใช้งานง่ายและคุณได้ทุกอย่างที่คุณต้องการ สร้างจากชุมชนขนาดใหญ่และตัวอย่างดีๆ มากมายจาก "คนจรจัด" ที่ฉลาด

หนึ่งสามารถเข้าสู่สิ่งนี้ได้ตลอดไป - ที่นี่หนึ่งการเปลี่ยนแปลง มีที่ยึดใหม่ รู … การออกแบบใหม่ ….

แต่สุดท้ายฉันก็พอใจกับการออกแบบกล่องในปัจจุบัน ฉันยังสร้างกล่องฐานสำหรับที่ชาร์จเพื่อใส่กล่อง mp3 สำหรับ…การชาร์จ ดูที่นี่

การพิมพ์ต้องใช้เวลา (~8-12 ชั่วโมงขึ้นไป) และฉันทดสอบด้วยความหนาของเส้นที่ต่างกัน ในที่สุดฉันก็ยังคงอยู่ที่มาตรฐานเครื่องพิมพ์ สำหรับกล่องปัจจุบัน ฉันกำลังใช้กล่องต้นแบบ (ในขั้นต้นที่พิมพ์ตามการออกแบบที่เก่ากว่า) อย่างไรก็ตาม การออกแบบล่าสุดมีฟีเจอร์ใหม่ การเมาท์ โฮลส์ ซึ่งทำให้เป็นอีกหนึ่งรายการในรายการสิ่งที่ต้องทำของฉัน

และสิ่งหนึ่งที่สำคัญมากที่ต้องทำ: หาเสื้อผ้าดีๆ มาใส่กล่อง - แต่นี่จะเป็นโดเมนของภรรยาฉัน - ตั้งตารอเสื้อผ้าใหม่ในกล่อง - เร็วๆ นี้…

ทันทีที่งานพิมพ์เย็นลงและมีการทดสอบพื้นฐานของอุปกรณ์อิเล็กทรอนิกส์นอกกล่อง การประกอบขั้นสุดท้ายจะต้องเสร็จสิ้น

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

เช่นเดียวกับกล่องฐาน ขั้นแรกให้แก้ไขแผ่นรับการชาร์จเข้ากับพื้นกล่อง - เทปสองด้านทำงานได้ดีที่นี่ - ต้องปรับให้ตรงกลางฐานเพื่อให้ใกล้กับขดลวดชาร์จเมื่อวางกล่องไว้บนฐานชาร์จ.

จากนั้น powerbank ทำการ pre-fix แบบสองด้านอีกครั้ง แล้วใส่กาวร้อนลงไปที่จุด 'strategic' ลำโพงสามารถแก้ไขได้ด้วยจุดกาวที่สวยงามบนฐานยึดที่เตรียมไว้ - แน่นและแน่นดี

ในที่สุดบอร์ด - ฉันได้รวมแผ่นรองขนาดเล็กไว้ในการออกแบบการพิมพ์ 3 มิติ ดังนั้นบอร์ดจึงติดตั้งอย่างเรียบร้อย - อีกครั้ง - จุดกาวร้อนเชิงกลยุทธ์บางจุด เสียงดังไม่ควรแยกของออกจากกัน - ดังนั้นฉันจึงให้ความสนใจกับสิ่งนี้

และสุดท้ายใช้สกรูขนาดเล็กที่มีอยู่ (การออกแบบการพิมพ์ของฉันมีที่ยึดสกรู 3M อยู่ด้วย แต่ไม่เหมาะกับสกรูจริง)

ขั้นตอนที่ 6: กล่องสำเร็จรูป - ยังไม่มีเสื้อผ้า

Image
Image
กล่องสำเร็จรูป - ยังไม่มีเสื้อผ้า
กล่องสำเร็จรูป - ยังไม่มีเสื้อผ้า
กล่องสำเร็จรูป - ยังไม่มีเสื้อผ้า
กล่องสำเร็จรูป - ยังไม่มีเสื้อผ้า

และนี่คือสองกล่องที่ทำเสร็จแล้วสำหรับลูกๆ ของฉัน พวกเขาทำการทดสอบเบต้าแล้วและพบข้อบกพร่องของซอฟต์แวร์;-)

ฉันยังซื้อสติกเกอร์ RFID M3 จำนวน 20 แพ็ค

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

แนะนำ: