INHOUDSOPGAWE:

Kinders se MP3 -musiekboks: 6 stappe (met foto's)
Kinders se MP3 -musiekboks: 6 stappe (met foto's)

Video: Kinders se MP3 -musiekboks: 6 stappe (met foto's)

Video: Kinders se MP3 -musiekboks: 6 stappe (met foto's)
Video: Biggy - Dames 2024, Julie
Anonim
Kinders se MP3 -musiekboks
Kinders se MP3 -musiekboks
Kinders se MP3 -musiekboks
Kinders se MP3 -musiekboks

Toe ek op soek was na 'n paar nuwe DIY -projekte rondom arduino, het ek 'n paar goeie idees gevind oor RFID -gebaseerde MP3 -spelers vir kinders. En daar is een groot professionele speelgoedkas op die mark - hierdie ouens regeer. Hulle het 'n goeie onderneming gemaak uit hul slim idee. Kyk gerus - jy sal hul bladsy vind!

Terwyl my twee kinders al hoe meer na oudioboeke en musiek luister, en steeds goeie ou CD's gebruik met al die moeite, het ek besluit om so 'n MP3 -speler -boks te bou met 'n paar goeie funksies om dit 'n wonderlike individu te maak. speelgoed vir hulle. Nadat ek onlangs my eerste 3D -drukker gekoop het, was hierdie projek 'n goeie speelplek om ook in 3D -drukwerk te duik.

Dus het ek begin met die konsepfase - watter funksies sou ek wil implementeer - RFID, MP3 -speler, WLAN (later gekanselleer), IMU -beheer, LCD -skerm, wekker, draadlose laai … Moet ondersoek doen na watter komponente ek sou benodig. Watter komponente kan ek hergebruik? Ek het nog steeds 'n IMU, LCD -module, 'n paar Arduino -nanos.

Met 'n mate van ondervinding in soldeer en meet, is die samestelling binne 1-2 na werksessies moontlik.

Die druk van die boks, wat bestaan uit 'n basis, 'n dekselplaat en 'n laai -stasie, neem 'n rukkie (12+ uur, afhangende van die drukker en snyerinstellings), maar ek het dit gedoen tydens soldeer.

Stap 1: Komponente

Komponente
Komponente

Die komponente is intussen regtig hoofstroom. Hier is 'n lys van komponente wat ek vir hierdie projek gebruik het.

1. LCD -skerm 1602 2x16 Groot karakters 5 V 122*44 MM blou

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

3. MP3 -speler - DFPlayer Mini MP3 -speler -module MP3 -stem -dekodeerbord vir Arduino -ondersteunende TF -kaart U- skyf IO/seriële poort/AD

4. Luidspreker- 4 ohm 3Watts 53MM vierkante luidspreker 36MM eksterne magnetiese skuimrand silwer dop

5. Micro SD -kaart 8GB

6. MPU6050 3 -as analoog gyroscoop sensor

7. MINI USB NANO V3.0 CH340 5 V 16 Mt Atmega328 Micro Controller Board (byna alle penne gebruik!)

8. DS3231 Precision RTC - Wekkermodule

9. Powerbank JETech 3400 mAh

10. Universele DIY PCBA Qi Wireless Charger Ontvanger Module - Blou + Swart

11. Prototipe PCB Board Protoboard Tinned Universal Breadboard Prototyping Solderless FR4 PCB Double-Side 5x7 cm 50x70mm FR4

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

13. 1x1kOhm weerstand om die basisstroom te beperk, 3x220Ohms 0, 5 w (parallel! Om voorsiening te maak vir wattage - 'n mens kan 'n hoër spesieweerstand gebruik, ek het dit gehad) vir die huidige las tussen emitter en kollektor. 2x1kOhms vir TX- en RX -lyn tussen Arduino en DFplayer om geraas dood te maak - ek het nie hier 'n probleem gehad nie.

14. 'n Paar standaard DIY -elektronika - soldeerbout, soldeersel, knipper, verbindings, kabels …

14. Baie energie en 'n paar uur om te monteer:)

Totale prys vir bogenoemde komponente ~ 30-35 € - meestal van aliexpress.com en dx.com. Gestuur neem tyd, maar die prys is puik.

Stap 2: Elektroniese verbinding

Elektroniese verbindings
Elektroniese verbindings
Elektroniese verbindings
Elektroniese verbindings
Elektroniese verbindings
Elektroniese verbindings

Ek het nie 'n uitleg geteken nie, en ek het ook geen handige hulpmiddel soos Fritzing of soortgelyke gebruik nie. Waarskynlik op 'n later tydstip. Die beskrywing hieronder toon die verbinding. Alle penne wat nie genoem word nie, is nie verbind nie.

Tydens soldeer het ek die konnektiwiteit van die lyne bly meet, en ek het 'n einde gemaak met die gemonteerde komponente. Niks meer irriterend as om na 'n slegte verbinding te soek nie. Die meeste sorg vir GND en spanning +.

Die penuitleg van enige komponent is beskikbaar via Google.

LC vertoon

LED ---- GND

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

DB7 --- Arduino D2

DB6 --- Arduino D3

DB5 --- Arduino D7

DB4 --- Arduino D8

E --- Arduino A1/pen 15

R/W --- GND

RS --- Arduino A0/pen 14

V0 --- 10Kohm potensiometer Rx (om kontras aan te pas)

VDD --- Powerbank +5V

VSS --- GND

DFPlayer MP3 -speler

VCC ---+5V Powerbank

RX --- sagteware reeks Arduino D5 (moontlik via 1kOhm weerstand in geval van geraasprobleme)

TX --- sagteware reeks Arduino D9 (moontlik via 1kOhm weerstand in geval van geraasprobleme)

SPK1 --- Luidspreker +

GND --- Powerbank GND

SPK2 --- Luidspreker-

Besig --- 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 (hoë sein) vir I2C-adres 0x69

DS3231 Intydse klok

3, 3V --- Arduino 3.3V

SDA --- Arduino A4/SDA

SCL --- Arduino A5/SCL

GND --- GND

Huidige vrag Sneller

2N3904 emitter - GND

2N3904 basis - via 1kOhm na Arduino D6

2N3904 -versamelaar - via 3x220Ohms (parallel! - 'n mens kan 'n hoër weerstand gebruik, ek het dit) tot +5V

Krag bank

V+ en GND -lyne van Powerbank verbind deur 'n vroulike USB -aansluiting aan die aansluiting aan boord en maak verbinding met Vin/GND van Arduino). Die kragbank word aangeskakel via 'n mikroskakelaar in die voorblad. Ek het 'n mikroskakelaar aan V+ gesoldeer deur 'n lasweerstand na GND om 'n lasstatus te simuleer en aan te skakel. Daarna verhoed die huidige las dat dit afgeskakel word.

+5V - Kragaansluiting aan boord +5V

GND -Kragaansluiting aan boord GND

+5V powerbank - lasweerstand - mikroskakelaar Pin A

GND - mikroskakelaarpen B

Stap 3: Elektroniese samestelling

Elektroniese vergadering
Elektroniese vergadering
Elektroniese vergadering
Elektroniese vergadering
Elektroniese vergadering
Elektroniese vergadering

Die bordkomponente - MP3 -speler, RTC, IMU, Arduino word in voetstukke gemonteer. Kies- en op/af -sleutels, RFID, LCD en krag word verbind met selfgesoldeerde 'bandkabels' wat lank genoeg is om later in die boks te pas.

Die mikroskakelaar om die powerbank aan te skakel, is 'n vaste omslagplaat - word nie op die foto's getoon nie.

Ek het 'n vaste kragtoevoer gebruik om die opstelling te toets.

Tydens die samestelling het ek elke komponent afsonderlik getoets -> voorbeeld Arduino -sketse vir die komponente is hier baie nuttig.

Aangesien die powerbank 'n outomatiese uitschakeling met 'n lae stroom gehad het, het ek elke 15 sekondes 'n transistor beheerde laspiek ingesluit vir 100 ms via 'n weerstand van 70 Ohm (eintlik 3 parallelle 220 Ohm om voldoende watt te voorsien, maar dit is slegs 'n kort piek, maar die drie weerstande sal die stroom deel en word dus nie bo die spesifikasies bedryf nie).

Later het dit geblyk dat die Mini DFPlayer voortdurend> 70mA trek. Aangesien ek die outomatiese uitschakeling van die powerbank ook gebruik het om die boks af te skakel (deur die huidige laai nie meer te aktiveer nie), moet ek dit nou heroorweeg.

Sukkel steeds met die slaapmodus van Arduino en DFplayer om die stroom af te skakel - die stroom daal nie onder die drumpel om af te skakel nie. Terugvoer welkom.

Let wel: vir die tweede boks moes ek 'n ander powerbank herbestel omdat ek die elektronika van my eerste bank doodgemaak het. En kyk hier - hierdie powerbank skakel 10 sekondes uit nadat ek ophou om die laadstroom te aktiveer -> die afskakel werk nou.

Die draadlose laai -ontvanger is ingeskakel by die laai -usb van die powerbank. Die laaierbasis is ingebou in 'n laaibak, gedruk met my 3D -drukker.

Stap 4: sagteware

Sagteware
Sagteware

Sagteware beskikbaar op github

Programmering is lekker; ek begin graag met 'n vinnige kern van voorbeelde en ontwikkel verder. Aangesien ek nie eintlik die gevolglike spesifikasies, funksiebeplanning en gestruktureerde programplanne doen nie, eindig ek met 'n werkende, maar nie regtig elegante kode nie. Dit is altyd 'n todo -> gaan meer na voorwerpe, skei in.h en.cpp …

Maar ek wil die ding vinnig laat werk, so in baie gevalle kom ek nie op die doeltreffendste pad nie.

Maar die wonderlike ding is - sodra die HW werk, kan 'n mens allerhande dinge begin doen.

Ek het die arduino IDE gebruik, 'n paar biblioteke benodig - eenvoudig gedoen met die arduino IDE biblioteekbestuurder.

My huidige weergawe van die sagteware ondersteun dus:

Welkomboodskap

Volume (duh)

Links/regs kantel van die boks om oor te skakel na vorige/volgende liedjie en as RFID gedeaktiveer is na die volgende gids, heen en weer.

Pouse/Play (duh)

Initialiseer, leer nuwe RFID - gids word toegewys op grond van die volgende RFID volgende SD -kaartmap. Data word in Arduino EEPROM gestoor

Speelmap wat aan RFID toegewys is-opdrag RFID-na-gids deur middel van leerfunksie

Laai en stoor parameters om gestoorde instellings moontlik te maak. Fabriek herstel:)

Stel klok en datum in.

Skakel alarm aan/uit, stel uur en minuut alarm in, speel 'n vaste liedjie vir alarm.

Skakel RFID af - speel mp3 daarsonder.

Nog 'n paar idees op my lys - moet nog geïmplementeer word

Toon temperatuur (die RTC kan dit doen - dit meet die temperatuur om die impak op die kwarts te vergoed)

Begin lag as jy geskud word, Stel liedjie vir alarm

Kies watter gids aan RFID toegewys is in die leermodus

Toewysing van die stoormap en die laaste liedjie wat op RFID -chip gespeel is - hergebruik tussen bokse (ek bou nog een - onthou twee kinders …?)

skakel uit -dit werk tans nie sonder om aan USB gekoppel te wees nie -> huidige las deur Powerbank word in hierdie instelling verminder.

Inligting oor vouerstruktuur op SD -kaart

Ek het 'n paar mp3 -oudioboeke en musiek vir my kinders gebêre. Ek het dus 'n paar linux -skrifte gebruik om die liedjies na die regte naam te verander. Gidse moet twee-syfergetalle in volgorde (d.w.s. "00", "01", "02" …) genoem word. Liedjies daar moet drie -syfergetalle in volgorde (d.w.s. "001.mp3", "002.mp3", …) genoem word.

My aanskakel-welkom mp3 ("Hallo, ek is jou speelgoedkas …") word in die vouer "99" gestoor as "001.mp3".

Die skrip is nie 'n idioot -bewys nie en moet slegs in 'n 'kopieer' -gids gebruik word, nie op die oorspronklike nie.

#!/bin/bashlet i = 1 vir lêer in *.mp3 doen as (($ i <10)); dan mv "$ file" "00 $ {i}.mp3" elif (($ i <100)); dan laat mv "$ file" "0 $ {i}.mp3" anders mv "$ file" "$ {i}.mp3" fi ++ doen

Stap 5: Druk en monteer die boks

Die boks druk en monteer
Die boks druk en monteer
Die boks druk en monteer
Die boks druk en monteer
Die boks druk en monteer
Die boks druk en monteer

So nou werk die HW en SW - ek het 'n BOX nodig!

'N Goeie plek om mee te begin is Tinkercad - ek is mal daaroor! Eenvoudig om te gebruik en u kry alles wat u wil hê. Gebaseer op 'n groot gemeenskap en baie wonderlike voorbeelde van slim "Tinkerers".

'N Mens kan maklik vir ewig hierin ingaan - hier is 'n verandering, daar 'n nuwe houer, 'n gat, … 'n nuwe ontwerp, …

Maar aan die einde is ek heeltemal tevrede met die huidige boksontwerp. Ek het ook 'n basiskas vir die laaier gebou om die mp3 -boks op te sit vir … laai. kyk hier

Drukwerk neem sy tyd (~ 8-12 uur en meer) en ek het met verskillende lyndikte getoets. Aan die einde het ek by die drukkerstandaarde gebly. Vir die huidige bokse gebruik ek die prototipe (aanvanklik gedruk op grond van ouer ontwerp) bokse, maar die nuutste ontwerp het 'n paar nuwe funksies, houers, groothede wat 'n ander item op my taaklys is.

En nog 'n baie belangrike ding: om 'n paar mooi klere vir die boks te kry - maar dit sal my vrou se domein wees - ek sien uit na die nuwe klere van die boks - binnekort …

Sodra die afdrukke afgekoel het en 'n basistoets van die elektronika buite die boks gedoen is, moes die finale samestelling gedoen word.

Ek het warm gom gebruik om die onderdele reg te maak - 'n Mikroskakelaar, 'n LCD en 'n RFID -ontvanger wat aan die voorblad vasgemaak is. Ek het 'n dubbelzijdige band gebruik om komponente vooraf vas te maak, en dan die warm gom gebruik om 'n paar laaste bevestigingspunte in te sit.

Dieselfde met die basiskas. Bevestig eers die laai -ontvangerplaat aan die onderkant van die boks - dubbelzijdige band het goed presteer - moet in die middel van die basis aangepas word om naby genoeg aan die laaispoel te wees wanneer die boks bo -op die laaierbasis geplaas word.

Dan sit die powerbank, weer vooraf met dubbelzijdig, 'n bietjie warm gom op 'strategiese' punte. Die luidspreker kan met 'n paar mooi gompunte op die voorbereide houers vasgemaak word - lekker styf.

Uiteindelik het die bord - ek het 'n paar mini -stootkussings ingesluit in die 3D -drukontwerp, sodat die bord netjies met 'n paar strategiese warm gompunte daar aangebring is. Rammel moet dinge nie uitmekaar gooi nie - daarom het ek aandag gegee aan hierdie een.

En gebruik laastens 'n paar beskikbare mini -skroewe (my drukontwerp bevat 'n paar 3M skroefhouers, maar dit is nie regtig geskik vir regte skroewe nie)

Stap 6: Afgewerkte boks - maar sonder klere

Image
Image
Afgewerkte boks - maar sonder klere
Afgewerkte boks - maar sonder klere
Afgewerkte boks - maar sonder klere
Afgewerkte boks - maar sonder klere

En hier is die twee afgewerkte bokse vir my kinders. Hulle het al 'n paar bèta-toetse gedoen en 'n paar sagteware foute gevind;-).

Ek het ook 'n 20 -pak RFID M3 -plakkers gekoop.

Nou moet ek alle moontlike klein figuurtjies versamel en hulle tekens vir die MP3 -boks laat speel. Pret vir pa en kinders:)

Aanbeveel: