Inhaltsverzeichnis:

MP3-Musikbox für Kinder - Gunook
MP3-Musikbox für Kinder - Gunook

Video: MP3-Musikbox für Kinder - Gunook

Video: MP3-Musikbox für Kinder - Gunook
Video: 【MUSIKBOX KINDER】Top 6 Musikboxen für Kinder 🔥 2024, Juli
Anonim
Kinder MP3-Spieluhr
Kinder MP3-Spieluhr
Kinder MP3-Spieluhr
Kinder MP3-Spieluhr

Auf der Suche nach neuen DIY-Projekten rund um Arduino fand ich einige nette Ideen zu RFID-basierten MP3-Playern für Kinder. Und es gibt eine großartige professionelle Spielzeugkiste auf dem Markt – diese Jungs regieren. Sie haben aus ihrer klugen Idee ein großartiges Geschäft gemacht. Schaut vorbei - ihr werdet ihre Seite finden!

Da meine beiden Kinder immer mehr Hörbücher und Musik hören und immer noch die guten alten CDs mit all dem Aufwand verwenden, habe ich mich entschieden, eine solche MP3-Player-Box mit einigen netten Funktionen zu bauen, um sie zu einem großartigen Individuum zu machen Spielzeug für sie. Nachdem ich vor kurzem meinen ersten 3D-Drucker gekauft habe, schien dieses Projekt eine gute Spielwiese zu sein, um auch in den 3D-Druck einzutauchen.

Also ging ich in die Konzeptphase - welche Features möchte ich umsetzen - RFID, MP3-Player, WLAN (später abgesagt), IMU-Steuerung, LCD-Display, Wecker, kabelloses Laden … Musste erst recherchieren, welche Komponenten ich dafür benötige. Welche Komponenten könnte ich wiederverwenden? Ich hatte noch eine IMU, ein LCD-Modul, einige Arduino-Nanos.

Mit etwas Löt- und Messerfahrung ist die Montage innerhalb von 1-2 Arbeitssitzungen machbar.

Das Bedrucken der Box, bestehend aus einem Sockel, einer Abdeckplatte und einer Ladestation, dauert zwar etwas länger (12+ Stunden je nach Drucker- und Slicer-Einstellungen), aber das habe ich beim Löten gemacht.

Schritt 1: Komponenten

Komponenten
Komponenten

Die Komponenten sind mittlerweile wirklich Mainstream. Hier ist eine Liste der Komponenten, die ich für dieses Projekt verwendet habe.

1. LCD-Display 1602 2x16 große Zeichen 5 V 122*44 MM blau

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

3. MP3-Player - DFPlayer Mini MP3-Player-Modul MP3-Sprachdecodierungsplatine für Arduino, die TF-Karte unterstützt U-Disk IO / serieller Port / AD

4. Lautsprecher - 4 Ohm 3 Watt 53 mm quadratischer Lautsprecher 36 mm externer magnetischer Schaumstoffrand silbrige Kappe

5. Micro-SD-Karte 8 GB

6. MPU6050 3-Achsen-Analog-Gyroskop-Sensor

7. MINI USB NANO V3.0 CH340 5 V 16 Mt Atmega328 Micro Controller Board (fast alle Pins belegt!)

8. DS3231 Precision RTC - Weckermodul

9. Powerbank JETech 3400 mAh

10. Universal DIY PCBA Qi Wireless Charger Empfängermodul - Blau + Schwarz

11. Prototyp PCB Board Protoboard Verzinnt Universal Breadboard Prototyping Lötfreie FR4 PCB Doppelseitig 5x7 cm 50x70mm FR4

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

13. 1x1kOhm Widerstand zur Begrenzung des Basisstroms, 3x220Ohm 0,5 W (parallel! um die Wattzahl zu berücksichtigen - man kann einen höheren Widerstand verwenden, ich hatte diesen) für die Strombelastung zwischen Emitter und Kollektor. 2x1kOhm für TX- und RX-Leitung zwischen Arduino und DFplayer, um Geräusche zu beseitigen - ich hatte hier kein Problem.

14. Einige Standard-Heimwerker-Elektronikzeug - Lötkolben, Lötmittel, Clipper, Stecker, Kabel …

14. Viel Energie und ein paar Stunden zum Zusammenbauen:)

Gesamtpreis für oben genannte Komponenten ~30-35€ - meist von aliexpress.com und dx.com. Der Versand dauert etwas, aber der Preis ist super.

Schritt 2: Elektronik-Konnektivität

Elektronik-Konnektivität
Elektronik-Konnektivität
Elektronik-Konnektivität
Elektronik-Konnektivität
Elektronik-Konnektivität
Elektronik-Konnektivität

Ich habe weder ein Layout gezeichnet, noch habe ich ein praktisches Werkzeug wie Fritzing oder ähnliches verwendet. Vermutlich zu einem späteren Zeitpunkt. Die Beschreibung unten zeigt die Konnektivität. Alle nicht erwähnten Pins sind nicht verbunden.

Während des Lötens habe ich die Konnektivität der Leitungen gemessen, eine Endkontrolle mit montierten Komponenten wurde ebenfalls durchgeführt. Nichts ist ärgerlicher, als nach dem Zusammenbau nach einer schlechten Verbindung suchen zu müssen. Größte Sorgfalt auf GND und Spannung +.

Das Pin-Layout jeder Komponente ist über Google verfügbar.

LC-Display

LED----GND

LED+---Über 220Ohm bis 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 (zum Einstellen des Kontrasts)

VDD---Powerbank +5V

VSS---GND

DFPlayer MP3-Player

VCC---+5V Powerbank

RX--- Software Serial Arduino D5 (evtl. über 1kOhm Widerstand bei Rauschproblemen)

TX--- Software seriell Arduino D9 (evtl. über 1kOhm Widerstand bei Rauschproblemen)

SPK1---Lautsprecher +

GND---Powerbank GND

SPK2---Lautsprecher -

Beschäftigt---Arduino A7

GND---GND

NFC522 RFID-Lesegerät

3.3V --- Arduino 3.3V

GND---GND

MISO---Arduino D12

MOSI---Arduino D11

SCK---Arduino D13

SDA---Arduino D10

IMU 6050 Kreiselsensor

VCC---Arduino 3.3V

GND---GND Powerbank

SCL---Arduino A5/SCL

SDA---Arduino A4/SDA

ADO---+3.3V (High-Signal) für I2C-Adresse 0x69

DS3231 Echtzeituhr

3, 3V --- Arduino 3.3V

SDA---Arduino A4/SDA

SCL---Arduino A5/SCL

GND---GND

Stromlast Trigger

2N3904 Emitter -- GND

2N3904 Basis -- über 1kOhm an Arduino D6

2N3904 Kollektor -- über 3x220Ohm (parallel! - man kann einen höheren Widerstand verwenden, ich hatte diesen) auf +5V

Powerbank

V+- und GND-Leitungen der Powerbank über eine USB-Buchse mit dem Stromanschluss an Bord verbunden und mit Vin / GND von Arduino verbunden). Die Powerbank wird über einen Mikroschalter in der Abdeckplatte eingeschaltet. Ich habe einen Mikroschalter an V+ über einen Lastwiderstand an GND gelötet, um einen Lastzustand zu simulieren und einzuschalten. Danach verhindert die aktuelle Last das Abschalten.

+5V -- Stromanschluss an Bord +5V

GND --Stromanschluss auf der Platine GND

+5V Powerbank -- Lastwiderstand -- Mikroschalter Pin A

GND -- Mikroschalter Pin B

Schritt 3: Elektronikmontage

Elektronikmontage
Elektronikmontage
Elektronikmontage
Elektronikmontage
Elektronikmontage
Elektronikmontage

Die Platinenkomponenten - MP3-Player, RTC, IMU, Arduino sind in Sockeln montiert. Auswahl- und Auf-/Ab-Tasten, RFID, LCD und Strom werden über selbstgelötete 'Bandkabel' verbunden, die lang genug sind, um später in die Box zu passen.

Mikroschalter zum Einschalten der Powerbank ist auf der Abdeckplatte befestigt - in den Bildern nicht dargestellt.

Ich habe ein festes Netzteil verwendet, um das Setup zu testen.

Beim Zusammenbau habe ich jede Komponente einzeln getestet -> Beispiel-Arduino-Skizzen für die Komponenten sind hier sehr hilfreich.

Da die Powerbank eine automatische Abschaltung mit geringem Strom hatte, habe ich alle 15 Sekunden eine Transistor-gesteuerte Lastspitze für 100 ms über einen 70-Ohm-Widerstand eingebaut (eigentlich 3 parallele 220 Ohm, um eine ausreichende Leistung zu gewährleisten, es ist nur eine kurze Spitze, aber die drei Widerstände teilen sich den Strom und werden daher nicht über den Spezifikationen betrieben).

Später stellte sich heraus, dass der Mini DFPlayer ständig > 70mA zieht. Da ich die Powerbank-Autoabschaltung auch zum Abschalten der Box genutzt habe (indem ich die Stromlast nicht mehr auslöste) muss ich das jetzt nochmal überdenken.

Immer noch Probleme mit dem Schlafmodus von Arduino und DFplayer, um den Strom herunterzufahren - der Strom fällt nicht unter den Schwellenwert, um das Ausschalten zu ermöglichen. Rückmeldung erwünscht.

Hinweis: Für die zweite Box musste ich eine andere Powerbank nachbestellen, da ich die Elektronik meiner ersten zerstört habe. Und schau mal hier - diese Powerbank schaltet sich 10 Sekunden nachdem ich aufhöre den Laststrom auszulösen aus -> Abschalten funktioniert jetzt.

Der kabellose Ladeempfänger wird an den USB-Ladeanschluss der Powerbank angeschlossen. Die Ladestation ist in eine Ladebox eingebaut, die mit meinem 3D-Drucker gedruckt wurde.

Schritt 4: Software

Software
Software

Software auf github verfügbar

Programmieren macht Spaß, ich fange gerne mit einem schnellen Kern an Beispielen an und entwickle mich weiter. Da ich keine konsequenten Spezifikationen, Feature-Planungen und strukturierten Programmpläne mache, habe ich am Ende funktionierenden, aber nicht wirklich eleganten Code. Dies ist immer ein Todo -> gehe mehr auf Objekte ein, getrennt in.h und.cpp …

Ich möchte jedoch, dass das Ding schnell funktioniert, daher komme ich in vielen Fällen nicht auf dem effizientesten Weg dorthin.

Aber das Tolle ist - sobald die HW funktioniert, kann man mit allen möglichen Dingen beginnen.

Ich habe die arduino IDE verwendet, ein paar Bibliotheken sind erforderlich - einfach mit dem arduino IDE-Bibliotheksmanager.

Meine aktuelle Version der Software unterstützt also:

Willkommensnachricht

Lautstärke (duh)

Kippen der Box nach links/rechts, um zum vorherigen/nächsten Song zu wechseln und bei deaktiviertem RFID zum nächsten Ordner durch vor und zurück.

Pause/Wiedergabe (duh)

Initialisieren, neues RFID lernen - Ordner wird basierend auf dem nächsten RFID nächsten SD-Kartenordner zugewiesen. Daten werden im Arduino EEPROM gespeichert

Play-Ordner mit RFID-Zuordnung - RFID-Ordner durch Lernfunktion zuordnen

Laden und speichern Sie Parameter, um die gespeicherten Einstellungen zu aktivieren. Werkseinstellungen zurückgesetzt:)

Uhr- und Datumseinstellung.

Wecker ein-/ausschalten, Weckstunde und -minute einstellen, einen festen Song für den Wecker abspielen.

RFID ausschalten - mp3 abspielen ohne.

Noch ein paar Ideen auf meiner Liste - noch in Umsetzung

Temperatur anzeigen (die RTC kann das - sie misst die Temperatur, um die Auswirkungen auf den Quarz zu kompensieren)

Fang an zu lachen, wenn du erschüttert bist, Lied für Wecker einstellen

Wählen Sie aus, welcher Ordner im Lernmodus dem RFID zugewiesen wird

Ordnerzuweisung speichern und letztes Lied auf RFID-Chip gespielt - Wiederverwendbarkeit zwischen Boxen (ich baue noch eine - zwei Kinder erinnern sich ….?)

Abschaltung aktivieren - ohne USB-Anschluß funktioniert dies ab sofort nicht -> Strombelastung durch Powerbank wird in dieser Einstellung reduziert.

Infos zur Ordnerstruktur auf SD-Karte

Ich hatte einige MP3-Hörbücher und Musik für meine Kinder gespeichert. Also habe ich einige Linux-Skripte verwendet, um die Songs in die richtige Namensgebung umzuwandeln. Ordner sind nacheinander zweistellig zu benennen (z. B. „00“, „01“, „02“…). Die darin enthaltenen Songs müssen nacheinander dreistellig benannt werden (z. B. "001.mp3", "002.mp3", …).

Meine Einschalt-Willkommens-mp3 ("Hallo, ich bin deine Spielzeugkiste…") ist im Ordner "99" als "001.mp3" gespeichert.

Das Skript ist nicht idiotensicher und sollte nur in einem 'Kopie'-Verzeichnis und nicht auf Originalen verwendet werden.

#!/bin/bashlet i=1 für Datei in *.mp3 do if (($i < 10)); dann mv "$file" "00${i}.mp3" elif (($i < 100)); dann mv "$file" "0${i}.mp3" else mv "$file" "${i}.mp3" fi let i++ fertig

Schritt 5: Drucken und Zusammenbauen der Box

Bedrucken und Zusammenbauen der Box
Bedrucken und Zusammenbauen der Box
Bedrucken und Zusammenbauen der Box
Bedrucken und Zusammenbauen der Box
Bedrucken und Zusammenbauen der Box
Bedrucken und Zusammenbauen der Box

Also jetzt funktioniert die HW und SW - ich brauche eine BOX!

Ein großartiger Ort, um damit anzufangen, ist Tinkercad - ich liebe es! Einfach zu bedienen und Sie bekommen alles, was Sie wollen. Aufbauend auf einer riesigen Community und vielen tollen Beispielen von smarten „Tüftlern“.

Da kann man sich leicht ewig einlassen – hier eine Änderung, dort eine neue Halterung, Loch, … neues Design, ….

Aber am Ende bin ich mit dem aktuellen Box-Design rundum zufrieden. Ich habe auch eine Basisbox für das Ladegerät gebaut, auf die ich die mp3-Box zum Aufladen stellen kann. siehe hier

Das Drucken braucht seine Zeit (~8-12 Stunden und mehr) und ich habe mit verschiedenen Strichstärken getestet. Am Ende bin ich bei den Druckerstandards geblieben. Für die aktuellen Boxen verwende ich die Prototypen (zunächst basierend auf einem älteren Design gedruckt) Boxen, aber das neueste Design hat einige neue Funktionen, Halterungen, Löcher, die einen weiteren Punkt auf meiner To-Do-Liste machen.

Und noch etwas ganz Wichtiges: Schöne Klamotten für die Kiste besorgen - das wird aber die Domäne meiner Frau sein - freue mich auf die neuen Klamotten der Kiste - kommt bald…

Sobald die Ausdrucke abgekühlt sind und ein Basistest der Elektronik außerhalb der Box gemacht wurde, musste die Endmontage erfolgen.

Ich habe Heißkleber verwendet, um die Teile zu befestigen - Mikroschalter, LCD und RFID-Empfänger an der Abdeckplatte befestigt. Ich habe doppelseitiges Klebeband verwendet, um die Komponenten vorzufixieren und dann den Heißkleber verwendet, um einige letzte Befestigungspunkte zu setzen.

Das gleiche mit der Basisbox. Befestigen Sie zuerst die Ladeempfängerplatte am Boden der Box - doppelseitiges Klebeband hat hier gute Arbeit geleistet - muss auf die Mitte der Basis eingestellt werden, um nahe genug an der Ladespule zu sein, wenn Sie die Box auf die Ladestation stellen.

Dann die Powerbank, wieder doppelseitig vorfixieren, dann etwas Heißkleber an 'strategischen' Stellen kleben. Der Lautsprecher konnte mit ein paar schönen Klebepunkten an den vorbereiteten Halterungen befestigt werden - schön fest.

Endlich das Board - ich habe einige Mini-Mount-Pads in das 3D-Druckdesign integriert, so dass das Board dort ordentlich mit - wieder - einigen strategischen Heißklebepunkten ausgestattet ist. Klappern sollte die Dinge nicht auseinander werfen - deshalb habe ich diesem hier etwas Aufmerksamkeit geschenkt.

Und schließlich einige verfügbare Minischrauben verwenden (mein Druckdesign enthielt einige 3M-Schraubenhalterungen, aber sie waren nicht wirklich gut für echte Schrauben)

Schritt 6: Fertige Box - noch ohne Kleidung

Image
Image
Fertige Box - noch ohne Kleidung
Fertige Box - noch ohne Kleidung
Fertige Box - noch ohne Kleidung
Fertige Box - noch ohne Kleidung

Und hier sind die beiden fertigen Boxen für meine Kinder. Sie haben bereits Beta-Tests durchgeführt und einige Softwarefehler gefunden;-).

Ich habe auch eine 20er Packung RFID M3-Aufkleber gekauft.

Jetzt muss ich alle möglichen kleinen Figuren einsammeln und sie zu Spielfiguren für die MP3-Box machen. Spaß für Vater und Kinder:)

Empfohlen: