Innholdsfortegnelse:

MP3 -musikkboks for barn: 6 trinn (med bilder)
MP3 -musikkboks for barn: 6 trinn (med bilder)

Video: MP3 -musikkboks for barn: 6 trinn (med bilder)

Video: MP3 -musikkboks for barn: 6 trinn (med bilder)
Video: Расслабляющая Музыка для Сна - Музыка для Глубокого Сна, Засыпание, Сладкие Сны, Бессонница | #68 2024, November
Anonim
MP3 -musikkboks for barn
MP3 -musikkboks for barn
MP3 -musikkboks for barn
MP3 -musikkboks for barn

Da jeg lette etter noen nye DIY -prosjekter rundt arduino fant jeg noen gode ideer om RFID -baserte MP3 -spillere for barn. Og det er en flott profesjonell leketøykasse på markedet - disse gutta regjerer. De gjorde en god forretning ut av sin smarte idé. Sjekk ut - du finner siden deres!

Etter hvert som mine to barn begynner å lytte til lydbøker og musikk, mer og mer, og fremdeles bruker gode gamle CD -plater med all håndteringen, bestemte jeg meg for å bygge en slik MP3 -spillerboks med noen fine funksjoner for å gjøre det til et flott individ leketøy for dem. Etter at jeg nylig kjøpte min første 3D -skriver syntes dette prosjektet å være en god lekeplass for å også dykke ned i 3D -utskrift.

Så jeg begynte i konseptfasen - hvilke funksjoner jeg ønsker å implementere - RFID, MP3 -spiller, WLAN (avbrutt senere), IMU -kontroll, LCD -skjerm, Vekkerklokke, trådløs lading … Må undersøke hvilke komponenter jeg trenger. Hvilke komponenter kan jeg bruke igjen? Jeg hadde fremdeles en IMU, LCD -modul, noen Arduino -nanoer.

Med litt erfaring med lodding og måling er monteringen mulig innen 1-2 etter arbeidsøkter.

Utskriften av esken, som består av en base, en dekkplate og en ladestasjon, tar litt tid (12+ timer avhengig av skriveren og skjæringsinnstillingene), men jeg gjorde det under lodding.

Trinn 1: Komponenter

Komponenter
Komponenter

Komponentene er virkelig mainstream i mellomtiden. Her er en liste over komponenter jeg brukte til dette prosjektet.

1. LCD -skjerm 1602 2x16 store tegn 5 V 122*44 MM blå

2. RFID-leser- NFC RFID-RC522 RF IC

3. MP3 -spiller - DFPlayer Mini MP3 -spillermodul MP3 Voice Decode Board For Arduino Supporting TF Card U- Disk IO/Serial Port/AD

4. Høyttaler- 4 ohm 3Watt 53MM firkantet høyttaler 36MM ekstern magnetisk skumkant sølvfarget hette

5. Micro SD -kort 8 GB

6. MPU6050 3 -akse analogt gyroskopsensor

7. MINI USB NANO V3.0 CH340 5 V 16 Mt Atmega328 Micro Controller Board (nesten alle pinner brukt!)

8. DS3231 Precision RTC - Vekkerklokke -modul

9. Powerbank JETech 3400 mAh

10. Universal DIY PCBA Qi trådløs lader mottakermodul - blå + svart

11. Prototype PCB Board Protoboard Tinned Universal Breadboard Prototyping Solderless FR4 PCB Dobbeltsidig 5x7 cm 50x70mm FR4

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

13. 1x1kOhm motstand for å begrense basestrøm, 3x220Ohms 0, 5 w (parallell! For å imøtekomme wattstyrke - man kan bruke en høyere spesifikke motstand, jeg hadde disse) for strømbelastning mellom sender og kollektor. 2x1kOhms for TX og RX linje mellom Arduino og DFplayer for å drepe støy - jeg hadde ikke noe problem her.

14. Noen vanlige DIY elektronikk ting - loddejern, loddetinn, klippemaskin, kontakter, kabler …

14. Mye energi og et par timer å montere:)

Totalpris for ovennevnte komponenter ~ 30-35 € - hovedsakelig fra aliexpress.com og dx.com. Frakt tar litt tid, men prisen er god.

Trinn 2: Elektronikk -tilkobling

Elektronikk tilkobling
Elektronikk tilkobling
Elektronikk tilkobling
Elektronikk tilkobling
Elektronikk tilkobling
Elektronikk tilkobling

Jeg tegnet ikke et oppsett, og jeg brukte heller ikke noe praktisk verktøy som Fritzing eller lignende. Sannsynligvis på et senere tidspunkt. Beskrivelsen nedenfor viser tilkoblingen. Alle pinner som ikke er nevnt er ikke tilkoblet.

Under lodding fortsatte jeg å måle tilkoblingene til linjene, sluttkontroll med monterte komponenter ble også utført. Ingenting er mer irriterende enn å måtte lete etter en dårlig tilkobling når alt kommer til alt. Mest bryr seg om GND og spenning +.

Pin -oppsettet for en hvilken som helst komponent er tilgjengelig via google.

LC -skjerm

LED ---- GND

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

DB7 --- Arduino D2

DB6 --- Arduino D3

DB5 --- Arduino D7

DB4 --- Arduino D8

E --- Arduino A1/Pin 15

R/W --- GND

RS --- Arduino A0/Pin 14

V0 --- 10Kohm potensiometer Rx (for å justere kontrast)

VDD --- Powerbank +5V

VSS --- GND

DFPlayer MP3 -spiller

VCC ---+5V Powerbank

RX --- programvare seriell Arduino D5 (potensielt via 1kOhm motstand i tilfelle støyproblemer)

TX --- programvare seriell Arduino D9 (potensielt via 1kOhm motstand i tilfelle støyproblemer)

SPK1 --- Høyttaler +

GND --- Powerbank GND

SPK2 --- Høyttaler-

Opptatt --- Arduino A7

GND --- GND

NFC522 RFID -leser

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øyt signal) for I2C-adresse 0x69

DS3231 Sanntidsklokke

3, 3V --- Arduino 3.3V

SDA --- Arduino A4/SDA

SCL --- Arduino A5/SCL

GND --- GND

Gjeldende belastning Utløser

2N3904 sender - GND

2N3904 base - via 1kOhm til Arduino D6

2N3904 kollektor - via 3x220Ohms (parallell! - man kan bruke en høyere spesifikasjonsmotstand, jeg hadde disse) til +5V

Powerbank

V+ og GND -linjer på Powerbank koblet via en kvinnelig USB -kontakt til strømkontakt ombord og koble til Vin/GND fra Arduino). Powerbanken slås på via mikrobryter i dekkplaten. Jeg loddet en mikrobryter til V+ gjennom en lastmotstand til GND for å simulere en lasttilstand og slå den på. Deretter forhindrer den nåværende belastningen at den slås av.

+5V - Strømkontakt om bord +5V

GND -Strømkontakt ombord på GND

+5V powerbank - lastmotstand - mikrobryter Pin A

GND - mikrobryterpinne B

Trinn 3: Elektronikkmontering

Elektronikkmontering
Elektronikkmontering
Elektronikkmontering
Elektronikkmontering
Elektronikkmontering
Elektronikkmontering

Brettkomponentene - MP3 -spiller, RTC, IMU, Arduino er montert i stikkontakter. Velg og opp/ned -taster, RFID, LCD og strøm er tilkoblet via selvlodde "båndkabler" lenge nok til å passe inn i boksen senere.

Mikrobryteren for å slå på powerbank er fast dekkplate - ikke vist på bildene.

Jeg brukte en fast strømforsyning for å teste oppsettet.

Mens jeg monterte testet jeg hver komponent individuelt -> eksempel Arduino -skisser for komponentene er veldig nyttig her.

Siden powerbanken hadde en automatisk utkobling med lav strøm, inkluderte jeg en transistorkontrollert belastningstopp hvert 15. sekund i 100 ms via en 70 Ohm motstand (faktisk 3 parallelle 220 Ohm for å dekke tilstrekkelig watt, det er bare en kort topp, men de tre motstandene vil dele strømmen og vil derfor ikke drives over spesifikasjonene).

Senere viste det seg at Mini DFPlayer trekker> 70mA kontinuerlig. Ettersom jeg brukte automatisk utkobling av powerbanken også for å slå av boksen (ved ikke å utløse gjeldende belastning lenger) må jeg tenke på dette på nytt.

Har fortsatt problemer med hvilemodus for Arduino og DFplayer for å redusere strømmen - strømmen faller ikke under terskelen for å slå av. Tilbakemelding velkommen.

Merk: for den andre boksen måtte jeg bestille en annen powerbank fordi jeg drepte elektronikken til min første. Og se her - denne powerbanken slår seg av 10 sekunder etter at jeg slutter å utløse laststrømmen -> slå av fungerer nå.

Den trådløse lademottakeren er koblet til powerbankens lade -usb. Ladestasjonen er bygd inn i en ladeboks, trykt med min 3D -skriver.

Trinn 4: Programvare

Programvare
Programvare

Programvare tilgjengelig på github

Programmering er morsomt, jeg liker å starte med en rask kjerne av eksempler og å utvikle meg videre. Siden jeg egentlig ikke gjør de påfølgende spesifikasjonene, funksjonsplanleggingen og strukturerte programplanene, ender jeg opp med en fungerende, men egentlig ikke elegant kode. Dette er alltid en todo -> gå mer inn i objekter, skill i.h og.cpp …

Imidlertid ønsker jeg å få tingen til å fungere raskt, så i mange tilfeller kommer jeg dit ikke på den mest effektive banen.

Men det flotte er - så snart HW fungerer kan man begynne å gjøre alle slags ting.

Jeg brukte arduino IDE, et par biblioteker kreves - ganske enkelt gjort med arduino IDE biblioteksjef.

Så min nåværende versjon av programvaren støtter:

Velkomstmelding

Volum (duh)

Venstre/høyre vippe av boksen for å bytte til forrige/neste sang, og hvis RFID deaktiveres til neste mappe frem og tilbake.

Pause/spill (duh)

Initialiser, lær ny RFID - mappe er tildelt basert på neste RFID neste SD -kortmappe. Data lagres i Arduino EEPROM

Spillmappe tildelt RFID-oppgave RFID-til-mappe gjennom læringsfunksjon

Last inn og lagre parametere for å aktivere lagrede innstillinger. Fabrikkinnstilling:)

Innstilling av klokke og dato.

Slå på/av alarm, stille alarmtid og minutt, spille av en fast sang for alarm.

Slå av RFID - spill mp3 uten det.

Noen flere ideer på listen min - gjenstår å implementere

Vis temperatur (RTC kan gjøre det - den måler temperaturen for å kompensere påvirkning av kvarts)

Begynn å le når du rister, Still inn sangen for alarm

Velg hvilken mappe som er tilordnet RFID i læremodus

Lagring av mappe og siste sang som ble spilt på RFID -brikke - gjenbruk mellom esker (jeg bygger en annen - to barn husker …?)

aktiver avstengning -dette fungerer ikke nå uten å være koblet til USB -> nåværende belastning via Powerbank reduseres i denne innstillingen.

Informasjon om mappestruktur på SD -kort

Jeg hadde noen mp3 -lydbøker og musikk for barna mine lagret. Så jeg brukte noen linux -skript for å transformere sangene til riktig navn. Mapper skal navngis i rekkefølge tosifrede tall (dvs. "00", "01", "02" …). Sanger der inne må navngis i rekkefølge tresifrede tall (dvs. "001.mp3", "002.mp3", …).

Min slå på-velkommen mp3 ("Hei, jeg er leketøykassen …") er lagret i mappen "99" som "001.mp3".

Skriptet er ikke idiot bevis og skal bare brukes i en kopi -katalog og ikke på originaler.

#!/bin/bashlet i = 1 for fil i *.mp3 do if (($ i <10)); deretter mv "$ file" "00 $ {i}.mp3" elif (($ i <100)); deretter mv "$ file" "0 $ {i}.mp3" ellers mv "$ file" "$ {i}.mp3" fi la jeg ++ gjøre

Trinn 5: Skrive ut og montere esken

Skrive ut og montere esken
Skrive ut og montere esken
Skrive ut og montere esken
Skrive ut og montere esken
Skrive ut og montere esken
Skrive ut og montere esken

Så nå fungerer HW og SW - jeg trenger en BOKS!

Et flott sted å starte med er Tinkercad - jeg elsker det! Enkel å bruke og du får alt du vil ha. Bygger på et enormt fellesskap og mange flotte eksempler fra smarte "Tinkerers".

Man kan lett komme inn i dette for alltid - her en endring, der et nytt feste, hull, … nytt design,….

Men på slutten er jeg helt fornøyd med den nåværende boksdesignen. Jeg bygde også en basisboks for laderen for å sette mp3 -boksen på for … lading. se her

Utskrift tar sin tid (~ 8-12 timer og mer), og jeg testet med forskjellig linjetykkelse. På slutten holdt jeg meg til skriverens standarder. For de nåværende boksene bruker jeg prototypen (opprinnelig skrevet ut basert på eldre design) bokser, men den siste designen har noen nye funksjoner, fester, helheter som utgjør et annet element på min gjøremålsliste.

Og en veldig viktig ting ennå å gjøre: få noen fine klær til esken - men dette vil være min kones domene - ser frem til de nye klærne i esken - kommer snart …

Så snart utskriftene er avkjølt og en basistest av elektronikken er utført utenfor boksen, måtte den siste monteringen utføres.

Jeg brukte varmt lim for å fikse delene - Mikrobryter, LCD og RFID -mottaker festet til dekkplaten. Jeg brukte litt dobbeltsidig tape til å forhåndsfiksere komponenter og brukte deretter det varme limet til å sette noen siste fikseringspunkter.

Samme med basisboksen. Fest først ladermottakerplaten til bakken av boksen - dobbeltsidig tape gjorde en god jobb her - må justeres til midten av basen for å være nær nok til ladespolen når du legger boksen på toppen av laderen.

Deretter setter powerbanken, igjen forhåndsfiks med tosidig, deretter litt varmt lim på "strategiske" punkter. Høyttaleren kan festes med noen fine limpunkter på de forberedte festene - fint og tett.

Til slutt brettet - jeg inkluderte noen mini -festeputer i 3D -utskriftsdesignet, så brettet var pent utstyrt med - igjen - noen strategiske varme limpunkter. Rattling skal ikke kaste ting fra hverandre - så jeg ga denne litt oppmerksomhet.

Og til slutt bruk noen tilgjengelige miniskruer (min utskriftsdesign inkluderte noen 3M skruefester, men de var egentlig ikke gode for ekte skruer)

Trinn 6: Ferdig boks - men uten klær

Image
Image
Ferdig boks - men uten klær
Ferdig boks - men uten klær
Ferdig boks - men uten klær
Ferdig boks - men uten klær

Og her er de to ferdige eskene til barna mine. De har allerede gjort noen beta-tester og funnet noen programvarefeil;-).

Jeg kjøpte også en 20 -pakke RFID M3 -klistremerker.

Nå må jeg samle alle mulige små figurer og få dem til å spille token for MP3 -boksen. Moro for far og barn:)

Anbefalt: