Innehållsförteckning:

Kids MP3 Music Box: 6 steg (med bilder)
Kids MP3 Music Box: 6 steg (med bilder)

Video: Kids MP3 Music Box: 6 steg (med bilder)

Video: Kids MP3 Music Box: 6 steg (med bilder)
Video: Disney Villain Medley - Singing Every Villain Song at Walt Disney World! | 8-year-old Claire Crosby 2024, Juli
Anonim
Barn MP3 -musiklåda
Barn MP3 -musiklåda
Barn MP3 -musiklåda
Barn MP3 -musiklåda

När jag letade efter några nya DIY -projekt runt arduino hittade jag några bra idéer om RFID -baserade MP3 -spelare för barn. Och det finns en stor professionell leksakslåda på marknaden - dessa killar styr. De gjorde ett bra företag av sin smarta idé. Kolla in - du hittar deras sida!

När mina två barn börjar lyssna på ljudböcker och musik, mer och mer, och fortfarande använder gamla gamla CD -skivor med allt krångel, bestämde jag mig för att bygga en sådan MP3 -spelarebox med några fina funktioner för att göra det till en bra individ leksak till dem. Efter att jag nyligen köpte min första 3D -skrivare verkade detta projekt vara en bra lekplats för att också dyka in i 3D -utskrift.

Så jag började i konceptfasen - vilka funktioner skulle jag vilja implementera - RFID, MP3 -spelare, WLAN (avbrutet senare), IMU -kontroll, LCD -display, väckarklocka, trådlös laddning … Behövde undersöka vilka komponenter jag skulle behöva. Vilka komponenter kan jag återanvända? Jag hade fortfarande en IMU, LCD -modul, några Arduino nanos.

Med viss erfarenhet av lödning och mätning kan monteringen göras inom 1-2 efter arbetspass.

Utskriften av lådan, bestående av en bas, en täckplatta och en laddstation, tar lite tid (12+ timmar beroende på skrivaren och skärarinställningarna), men jag gjorde det under lödning.

Steg 1: Komponenter

Komponenter
Komponenter

Komponenterna är verkligen mainstream under tiden. Här är en lista över komponenter som jag använde för detta projekt.

1. LCD -skärm 1602 2x16 stora tecken 5 V 122*44 MM blå

2. RFID-läsare- NFC RFID-RC522 RF IC

3. MP3 -spelare - DFPlayer Mini MP3 -spelarmodul MP3 -röstavkodningskort för Arduino -stödjande TF -kort U- Disk IO/Serial Port/AD

4. Högtalare- 4 ohm 3Watts 53MM Square Speaker 36MM Extern magnetisk skumkant Silvery Cap

5. Micro SD -kort 8 GB

6. MPU6050 3 -axlig analog gyroskopsensor

7. MINI USB NANO V3.0 CH340 5 V 16 Mt Atmega328 Micro Controller Board (nästan alla stift används!)

8. DS3231 Precision RTC - väckarklocka

9. Powerbank JETech 3400 mAh

10. Universal DIY PCBA Qi trådlös laddningsmottagarmodul - blå + svart

11. Prototyp PCB Board Protoboard Tinned Universal Breadboard Prototyping Lödfri FR4 PCB Dubbelsidig 5x7 cm 50x70mm FR4

12. 1x 2N 3904: Transistor NPN TO-92 40V 0, 2A 0, 5W

13. 1x1kOhm motstånd för att begränsa basström, 3x220Ohms 0, 5 w (parallellt! För att tillgodose watt - man kan använda ett högre specmotstånd, jag hade dessa) för strömbelastning mellan emitter och kollektor. 2x1kOhms för TX och RX -linje mellan Arduino och DFplayer för att döda brus - jag hade inget problem här.

14. Några vanliga DIY -elektronikgrejer - lödkolv, löd, klippare, kontakter, kablar …

14. Mycket energi och ett par timmar att montera:)

Totalpris för ovanstående komponenter ~ 30-35 € - mestadels från aliexpress.com och dx.com. Frakten tar lite tid, men priset är bra.

Steg 2: Elektronikanslutning

Elektronikanslutning
Elektronikanslutning
Elektronikanslutning
Elektronikanslutning
Elektronikanslutning
Elektronikanslutning

Jag ritade inte en layout och jag använde inte heller några praktiska verktyg som Fritzing eller liknande. Förmodligen vid ett senare tillfälle. Beskrivningen nedan visar anslutningen. Alla stift som inte nämns är inte anslutna.

Under lödningen fortsatte jag att mäta anslutning av linjerna, slutkontroll med monterade komponenter gjordes också. Inget mer irriterande än att behöva leta efter en dålig anslutning när allt kommer omkring. De flesta bryr sig om GND och spänning +.

Stiftlayouten för alla komponenter är tillgänglig via google.

LC Display

LED ---- GND

LED+--- Via 220Ohm till 5V powerbank

DB7 --- Arduino D2

DB6 --- Arduino D3

DB5 --- Arduino D7

DB4 --- Arduino D8

E --- Arduino A1/stift 15

R/W --- GND

RS --- Arduino A0/Pin 14

V0 --- 10Kohm potentiometer Rx (för att justera kontrast)

VDD --- Powerbank +5V

VSS --- GND

DFPlayer MP3 -spelare

VCC ---+5V Powerbank

RX --- programvara seriell Arduino D5 (eventuellt via 1kOhm motstånd vid bullerproblem)

TX --- programvara seriell Arduino D9 (eventuellt via 1kOhm motstånd vid bullerproblem)

SPK1 --- Högtalare +

GND --- Powerbank GND

SPK2 --- Högtalare-

Upptagen --- Arduino A7

GND --- GND

NFC522 RFID -läsare

3.3V --- Arduino 3.3V

GND --- GND

MISO --- Arduino D12

MOSI --- Arduino D11

SCK --- Arduino D13

SDA --- Arduino D10

IMU 6050 gyrosensor

VCC --- Arduino 3.3V

GND --- GND Powerbank

SCL --- Arduino A5/SCL

SDA --- Arduino A4/SDA

ADO ---+3,3V (hög signal) för I2C-adress 0x69

DS3231 Realtidsklocka

3, 3V --- Arduino 3.3V

SDA --- Arduino A4/SDA

SCL --- Arduino A5/SCL

GND --- GND

Aktuell belastningsutlösare

2N3904 sändare - GND

2N3904 bas - via 1kOhm till Arduino D6

2N3904 kollektor - via 3x220Ohms (parallellt! - man kan använda ett högre specmotstånd, jag hade dessa) till +5V

Powerbank

V+ och GND -linjer på Powerbank anslutna via en kvinnlig USB -kontakt till strömkontakten ombord och anslut till Vin/GND från Arduino). Powerbanken slås på via mikrobrytare i täckplattan. Jag lödde en mikrobrytare till V+ genom ett lastmotstånd till GND för att simulera ett belastningstillstånd och slå på det. Därefter hindrar den aktuella belastningen från att stängas av.

+5V - Strömkontakt ombord +5V

GND -Strömkontakt ombord på GND

+5V powerbank - lastmotstånd - mikrobrytare Pin A

GND - mikrobrytare B

Steg 3: Elektronikmontering

Elektronikmontering
Elektronikmontering
Elektronikmontering
Elektronikmontering
Elektronikmontering
Elektronikmontering

Brädkomponenterna - MP3 -spelare, RTC, IMU, Arduino är monterade i uttag. Välj och upp/ner -knappar, RFID, LCD och ström är anslutna via självlödda "bandkablar" tillräckligt länge för att passa in i lådan senare.

Mikrobrytare för att slå på powerbank är fast täckplatta - visas inte på bilderna.

Jag använde en fast strömförsörjning för att testa installationen.

När jag monterade testade jag varje komponent individuellt -> exempel Arduino -skisser för komponenterna är till stor hjälp här.

Eftersom powerbanken hade en automatisk avstängning med låg ström inkluderade jag en transistorstyrd belastningstopp var 15: e sekund i 100 ms via ett 70 Ohm motstånd (faktiskt 3 parallella 220 Ohm för att tillgodose tillräcklig watt, det är bara en kort topp men de tre motstånden kommer att dela strömmen och kommer därför inte att drivas över specifikationerna).

Senare visade det sig att Mini DFPlayer drar> 70mA kontinuerligt. Eftersom jag använde powerbankens automatiska avstängning också för att stänga av lådan (genom att inte utlösa den aktuella belastningen längre) måste jag nu tänka om detta.

Har fortfarande problem med viloläge för Arduino och DFplayer för att minska strömmen - strömmen sjunker inte under tröskeln för att aktivera avstängning. Feedback välkommen.

Obs: för den andra lådan var jag tvungen att beställa en annan powerbank eftersom jag dödade elektroniken i min första. Och se här - den här powerbanken stängs av 10 sekunder efter att jag slutat utlösa lastströmmen -> avstängningen fungerar nu.

Den trådlösa laddningsmottagaren är ansluten till powerbankens laddnings -usb. Laddarens bas är inbyggd i en laddare, tryckt med min 3D -skrivare.

Steg 4: Programvara

programvara
programvara

Programvara tillgänglig på github

Programmering är kul, jag gillar att börja med en snabb kärna av exempel och att utvecklas vidare. Eftersom jag inte riktigt gör de efterföljande specifikationerna, funktionsplaneringen och strukturerade programplanerna slutar jag med en fungerande men inte riktigt elegant kod. Detta är alltid en todo -> gå mer in i objekt, separera i.h och.cpp …

Men jag vill få saken att fungera snabbt så i många fall kommer jag dit inte på den mest effektiva vägen.

Men det bästa är att så snart HW fungerar kan man börja göra alla möjliga saker.

Jag använde arduino IDE, ett par bibliotek krävs - helt enkelt gjort med arduino IDE bibliotekschef.

Så min nuvarande version av programvaran stöder:

Välkomstmeddelande

Volym (duh)

Vänster/höger lutning av rutan för att växla till föregående/nästa låt och om RFID inaktiveras till nästa mapp fram och tillbaka.

Pausa/spela (duh)

Initiera, lär dig ny RFID - mapp tilldelas baserat på nästa RFID nästa SD -kortmapp. Data lagras i Arduino EEPROM

Spela mapp som tilldelats RFID-tilldelning RFID-till-mapp via inlärningsfunktion

Ladda och spara parametrar för att aktivera sparade inställningar. Fabriksåterställning:)

Klocka och datuminställning.

Slå på/av larm, ställ in larmtid och minut, spela en fast låt för larm.

Stäng av RFID - spela mp3 utan det.

Några fler idéer på min lista - återstår att implementera

Visa temperatur (RTC kan göra det - den mäter temperaturen för att kompensera påverkan på kvarts)

Börja skratta när du skakar, Ställ in sång för larm

Välj vilken mapp som tilldelats RFID i inlärningsläge

Tilldelning av lagringsmapp och senaste låt som spelades på RFID -chip - återanvändbarhet mellan lådor (jag bygger ytterligare - två barn kommer ihåg …?)

aktivera avstängning -detta fungerar inte från och med nu utan att vara ansluten till USB -> strömbelastning via Powerbank reduceras i denna inställning.

Information om mappstruktur på SD -kort

Jag hade några mp3 -ljudböcker och musik för mina barn lagrade. Så jag använde några linux -skript för att omvandla låtarna till rätt namn. Mappar ska namnges i sekvens tvåsiffriga nummer (dvs "00", "01", "02" …). Låtar där måste namnges i tresiffriga nummer (dvs "001.mp3", "002.mp3", …).

Min start-på-välkomst mp3 ("Hej, jag är din leksakslåda …") lagras i mappen "99" som "001.mp3".

Skriptet är inte idiotiskt bevisat och bör endast användas i en kopia -katalog och inte på original.

#!/bin/bashlet i = 1 för fil i *.mp3 gör if (($ i <10)); sedan mv "$ file" "00 $ {i}.mp3" elif (($ i <100)); sedan mv "$ file" "0 $ {i}.mp3" annars mv "$ file" "$ {i}.mp3" fi låt i ++ gjort

Steg 5: Skriva ut och montera lådan

Skriva ut och montera lådan
Skriva ut och montera lådan
Skriva ut och montera lådan
Skriva ut och montera lådan
Skriva ut och montera lådan
Skriva ut och montera lådan

Så nu fungerar HW och SW - jag behöver en BOX!

Ett bra ställe att börja med är Tinkercad - jag älskar det! Enkel att använda och du får allt du vill ha. Bygga på en enorm gemenskap och många bra exempel från smarta "Tinkerers".

Man kan lätt komma in i detta för alltid - här en förändring, där ett nytt fäste, hål, … ny design,….

Men i slutet är jag helt nöjd med den nuvarande låddesignen. Jag byggde också en baslåda för laddaren att sätta mp3 -rutan på för … laddning. kolla här

Utskrift tar sin tid (~ 8-12 timmar och mer) och jag testade med olika linjetjocklek, till slut höll jag mig vid skrivarens standarder. För de nuvarande lådorna använder jag prototypen (ursprungligen tryckt baserat på äldre design) lådor, men den senaste designen har några nya funktioner, fästen, helheter som gör ett annat objekt på min att göra-lista.

Och en mycket viktig sak att göra: skaffa några fina kläder till lådan - men detta kommer att vara min frus domän - ser fram emot lådans nya kläder - kommer snart …

Så snart utskrifterna har svalnat och ett grundtest av elektroniken har gjorts utanför lådan måste den slutliga monteringen göras.

Jag använde varmt lim för att fixa delarna - Mikrobrytare, LCD och RFID -mottagare fixerad på täckplattan. Jag använde lite dubbelsidig tejp för att förfixera komponenter och använde sedan det heta limet för att sätta in några sista fixpunkter.

Samma sak med baslådan. Fixera först laddningsmottagarplattan till lådans mark - dubbelsidig tejp gjorde ett bra jobb här - måste justeras till mitten av basen för att vara tillräckligt nära laddningsspolen när du placerar lådan ovanpå laddarens bas.

Sedan fixar powerbanken, igen förfix med dubbelsidig, sedan lite hett lim till "strategiska" punkter. Högtalaren kan fixas med några fina limpunkter vid de förberedda fästena - snyggt och tätt.

Slutligen brädet - jag inkluderade några mini -monteringsdynor i 3D -utskriftsdesignen, så att brädet snyggt monterades där med - igen - några strategiska heta limpunkter. Skramlande ska inte kasta isär saker - så jag gav den här lite uppmärksamhet.

Och slutligen använda några tillgängliga miniskruvar (min utskriftsdesign inkluderade några 3M skruvfästen, men de var inte riktigt bra för riktiga skruvar)

Steg 6: Färdig låda - men utan kläder

Image
Image
Färdig låda - men utan kläder
Färdig låda - men utan kläder
Färdig låda - men utan kläder
Färdig låda - men utan kläder

Och här är de två färdiga lådorna för mina barn. De gjorde redan några betatester och hittade några programvarufel;-).

Jag köpte också ett 20 -pack RFID M3 -klistermärken.

Nu måste jag samla alla möjliga små figurer och få dem att spela tokens för MP3 -rutan. Roligt för pappa och barn:)

Rekommenderad: