Inhoudsopgave:
- Stap 1: Componenten
- Stap 2: Elektronische connectiviteit
- Stap 3: Elektronica-assemblage
- Stap 4: Software
- Stap 5: De doos afdrukken en monteren
- Stap 6: Afgewerkte doos - maar zonder kleren
Video: MP3-muziekdoos voor kinderen - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:16
Toen ik op zoek was naar nieuwe doe-het-zelf-projecten rond Arduino, vond ik een aantal leuke ideeën over op RFID gebaseerde MP3-spelers voor kinderen. En er is één geweldige professionele speelgoeddoos op de markt - deze jongens heersen. Ze maakten een geweldig bedrijf van hun slimme idee. Check out - je vindt hun pagina!
Omdat mijn twee kinderen steeds meer naar audioboeken en muziek beginnen te luisteren, en nog steeds goede oude compact discs gebruiken met al het gedoe met het hanteren, heb ik besloten om zo'n MP3-spelerbox te bouwen met een aantal leuke functies om er een geweldig persoon van te maken speelgoed voor hen. Nadat ik onlangs mijn eerste 3D-printer kocht, leek dit project een goede speeltuin om ook in 3D-printen te duiken.
Dus begon ik in de conceptfase - welke functies zou ik willen implementeren - RFID, MP3-speler, WLAN (later geannuleerd), IMU-bediening, LCD-scherm, wekker, draadloos opladen … Ik moest wat onderzoek doen, welke componenten ik nodig zou hebben. Welke onderdelen kan ik hergebruiken? Ik had nog steeds een IMU, LCD-module, wat Arduino-nano's.
Met enige ervaring met solderen en meten is de montage binnen 1-2 na werksessies te doen.
Het printen van de Box, bestaande uit een basis, een afdekplaat en een laadstation, kost wat tijd (12+ uur afhankelijk van de printer en slicer instellingen), maar dat heb ik tijdens het solderen gedaan.
Stap 1: Componenten
De componenten zijn ondertussen echt mainstream. Hier is een lijst met componenten die ik voor dit project heb gebruikt.
1. LCD-scherm 1602 2x16 grote tekens 5 V 122*44 MM blauw
2. RFID-lezer- NFC RFID-RC522 RF IC
3. MP3-speler-DFPlayer Mini MP3-speler Module MP3 Voice Decode Board Voor Arduino Ondersteunende TF-kaart U-Disk IO/Seriële Poort/AD
4. Luidspreker - 4 ohm 3 watt 53 MM vierkante luidspreker 36 MM externe magnetische schuimrand zilverkleurige dop
5. Micro SD-kaart 8GB
6. MPU6050 3-assige analoge gyroscoopsensor
7. MINI USB NANO V3.0 CH340 5 V 16 Mt Atmega328 Micro Controller Board (bijna alle pinnen gebruikt!)
8. DS3231 Precision RTC - Alarmklokmodule
9. Powerbank JETech 3400 mAh
10. Universele DIY PCBA Qi draadloze oplader-ontvangermodule - blauw + zwart
11. Prototype printplaat Protoboard Vertind Universele Breadboard Prototyping Soldeerloze FR4 PCB Dubbelzijdig 5x7 cm 50x70mm FR4
12. 1x 2N 3904: Transistor NPN TO-92 40V 0, 2A 0, 5W
13. 1x1kOhm-weerstand om de basisstroom te beperken, 3x220Ohms 0, 5 w (parallel! om te voorzien in wattage - men kan een hogere spec-weerstand gebruiken, ik had deze) voor stroombelasting tussen emitter en collector. 2x1kOhms voor TX- en RX-lijn tussen Arduino en DFplayer om ruis te doden - ik had hier geen probleem.
14. Sommige standaard doe-het-zelf-elektronica-dingen - soldeerbout, soldeer, clipper, connectoren, kabels …
14. Veel energie en een paar uur om te monteren:)
Totale prijs voor bovenstaande componenten ~30-35€ - meestal van aliexpress.com en dx.com. Verzending duurt even, maar de prijs is prima.
Stap 2: Elektronische connectiviteit
Ik heb geen lay-out getekend en ook geen handige tool zoals Fritzing of iets dergelijks gebruikt. Waarschijnlijk op een later tijdstip. Beschrijving hieronder toont de connectiviteit. Alle niet genoemde pinnen zijn niet aangesloten.
Tijdens het solderen bleef ik de connectiviteit van de lijnen meten, eindcontrole met gemonteerde componenten werd ook gedaan. Niets vervelender dan te moeten zoeken naar één slechte verbinding nadat alles is gemonteerd. De meeste zorg op GND en spanning +.
De pinlay-out van elk onderdeel is beschikbaar via Google.
LC-display
LED ---- GND
LED+ --- Via 220Ohm naar 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 --- 10 Kohm potentiometer Rx (om het contrast aan te passen)
VDD --- Powerbank + 5V
VSS --- GND
DFPlayer MP3-speler
VCC --- + 5V Powerbank
RX --- software seriële Arduino D5 (eventueel via 1kOhm weerstand in geval van geluidsproblemen)
TX --- software seriële Arduino D9 (eventueel via 1kOhm weerstand in geval van geluidsproblemen)
SPK1---Luidspreker +
GND --- Powerbank GND:
SPK2---Luidspreker -
Bezet --- Arduino A7
GND --- GND
NFC522 RFID-lezer
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 (Hoog signaal) voor I2C-adres 0x69
DS3231 Realtime klok
3, 3V --- Arduino 3.3V
SDA --- Arduino A4/SDA
SCL --- Arduino A5/SCL
GND --- GND
Huidige belasting Trigger
2N3904 zender -- GND
2N3904 basis -- via 1kOhm naar Arduino D6
2N3904 collector -- via 3x220Ohms (parallel! - men kan een hogere spec weerstand gebruiken, ik had deze) naar +5V
Powerbank
V+- en GND-lijnen van Powerbank aangesloten via een vrouwelijke USB-connector op de voedingsconnector aan boord en aansluiten op Vin/GND van Arduino). De powerbank wordt ingeschakeld via een microschakelaar in de afdekplaat. Ik heb een microschakelaar op V+ gesoldeerd via een belastingsweerstand op GND om een belastingstoestand te simuleren en aan te zetten. Daarna zorgt de huidige belasting ervoor dat deze niet wordt uitgeschakeld.
+5V -- Stroomaansluiting aan boord +5V
GND --Voedingsconnector aan boord van GND
+5V van powerbank -- belastingsweerstand -- microschakelaar Pin A
GND -- microschakelaarpen B
Stap 3: Elektronica-assemblage
De bordcomponenten - MP3-speler, RTC, IMU, Arduino zijn in sockets gemonteerd. Select- en omhoog/omlaag-toetsen, RFID, LCD en voeding zijn lang genoeg verbonden via zelfgesoldeerde 'bandkabels' om later in de doos te passen.
Microswitch om powerbank in te schakelen is vaste afdekplaat - niet afgebeeld op de foto's.
Ik heb een vaste voeding gebruikt om de opstelling te testen.
Tijdens het monteren heb ik elk onderdeel afzonderlijk getest -> voorbeeld Arduino-schetsen voor de componenten zijn hier erg handig.
Omdat de powerbank een automatische uitschakeling had met een lage stroomsterkte, heb ik elke 15 seconden een transistorgestuurde belastingpiek gedurende 100 ms toegevoegd via een 70 Ohm-weerstand (eigenlijk 3 parallelle 220 Ohm om te voorzien in voldoende wattage, het is slechts een korte piek, maar de drie weerstanden delen de stroom en werken daarom niet boven de specificaties).
Later bleek dat de Mini DFPlayer continu > 70mA trekt. Omdat ik de automatische uitschakeling van de powerbank ook heb gebruikt voor het uitschakelen van de doos (door de huidige belasting niet meer te activeren), moet ik dit nu opnieuw bedenken.
Nog steeds problemen met de slaapmodus van Arduino en DFplayer om de stroom te verlagen - de stroom zakt niet onder de drempel om het uitschakelen mogelijk te maken. Reactie welkom.
Opmerking: voor de tweede Box moest ik een andere powerbank opnieuw bestellen omdat ik de elektronica van mijn eerste had gedood. En kijk hier - deze powerbank schakelt 10 seconden uit nadat ik stop met het activeren van de laadstroom -> uitschakelen werkt nu.
De draadloze oplaadontvanger wordt aangesloten op de powerbank opladen usb. De oplader is ingebouwd in een opladerdoos, bedrukt met mijn 3D-printer.
Stap 4: Software
Software beschikbaar op github
Programmeren is leuk, ik begin graag met een snelle kern van voorbeelden en ontwikkel me graag verder. Omdat ik niet echt consequente specificaties, planning van functies en gestructureerde programmaplannen doe, krijg ik wat werkende maar niet echt elegante code. Dit is altijd een todo -> ga meer in op objecten, scheid in.h en.cpp …
Ik wil het ding echter snel werkend krijgen, dus in veel gevallen kom ik daar niet op de meest efficiënte manier.
Maar het mooie is - zodra de HW werkt kan men allerlei dingen gaan doen.
Ik gebruikte de arduino IDE, een paar bibliotheken vereist - gewoon gedaan met de arduino IDE-bibliotheekmanager.
Dus mijn huidige versie van de software ondersteunt:
Welkoms bericht
Volume (duh)
Links/rechts kantelen van de box om naar het vorige/volgende nummer te schakelen en indien RFID gedeactiveerd naar de volgende map heen en weer.
Pauzeren/afspelen (duh)
Initialiseer, leer nieuwe RFID - map wordt toegewezen op basis van volgende RFID volgende SD-kaartmap. Gegevens worden opgeslagen in Arduino EEPROM
Map afspelen toegewezen aan RFID - toewijzing RFID-naar-map via leerfunctie
Laad en sla parameters op om opgeslagen instellingen in te schakelen. Fabrieksinstellingen:)
Klok en datum instelling.
Alarm in-/uitschakelen, alarmuren en minuten instellen, een vast nummer afspelen als alarm.
Schakel RFID uit - speel mp3 af zonder.
Nog wat ideeën op mijn lijst - nog uit te voeren
Toon temperatuur (de RTC kan dat doen - het meet de temperatuur om de impact op het kwarts te compenseren)
Begin te lachen als je wordt geschud, Nummer instellen voor alarm
Kies welke map is toegewezen aan RFID in leermodus
Opslagmaptoewijzing en laatste nummer gespeeld op RFID-chip - herbruikbaarheid tussen dozen (ik bouw er nog een - twee kinderen herinneren zich …?)
schakel uitschakeling in - dit werkt vanaf nu niet zonder aangesloten te zijn op USB -> stroombelasting via Powerbank wordt verminderd in deze instelling.
Info over mapstructuur op SD-kaart
Ik had een aantal mp3-audioboeken en muziek voor mijn kinderen opgeslagen. Dus ik gebruikte wat linux-scripts om de nummers naar de juiste naam te transformeren. Mappen moeten worden benoemd in opeenvolgende nummers van twee cijfers (d.w.z. "00", "01", "02"…). Nummers daarin moeten achtereenvolgens worden genoemd in driecijferige nummers (d.w.z. "001.mp3", "002.mp3", …).
Mijn inschakel-welkomst-mp3 ("Hallo, ik ben je speelgoeddoos …") wordt opgeslagen in map "99" als "001.mp3".
Script is niet idiot proof en mag alleen in een 'copy' directory worden gebruikt en niet op originelen.
#!/bin/bashlet i=1 voor bestand in *.mp3 do if (($i < 10)); dan mv "$file" "00${i}.mp3" elif (($i < 100)); dan mv "$file" "0${i}.mp3" else mv "$file" "${i}.mp3" fi laat i++ klaar
Stap 5: De doos afdrukken en monteren
Dus nu werken de HW en SW - ik heb een BOX nodig!
Een geweldige plek om mee te beginnen is Tinkercad - I love it! Eenvoudig te gebruiken en je krijgt alles wat je wilt. Voortbouwend op een enorme community en veel geweldige voorbeelden van slimme "Tinkerers".
Je kunt hier gemakkelijk voor altijd instappen - hier één verandering, daar een nieuwe houder, gat, … nieuw ontwerp, ….
Maar uiteindelijk ben ik helemaal blij met het huidige ontwerp van de doos. Ik bouwde ook een basisdoos voor de oplader om de mp3-doos op te zetten voor … opladen. kijk hier
Afdrukken kost tijd (~ 8-12 uur en meer) en ik heb getest met verschillende lijndiktes. Uiteindelijk bleef ik bij de printernormen. Voor de huidige dozen gebruik ik het prototype (aanvankelijk gedrukt op basis van een ouder ontwerp) dozen, maar het nieuwste ontwerp heeft een aantal nieuwe functies, bevestigingen, gehelen die een ander item op mijn takenlijst maken.
En nog een heel belangrijk ding dat nog moet worden gedaan: mooie kleren voor de doos kopen - maar dit zal het domein van mijn vrouw zijn - ik kijk uit naar de nieuwe kleren van de doos - binnenkort …
Zodra de afdrukken zijn afgekoeld en een basistest van de elektronica buiten de doos is gedaan, moest de eindmontage plaatsvinden.
Ik gebruikte hete lijm om de onderdelen te bevestigen - Microschakelaar, LCD en RFID-ontvanger bevestigd aan de afdekplaat. Ik gebruikte wat dubbelzijdig plakband om componenten vooraf te bevestigen en gebruikte vervolgens de hete lijm om enkele laatste bevestigingspunten in te brengen.
Hetzelfde met de basisdoos. Bevestig eerst de plaat van de oplaadontvanger aan de grond van de doos - dubbelzijdige tape deed het hier goed - moet in het midden van de basis worden afgesteld om dicht genoeg bij de oplaadspoel te zijn wanneer de doos op de oplaadbasis wordt geplaatst.
Dan de powerbank, opnieuw pre-fix met dubbelzijdig, dan wat hete lijm op 'strategische' punten smeren. De luidspreker kon met een paar mooie lijmpunten op de voorbereide bevestigingen worden vastgemaakt - mooi strak.
Eindelijk het bord - ik heb wat mini-montagepads in het 3D-printontwerp opgenomen, zodat het bord daar netjes paste met - alweer - enkele strategische hete lijmpunten. Rammelen mag de boel niet uit elkaar drijven - daarom heb ik deze wat aandacht gegeven.
En gebruik tot slot enkele beschikbare mini-schroeven (mijn printontwerp bevatte enkele 3M-schroefbevestigingen, maar ze waren niet echt geweldig voor echte schroeven)
Stap 6: Afgewerkte doos - maar zonder kleren
En hier zijn de twee afgewerkte dozen voor mijn kinderen. Ze hebben al wat beta-tests gedaan en wat software bugs gevonden;-).
Ik kocht ook een 20-pack RFID M3-stickers.
Nu moet ik alle mogelijke figuurtjes verzamelen en ze tokens laten spelen voor de MP3-box. Leuk voor vader en kinderen:)
Aanbevolen:
NASA-configuratiescherm voor kinderen: 10 stappen (met afbeeldingen)
NASA-configuratiescherm voor kinderen: ik heb dit gebouwd voor mijn schoonzus die een kinderdagverblijf runt. Ze zag mijn pils die ik bijna drie jaar geleden bouwde voor een bedrijfsmaker en vond het erg leuk, dus ik bouwde deze voor haar voor een kerstcadeau. Link naar mijn andere project hier: https://www
Sourino - het beste speelgoed voor katten en kinderen: 14 stappen (met afbeeldingen)
Sourino – het beste speelgoed voor katten en kinderen: stel je voor dat lange feesten met kinderen en katten Sourino spelen. Dit speelgoed zal zowel katten als kinderen verbazen. Je zult genieten van het spelen in de op afstand bestuurbare modus en je kat gek maken. In de autonome modus zult u het op prijs stellen om Sourino rond uw kat te laten bewegen
Terug naar de basis: solderen voor kinderen: 6 stappen (met afbeeldingen)
Back to Basics: Solderen voor kinderen: Of je nu een robot bouwt of met Arduino werkt, vorm "hands-on" elektronica tot prototyping van een projectidee, weten hoe te solderen komt van pas. solderen is een essentiële vaardigheid om te leren als iemand echt van elektr
Dierengeluidenpuzzel voor kinderen: 4 stappen
Dieren Sound Puzzle for Kids: Het dier klinkt met zijn eigen stem wanneer het puzzelstukje van het dier correct is geplaatst. Voor kinderen jonger dan 24 maanden. Je zonen zullen genieten als ze alle zes de geluiden horen die door het dier worden uitgezonden. Dit project is gebaseerd op een commercieel product, maar ik wil
Een elektronisch quizbord voor kinderen maken: 10 stappen (met afbeeldingen)
Een elektronisch quizbord voor kinderen maken: in deze Instructable laat ik je zien hoe de zoon van mijn neef, Mason en ik, samen een elektronisch quizbord maakten! Dit is een geweldig STEM-gerelateerd project om te doen met kinderen van alle leeftijden die geïnteresseerd zijn in wetenschap! Mason is pas 7 jaar oud, maar heeft steeds meer