Indholdsfortegnelse:

Kids MP3 Music Box: 6 trin (med billeder)
Kids MP3 Music Box: 6 trin (med billeder)

Video: Kids MP3 Music Box: 6 trin (med billeder)

Video: Kids MP3 Music Box: 6 trin (med billeder)
Video: Crazy Frog - Axel F (Official Video) 2024, Juli
Anonim
Børn MP3 -musikboks
Børn MP3 -musikboks
Børn MP3 -musikboks
Børn MP3 -musikboks

Da jeg ledte efter nogle nye DIY -projekter omkring arduino, fandt jeg nogle gode ideer til RFID -baserede MP3 -afspillere til børn. Og der er en stor professionel legetøjskasse på markedet - disse fyre regerer. De lavede en god forretning ud af deres smarte idé. Tjek - du finder deres side!

Da mine to børn begyndte at lytte til lydbøger og musik, mere og mere, og stadig bruger gode gamle cd'er med al håndteringsbesværet, besluttede jeg mig for at bygge sådan en MP3 -afspillerboks med nogle flotte funktioner for at gøre det til et godt individ legetøj til dem. Efter at jeg for nylig købte min første 3D -printer, syntes dette projekt at være en god legeplads til også at dykke ned i 3D -print.

Så jeg begyndte i konceptfasen - hvilke funktioner ville jeg implementere - RFID, MP3 -afspiller, WLAN (annulleret senere), IMU -kontrol, LCD -display, vækkeur, trådløs opladning … Nødvendig for at undersøge, hvilke komponenter jeg ville have brug for. Hvilke komponenter kan jeg genbruge? Jeg havde stadig et IMU, LCD -modul, nogle Arduino nanos.

Med en vis erfaring med lodning og måling er samlingen mulig inden for 1-2 efter arbejdssessioner.

Udskrivningen af æsken, der består af en base, en dækplade og en ladestation, tager noget tid (12+ timer afhængigt af printeren og skiverindstillinger), men det gjorde jeg under lodning.

Trin 1: Komponenter

Komponenter
Komponenter

Komponenterne er virkelig mainstream i mellemtiden. Her er en liste over komponenter, jeg brugte til dette projekt.

1. LCD Display 1602 2x16 Store tegn 5 V 122*44 MM blå

2. RFID-læser- NFC RFID-RC522 RF IC

3. MP3 -afspiller - DFPlayer Mini MP3 -afspiller Modul MP3 Voice Decode Board Til Arduino Understøttende TF Card U- Disk IO/Serial Port/AD

4. Højttaler- 4 ohm 3Watts 53MM firkantet højttaler 36MM ekstern magnetisk skumkant sølvfarvet hætte

5. Micro SD -kort 8 GB

6. MPU6050 3 -akset analogt gyroskopsensor

7. MINI USB NANO V3.0 CH340 5 V 16 Mt Atmega328 Micro Controller Board (næsten alle ben bruges!)

8. DS3231 Precision RTC - vækkeurmodul

9. Powerbank JETech 3400 mAh

10. Universal DIY PCBA Qi Trådløs opladermodtagermodul - Blå + Sort

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

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

13. 1x1kOhm modstand for at begrænse basisstrøm, 3x220Ohms 0, 5 w (parallel! For at imødekomme wattage - man kan bruge en højere spec modstand, jeg havde disse) til strømbelastning mellem emitter og kollektor. 2x1kOhms for TX og RX linje mellem Arduino og DFplayer for at dræbe støj - jeg havde ikke et problem her.

14. Nogle almindelige DIY elektronik ting - loddejern, loddemetal, klipper, stik, kabler …

14. En masse energi og et par timer at samle:)

Samlet pris for ovenstående komponenter ~ 30-35 € - mest fra aliexpress.com og dx.com. Forsendelse tager lidt tid, men prisen er fantastisk.

Trin 2: Elektronikforbindelse

Elektronikforbindelse
Elektronikforbindelse
Elektronikforbindelse
Elektronikforbindelse
Elektronikforbindelse
Elektronikforbindelse

Jeg tegnede ikke et layout, og jeg brugte heller ikke noget praktisk værktøj som Fritzing eller lignende. Formentlig på et senere tidspunkt. Beskrivelsen herunder viser forbindelsen. Alle stifter, der ikke er nævnt, er ikke forbundet.

Under lodning blev jeg ved med at måle forbindelsernes forbindelsesmuligheder, slutkontrol med monterede komponenter blev også udført. Intet mere irriterende end at skulle lede efter en dårlig forbindelse, når alt kommer til alt. De fleste bekymrer sig om GND og spænding +.

Pin -layoutet for enhver komponent er tilgængeligt via google.

LC Display

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 potentiometer Rx (for at justere kontrast)

VDD --- Powerbank +5V

VSS --- GND

DFPlayer MP3 -afspiller

VCC ---+5V Powerbank

RX --- software seriel Arduino D5 (muligvis via 1kOhm modstand i tilfælde af støjproblemer)

TX --- software seriel Arduino D9 (muligvis via 1kOhm modstand i tilfælde af støjproblemer)

SPK1 --- Højttaler +

GND --- Powerbank GND

SPK2 --- Højttaler-

Optaget --- Arduino A7

GND --- GND

NFC522 RFID -læser

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øjt signal) til I2C-adresse 0x69

DS3231 Ur i realtid

3, 3V --- Arduino 3.3V

SDA --- Arduino A4/SDA

SCL --- Arduino A5/SCL

GND --- GND

Aktuel belastning Udløser

2N3904 emitter - GND

2N3904 base - via 1kOhm til Arduino D6

2N3904 samler - via 3x220Ohms (parallel! - man kan bruge en højere spec modstand, jeg havde disse) til +5V

Batteri

V+ og GND -linjer i Powerbank tilsluttet via et hun -USB -stik til strømstik om bord og tilsluttet Vin/GND fra Arduino). Powerbanken tændes via mikrokontakt i dækpladen. Jeg lodde en mikrokontakt til V+ gennem en belastningsmodstand til GND for at simulere en belastningstilstand og tænde den. Derefter forhindrer den aktuelle belastning den i at slukke.

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

GND --Power stik på bord GND

+5V powerbank - belastningsmodstand - mikrokontakt Pin A

GND - mikrokontaktstift B

Trin 3: Elektronikmontering

Elektronikmontering
Elektronikmontering
Elektronikmontering
Elektronikmontering
Elektronikmontering
Elektronikmontering

Bordkomponenterne - MP3 -afspiller, RTC, IMU, Arduino er monteret i stikkontakter. Vælg og op/ned -taster, RFID, LCD og strøm er forbundet via selvlodde 'båndkabler' længe nok til at passe ind i boksen senere.

Mikrokontakt for at tænde for powerbank er fast dækplade - ikke vist på pc'erne.

Jeg brugte en fast strømforsyning til at teste opsætningen.

Under samlingen testede jeg hver komponent individuelt -> eksempel Arduino -skitser til komponenterne er meget nyttige her.

Da powerbanken havde en automatisk slukning, der kørte med lav strøm, inkluderede jeg en transistorstyret belastningstop hvert 15. sekund i 100 ms via en 70 Ohm modstand (faktisk 3 parallelle 220 Ohm for at imødekomme tilstrækkelig watt, det er kun en kort top, men de tre modstande vil dele strømmen og vil derfor ikke blive betjent over specifikationer).

Senere viste det sig, at Mini DFPlayer trækker> 70mA kontinuerligt. Da jeg brugte powerbank-automatisk slukning også til at slukke boksen (ved ikke at udløse den aktuelle belastning længere), er jeg nu nødt til at tænke over dette igen.

Har stadig problemer med dvaletilstand for Arduino og DFplayer til at nedbringe strømmen - strømmen falder ikke under tærsklen for at muliggøre slukning. Feedback modtages gerne.

Bemærk: for den anden boks måtte jeg ombestille en anden powerbank, fordi jeg dræbte elektronikken i min første. Og se herer - denne powerbank slukker 10 sekunder efter jeg stopper med at udløse belastningsstrømmen -> slukker virker nu.

Den trådløse opladermodtager er tilsluttet powerbankens opladnings -usb. Opladerbasen er indbygget i en opladerboks, trykt med min 3D -printer.

Trin 4: Software

Software
Software

Software tilgængelig på github

Programmering er sjovt, jeg starter gerne med en hurtig kerne af eksempler og udvikler mig videre. Da jeg ikke rigtig gør de deraf følgende specifikationer, planlægning af funktioner og strukturerede programplaner, ender jeg med en fungerende, men ikke rigtig elegant kode. Dette er altid en todo -> gå mere ind i objekter, adskilt i.h og.cpp …

Jeg vil dog gerne få tingene til at fungere hurtigt, så i mange tilfælde kommer jeg dertil ikke på den mest effektive vej.

Men det store er - så snart HW virker, kan man begynde at gøre alle mulige ting.

Jeg brugte arduino IDE, et par biblioteker krævede - simpelthen udført med arduino IDE bibliotekschefen.

Så min nuværende version af softwaren understøtter:

Velkomstbesked

Lydstyrke (duh)

Venstre/højre hældning af boksen for at skifte til forrige/næste sang, og hvis RFID deaktiveres til næste mappe frem og tilbage.

Pause/afspil (duh)

Initialiser, lær ny RFID - mappe tildeles baseret på næste RFID næste SD -kortmappe. Data gemmes i Arduino EEPROM

Afspilningsmappe tildelt RFID-tildeling RFID-til-mappe via læringsfunktion

Indlæs og gem parametre for at aktivere gemte indstillinger. Gendan fabriksindstillinger:)

Indstilling af ur og dato.

Slå alarm til/fra, indstilling af alarmtid og minut, afspilning af en fast sang til alarm.

Sluk for RFID - afspil mp3 uden det.

Nogle flere ideer på min liste - mangler stadig at blive implementeret

Vis temperatur (RTC kan gøre det - det måler temp for at kompensere påvirkning af kvarts)

Begynd at grine, når den rystes, Indstil sang til alarm

Vælg hvilken mappe der er tildelt RFID i indlæringstilstand

Tildeling af gemte mapper og den sidste sang, der blev spillet på RFID -chip - genanvendelse mellem kasser (jeg bygger endnu en - to børn husker….?)

aktiver slukning -dette fungerer ikke fra nu af uden at være tilsluttet USB -> nuværende belastning via Powerbank reduceres i denne indstilling.

Info om mappestruktur på SD -kort

Jeg havde nogle mp3 lydbøger og musik til mine børn gemt. Så jeg brugte nogle linux -scripts til at omdanne sangene til den rigtige navngivning. Mapper skal navngives i rækkefølge tocifrede tal (dvs. "00", "01", "02" …). Sange derinde skal navngives i rækkefølge trecifrede tal (dvs. "001.mp3", "002.mp3", …).

Min tænd-velkommen mp3 ("Hej, jeg er din legetøjskasse …") gemmes i mappen "99" som "001.mp3".

Scriptet er ikke idiot proof og bør kun bruges i en 'kopi' bibliotek og ikke på originaler.

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

Trin 5: Udskrivning og samling af æsken

Udskrivning og samling af æsken
Udskrivning og samling af æsken
Udskrivning og samling af æsken
Udskrivning og samling af æsken
Udskrivning og samling af æsken
Udskrivning og samling af æsken

Så nu virker HW og SW - jeg har brug for en BOX!

Et godt sted at starte med er Tinkercad - jeg elsker det! Enkel at bruge, og du får alt, hvad du ønsker. Bygger på et kæmpe fællesskab og en masse gode eksempler fra smarte "Tinkerers".

Man kan let komme ind i dette for evigt - her en ændring, der et nyt beslag, hul, … nyt design,….

Men i sidste ende er jeg helt tilfreds med det aktuelle kasse design. Jeg byggede også en basisboks til opladeren til at sætte mp3 -boksen på til … opladning. se her

Udskrivning tager sin tid (~ 8-12 timer og mere), og jeg testede med forskellig linjetykkelse. Til sidst forblev jeg ved printerens standarder. Til de nuværende kasser bruger jeg prototypen (oprindeligt udskrevet baseret på ældre design) kasser, men det nyeste design har nogle nye funktioner, beslag, helheder, der udgør et andet element på min huskeliste.

Og en meget vigtig ting, der endnu ikke skal gøres: få noget lækkert tøj til æsken - men dette vil være min kones domæne - ser frem til boksens nye tøj - kommer snart …

Så snart udskrifterne er afkølet og en basistest af elektronikken er udført uden for boksen, skulle den sidste samling laves.

Jeg brugte varm lim til at reparere delene - Mikroafbryder, LCD og RFID -modtager fastgjort til dækpladen. Jeg brugte noget dobbeltsidet tape til at fastgøre komponenter og brugte derefter den varme lim til at sætte nogle sidste fixpunkter i.

Det samme med bundkassen. Fastgør først opladermodtagerpladen til bunden af boksen - dobbeltsidet tape gjorde et godt stykke arbejde her - skal justeres til midten af basen for at være tæt nok på opladningsspolen, når boksen lægges oven på opladerens base.

Derefter sætter powerbanken, igen forfix med dobbeltsidet, derefter lidt varm lim til 'strategiske' punkter. Højttaleren kunne fastgøres med nogle flotte limpunkter på de forberedte beslag - pænt og stramt.

Endelig brættet - jeg inkluderede nogle mini -monteringspuder i 3D -printdesignet, så brættet pænt monterede der med - igen - nogle strategiske varme limpunkter. Rattling bør ikke smide tingene fra hinanden - så jeg gav denne lidt opmærksomhed.

Og brug endelig nogle tilgængelige mini -skruer (mit printdesign inkluderede nogle 3M skruemonteringer, men de var ikke rigtig gode til rigtige skruer)

Trin 6: Færdig æske - dog uden tøj

Image
Image
Færdig æske - dog uden tøj
Færdig æske - dog uden tøj
Færdig æske - dog uden tøj
Færdig æske - dog uden tøj

Og her er de to færdige kasser til mine børn. De lavede allerede nogle beta-test og fandt nogle softwarebugs;-).

Jeg købte også en 20 -pakke RFID M3 -klistermærker.

Nu skal jeg samle alle mulige små figurer og få dem til at spille tokens til MP3 -boksen. Sjovt for far og børn:)

Anbefalede: