Hallo, noch ein Bild vom Aufbau
Hallo zusammen, könnte mir jemand vl. einen ATTiny programmieren und auf dem Postweg zukommen lassen. Kann leider nicht programmieren und hätte somit auch kein Programmer....AVR Studio usw. würde trotzdem gerne ein paar Player bauen für die Kinder in unserem Familien und Freundeskreis. Wäre jemand so nett und würde mir welche bespielen wenn ich die ATTinys mit der Post schicke? Würde mich freuen wenn jemand so nett wäre. Viele Grüße Michael
Hallo, Attiny und Dfplayer sind nun angekommen und ich wollte langsam mal die Anderen Bauteile zusammenbestellen. Ich habe jetzt die Multimec Taster bei Reichelt gefunden, aber welche muss ich denn bestellen? Wechsler oder Schließer? SMD oder THT? schonmal Danke und schöne Grüße
Hallo Marcus, als Taster kannst du diese verwenden https://www.reichelt.de/multimec-taster-ohne-beleucht-printanschluss-taster-3fth9-p156904.html?&trstct=lsbght_sldr::82189 Die zugehörigen Tastenkappen sind https://www.reichelt.de/kappe-fuer-taster-3f-rund-trans-kappe-1d11-p82189.html?
Ich vermute mal, dass ich einen Wechsler brauche, da ich ja die Playlists durchschalten will. Und den Unterschied zwischen THT und SMD habe ich auch herausgefunden. Hat irgendjemand eine komplette Materialliste? Ich als totaler Neuling scheitere ja schon an der Auswahl der Widerstände. Ich hab jetzt mal die hier genommen https://www.reichelt.de/widerstand-kohleschicht-10-kohm-axial-500-mw-5-arc-rcc050-10k-j-p237477.html?&trstct=pol_1 bzw die 1KOhm Variante.
Hermann schrieb: > Hallo Marcus, > als Taster kannst du diese verwenden > https://www.reichelt.de/multimec-taster-ohne-beleu... > > Die zugehörigen Tastenkappen sind > https://www.reichelt.de/kappe-fuer-taster-3f-rund-...? Moin Hermann, vielen Dank. Hab ich mal bestellt. Mal sehn ob ich den ganzen Kram zusammengebaut kriege.
Hi ghmartin77, Ja habe ich gelesen. Habe jetzt den code soweit angepasst, das es grundlegend läuft. Player.readstate() unterstützt mein klon nicht... Ergebniss ist immer -1 Es gibt einen blanko Chip und den vom Foto. Deswegen hat er weder advertise und mp3folder nicht gespielt. Kleiner Tip an alle, ich lasse jetzt ein Hallo Name des Kindes nachdem einschalten abspielen. Mein Sohn freut sich gerade bei jeden neustart ? Vg Ronny
Michael schrieb: > Hallo zusammen, könnte mir jemand vl. einen ATTiny programmieren und auf > dem Postweg zukommen lassen. > Kann leider nicht programmieren und hätte somit auch kein > Programmer....AVR Studio usw. würde trotzdem gerne ein paar Player bauen > für die Kinder in unserem Familien und Freundeskreis. > Wäre jemand so nett und würde mir welche bespielen wenn ich die ATTinys > mit der Post schicke? > > Würde mich freuen wenn jemand so nett wäre. > > Viele Grüße Michael Hi Michael, Kaufe doch einfach einen Arduino Nano. Dann hast Du alles in einen Chip und du kannst Ihn direkt bespielen ohne extra Hardware. Vg Ronny
Ronny D. schrieb: > Kleiner Tip an alle, ich lasse jetzt ein Hallo Name des Kindes nachdem > einschalten abspielen. Hi Ronny, sehr coole Idee. Das nehme ich mit ins Github-Repo, sobald ich Zeit habe. Der Chip von Deinem Photo ist der oben in diesem Thread (und im Internet) diskutierte JC AA1752CJ3J13.1-94. Bisherige Gerüchte gehen, er sitze auf einer Platine mit roter LED und wäre ein Fake. Erfahrungsberichte gehen von "Funzelt überhaupt nicht" über "Geht nicht per UART" bis "eingeschränkt nutzbar". Interessant, dass Du das Ding ans Laufen bekommen hast. Hab nie so einen bei meinen Bestellungen in die Hand bekommen. Den hätte ich mir gern mal mit einem Logic-Analyzer angeschaut. Vermutlich hält der sich einfach nur nicht exakt an das Kommunikationsprotokoll, wie die DFPlayer-Lib das erwartet. Was waren denn die Kernänderungen, die Du vornehmen musstest, damit das Teil lief? Und: Läuft es mit vollem Funktionsumfang oder musstest Du Dinge entfernen? Grüße ghmartin77
Ronny D. schrieb: > Hi Michael, > > Kaufe doch einfach einen Arduino Nano. Dann hast Du alles in einen Chip > und du kannst Ihn direkt bespielen ohne extra Hardware. > > Vg > Ronny +1 Relevante Schritte sind weiter oben in diesem Thread verlinkt, z.B. Beitrag "Re: Projekt fertiggestellt: MP3 Player für Kinder auf ATTiny-Basis" Alles kein Hexenwerk und gibt Dir die Flexibilität auch Änderungen am Code vorzunehmen (selbst als Nichtprogrammierer). Grüße ghmartin77
Hallo Ronny. Ich hab sowas von keine Ahnung vom Programmieren und schon gar nicht von Arduino Programmierung, hab da schon bissl mit einem Arduino micro und Nano und einem Schild mit einem VS1053 rumgespielt, hat alles zu nix geführt :-) Such schon lange jemand der einfach gut programmieren kann und meine Ideen die wirklich sinnvoll sind für die Benutzung des mp3 Players (vor allem für Kinder) in relativ kurzer Zeit wenn möglich auf Arduino Basis umsetzen kann. Im Grunde gibt es ja bereits viele Bibliotheken gerade für den VS1053B allerdings das drumrum was man eben an Programm schreiben kann das fehlt mir. Wenn du bereit wärst mir da zu helfen können wir gerne auch mal per email schreiben, und ich erzähle dir was ich so vor habe. Ich denke die eine oder andere Erweiterung wirst du sicher für dich übernehmen können. Habe mir da echt schon sehr viele Gedanken dazu gemacht. Toll wäre doch wenn wir zusammen ein Projekt auf die Beine stellen könnten das genau so von allen in einfachen Schritten ohne große Programmierkenntnisse umgesetzt werden kann, sodass sich jeder einen Kinder mp3 Player bauen kann. Habe bereits preiswerte und leichtgängige Taster gefunden, Passende Kappen dazu, ein LiIOn Akku und passende Ladeelektronik, einen 3W Stereo Verstärker usw.... alles schon zuhause, fehlt mir nur noch der Arduino mit der Software.... Wäre doch eine tolle Sache. Email: Kunibertkamel@web.de Ist wirklich meine Email Adresse :-) Grüße Michael
ghmartin77 schrieb: > Was waren denn die Kernänderungen, die Du vornehmen musstest, damit das > Teil lief? Und: Läuft es mit vollem Funktionsumfang oder musstest Du > Dinge entfernen? > Im Prinzip musste ich nur in Zeile 327 player.playFolder(curFolder, curTrack); Durch player.playLargeFolder(curFolder, curTrack); ersetzen. Weiterhin versteht er in playoradvertise den readstat nicht und somit weiß der Arduino nicht ob gerade gespielt wird. Ich habe das erstmal so gelöst, das er es als playmp3folder abspielt. Dann stoppt zwar die Wiedergabe, das wäre aber ok für mich. Alternativ müsste ich halt den vorherigen Titel speichern und den neu starten. Vielmehr war es bis jetzt nicht. War halt viel debuggen ? Hatte 3 von denen Bestellt und werde mal einen anderen testen, vielleicht ist das ja auch nur ein Einzelfall. Wenn du magst schick ich Dir den 3. dann kannst du testen. Soszusagen als Lohn für Deine Mühe hier :-) Im Anhang noch 2 Bilder vom Gehäusestatus. Für das erstmal sehr gut bisher. Vg Ronny
:
Bearbeitet durch User
Hi, gestern hier den Thread gefunden und direkt mal die Teile bestellt ;-) Drei kleine Fragen zum Aufbau, da ich eher mehr mit Software und weniger mit Löten etc vertraut bin: - Der zweite interne Poti... ist das in der schematischen Abbildung der 10kOhm Widerstand R1? - Platine für die Taster. Ist das eine Streifenrasterplatine obwohl die eher wie eine Lochrasterplatine ausschaut? Ich wundere mich nur über das Bild, da die Taster an sich einzeln verlötet sind, aber keine Verbindung analog der schematischen Abbildung untereinander haben. Hätte hier noch zusätzliche Litzen zwischen Tastern erwartet. - Die Nachbauten sehen sich sehr ähnlich. Gibt es irgendwie eine Bohr- oder Fräßschablone, die ich noch nicht gefunden habe? Danke vorab!!
Hallo Irenäus, Irenäus B. schrieb: > - Der zweite interne Poti... ist das in der schematischen Abbildung der > 10kOhm Widerstand R1? Exakt. In meiner Aufbaute ist das in den Photos der kleine, blaue, rechteckige "Klotz". In der Benutzungsanleitung, die auf GitHub liegt, ist das auch im Photo explizit ausgewiesen. > - Platine für die Taster. Ist das eine Streifenrasterplatine obwohl die > eher wie eine Lochrasterplatine ausschaut? Ich wundere mich nur über das > Bild, da die Taster an sich einzeln verlötet sind, aber keine Verbindung > analog der schematischen Abbildung untereinander haben. Hätte hier noch > zusätzliche Litzen zwischen Tastern erwartet. Falls Du von dem Photo meiner Platine auf GitHub sprichst: Das ist eine Lochrasterplatine (siehst Du deutlich an den Kupferringen, um die Rasterlöcher). Die Verbindung zwischen den Buttons besteht genau wie im Schaltbild, aber evtl. lässt sich das Auge täuschen. Die Verbindungen (Widerstände auf der einen Seite, Draht auf der anderen) sind zwischen den Buttons, nicht innerhalb eines Knopfes (,was ja auch keinen Sinn ergäbe). > > - Die Nachbauten sehen sich sehr ähnlich. Gibt es irgendwie eine Bohr- > oder Fräßschablone, die ich noch nicht gefunden habe? Ich habe keine. Der Übertrag zum Bohren aufs Holz ist aber recht simpel, da es genau das Lochraster der Platine abbildet: Einfach gucken, wieviel Löcher Abstand zwischen Deinen Tastern liegen würde. dann kannst Du das mit einer "nackten" Platine und einer Stecknadel/Fineliner entsprechend übertragen. Passend großer Bohrer bei und los geht's. Für's Schneiden der Platine musst Du allerdings den Versatz der Löcher einkalkulieren: Das Rastermaß stimmt, aber die Mitte der Taster/Deiner Bohrlöcher kommt nicht auf einem Loch aus, wenn der Taster auf der Platine sitzt. Bei Eintritt von Kopfrauchen bei Verarbeitung der vorhergehenden Sätze: Nochmal lesen, einmal im Kopf oder mit Material durchspielen, danach wird's klar, versprochen :) Grüße ghmartin77
ghmartin77 schrieb: > Die Verbindung zwischen den Buttons besteht genau wie im > Schaltbild, aber evtl. lässt sich das Auge täuschen. Die Verbindungen > (Widerstände auf der einen Seite, Draht auf der anderen) sind zwischen > den Buttons, nicht innerhalb eines Knopfes (,was ja auch keinen Sinn > ergäbe). Ergänzend dazu fehlt vermutlich noch dieses Puzzleteil: Die verwendeten Taster sind so aufgebaut:
1 | 1-----2 |
2 | T| |
3 | 3-----4 |
Damit sind die 4 Füße (1,2,3,4) paarweise miteinander verbunden (1 mit 2 und 3 mit 4). Der Taster T schließt bei Betätigung die Verbindung zwischen den "Leitungen" 1/2 und 3/4. Grüße ghmartin77
Danke dir für die Rückmeldung! Ich habe tatsächlich im Bild 05pcbkeys_back.png gedacht, dass die Füße mitteinander verdrahet sind... Danke für die Auflösung des Gehirnknotens. Jetzt fehlt nur noch die Paketlieferung und dann hoffe ich auf schnelle Erfolge.
So langsam nimmt die Front formen an... Wie findet ihr den Entwurf?
Ronny S. schrieb: > Wie findet ihr den Entwurf? Lass es mich so ausdrücken: Shut up and take my money :) Grüße ghmartin77 PS: Du brauchst auf jeden Fall einen vollwertigen DFPlayer. Wär schade, bei dem geilen Gehäuse auf den vollen Funktionsumfang des Player-Codes verzichten zu müssen (z.B. kontinuierliches Abspielen).
Ronny S. schrieb: > Wie findet ihr den Entwurf? Sieht gut aus!!! @ghmartin77 Würde dir für deine Mühen auch einen Player wie oben abgebildet spendieren. Hab einige davon hier rumliegen!
Hab mich nochmal mit der DFRobotDFPlayerMini-Library und den Unterschieden zwischen den Chips MH2024K-24SS und YX5200 beschäftigt und ein paar Dinge herausgefunden: 1) MH2024K reagiert auf ACK-Anforderungen nicht bei allen Kommandos, wie die Library das erwartet (und bspw. der YX5200 es tut). Meist kommt einfach nur die Antwort auf die Kommandoanfrage, die ACK-Antwort bleibt aus. ==> Um Kompatibilität des Codes für beide Chips zu erreichen, muss der ACK-Modus ausgeschaltet werden. Das ist die Änderung, die ich bereits mit commit 77621df2cf0c73cfc919e383d6546d23f876d431 ins Repo gebracht hatte. 2) Wenn ich die Library recht verstanden habe, hat sie ein generelles konzeptionelles Problem, das zu seltsamen Effekten führen kann, die meinen Code speziell bei der Abfrage nach dem aktuell abgespielten File aus dem Tritt bringen kann: Die Kommunikation mit dem Player ist grundsätzlich bidirektional. Er schickt über die UART-Schnittstelle sowohl Antworten auf Anfragen von einem Mikrocontroller als auch Callback-Nachrichten, die vom Player zu beliebigen Zeitpunkten initiiert werden. Letztere sind beispielsweise Callbacks für "SD Karte eingesteckt", "SD Karte entfernt" oder eben auch "Abspielen von File Nummer 4711 beendet". Leider scheint es keinerlei Synchronisation oder Entkopplung für die zwei Paketversandgründe durch den Player (Callback oder Anfrageantwort) zu geben. Der Kommando-Teil ist vom Grundschema in folgender Art implementiert:
1 | Schicke Kommando-Paket an Player |
2 | Warte Timeout ms auf Antwort (d.h. verfügbare Daten auf UART) |
3 | Wenn die Antwort vom Typ DFPlayerFeedBack ist |
4 | gebe das Anfrageergebnis zurück |
5 | sonst |
6 | gebe -1 zurück (Fehler) |
Stecken im Puffer der UART-Schnittstelle (SoftSerial-Lib) noch alte Pakete vom Player (z.B. nicht mit read() abgeholte Antwortpakete) oder kommt bei der Kommandoausführung zwischendurch ein Callback-Paket des Players an (z.B. "Abspielen von File Nummer 4711 beendet"), gilt der Kommandoaufruf als fehlgeschlagen, was bei meiner Implementierung beispielsweise das kontinuierliche Abspielen stören kann, weil manchmal die Nummer des aktuell abgespielten Files nicht gelesen werden kann. @Tim: Das passt zu dem Verhalten, das Du nach der "Disable ACK"-Version gesehen hast. Habe den Code jetzt robuster gestaltet, indem sowohl Overflows des SoftSerial-Buffers (meine delay()s im Code sind eigentlich auch nicht mit der Funktionsweise der Lib vereinbar) als auch zwischenfunkender Gesprächsbedarf seitens des DFPlayers an den entscheidenden Stellen hartnäckiger gehandlet werden. Liegt im GitHub und sollte für MH2024K-24SS und YX5200 stabil laufen. Erfahrungsberichte nehme ich gern entgegen :) ...und Danke für die bisherigen! Grüße ghmartin77 PS: @Tim und @Ronny: Danke für das Angebot, mir einen der JC AA1752CJ3J13.1-94 zuschicken zu wollen. Da ich nur zu diesem Zweck nicht noch extra eine Packstation-Anmeldung machen möchte und ich meine Privatadresse im Internet nicht herausgebe, klappt das nicht. Trotzdem weiß ich euer Angebot aber sehr zu schätzen. Danke nochmal!
Lautsstärkeknopf werde ich auch selbst bauen. Gerade ersten Versuch mit ner Bohrmaschine und Schraubendreher als Drechselmesser ;-) Gar nicht so schlecht. Ist ein Ast von einem Kirschbaum gewesen. Vg Ronny
So, ich hätte da noch einen, frisch via Amazon Prime geliefert: JC/JT AA1828CJ5M2U.1-94 Musik abspielen klappt aber problemlos... sprich Taster, Nächster Titel etc. Läuft hier seit ca. 45 Minuten durch. Das mit Advert und den Funktionstasten habe ich aber noch nicht aktiv probiert. Habe weiterhin das .ino von vor vier Tagen verwendet sowie die DFPlayer Bibliothek 1.05. Kleine Anmerkung: Anscheinend passt dein Fritzing nicht ganz zum Lötbild; bei der Verbindung zum Key-Pad sind VCC und GND vertauscht. Aber hier fluppt jetzt alles. Ist mir nur aufgefallen, da ausschließlich "Folder 07" gespielt wurde, egal welcher Taster betätigt wird. Meine Powerbank steigt immer aus, mit Batterien klappt alles. Habt ihr eine USB Powerbank Empfehlung? Widerstand von 130 Ohm führt ja zu zusätzlichen 40mA Verbrauch, was eine 2000mAh Powerbank im Betrieb ja quasi halbiert (mein DF Player braucht ca. 40mAh bei Zimmerlautstärke). @Ronny: Kannst du das mit dem personalisierten Ansprechen hier darstellen? Würde das ebenfalls sehr gerne übernehmen. Danke vorab! Danke vorab!
Doch noch eine Anmerkung: restartLastTrackOnStart funktioniert bei mir nicht für Folder "01", bei allen anderen aber scheinbar problemlos.
Irenäus B. schrieb: > So, ich hätte da noch einen, frisch via Amazon Prime geliefert: > JC/JT AA1828CJ5M2U.1-94 Ei geh, noch a neues Modell :) > > Musik abspielen klappt aber problemlos... sprich Taster, Nächster Titel > etc. Läuft hier seit ca. 45 Minuten durch. Das mit Advert und den > Funktionstasten habe ich aber noch nicht aktiv probiert. > Habe weiterhin das .ino von vor vier Tagen verwendet sowie die DFPlayer > Bibliothek 1.05. > Na, zumindest vorerst gute Neuigkeiten für den neuen Chip-Kandidaten. > Kleine Anmerkung: Anscheinend passt dein Fritzing nicht ganz zum > Lötbild; bei der Verbindung zum Key-Pad sind VCC und GND vertauscht. Verstehe nicht, was Du meinst. VCC/GND/DATA sind im Fritzing-Diagramm bei beiden Anschlusspins richtig ausgewiesen... Was meinst Du mit Lötbild? Wenn Du auf das Photo der Platine abzielst, dann ja, da muss es keine Überdeckung geben. Die schematische Darstellung des Fritzing-Diagramms hat wenig mit der Pinposition des konkreten Boards zu tun. Das ist ja auch ein Schema, kein PCB-Layout. > Aber hier fluppt jetzt alles. Ist mir nur aufgefallen, da ausschließlich > "Folder 07" gespielt wurde, egal welcher Taster betätigt wird. > > Meine Powerbank steigt immer aus, mit Batterien klappt alles. Habt ihr > eine USB Powerbank Empfehlung? Widerstand von 130 Ohm führt ja zu > zusätzlichen 40mA Verbrauch, was eine 2000mAh Powerbank im Betrieb ja > quasi halbiert (mein DF Player braucht ca. 40mAh bei Zimmerlautstärke). > Kannst Dich mit größer werdenden Widerständen rantasten, wieviel Stromabruf Deine Powerbank benötigt, damit der 5V-Wandler anbleibt. Vorschläge für ein gutes Modell habe ich leider keine. Meine Variante war ein Noname-Teil vom Grabbeltisch eines Discounters. Vielleicht können die anderen Mitleser aber Empfehlungen aussprechen. > @Ronny: Kannst du das mit dem personalisierten Ansprechen hier > darstellen? Würde das ebenfalls sehr gerne übernehmen. Danke vorab! Quickhack: Leg Dir ein File /20/001.mp3 an mit einer Aufnahme "Hallo <Kindname>..." + vorgeschaltetem THX-Sound versteht sich :) Dann füge in Zeile 209 ungefähr Folgendes ein:
1 | player.playFolder(20, 1); |
2 | delay(<dauer_des_mp3_in_msec>); |
> > Danke vorab! > Doch noch eine Anmerkung: restartLastTrackOnStart funktioniert bei mir > nicht für Folder "01", bei allen anderen aber scheinbar problemlos. Das guck ich mir demnächst mal tiefer an. Vom scharfen Angucken des Codes in den letzten 5 Minuten wollte sich mir ein solches Verhalten nicht erschließen, aber das heisst nix :) Grüße ghmartin77
ghmartin77 schrieb: > annst Dich mit größer werdenden Widerständen rantasten, wieviel > Stromabruf Deine Powerbank benötigt, damit der 5V-Wandler anbleibt. Ich habe am 2. Player nen Vorwiderstand und dahinter nen Drehpotti angebracht. So kann man den Stromverbrauch genau einstellen.
ghmartin77 schrieb: >> Doch noch eine Anmerkung: restartLastTrackOnStart funktioniert bei mir >> nicht für Folder "01", bei allen anderen aber scheinbar problemlos. > > Das guck ich mir demnächst mal tiefer an. Vom scharfen Angucken des > Codes in den letzten 5 Minuten wollte sich mir ein solches Verhalten > nicht erschließen, aber das heisst nix :) Fehler gefunden. Danke für Deinen Hinweis! In Deinem Folder "01" lag nur ein File, richtig? In diesem Fall funktionierte das Wiederanspielen des letzten Tracks nicht. Hab den Code überarbeitet. Liegt korrigiert im GitHub-Repo. Zusätzlich habe ich die DFPlayerMini-Library wg. ihres Konzeptproblems (s.o.) durch eine andere ersetzt, die mit Callbacks arbeitet und dieses Problem nicht hat. Hoffe, ich habe dabei keine neuen Fehler eingebaut :) Grüße ghmartin77
Ich komm mit den Softwareversionen gar nimmer hinterher... das geht ja ratz fatz. Hab gestern erstmal die letzte Version draufgespielt. Die läuft nicht schlecht. Bei der ganz aktuellen kann ich z.B. im ersten Ordner keinen Track wechseln...
Hallo Tim, ich kann selbiges Verhalten bestätigen, sprich bei der aktuellen Version vom 11.11.2018 kann ich im Folder 01 nur Lied 001.mp3 abspielen. Bei allen anderen Foldern klappt das problemlos. VG
Hallo ghmartin77, mal eine andere Frage. Ich habe das Projekt auch nachgebaut, aber mit einem kleineren Lautsprecher. Da die Stromentnahme nicht ausreicht schaltet die Powerbank natürlich nach ein paar Sekunden ab. Eine probate Lösung ist natürlich, einen "Entladewiderstand" zwischen Vcc und Gnd zu schalten. Bei mir würde dann aber die Laufzeit auf ein drittel reduziert. Zudem müsste man die Schwelle suchen, an dem die Schaltung mit Widerstand die Powerbank an lässt und wenn der Player nix mehr tut die Powerbank auch abschaltet. Wäre dies nicht einfacher, wenn man einen Port am Attiny freischaufelt und man dort eine Programmgesteuerte Impulsentladung über einen Widerstand mittels Transistorschaltung realisiert? Die Powerbanks benötigen meistens keine dauerhafte Entladung um angeschaltet zu bleiben. Oft reicht ein kurzer Impuls von wenigen ms ([[http://www.mino-elektronik.de/Powerbank/powerbank.htm]]). Das würde dann die Akkulaufzeit deutlich wieder nach oben schrauben. Zudem könnte man, wenn der Prozessor in den SleepModus geht, das Aussenden des Impulses einstellen und die Powebank geht garantiert aus! Mein Vorschlag wäre es, man verzichtet auf die interne Volume-Einstellung und hat den Pin frei. Alternativ könnte man diese Einstellung doch auch über einen Tasten-Shortcut realisieren, ähnlich wie beim Sleep-Modus. Z.B. Taste 5 für 3 Sek. drücken und anschließend Tasten 1-11 für die gewünschte maximale Lautstärke. Der Wert könnte auch im EEProm gespeichert werden. Das spart schon mal ein Bauteil, etwas Lötarbeit und ist später auch leichter zu Handeln. Zur Sicherheit, dass das fixe Kind es nicht verstellt wäre eine "Codeabfrage" denkbar. Grüße gabunz
Aus meiner Sicht ist da einfach die PowerBank ungeeignet. Wieso sollte man hierfür eine extra Softwareversion schaffen? Meistens lassen sich die PowerBanks Recht leicht öffnen. Guck doch Mal rein, evtl hast du eine Strommessung über einen Shunt oder andere Beschaltung, welche du ruckzuck anpassen kannst.
Die Idee, den Lastwiderstand pulsierend an die Powerbank anzulegen ist nicht neu. Irgendwo habe ich das als komplettes Projekt mit Dokumentation gesehen. Dazu brauchst du nicht einmal einen Transistor, denn die I/O Pins der AVR Mikrocontroller vertragen 40mA, das sollte genügen. Wenn etwas weniger Strom reicht, kann man dazu vermutlich einfach den TxD Ausgang des Mikrocontrollers verwenden.
:
Bearbeitet durch User
...die Strom- bzw Verbrauchermessung ist bei den einfachen PBs (schätzungsweise damit der Großteil der hier verwendeten!) im für diesen Zwekc hochintegrierten Chip enthalten. Forget it (falls das damit nicht klar sein sollte). Es reichen oft WENIGE xx mA bei den SO8 Spezial-Chips um "aktiv" zu triggern. Klaus.
:
Bearbeitet durch User
Habe zu dem Thema auch nochmal ein wenig gegoogelt. Der von Stefanus angeaprochener Threads sollte der hier sein. Beitrag "Powerbank-Shut-Off überlisten" Ansonsten einen einfachen mosfet nehmen und einen pulldown gegen Masse schalten. Der attiny kommt mit seinen Pins langsam an die Grenze, aber auch ein arduino für wenig Geld und schon inkl. USB Schnittstelle tut hier seinen Dienst. Werde hierzu meinen Aufbau Mal übernächste Woche Posten, dann habe ich hoffentlich alles zusammen.
Christian S. schrieb: > Aus meiner Sicht ist da einfach die PowerBank ungeeignet. Wieso sollte > man hierfür eine extra Softwareversion schaffen? Nun, man muss es nicht, aber man kann es. Zudem hätte es den Vorteil, dass man die Software nur einmal anpasst, eine kleine, wenige Cent kostende Schaltung integriert und ich und jeder andere sich keine Gedanken mehr um die Powerbank machen muss. Zwei Widerstände, ein Transistor oder Mosfet und gut iss. Hab derzeit einen 57 Ohm Widerstand in der Versorgungsspannung hängen, der mir etwa 87mA unnütz verbrät. Alle 5 Sek. einen kurzen 0,5 Sek.-Impuls am Attiny-Ausgang erzeugen, würde diesen Verbrauch auf umgerechnet <10mA Dauerlast senken. > man hierfür eine extra Softwareversion schaffen? müsste man gar nicht. Man könnte das mit einbauen und in der Software nach bedarf toggeln. Genug Speicher sollte noch da sein. vg
Pin 1 ist ja noch ungenutzt... wäre der dafür geeignet?
OK, ihr habt mich mit der SW Variante überzeugt. :D Mal gucken was meine PowerBank nach dem Zusammenbau des Players macht, ich werde berichten . Pin 1 ist auch als IO verwendbar. Wenn du das eingestellt hast, kannst du den attiny danach aber nicht mehr per SPI programmieren. Also eher schlecht. Du brauchst einen HV programmer um dies zurück setzen zu können. Evtl gibt's da Möglichkeiten eines speziellen Bootloaders? Aber was spricht gegen einen größeren Controller? Der Preis bei 1St ist es wohl nicht.
:
Bearbeitet durch User
Beitrag #5622297 wurde vom Autor gelöscht.
Erneutes Löten :) Ansonsten erstelle ich einfach eine zweite Mini-Platine mit einem weiteren Attiny85, Transistor und Widerständen. Hat sonst schon jemand die aktuelle Software von ghmartin77 getestet? Tim und ich haben ja Probleme mit dem Folder 01
Beitrag #5622490 wurde vom Autor gelöscht.
Hallo zusammen, Danke für die Fehlermeldung mit Folder 1. War ein Timing-Problem. Hatte die neue Variante nur mit einem Arduino Nano probiert, der etwas länger zum Startup benötigt als der ATTiny. Letzterer will dann bereits die Anzahl der Files im ersten Folder vom DFPlayer wissen, wenn der Player noch nicht initialisiert ist, kriegt keine korrekte Anzahl und geht von 0 Files aus. Das führt dazu, dass man nur das erste im Ordner enthaltene File abspielen kann. Hab ein paar Pausen und Retries eingebaut. --> Einen Fix findet ihr im GitHub-Repo. Die Sache mir dem KeepAlive der Powerbank finde ich ganz interessant. Der Reset-Pin eignet sich nicht, weil dann erneutes Flashen "unbequem" ist (wie oben bereits erwähnt). Allerdings hatte ich ja weiter oben schon angemerkt, dass internes und externes Lautstärken-Poti bei cleverer Verschaltung auch mit nur einem Pin auskämen. Damit hätte man einen Pin frei, um einen Mosfet zu triggern, der einen kurzen Peek-Strom aus der PowerBank zieht, um sie wach zu halten. Lasst mal hören, ob ihr euch bereits was als Workaround gebastelt habt, oder ob noch Interesse an entsprechendem Code besteht. Grüße ghmartin77
ghmartin77 schrieb: > Allerdings hatte ich ja weiter oben schon angemerkt, dass internes und > externes Lautstärken-Poti bei cleverer Verschaltung auch mit nur einem > Pin auskämen Mir fällt das nur die Möglichkeit ein, die Potis mittels Multiplexer umzuschalten. Aber selbst dafür fehlt ein Digital Pin um den Multiplexer um zu schalten. Schaltest du sie in Reihe, tastest du nur das Verhältnis ab und beeinflusst beide Lautstärken gegenseitig. Die einzigen Möglichkeiten, die ich mit einem Attiny88 sehe sind - interne LS per Software, was aber u.a. auf Reisen und auch sonst schlecht im Alltag umzusetzen ist (Meine Frau kann nicht mal eben neu Flashen) - über einen Bootloader zu gehen. Aber hier habe ich auch nichts passendes gefunden um den ResetPin frei zu bekommen.
Christian S. schrieb: > Mir fällt das nur die Möglichkeit ein, die Potis mittels Multiplexer > umzuschalten. Aber selbst dafür fehlt ein Digital Pin um den Multiplexer > um zu schalten. Nun, was wäre mit der Option, eine Taste für 3 Sek. zu drücken, dann die Tasten 1 - 11 abzufragen für die gewünschte Maximallautstärke? Genau so, wie auch der Sleep-modus eingestellt wird. Das hätte den Vorteil, man braucht das interne Poti gar nicht --> weniger Lötarbeit. Auch muss das Kästchen nicht geöffnet werden für diese Einstellung. Und nur der, der dann die Keep-Alive-Funktion braucht, der schaltet einen Widerstand am feiern Port an, der dann per Software periodisch ein- und ausgeschaltet wird. Vg
Hallo, in meinem player habe ich diese powerbank von Reichelt eingebaut https://www.reichelt.de/powerbank-li-ion-4400-mah-usb-xlyne-x41-p153236.html?&trstct=pol_10 Die schaltet auch bei sehr kleinen Strömen von wenigen mA nicht ab. Mit nur 5mA LED Last läuft die powerbank durch. Gruß Hermann
ghmartin77 schrieb: > --> Einen Fix findet ihr im GitHub-Repo. Die Version funktioniert bei mir nicht. Der Player ist mit keiner Taste zum Leben zu erwecken...
Hi Tim, bitte hilf mir, das etwas einzugrenzen. Wenn ich Dich recht verstehe, dann 1) ...lief die Version vom 11.11. (https://github.com/ghmartin77/KidsMP3Player/tree/c1f444d317912c850930e528ac0618a07d701efd) grundsätzlich gut bei Dir, nur über Taste 1 konntest Du nur den ersten Track abspielen. 2) ...läuft die jetzige Head-Version aus dem Repo bei Dir gar nicht bei. 3) Aussagen #1+#2 beziehen sich jeweils auf die selbe Hardware. So richtig? Kannst Du mir bitte noch die Chipbezeichnung Deines DFPlayers nennen? Danke Dir! Grüße ghmartin77
Hallo Tim, ghmartin77, habe heute mal den aktuellen Code aus dem Repo auf den Attiny85 hochgeladen. Bei mir klappt alles wunderbar, sprich kann nun Folder 01 auch wieder durchklicken. Danke
Hallo Irenäus, Danke für die Rückmeldung. Irenäus B. schrieb: > Bei mir klappt alles wunderbar, sprich kann nun Folder 01 > auch wieder durchklicken. Genau so war mein Fix auch beabsichtigt :) Mal sehen, was Tim noch berichtet, dass wir das bei ihm bestehende Problem weiter einkreisen können... Grüße ghmartin77
ghmartin77 schrieb: > 1) ...lief die Version vom 11.11. > (https://github.com/ghmartin77/KidsMP3Player/tree/c1f444d317912c850930e528ac0618a07d701efd) > grundsätzlich gut bei Dir, nur über Taste 1 konntest Du nur den ersten > Track abspielen. > RICHTIG! > > 2) ...läuft die jetzige Head-Version aus dem Repo bei Dir gar nicht bei. > Richtig! Keine Reaktion vom Player. > > 3) Aussagen #1+#2 beziehen sich jeweils auf die selbe Hardware. > > So richtig? Richtig! > Kannst Du mir bitte noch die Chipbezeichnung Deines DFPlayers nennen? DFROBOT LISP3 XY8002D 170721 Aktuell läuft der Player mit der Version, bei der in Folder 1 das Wiederanspielen nicht funktioniert, recht gut. So langsam verlier ich den Überblick mit den ganzen Versionen...
Hi Tim, seltsam, seltsam. Ich stell mal noch ein paar Fragen (bis auf 1+2 alle in Bezug auf die Head-Version aus dem GitHub-Repo): 1) Wie lange benötigt Dein Player ungefähr mit der Variante, die funktioniert, bis ein erster Ton aus dem Lautsprecher erklingt? 2) Sind in Deinem Folder 01 viele oder große Files enthalten? Entspricht das Benennungsmuster den Vorgaben? 001.mp3, 002.mp3 usw.? 3) Was passiert, wenn Du die Files aus Folder 02 in den zuvor geleerten Folder 01 kopierst? 4) Was passiert, wenn Du nur ein File 001.mp3 in den Folder 01 kopierst? 5) Was passiert, wenn Du den Folder 01 komplett leer lässt? Grüße ghmartin77
Gerade nochmal mit einem zweiten Attiny gecheckt und folgendes in Zeile 208 eingebaut: player.playFolderTrack(20, 1); delay(2000); Fluppt alles wunderbar. Tim, wird denn dein Attiny fehlerfrei beschrieben / überschrieben?
ghmartin77 schrieb: > Ich stell mal noch ein paar Fragen (bis auf 1+2 alle in Bezug auf die > Head-Version aus dem GitHub-Repo): > > 1) Wie lange benötigt Dein Player ungefähr mit der Variante, die > funktioniert, bis ein erster Ton aus dem Lautsprecher erklingt? > Sieben Sekunden > 2) Sind in Deinem Folder 01 viele oder große Files enthalten? Entspricht > das Benennungsmuster den Vorgaben? 001.mp3, 002.mp3 usw.? > 45 Tracks mit ca. 4MB je Track > 3) Was passiert, wenn Du die Files aus Folder 02 in den zuvor geleerten > Folder 01 kopierst? > Dann funktioniert es !!???!!!! > 4) Was passiert, wenn Du nur ein File 001.mp3 in den Folder 01 kopierst? > > 5) Was passiert, wenn Du den Folder 01 komplett leer lässt? Komisch, hab jetzt alles mögliche probiert. Folder 1 leer, nur ein Track, mehrere Tracks -> Keine Funktion. Seit ich die Tracks von Folder 2 in 2´1 kopiert habe, scheint es zu funktionieren! Edit: Kopiere ich dann allerdings die 45Tracks wieder zurück in Folder 1, geht nix mehr...
Hi Tim, sieht mir nach einem Timing-Issue aus. Probier mal bitte folgendes: Ersetze bitte Zeile 115 durch folgenden Code:
1 | delay(1000); |
2 | softSerial.setTimeout(2000); |
Grüße ghmartin77
ghmartin77 schrieb: > Ersetze bitte Zeile 115 durch folgenden Code:delay(1000); > softSerial.setTimeout(2000); Zeile 115 = delay(250); ??? ersetzen durch: (Zeile 115:) delay(1000); (Zeile 116:) softSerial.setTimeout(2000); Bin ich da richtig?
ghmartin77 schrieb: > Ersetze bitte Zeile 115 durch folgenden Code:delay(1000); > softSerial.setTimeout(2000); Funktioniert trotzdem nicht. Player ohne Reaktion.
Tim, hast du mal die MP3 Dateien aus Folder 01 geprüft? Hat da eine Datei ggfs. eine komische Bitrate etc? Ist ja schon auffällig, dass die Dateien aus Folder 02 in Folder 01 funktionieren. Sonst mach mal eine Rekodierung mit Audiograbber etc.
In Folder 2 waren auch nur vier Tracks. Ich vermute es liegt an der Menge der Dateien. Bei der älteren Version werden die Files ja aucn abgespielt...
So langsam geht es wieder weiter. Hatte die letzten 3 Wochen keine Zeit. der Originale DFPlayer ist auch bestellt. Ich habe jetzt noch 4 LEDs für den Akkustand der Powerbank integriert. Dafür ist dann das Plexiglasteil. Mal schauen ob ich die Originale Anzeige verwende oder sogar ws2812b LEDs mit Farbfunktion. Dann könnten diese in der Farbe der jeweiligen Playlist Leuchten ;-) Frontplatte werde ich wohl noch einmal neu machen müssen, da hat die Fräse nicht gut gearbeitet. noch viel schleifarbeit :-)
:
Bearbeitet durch User
WoW, schaut sehr professionell aus. Ist das mit einer CNC-Fräse hergestellt? Hast du da einen Hersteller bzw. Modell-Tipp für die Zukunft etc oder kannst du sogar diesen Bären bei Interesse herstellen und verschicken? Natürlich gegen Vergütung! Ich selbst bin nun auch mit der "Mädels"-Version fertig und habe heute alles fertigestellt. Siehe Fotos. Im Grunde hat sich mein Powerbank-Problem von selbst erledigt, da diese keinen Verpolungsschutz hatte und damit direkt (durch 5V !) zerstört wurde. Habe eine neue besorgt, die auch problemlos mit 30-40mAh Verbrauch funktioniert: https://www.ebay.de/itm/173589965885
Ich fine die versetzten Kanten auf der Front-Seite irritierend.
Irenäus Becker schrieb im Beitrag > Ich selbst bin nun auch mit der "Mädels"-Version fertig und habe heute > alles fertigestellt. Und wieder ein Player fertig, wunderbar. Jetzt noch die Kanten etwas verrunden, und vorsicht dass der Griff nicht abbricht. Kinder sind gnadenlos mit dem Player, ruck zuck ist da was hinüber! Welchen Lautsprecher hast du verbaut? Die CAD-Daten von dem Bär könnte ich auch brauchen ;-)
:
Bearbeitet durch User
Vermutlich Art. Nr. 2008 bei 8Ohm!? Haut das hin mit den 10Watt? Da sollte doch der Player in die Knie gehen!?
Hi, die Kanten habe ich vorhin nochmal geschliffen und natürlich diese Multiplex-Kante geölt. Sieht jetzt noch etwas besser aus. Der FR8 hat ja dieselben Leistungsdaten wie der SC5.9; ehrlicherweise ist der voll aufgedreht sehr laut, der DF hat das auch ohne Probleme durchgehalten; demnach bin ich aber froh, dass die Lautstärke über den zweiten Poti reduziert wird. (@Martin: Danke für dieses tolle Feature in der Planung!) Ist ja für schließlich auch für Kinder gedacht; insofern mache ich mir da keine Sorgen. Falls der DF doch mal defekt ist, habe ich hier noch einen Backup-DF für 5€ rumfliegen. @Stefanus: Im Grunde ist es Geschmackssache; ich wollte erst die Anleitung 1:1 mit Ikea-Rahmen nachbauen, aber dann hat meine Frau ein ähnliches Design bei Hoerbert-Nachbauten gefunden... da durfte ich dann umplanen. Anfangs war das Gehäuse einfach nur geölt, wir haben es dann noch nachlasiert. Deshalb sieht es ein wenig "Shabby" aus... sieht aber in Natura viel besser aus als auf den Fotos. @Tim: Mir persönlich gefällt der runde Lautsprecher optisch besser als der SC5.9/4.7. Klanglich reicht der VIS FR 8-8 vollkommen aus! @Tim #2: Der Griff ist verleimt und von unten mit zwei Schrauben 3x16mm verschraubt; bin selber gespannt wie lange der halten wird ;)
Hallo Martin, habe doch nochmal eine Frage... "Continuous Play ON/OFF" meint, dass die Lieder im Folder kontinuierlich durchgespielt werden, korrekt? Gäbe es eine Möglichkeit bei PowerON das Lied ab der letzten abgespielten Position weiter abzuspielen? Die DFMiniMp3 Bibliothek hilft mir da nicht weiter... und Dr. Google findet leider auch nichts. VG Irenäus
Irenäus Becker schrieb: > eine Möglichkeit bei PowerON das Lied ab der letzten > abgespielten Position weiter abzuspielen? Hi Irenäus, das kann der DFPlayer leider nicht. Das höchste der Gefühle ist der bereits eingebaute Wiederanlauf des zuletzt spielenden Tracks. Dieser aber von Anfang an. Die Spielposition kann man sich weder merken noch beim Abspielen anspringen. Grüße ghmartin77
Irenäus Becker schrieb: > "Continuous Play ON/OFF" meint, dass die > Lieder im Folder kontinuierlich durchgespielt werden, korrekt? Genau das heisst es. Zusätzlich gibt es noch die Einstellung zur Endlosschleife innerhalb einer Playlist, die separat aktiviert werden kann. Siehe auch Seite 4 der deutschsprachigen Anleitung: https://github.com/ghmartin77/KidsMP3Player/blob/master/assets/Manual%20German.pdf Grüße ghmartin77
Irenäus Becker schrieb: > WoW, schaut sehr professionell aus. Ist das mit einer CNC-Fräse > hergestellt? Hast du da einen Hersteller bzw. Modell-Tipp für die > Zukunft etc oder kannst du sogar diesen Bären bei Interesse herstellen > und verschicken? Natürlich gegen Vergütung! > Hi ja mit einer Eigenbau Größe habe ich die Sachen gegrüßt und dann zusammengeklebt. Wie groß sollte der Teddy werden? Auch mit dem Lautsprecherloch?
Hi, Ich habe heute die Akkuanzeige integriert. Der Arduino Nano misst die Spannung des Akkus und zeigt diese mittels 4 ws2812 LEDs an. Zusätzlich habe ich es jetzt so programmiert, dass die LEDs anzeigen welche Playlist, also welche Knopfarbe gerade spielt. Hier ein kleines Video dazu: https://youtu.be/DxMN2CIl4x8 Vg Ronny
Hi, Coole Idee. Ich darf wohl nächstes Jahr ein zweites bauen. Magst du hier ggfs den Code und die Verkabelung mit dem Nano teilen? VG Irenäus
Irenäus, Klar habe mal das Repository von Martin geforked. Ich werde den code Mail bei gelegenheit aktualisieren. https://github.com/ronbal/KidsMP3Player Bin gerade am lackieren.
Hallo, ich bräuchte etwas Hilfe. Ich habe mir ein Attiny85 von digispark gekauft ( wie oben beschrieben) funktioniert dieser (scheinbar) nicht mit softwareserial. Auch mit softserial habe ich keine Lösung hinbekommen. Könnte mir jmd. einen Tipp/ Hilfe geben? Vielen Dank im voraus!!! Generell auch ein Danke für dieses Projekt! MfG Steffen
Hi Steffen, Settings anbei sind IMHO die relevanten: 8MHz internal + danach Bootloader brennen, um die Fuses entsprechend zu setzen. Danach frisch compilieren und Code hochladen. Bild aus der ArduinoIDE im Anhang. Um rauszufinden, ob dir damit tatsächlich geholfen werden kann, müsstest du aber noch ein paar Details rauslassen: 1) Wie kommst du drauf, dass Softserial bei dir nicht geht? 2) Welches Setup hast du? Geht's auch um ein Abspielgerät mit DFPlayer? 3) Wie äußert sich "geht nicht" konkret? Grüße ghmartin77
Hallo, ich würde gerne meinen Player noch um eine Kopfhörerbuchse erweitern. Ich habe gesehen, dass es Klinkenbuchsen mit Schaltkontakt gibt: https://m.aliexpress.com/item/32737039341.html Haltet ihr es für möglich die Kopfhörerbuchse parallel zum Lautsprecher anzuschließen und eine Leitung zum Lautsprecher über den Öffnerkontakt der Buchse zu führen? Wenn dann ein Kopfhörer eingesteckt wird sollte doch der Lautsprecher stumm werden, oder? Gruß Florian
Da bin ich auch grad dran... Der Player hat ja nen Kopfhörerausgang, und theoretisch sollte man den Öffnerkontakt der Buchse zum Unterbrechen der Lautsprecherleitung verwenden können. Hab nur Bedenken das beim Einstecken ein Kurzschluss entstehen könnte!???
Ich hab mir jetzt die Buchsen bestellt, ich probiere dann Mal ein bisschen rum. Ich würde vermutlich den Lautsprecherausgang auch für für Kopfhörer nehmen, dann dürfte es ja auch keinen Kurzschluss geben, oder?
Das wird aber evtl zu laut! Da müssen ggf zusätzl Widerstände in die + Leitung, vll 150 Ohm. Klaus.
Klaus R. schrieb: > Das wird aber evtl zu laut! Da müssen ggf zusätzl Widerstände in die + > Leitung, vll 150 Ohm. > > Klaus. Okay, d.h. besser den Kopfhörer an die DAC_R /DAC_L -Ausgänge, oder?
Hallo Florian, die Idee ist super. Kannst du später nach dem Test hier deine Ergebnisse teilen? Danke vorab!
Hallo, ja das mache ich gerne. Wird aber dauern, da ich die Buchsen in China bestellt habe. Gruß Florian
...da nimmt man irgend nen e-schrott und baut die da aus - feddich. Klaus.
Moin Moin, Ich hab alles so gebaut wie es beschrieben wurde. Soweit funktioniert es auch. Ich hab jedoch das Problem das sporadisch die Tracks stehen bleiben. Dann muss ich einmal einen Neustart durchführen um weiter Abspielen zu können. Es gibt auch keinen definierten Zeitpunkt wann ein Der Stopp kommt. Ich würde mich über Unterstützung freuen.
Jan H. schrieb: > Ich hab jedoch das Problem das sporadisch die Tracks stehen bleiben. Ich hatte mal eine Powerbank, die ca. alle 40s kurz ausgeschaltet hat.
Das könnte ich ja mal prüfen, Danke. Es passiert nicht immer, aber schon so häufig das es nervt. Ich habe es geprüft, die Powerbank schaltet nicht ab. Die 5v liegen an, wenn abgeschaltet wird.
:
Bearbeitet durch User
Hast du denn mal mit einem usb Netzteil gegengeprüft? Lötstellen auch alle ok?
> Es gibt auch keinen definierten Zeitpunkt wann ein Der Stopp kommt.
Hi Jan,
lässt sich denn sagen, ob es mitten im Audiotrack aufhört oder beim
Übergang zum nächsten (continuous play)?
Ist es evtl. lautstärkenabhängig? Der DFPlayer steigt zuweilen aus, wenn
er zuviel (Audio-)Leistung liefern soll...
Hat Dein Lautsprecher 8Ohm? Weniger (e.g. 4Ohm) ist nicht besser,
sondern zieht mehr Saft aus dem Verstärker des DFPlayer, was dessen
Reset begünstigt.
Schon eine andere Spannungsversorgung probiert? Z.B. ein USB-"Netzteil"?
Wie ist das Verhalten dann?
Welche Softwarevariante hast Du im Einsatz (GitHub-SHA des Commits)?
Hast Du Änderungen vorgenommen? Gebaut mit ATTiny oder mit Arduino?
Fuses richtig gesetzt (8MHz bei ATTiny)?
Grüße
ghmartin77
Hallo ghmartin77, danke für die schnelle Rückmeldung. >lässt sich denn sagen, ob es mitten im Audiotrack aufhört oder beim Übergang zum nächsten (continuous play)? Die Abbrüche geschehen mitten im Audiotrack. >Ist es evtl. lautstärkenabhängig? Der DFPlayer steigt zuweilen aus, wenn er zuviel (Audio-)Leistung liefern soll... Ich habe die Lautstärke auf niedrigster Stufe auf dem Kinderpoti und knapp unter der Hälfte auf dem Elternpoti. Ich muss mal verschiedene Lautstärke situationen testen um eine genaue Aussage treffen zu können. >Hat Dein Lautsprecher 8Ohm? Weniger (e.g. 4Ohm) ist nicht besser, sondern zieht mehr Saft aus dem Verstärker des DFPlayer, was dessen Reset begünstigt. Ich habe den 8ohm Lautsprecher von Visaton (FR10HM) drin. >Schon eine andere Spannungsversorgung probiert? Z.B. ein USB-"Netzteil"? Wie ist das Verhalten dann? Werde ich testen. >Welche Softwarevariante hast Du im Einsatz (GitHub-SHA des Commits)? Hast Du Änderungen vorgenommen? Gebaut mit ATTiny oder mit Arduino? Fuses richtig gesetzt (8MHz bei ATTiny)? Ich habe einen ATTiny 85 benutzt. Die "Fuses" habe ich auf 8Mhz gesetzt. Die einzige Änderung die ich gemacht habe, ist die Zuordnung der Taster, sonst habe ich im Text nichts geändert. Die Softwareversion ist die vom 11.11.2018. Ich melde mich sobald ich das 5v Netzteil getestet habe. beste Grüße und vielen Dank Jan
:
Bearbeitet durch User
> Die Abbrüche geschehen mitten im Audiotrack.
Dann ist irgendetwas in der Ecke des DFPlayers nicht koscher. Der spielt
autark. Wenn er mittendrin aufhört, hat der entweder nen Schlag oder die
Stromversorgung ist nicht durchgehend stabil:
-kalte Lötstelle
-Powerbank geht kurz aus (oder deren Spannung bricht signifikant ein).
Jenachdem, mit was Du gemessen hast, geht das schnell genug, dass Du das
nicht sehen kannst. Voltmeter reicht da nicht, da zu träge.
Vorschläge (in der Reihenfolge):
-Test mit USB-Netzteil
-Lötstellen checken
-"Dicker" Kondensator über VCC und GND des DFPlayers (1000uF)
-DFPlayer austauschen
Good Luck!
Grüße
ghmartin77
Moin Moin, Dank diverser Hinweise konnte ich das Problem finden. Es wird wohl die Spannungsversorgung sein. Ich habe mit einem Netzteil 1h versucht den Fehler zu reproduzieren, jedoch ohne Erfolg! Nun kann ich mir eine neue Powerbank suchen. Hat jemand dazu einen Tip? Ich vermute das der Stromverbrauch von ca. 50-60mA zu gering ist und die Powerbank dann abschaltet. Ich bedanke mich vielmals bei allen die sich Gedanken zu dem Problem gemacht haben. Ich würde auch gern ghmartin77 danken der dieses Projkt veröffentlicht hat und immernoch super unterstützt! vielen Dank dafür.
Hi, habe mir vor Weihnachten die folgende geholt, läuft absolut problemlos. Kapazität nach ca. 20h Gebraucht immer noch 3 von 4 LEDs. https://www.ebay.de/itm/173589965885?ul_noapp=true VG
Hallo, ich bin auch dran den MP3 Player für meinen Sohn nachzubauen. Ich hab mir mal die Mühe gemacht und eine Einkaufsliste geschrieben. Vielleicht kann ja mal der ein oder andere drüber schauen ob das alles so passt. Die Widerstände für die Schalter hab ich auf 10kOhm angepasst, da diese ja auf dem Bild so verbaut sind. Das Feature mit der Anzeige der RGB Led's welche Playlist läuft ist da noch nicht drin. Wo finde ich das, wie es intergriert und umgesetzt ist? Gruß Daniel ------------------------------------------------------------------------ --- Einkaufsliste 1x ATTiny 85 https://www.reichelt.de/mcu-attiny-avr-risc-8-kb-20-mhz-pdip-8-attiny-85-20-pu-p69299.html?&trstct=pol_1 1x Stecksockel 8-polig für ATTiny https://www.reichelt.de/ic-sockel-8-polig-doppelter-federkontakt-gs-8-p8230.html?&trstct=dnrtcl_ldsldr 1x DFRobot DFPlayer Mini https://de.banggood.com/DFPlayer-Mini-MP3-Player-Module-For-Arduino-p-969191.html?akmClientCountry=DE&gmcCountry=DE¤cy=EUR&createTmp=1&cur_warehouse=CN https://www.dfrobot.com/product-1121.html 1x Poti 10kΩ (R2) externe Lautstärke https://www.reichelt.de/drehpotentiometer-10-kohm-linear-6-mm-pih-pc16ip06103a-p232581.html?&trstct=pos_2 1x Knopf für Poti https://www.reichelt.de/potentiometerknopf-fuer-achse-6-mm-silber-knopf-17-6-al-p42122.html?&trstct=pos_0 1x Poti 10kΩ (R1) interne Lautstärke https://www.reichelt.de/trimmpotentiometer-10-kohm-linear-pih-pt6kv103apm-p232375.html?&trstct=pol_0 1x Widerstand 1/2W 1kΩ 5% (R3) https://www.reichelt.de/widerstand-kohleschicht-1-0-kohm-0411-500-mw-5-k-o-rd12jn102t52-p237432.html?&trstct=pol_0 11x Widerstand 1/2W 10kΩ 5% (R4-R14) https://www.reichelt.de/widerstand-kohleschicht-10-kohm-0411-500-mw-5-k-o-rd12jn103t52-p237431.html?&trstct=pol_0 11x Taster mit Abdeckkappen https://de.aliexpress.com/item/9-arten-50-st-cke-Tactile-Push-Button-Switch-Momentary-12-12-7-3mm-Micro-schalter/32875020597.html?spm=a2g0x.search0104.3.1.52de37a3DrOJr6&ws_ab_test=searchweb0_0%2Csearchweb201602_1_10320_10065_10068_10547_319_317_10548_10696_453_10084_454_10083_433_10618_431_10304_10307_10820_10821_537_10302_536_10843_10059_10884_10887_100031_10319_321_322_10103%2Csearchweb201603_35%2CppcSwitch_0&algo_pvid=aff242c1-8336-40de-96e9-620a1b61445d&algo_expid=aff242c1-8336-40de-96e9-620a1b61445d-0 1x Kondensator 100nF (C1) https://www.reichelt.de/Scheiben/2/index.html?ACTION=2&LA=2&GROUPID=3169;SID=95XDcoQawQAT8AAAXVdCM1c9109785fd366845f3597895eb15bd5 1x Ein/Aus 1-polig Schalter https://www.reichelt.de/wippenschalter-rund-1x-ein-aus-ws-r13-112-aaaa-p105442.html?&trstct=pos_4 2x Buchsenleiste 8polig für DFPlayer Mini https://www.reichelt.de/rnd-buchsenleiste-8-pol-rm-2-54-mm-rnd-205-00648-p208874.html?&trstct=pos_6 4x Stiftleiste 3 polig, für Lautstärke, Schalterfeld, Ein-Aus Schalter https://www.reichelt.de/rnd-stiftleiste-3-pol-rm-2-54-mm-rnd-205-00624-p208850.html?&trstct=pol_11 1x Anschluss Lautsprecher https://www.reichelt.de/ps-unterteil-2-pol-gerade-weiss-ps-25-2u-w-p208096.html?&trstct=pol_13 https://www.reichelt.de/ps-oberteil-2-pol-mit-kabel-25cm-weiss-ps-25-2o-w-p208092.html?&trstct=pol_9 1x Micro USB Anschluss zum Powerbank laden https://de.aliexpress.com/item/Micro-USB-5pin-Micro-USB-2-0-Stecker-auf-Micro-USB-2-0-Weibliche-Verl-ngerungskabel/32855632646.html?spm=a2g0x.search0104.3.121.139f739f9V50UK&ws_ab_test=searchweb0_0%2Csearchweb201602_1_10320_10065_10068_10547_319_317_10548_10696_453_10084_454_10083_433_10618_431_10304_10307_10820_10821_537_10302_536_10843_10059_10884_10887_100031_10319_321_322_10103%2Csearchweb201603_35%2CppcSwitch_0&algo_pvid=0df2f57e-1932-459e-976a-a583bc5cda1f&algo_expid=0df2f57e-1932-459e-976a-a583bc5cda1f-17 1x Powerbank https://www.reichelt.de/powerbank-li-ion-4400-mah-usb-xlyne-x41-p153236.html?&trstct=pol_10
Hi Daniel, +SD-Karte (evtl. +Arduino, falls du nicht schon einen (oder etwas Gleichwertiges) zum Flashen haben.) Falls du das Feature mit den LEDs umsetzen möchtest, solltest du einen ATTiny8*4* oder einen Arduino nehmen (jeweils nebst dazu passendem Sockel resp. Sockelleisten). Die Pins am 85er reichen dafür nicht. Viele Grüße ghmartin77
Dann erweiter ich die Sachen die noch benötigt werden. Lautspreche hatte ich nicht mit drin, da ich den schon daheim hatte. -------------------------------------------------------------------- Einkaufsliste 1x ATTiny 85 https://www.reichelt.de/mcu-attiny-avr-risc-8-kb-20-mhz-pdip-8-attiny-85-20-pu-p69299.html?&trstct=pol_1 1x Stecksockel 8-polig für ATTiny https://www.reichelt.de/ic-sockel-8-polig-doppelter-federkontakt-gs-8-p8230.html?&trstct=dnrtcl_ldsldr 1x DFRobot DFPlayer Mini https://de.banggood.com/DFPlayer-Mini-MP3-Player-Module-For-Arduino-p-969191.html?akmClientCountry=DE&gmcCountry=DE¤cy=EUR&createTmp=1&cur_warehouse=CN https://www.dfrobot.com/product-1121.html 1x Poti 10kΩ (R2) externe Lautstärke https://www.reichelt.de/drehpotentiometer-10-kohm-linear-6-mm-pih-pc16ip06103a-p232581.html?&trstct=pos_2 1x Knopf für Poti https://www.reichelt.de/potentiometerknopf-fuer-achse-6-mm-silber-knopf-17-6-al-p42122.html?&trstct=pos_0 1x Poti 10kΩ (R1) interne Lautstärke https://www.reichelt.de/trimmpotentiometer-10-kohm-linear-pih-pt6kv103apm-p232375.html?&trstct=pol_0 1x Widerstand 1/2W 1kΩ 5% (R3) https://www.reichelt.de/widerstand-kohleschicht-1-0-kohm-0411-500-mw-5-k-o-rd12jn102t52-p237432.html?&trstct=pol_0 11x Widerstand 1/2W 10kΩ 5% (R4-R14) https://www.reichelt.de/widerstand-kohleschicht-10-kohm-0411-500-mw-5-k-o-rd12jn103t52-p237431.html?&trstct=pol_0 11x Taster mit Abdeckkappen https://de.aliexpress.com/item/9-arten-50-st-cke-Tactile-Push-Button-Switch-Momentary-12-12-7-3mm-Micro-schalter/32875020597.html?spm=a2g0x.search0104.3.1.52de37a3DrOJr6&ws_ab_test=searchweb0_0%2Csearchweb201602_1_10320_10065_10068_10547_319_317_10548_10696_453_10084_454_10083_433_10618_431_10304_10307_10820_10821_537_10302_536_10843_10059_10884_10887_100031_10319_321_322_10103%2Csearchweb201603_35%2CppcSwitch_0&algo_pvid=aff242c1-8336-40de-96e9-620a1b61445d&algo_expid=aff242c1-8336-40de-96e9-620a1b61445d-0 1x Kondensator 100nF (C1) https://www.reichelt.de/Scheiben/2/index.html?ACTION=2&LA=2&GROUPID=3169;SID=95XDcoQawQAT8AAAXVdCM1c9109785fd366845f3597895eb15bd5 1x Ein/Aus 1-polig Schalter https://www.reichelt.de/wippenschalter-rund-1x-ein-aus-ws-r13-112-aaaa-p105442.html?&trstct=pos_4 2x Buchsenleiste 8polig für DFPlayer Mini https://www.reichelt.de/rnd-buchsenleiste-8-pol-rm-2-54-mm-rnd-205-00648-p208874.html?&trstct=pos_6 4x Stiftleiste 3 polig, für Lautstärke, Schalterfeld, Ein-Aus Schalter https://www.reichelt.de/rnd-stiftleiste-3-pol-rm-2-54-mm-rnd-205-00624-p208850.html?&trstct=pol_11 1x Anschluss Lautsprecher https://www.reichelt.de/ps-unterteil-2-pol-gerade-weiss-ps-25-2u-w-p208096.html?&trstct=pol_13 https://www.reichelt.de/ps-oberteil-2-pol-mit-kabel-25cm-weiss-ps-25-2o-w-p208092.html?&trstct=pol_9 1x Micro USB Anschluss zum Powerbank laden https://de.aliexpress.com/item/Micro-USB-5pin-Micro-USB-2-0-Stecker-auf-Micro-USB-2-0-Weibliche-Verl-ngerungskabel/32855632646.html?spm=a2g0x.search0104.3.121.139f739f9V50UK&ws_ab_test=searchweb0_0%2Csearchweb201602_1_10320_10065_10068_10547_319_317_10548_10696_453_10084_454_10083_433_10618_431_10304_10307_10820_10821_537_10302_536_10843_10059_10884_10887_100031_10319_321_322_10103%2Csearchweb201603_35%2CppcSwitch_0&algo_pvid=0df2f57e-1932-459e-976a-a583bc5cda1f&algo_expid=0df2f57e-1932-459e-976a-a583bc5cda1f-17 1x Powerbank https://www.reichelt.de/powerbank- 1x Lautsprecher beliebig mit 8 Ohm 1x passsende SD Karte 1x Arduino Uno oder ähnliches zum Flashen -------------------------------------------------------------------- Wo finde ich die Files für das Feature mit den LED's?
> Wo finde ich die Files für das Feature mit den LED's? Na, in den Commits von Ronnys geforktem Repo: https://github.com/ronbal/KidsMP3Player/commits/master
Da kenn ich mich hier bzw. bei Github zu wenig aus. Heißt ich geh auf den Link und nimm da dann die oberste Datei vom 23.12.18. Was bedeutet geforkt? Fork ist ja ne Gabel. Also eine Gabelung zu den von dir original erstellten Files?
Ronny S. schrieb: > Hi, > > Ich habe heute die Akkuanzeige integriert. > > Der Arduino Nano misst die Spannung des Akkus und zeigt diese mittels 4 > ws2812 LEDs an. > > Zusätzlich habe ich es jetzt so programmiert, dass die LEDs anzeigen > welche Playlist, also welche Knopfarbe gerade spielt. > > Hier ein kleines Video dazu: > > https://youtu.be/DxMN2CIl4x8 > > Vg > Ronny Hast du auf der Rückseite für 20€ die MicroUSB Buchse vom Conrad spendiert? Zum Laden super geil aber der Preis für eine Buchse... Oder hast du eine andere Bezugsquelle? Probleme, dass die Powerbank abschaltet hast du keine? Ich muss auch unbedingt mal mein Layout uploaden. Habe eine 10x10 Platine gemacht und einen Nano drauf gepackt. So spart man sich die verdrahterei. Allerdings hab ich noch nen Layout Fehler drin, den ich vorm Upload noch beheben wollte und da fehlt die Zeit für :-/
Hi, @Christian: ja genau habe die von Conrad über Amazon bestellt, war >20€ aber die schönste die ich finden konnte... Ich habe eine Powerbank (Werbegeschenk), welche Laden und Gleichzeitig Speisen kann. Ich denke mit den 4 LEDs umgehe ich die Abschaltung, habe nicht gemessen, aber eine LED zieht bei weißen Licht in voller Helligkeit ca. 60mA. Bei mir laufen die in der Helligkeit 10 von 255. @Daniel Frei: Du kannst dir am besten nur den LED Teil rauskopieren, da ich für den Klon einige Änderungen an Martins Code gemacht habe. Das der 4. Player nun auch eine Kopie war.... Vg Ronny
Christian S. schrieb: > Hast du auf der Rückseite für 20€ die MicroUSB Buchse vom Conrad > spendiert? Zum Laden super geil aber der Preis für eine Buchse... Oder > hast du eine andere Bezugsquelle? Ich hab in meiner Einkaufsliste eine Buchse drin. Wenn du die Sachen nicht gleich morgen brauchst, dann kannst die nehmen. https://de.aliexpress.com/item/Micro-USB-5pin-Micro-USB-2-0-Stecker-auf-Micro-USB-2-0-Weibliche-Verl-ngerungskabel/32855632646.html?spm=a2g0x.search0104.3.121.139f739f9V50UK&ws_ab_test=searchweb0_0%2Csearchweb201602_1_10320_10065_10068_10547_319_317_10548_10696_453_10084_454_10083_433_10618_431_10304_10307_10820_10821_537_10302_536_10843_10059_10884_10887_100031_10319_321_322_10103%2Csearchweb201603_35%2CppcSwitch_0&algo_pvid=0df2f57e-1932-459e-976a-a583bc5cda1f&algo_expid=0df2f57e-1932-459e-976a-a583bc5cda1f-17
Daniel Frei schrieb: > Christian S. schrieb: >> Hast du auf der Rückseite für 20€ die MicroUSB Buchse vom Conrad >> spendiert? Zum Laden super geil aber der Preis für eine Buchse... Oder >> hast du eine andere Bezugsquelle? > > Ich hab in meiner Einkaufsliste eine Buchse drin. Wenn du die Sachen > nicht gleich morgen brauchst, dann kannst die nehmen. > > https://de.aliexpress.com/item/Micro-USB-5pin-Micro-USB-2-0-Stecker-auf-Micro-USB-2-0-Weibliche-Verl-ngerungskabel/32855632646.html?spm=a2g0x.search0104.3.121.139f739f9V50UK&ws_ab_test=searchweb0_0%2Csearchweb201602_1_10320_10065_10068_10547_319_317_10548_10696_453_10084_454_10083_433_10618_431_10304_10307_10820_10821_537_10302_536_10843_10059_10884_10887_100031_10319_321_322_10103%2Csearchweb201603_35%2CppcSwitch_0&algo_pvid=0df2f57e-1932-459e-976a-a583bc5cda1f&algo_expid=0df2f57e-1932-459e-976a-a583bc5cda1f-17 Danke, diese gibts auch bei Conrad/Voelkner wo ich sie mir bestellt hatte. Aktuell warte ich auf meinen Kumpel, der die Gehäuse macht (er als Schreiner macht zwei Gehäuse und ich dafür zwei Aufbauten)
Ronny S. schrieb: > Ich habe eine Powerbank (Werbegeschenk), welche Laden und Gleichzeitig > Speisen kann. > Ich denke mit den 4 LEDs umgehe ich die Abschaltung, habe nicht > gemessen, aber eine LED zieht bei weißen Licht in voller Helligkeit ca. > 60mA. Bei mir laufen die in der Helligkeit 10 von 255. Hatte schon überlegt zwei Ausgänge über nen kleinen Widerstand auf Masse zu schalten (takten). Aber die LEDs machen auch noch Sinn und nicht nur Wärme. Aber wie man sieht ist man mit dem Attiny ganz schnell am Ende und ein Arduino Nano kostet beim Chinamann auch nicht wirklich mehr und kann direkt per USB programmiert werden. Daher habe ich diesen auch auf meine Platine gebaut. Habe mal ein (schlechtes) Bild von meinem Aufbau angehangen. Extra alles* THT (auch wenn ich kein Freund von THT bin) um es auch für Laien möglichst einfach zu machen. Upload der Schematic/Layout Dateien wenn ich es endlich mal geschafft habe die Taster richtig anzuschließen. Was auf dem Bild mit Lackdraht behoben wurde. Platinengröße 10cmx10cm um die günstigen Preise bei elecrow/jlcpcb etc. nutzen zu können (10 Platinen ca. 10€ inkl. Versand) Player ging nach dem Aufbau auch auf anhieb. *die Micro USB Buchse wollte ich mir dann doch nicht sparen. Spg Versorgung ist aber auch über die SChraubverbindungen möglich.
:
Bearbeitet durch User
Hallo, Inzwischen sind meine Kopfhörerbuchsen gekommen und ich musste feststellen, dass ich diese nicht wie geplant verwenden kann. Die Buchsen haben vier Anschlüsse: Audio R, Audio L, GND und den Schaltkontakt. Der Schaltkontakt ist ohne Stecker auf GND geschlossen und öffnet wenn man den Stecker steckt. Ich benötige jedoch einen "potentialfreien" Schalter, da ich ja für den Kopfhörer die DAC _Out und für die Lautsprecher die "Speaker" Anschlüsse verwende. Kennt jemand eine Buchse, die das bietet oder habe ich einen Denkfehler? Die Anwendung sollte doch eigentlich ein Standardfall sein. Gruß Florian
Ich habe jetzt nochmal recherchiert und bin auf folgende Buchse gestoßen: https://www.quick-teck.co.uk/Management/EEUploadFile/1466073217.PDF Leider werde ich aus dem Schaltbild nicht so ganz schlau. Bedeutet das, dass zwischen Pin vier und fünf ein Öffner verbaut ist, der nicht mit den Pins des Klinkenstecker verbunden ist?
Daniel Frei schrieb: > Was bedeutet geforkt? Im Source Repository (wie GIT) werden Änderungen an einem Projekt als Punkte auf einer Zeitachse dargestellt. Jedes mal, wenn der Autor etwas ändert, kommt ein neuer Punkt dazu:
1 | *-----------*-----------*-----------*------> Zeit |
2 | Start Änderung 1 Änderung 2 usw |
Wenn nun jemand das Projekt in eine andere Richtung weiter entwickeln will (z.B. Funktionen hinzufügen will, die im Originalprojekt unerwünscht sind, dann erstellt man einen sogenannten Fork. Ein Projekt mit mehreren Forks sieht z.B. so aus:
1 | ---*--------*---> Fork von Chantalle |
2 | / |
3 | / |
4 | *-----------*-----------*-----------*------> Original-Projekt |
5 | \ |
6 | \ |
7 | ---*-----*------> Fork von Elvis |
8 | \ |
9 | \ |
10 | ----> Fork von Elvis' Schwester |
Erkennst du die Gabel am Bild? Damit Verwandt ist der Begriff "Branch". Das ist technisch gesehen das Gleiche. Nur hat man bei einem Branch in der Regel die Absicht, eine Neue Funktion erst gründlich zu testen um sie später dem Originalprojekt zuzuführen.
1 | --*---*---*-- Branch von Chantalle |
2 | / \ |
3 | / \ |
4 | *--------*-----------*-----*------*------> Original-Projekt |
Stefanus F. schrieb: > Erkennst du die Gabel am Bild? Super, Danke für die Klasse Erklärung und die absolut leicht zu erkennende Gabel.
Hallo zusammen, vielleicht könnt ihr mir auch helfen? Wenn ich die "KidsMP3Player.ino" in die Arduino-SW hochlade und dann auf Kompilieren gehe, dann bekomme ich immer x Fehlermeldungen. Hat irgendwer einen Tip, woran es liegt, wenn er schon vorm übertragen beim Kompilieren aussteigt. Hab inzwischen x-Versionen von Arduino ausprobiert, aber evtl hab ich auch hier nicht die richtige gehabt. Ich nutze ein Arduino Uno R3 Board und einen Rechner mit Windows 7. Vielen Dank schon mal.
:
Bearbeitet durch User
Hi Hans, in den allermeisten Fällen weisen Fehlermeldungen auf den jeweiligen Fehler hin. Wenn wir dir helfen sollen, wär's akut vorteilhaft, wenn du uns die x Fehlermeldungen einmal zeigen würdest. Ansonsten tauchen hier ganz fix wieder Glaskugel-Kommentare auf... Grüße ghmartin77
Hi GHMartin, ich hab eins zu eins Deine zwei Datein für den MP3-Player runtergeladen und dann kommen sehr viele Linien zum Thema "error stray '\'" oder "error stray \303" oder "missing terminating Character" Wiegesagt ich lade Deine zwei Dateien ohne irgendwas zu verändern hoch, drücke auf Kompilieren und dann kommen diese zwei Fehler und noch ettliche andere auch noch. danke schon mal grüße Hans
Schaut mir (und Google) nach (für den Compiler) ungültigen Zeichen im Quellcode aus, die vermutlich auf dem Wege entstanden sind, wie du die Dateien beschafft hast. Falls das nicht schon dein weg war, lade bitte dieses Zip herunter, packe es aus und öffne die ino-Datei mit der ArduinoIDE. Schau mal, ob die "Stray"-Fehler dann weg sind: https://github.com/ghmartin77/KidsMP3Player/archive/master.zip
Kurzer Zwischenbericht: Beide Player laufen seit November ohne Probleme. Einer davon TÄGLICH! Das Projekt hat sich gelohnt und Junior ist noch immer Feuer und Flamme! Die Ladezyklen halten sich in Grenzen! Softwarestand zwar etwas älter, läuft aber bei mir am Besten. (Kein Wiederanspielen bei Folder1 wenn nur 1 Track hinterlegt ist) Die Umsetzung der Lautsprecherbuchse macht aktuell keine Fortschritte. Externe Ladebuchse wird demnächst installiert! Habe noch jede Menge Fake Player hier rumliegen. Gibts ne Möglichkeit diese mit nem Attiny anzusteuern, oder doch nur über die Widerstand / Tasterlösung? Wäre schön wenn ich die auch noch irgendwie /-wo verbauen könnte!
Hi Tim, meiner lebt auch noch und ist täglich in Benutzung. Muß auch einiges abhalten :-) Du kannst den Player natürlich auch nur über die serielle Schnittstelle des Attiny steuern. VG Ronny
...mich wundert dass die Meldungen an erfolgreichen Nachbauten eingebrochen sind - dachte das wird ein Dauerbrenner, weil "fast jeder" die Notwendigkeit hat? Klaus.
Hier ist mein Nachbau. War ein Gemeinschaftsprojekt mit meinen Eltern. Ich hab die Elektronik gemacht und Sie den Rest. Ich hab eine 3000mah 18650 benutzt und bei täglichen Einsatz hält die ca. 2-3 Wochen durch. Ein wirklich super Projekt!!!
Meiner ist noch im Aufbau. Wenn der Prototyp läuft, dann lass ich Platinen in China machen, so ähnlich wie es Christian gemacht hat. Einmal mit AtTiny und einmal mit nem Nano und LED Anzeige der Playlist.
Von meiner Seite auch nochmal vielen Dank für dieses super Projekt. Habe meinen Kids MP3 nun auch endlich fertig gestellt. Was mich heute allerdings viel Zeit und Nerven gekostet hat: Ist es gewollt, dass wenn ein Ordner leer ist der Player gar nicht startet?
Daniel Frei schrieb: > Wenn der Prototyp läuft, dann lass ich Platinen in China machen, so > ähnlich wie es Christian gemacht hat. Hab auch welche dort machen lassen. Hab eine Programmierbuchse (ISP) mit auf der Platine. Das macht das experimentieren einfacher ;-) Dazu kann ich verschieden große Taster verwenden (hab zusätzliche Löcher eingeplant). Für die Spannungsversorgung benutze ich microUSB Platinchen, da das anlöten besser zu machen ist. Beim Design hab ich eine Leiterbahn vergessen, deswegen die eine Drahtbrücke.
So ich habe meine V1 nun pünktlich zu Ostern fertig bekommen. Das Gehäuse hat der Opa gebaut. Die Bärenabdeckung ist am 3D Drucker ausgedruckt worden. Die Schrift auf der Front wurde mit dem Laser eingebrannt. Da die Frontplatte zu dick war, musste ich alle Knöpfe der Taster verlängern. Dazu hab ich mich wieder am 3D Drucker bedient und die längeren Knöpfe gedruckt. Als Steuerung kam aber nun von ELV der MSM4 zum Einsatz. https://www.elv.de/output/controller.aspx?cid=74&detail=10&detail2=60066 Hat nahezu alle gleichen Funktionen, aber nur 10 Tasten. Damit kann ich aber leben. Großer Vorteil für mich war, das ich keinen Programmieraufwand hatte. Den AtTiny und den Nano hab ich noch daheim. Sobald meine CNC läuft, gibts dann ein neues Gehäuse wo die anderen Sachen noch verbaut werden.
...und bist du damit zufrieden? Ich finde den Funktionsumfang und das Design des Originals schon "passender". Aber wenigstens passen dann Holz-Box und Hardware zusammen :) Klaus.
Mit der Kiste die der Opa gebaut hat bin ich in keinster Weise zufrieden. Mit meiner Verkabelung auch nicht. Es musste alles wieder schnell gehen, da Ostern wieder so überraschend kam ;-) Weiß jemand wann dieses Jahr Weihnachten ist? :-) Mit dem MSM4 bin ich zufrieden. Der reicht vom Funktionsumfang vollkommen aus. Im Prinzip kannst das auch alles in die IKEA Bambus Box bauen. Dann sieht er nahezu identisch aus, nur mit 10 Tastern. Die Verkabelung ist natürlich auch einiges einfacher. Einfach an den MSM4 alle 10 Taster direkt anschliessen. Keine WIderstände oder sonst was. Lautsprecher, Einschalter und Spannungsversorgung anschliessen und gut ist. Um die Lautstärke von extern zu regeln, noch einen 5kOhm Poti dazu bestellen und gegen das auf dem MSM4 tauschen. Sonst kannst die Lautstärke nur intern regeln, oder aber wenn du die Chinchplatine benutzt. Dann geht es auch über Tastenkombinationen, was ich meinem 2-jährigen Sohn noch nicht zutraue.
Hallo! Ich habe den Player erfolgreich nachgebaut. Meine Söhne, ihre Freunde und wir Eltern sind begeistert. Ich werde wohl noch ein par mehr bauen müssen ;) zwei Funktionen vermissen wir noch: 1. eine Taste um in der Playlist zurück zu springen. Kann ich da einfach einen Taster direkt am dafür vorgesehenen Anschluss vom Dfplayer anschliessen? 2. Mein Sohn möchte manchmal stundenlang immer wieder den selben Track anhören. Dazu möchte ich gerne einen zusätzlichen Taster verbauen der nur diese Repeatfunktion für den aktuell abgespielten Track ein und ausschaltet. Würde mir dabei jemand helfen? Ich habe leider keine Ahnung vom Programmieren... 3. wie schaut es aus mit der Anlernfunktion fär die Tasten? Ist da noch jemand dran? Ich wäre sehr interessiert, bei mir stimmen die Tasten noch nicht ganz mit den Ordnern überein. Ansonsten werde ich die Tasten nach unseren Ferien ausmessen und die Werte im Programmcode anpassen. Danke für das tolle Projekt! Lieber Gruss David
Hallo David, cooles Design! Das sieht ziemlich unverwüstlich aus. Gefällt! Zu deinen Fragen: #1: Was du vorschlägst, sollte gehen, allerdings interessiert sich der DFPlayer dabei vermutlich nicht für die Playlist-Struktur und springt auch rückwärts in die Tracks der vorhergehenden Playlist. Einfach ausprobieren. Pin gegen Ground ziehen (Büroklammer, Jumperkabel) und gucken, was passiert (Tipp: das SD-Kartenhalterungsmetall liegt auf GND; brauchste nicht groß zielen). #2: Soll's dringend ein eigener, zusätzlicher Taster sein oder kann es auch durch längeres Halten einer Taste aktiviert/deaktiviert werden, wie das bereits vorhandene "Continuous Play"? Wie soll sich der Sleep-Timer im "Repeat 1"-Modus verhalten? Nicht ganz Ernst: Wie schützt man sich als Elternteil gegen Dauerloop-Wahnsinn? :) Die Änderung mit einer existierenden Taste und längerem Halten sollten nur ein paar Zeilen Code sein. Würd ich dir zusammenklöppeln... Ist eine schöne Erweiterungsidee. Einen "Shuffle"-Mode könnte man auch noch gleich aufnehmen... Was natürlich heute schon geht, ist, das Dauerrepeat-Lieblingsstück allein in eine Playlist zu legen und "Continuous Play" sowie "Playlist Loop" zu aktivieren. #3 Anlernfunktion hatte ich mal angefangen, leider aber rasch festgestellt, dass in dem Chip kaum noch Speicher vorhanden ist, um noch viel Code reinzubasteln und deshalb verworfen. Damit bleibt Durchmessen eine Lösung. Zusätzlich habe ich oben mal ein OpenOffice-Sheet zur Berechnung hochgeladen: Beitrag "Re: Projekt fertiggestellt: MP3 Player für Kinder auf ATTiny-Basis" In E1 stellst du den Wert deiner verwendeten Widerstände ein, in Spalte F ergibt sich der Code-Wert für die Werte im Code ab hier: https://github.com/ghmartin77/KidsMP3Player/blob/master/KidsMP3Player/KidsMP3Player.ino#L293 Grüße ghmartin77
David G. schrieb: > Ich habe den Player erfolgreich nachgebaut. Sieht sehr gut aus, das hast du toll gemacht.
Danke für die rasche Antwort! Zum Design: Ich stelle nebenberuflich Holzspielzeuge für Kinder her und habe mich bei den Holzresten der Klettergeräte bedient. Ich habe eine Bassreflexbox mit ca 2.3 liter Volumen für den Visaton FRS8 mit teilweise 16mm Multiplex gebaut. Das führt zu einem relativ hohen Gewicht. Für den dreijährigen stellt das aber kein Problem dar. Trotzdem werde ich die weiteren Player mit etwas geringerer Wandstärke (und leichterem LS) bauen. Ich denke auch bei 9mm Multiplex wird der Player noch unverwüstlich genug sein. Zur Repeatfunktion: Die zurück-Taste würde ja eigentlich ausreichen. Das Kind kann damit den Track so oft es mag neu beginnen und die Eltern wären einigermassen vor einem tagelangen dauerloop geschützt. Leider ist aber die dfplayer-interne Lösung dafür nicht geeignet. Wird sie im laufenden Track gedrückt, springt der Player zu dem Song davor, nicht nur zum Anfang des laufenden Songs. Das wird dann fürs Kind wohl zu kompliziert. Mein Sohn hat für sich die Lösung gefunden: Er schaltet das Gerät am Ende des Songs aus und wieder an. So beginnt das Lieblingslied wieder von Vorne. Meine Frage: lässt sich eine Taste ergänzen die erst den laufenden Track neu beginnt und erst beim zweiten- und weiteren Drücken zu den Tracks davor springt? Ich würde dafür auch auf eine der 11 Playlisttasten verzichten, wenn eine zwölfte nicht realisierbar ist. Übrigens passiert es manchmal, dass beim durchdrücken durch die Playlists plötzlich ein Song aus einer anderen Liste kommt. Z.B. nach Track 5 aus Playlist 1 kommt anstatt Track 6 plötzlich Track 1 der Playlist 8 (welche bei mir auf der Taste 4 abgespielt wird, dafür die Liste 4 auf Taste 8). Drücke ich dann nochmals auf die Taste 1 kommt wieder Track 1 der Liste 1. Der Fehler ist nicht reproduzierbar und kommt nicht nur auf der Liste 1 vor, ist aber selten. Hat das damit zu tun, dass ich die Werte der Wiederstände noch nicht angepasst habe? Und noch eine Frage: wenn ich z.B. nur 6 Tasten verbauen möchte, was müsste ich alles anpassen? Liebe Grüsse David
Ich hab mir überlegt, ob es nicht ggf. sinnvoll wäre, wenn der Lautstärkeregler auf Minimum steht, automatisch dem Player 'Pause' zu senden. Idealerweise würde er beim hochdrehen der Lautstärke wieder weiterspielen.
Hi David, angehängt findest du eine ungetestete Zusamenhack-Version mit folgenden Features: Repeat1: Button 4 länger gedrückt schaltet "Repeat1" ein bzw. aus. Auf die selbe Art und Weise, wie Button 1 und 2 das für "Continuous Play" und "Playlist Loop" machen. Die Ansage-MP3s dafür müssen als 0500.mp3 und 0501.mp3 in /ADVERT und /MP3 liegen. Wenn aktiv, wird ein einmal gestarteter Track im Endlos-Loop immer wieder neu gestartet, nachdem er zu Ende gelaufen ist. Previous-Button: Kann über Entfernen des //-Kommentarzeichens in Zeile 22 aktiviert werden. Danach ist Playlist 11 nicht mehr benutzbar (kann aber auf der SD-Karte verbleiben). Mit Aktivierung dieses Features bedeutet Button 11 "Previous": Läuft der aktuelle Track länger als 3 Sekunden, wird der aktuelle Track neu gestartet, ansonsten der Vorgängertrack der aktiven Playlist (inkl. "Rollover" beim ersten Track). Konnte die Änderungen leider nicht Testen. Was auch immer du an Fehlern findest, pack in diesen Thread und ich guck's mir an. Wenn's funzelt, gib bitte auch Bescheid. Finde deine Erweiterungsanregungen sehr gut und würde den angehängten Code -so er läuft- ins GitHub-Repo packen. Zu deiner Frage mit den "verrutschten" Playlists bei Mehrfachdrücken eines Buttons: Ja, ich vermute, das hat mit den noch nicht justierten Werten für die Knöpfe zu tun. Zumindest liegen Button 1 und Button 4 "nebeneinander", was die analogen Spannungsbereiche angeht. Sobald du die Werte angepasst hast, sollte dieses Problem also verschwinden... Grüße ghmartin77
Herzlichen Dank! Leider kann ich momentan auch nicht testen, wir sind den ganzen Monat noch auf Reise und ich habe keinen Arduino mitgenommen. Im Juni werde ich mich aber natürlich sofort ans testen machen! Übrigens fände ich die Pausefunktion über den Lautstärkepoti auch eine tolle Idee... Liebe Grüsse David
Die "Pause bei Minimal-Lautstärke"-Anforderung verstehe ich nicht ganz. Die Minimallautstärke sollte gemäß Reglerlogik niemals unter den Wert 1 (DF-Player-Sicht) fallen. Damit ist der Ton niemals ganz aus. Warum sollte man in diesem Fall auf Pause schalten? Was übersehe ich? Grüße ghmartin77
Daniel Frei schrieb: > Die Bärenabdeckung ist am 3D Drucker ausgedruckt worden. Würdest du ggf. die .stl-Datei der Lautsprecherabdeckung verfügbar machen? Das wäre toll! lg
Das stimmt, es ist nie ganz still auch bei minimaler Lautstärke nicht. Allerdings gibt es momentan noch keine Pausefunktion. Mit dem Lautstärkeregler wäre dies fürs Kind eine einfache Möglichkeit die Geschichte kurz anzuhlten und danach nicht wieder am Anfang des Tracks beginnen zu müssen. Noch am Rande: Ich habe die Zurücktaste vom DfPlayer noch etwas ausgetestet. Wird diese betätigt, kommt zwar das letzte Lied noch einmal. Danach spielt es aber nicht mehr weiter, auch wenn das kontinuierliche Abspielen eingeschaltet ist.. Will ich dann mit der Playlisttaste eins weiterdrücken, kommt das übernächste. Der Attiny merkt also nicht, dass zuvor eins zurück geschaltet worden ist. Wird die Taste zudem zu oft gedrückt kommem auch die Ansagen aus dem MP3 und advert Ordner...
Hi David, bezieht sich deine Verhaltensmeldung zur "Zurücktaste vom DF Player" auf das Hardware-Zurück (i.e. Pin) des DF Players oder auf meine Code-Modifikation oben, bei der ich eine "Zurücktasten"-Funktion eingebaut habe? Ersteres würde mich beruhigen, bei zweiterem fehlt mir im Moment die Phantasie, wie das passieren sollte... Themawechsel "Pause_on_Min_Volume": Denke, das ließe sich preiswert einbauen... Ich guck mal, dass ich das als #define-Option nachrüste... Grüße ghmartin77
Das bezieht sich auf den io_1 Pin vom DF Player. Deine Code Modifikation kann ich leider erst Anfang Juni testen. Grüsse David
Peter schrieb: > Daniel Frei schrieb: > >> Die Bärenabdeckung ist am 3D Drucker ausgedruckt worden. > > Würdest du ggf. die .stl-Datei der Lautsprecherabdeckung verfügbar > machen? > > Das wäre toll! > > lg Ich hab den hier genommen. https://www.thingiverse.com/thing:2122985 und dann Löcher reingebohrt. Bin grad dran das Ding im CAD neu zu zeichnen und die Löcher gleich reinmachen, damit die gescheit gedruckt werden. Wird aber noch bis Ende Juni gehen, da ich jetzt erst einmal im Urlaub bin.
ghmartin77 schrieb: > Konnte die Änderungen leider nicht Testen. Was auch immer du an Fehlern > findest, pack in diesen Thread und ich guck's mir an. > Wenn's funzelt, gib bitte auch Bescheid. Hallo Martin Ich konnte die Codeänderung nun testen. Zurücktaste und repeatfunktion funktionieren gut. Die Zurücktaste geht halt einfach der Reihe nach zurück - wenn das Kind also beispielsweise drei Lieder aus verschiedenen Playlists nacheinander spielt, kann es nicht in dieser Reihenfolge wieder zurück springen. Durch die zurücktaste ist auch der Wunsch nach einer vor Taste entstanden. Vielleicht konnte man nur 9 Playlists verwalten und dafür die Taste 10 und 11 für vor und zurück verwenden? Ich finde das würde die Bedienung vereinfachen. Wie sieht es aus mit der "Pause_on_Min_Volume" Erweiterung? Bist du da noch dran? Zudem fände ich es interessant, die Equalizerfunktion des DFPlayers verwenden zu können. Ich denke es müsste nicht beim fertigen Gerät umstellbar sein, wenn man es aber im Code beim Bau an das Gehäuse anpassen könnte wäre dies hilfreich. Ich habe versucht bei Zeile 124 die anderen EQ Einstellungen einzugeben (z.B. DfMp3_Eq_Normal austauschen mit DfMp3_Eq_Rock). Allerdings konnte ich keinen Unterschied im Klang feststellen. Wie müsste ich das machen? Vielen Dank für deine Hilfe Liebe Grüsse David
Und was ich auch noch fragen wollte: was muss ich ändern um von USB abzuspielen anstatt von der SD Karte? Müsste ja eigentlich auch möglich sein? Lieber Gruss David
David G. schrieb: > Ich konnte die Codeänderung nun testen. Zurücktaste und repeatfunktion > funktionieren gut. Freut mich. Wunderbar. > Die Zurücktaste geht halt einfach der Reihe nach zurück - wenn das Kind > also beispielsweise drei Lieder aus verschiedenen Playlists nacheinander > spielt, kann es nicht in dieser Reihenfolge wieder zurück springen. Äh, ja. Deine Anforderung im Beitrag weiter oben war (5.5.): > 1. eine Taste um in der Playlist zurück zu springen. Du sprachst nicht von Zurück in einer Play-HISTORIE... > ...Wunsch nach einer vor Taste entstanden. Gibt's doch. Das ist die Playlist-Taste. > Wie sieht es aus mit der "Pause_on_Min_Volume" Erweiterung? Bist du da > noch dran? Da ich im Moment nur im Blindflug programmieren kann, bräuchte ich jemanden zum Ausprobieren. Kann heute Abend evtl. Testcode einstellen, den du verproben kannst. > Ich habe versucht bei Zeile 124 die > anderen EQ Einstellungen einzugeben (z.B. DfMp3_Eq_Normal austauschen > mit DfMp3_Eq_Rock). Allerdings konnte ich keinen Unterschied im Klang > feststellen. Da wärst du schon ganz richtig. Vermutlich sind die Änderungen bei dem Mini-preiswert-Teil aber im "überschaubaren" (nicht hörbaren) Bereich :-) Grüße ghmartin77
ghmartin77 schrieb: > Play-HISTORIE... Entschuldige, ich bin nicht auf die Idee gekommen bis zum Testen. Wäre das denn überhaupt möglich? Die "Pause_on_Min_Volume" werde ich gerne testen. Herzlichen Dank David
Na denne... Hängt an. Kommentarzeichen in Zeile 25 wegnehmen, um das "Pause_on_Min_Volume"-Feature zu aktivieren. (Evtl. auch Zeile 22 nicht vergessen.) Thema Historie: Denke schon, dass das möglich wäre. Man muss halt noch die Funktionsweise "spezifizieren", z.B. ab wann landet ein Track in der Historie (Immer? Nach x Sekunden Abspieldauer?)? Wie verhalten sich Tracks aus der Historie in Bezug auf (Nicht-)Aufnahme in ebenselbige? Wenn REPEAT1 eingeschaltet ist oder RepeatPlaylist mit nur einem Track, kommt dieser Track dann immer und immer wieder in die Historie? Soll die Historie ein Ausschalten überleben? Wenn man in der Historie zurückgeht und dann einen neuen Track abspielt, kommt der dann hinten an die Historie oder wird die Historie ab dem aktuellem Stand in Richtung ehemaliger "Zukunft" gelöscht... Und schwuppdiwupp bist du in einer Ecke, in der du dich fragst, ob das ein Kind noch versteht oder man's lieber sein lässt :) Und man muss sich noch ein paar Bytes Speicher abzwacken, um die Historie mithalten zu können... Thema USB: Such mal im Quellcode nach "setPlaybackSource"... Und mit der Hardwareverschaltung musst du dich dann auch beschäftigen: Pins für USB+ und USB- wollen dann angeschlossen werden. Evtl. wird das ganze Ding dann auch "zickiger", was die Versorgung mit stabilen 5V angeht... Hab's noch nie probiert... Grüße ghmartin77
Die Pause funktioniert prima. Danke vielmal dafür! Historie: Die zurück in Historie funktion finde ich für die Kinder logischer als der momentane Stand der rückwärztaste. Um es für die Kinder einfach zu gestalten würde ich es wie folgt machen: jeder Track kommt in die Historie, egal wie lange er gespielt wird. Wird zurück gegangen und danach ein Track aus einer anderen Playlist gespielt, wird der vorne an die Historie angesetzt. Bei 1 Track repeat würde ich es so machen, dass immer nur zum Anfang des Tracks gesprungen werden kann bis die Repeatfunktion ausgeschaltet wird. Der Track wird aber nur 1x in die Historie aufgenommen. Einen Neustart sollte die Historie nicht überstehen, vorallem da der Player jetzt auch eine Pausefunktion hat. Wenn in der Historie zurückgegangen werden kann, wäre mir die Vorwärztaste doch wichtig. USB: Ich habe versucht die Quelle auf Zeile 130 von sd auf usb zu ändern. Mein Player spielte danach bei angeschlossenem USB stick nichts, doch sobald ich die SD Karte einsteckte ging es wieder, trotz DfMp3_PlaySource_U. Er hat also das Umschalten nicht verstanden. Weil da nichts passiert ist, war ich mir auch beim Equalizer nicht sicher ob ich das richtig im Programm geändert habe. Am schönsten fände ich, wenn die /Mp3 und /advert Ordner auf der sd Karte bleiben könnten und auf dem Stick nur die Musik wäre. Liebe Grüsse David
Ich könnte meinen teddy auch noch als cad Datei freigeben. Ich habe ja das komplette Design in Fusion360 erstellt und dann gefräst. Viele Grüße Ronny
Schreiben, dass der MP3 Player auf ATTiny-Basis ist?! ;) Vergiss bitte die ewigen Nörgler, warum soll man das Rad neu erfinden, wenn es alles schon günstig und funktionierend gibt. Danke für das super Projekt ich werde es für meine Tochter umsetzen, vielleicht ändere ich noch die ein oder andere Tastenbelegung, aber sonst echt super. Habe schon länger nach einer einfachen Umsetzung für diese Aufgabenstellung gesucht und jetzt dank Dir gefunden. Weiter so!
Hallo zusammen, nachdem ich hier immer fleissig mitlese, muss mich auch mal wieder melden ;-) Meine beiden Player laufen problemlos nahezu täglich vor sich hin. Das Feature "Pause_on_Min_Volume" wollte ich nun updaten, bekomm es aber nicht hin. Habe jetzt festgestellt, das alle Versionen seitdem #include "DFMiniMp3.h" hinzugefügt wurde, bei mir nicht laufen :-( Beim Beschreiben des Attiny bekomme ich keine Fehlermeldungen... Muss ich diese Datei irgendwo extra einbinden?
Ronny S. schrieb: > Ich könnte meinen teddy auch noch als cad Datei freigeben. Ich habe ja > das komplette Design in Fusion360 erstellt und dann gefräst. > > Viele Grüße > Ronny Hallo Ronny S., würdest Du den Teddy hier als CAD reinstellen? Michael
Hallo und erst mal ein ganz herzliches Dankeschön für dieses geniale Projekt! Absolut großartig Bei meiner Umsetzung bin ich bezüglich des DigisparkBoards auf ein paar Hürden gestoßen. Weiter oben hier im Thread wird berichtet, man hätte die Software auf einem Digispark rum laufen bekommen? Für einen echten Arduino lässt sich das Projekt in meiner IDE ohne Fehler kompilieren. Leider kennt Digispark unter anderem die Bibliothek für die serielle Software Schnittstelle nicht. Kann diese einfach durch eine Digispark kompatible Bib ersetzt werden? (Bei mir gab's da Probleme mit ein paar Funktionen) Bin über weitere Hinweise zur Umsetzung mit Digispark dankbar. Die Wahl zum Digispark war leider nur auf den ersten Blick einfacher ;)
Ronny S. schrieb: > So langsam geht es wieder weiter. Hatte die letzten 3 Wochen keine > Zeit. > > der Originale DFPlayer ist auch bestellt. > > Ich habe jetzt noch 4 LEDs für den Akkustand der Powerbank integriert. > Dafür ist dann das Plexiglasteil. > > Mal schauen ob ich die Originale Anzeige verwende oder sogar ws2812b > LEDs mit Farbfunktion. Dann könnten diese in der Farbe der jeweiligen > Playlist Leuchten ;-) > > Frontplatte werde ich wohl noch einmal neu machen müssen, da hat die > Fräse nicht gut gearbeitet. > > noch viel schleifarbeit :-) Irgendwie kommt mir das doch enorm bekannt vor... Hast du das Teil in Serie aufgelegt, kopiert, oder wurdest du kopiert?
Uff! Was für eine interessante Entwicklung des Themas...bin gespannt wer / was dahintersteckt! Klaus.
Martin S. schrieb: > Irgendwie kommt mir das doch enorm bekannt vor... > > Hast du das Teil in Serie aufgelegt, kopiert, oder wurdest du kopiert? Lesen kannst Du wohl nicht, oder?
John Doe schrieb: > Martin S. schrieb: >> Irgendwie kommt mir das doch enorm bekannt vor... >> >> Hast du das Teil in Serie aufgelegt, kopiert, oder wurdest du kopiert? > > > Lesen kannst Du wohl nicht, oder? Offensichtlich nicht. Aber das ist ja nicht weiter tragisch. Man soll ja zu seinen Schwächen stehen. Das ist wohl meine. Es wäre also sehr nett, wenn du mir die betreffende Stelle zeigen könntest. Das ich die grob 500 Beiträge jetzt nicht alle durchgelesen habe, ist wohl nachvollziehbar, oder?
...ich glaube mich zu erinnern dass dem TO der originale zu teuer war und er sich dann stark am Design orientiert hat - wie stark, wurde mir aber auch jetzt erst klar ;) -> Beitrag "Re: Projekt fertiggestellt: MP3 Player für Kinder auf ATTiny-Basis" Klaus.
:
Bearbeitet durch User
Ach ok vielen Dank. Dann hat sich das ja aufgeklärt. Ich war nur überrascht, weil die Designs nahezu identisch sind.
Hallo, mittlerweile ist etwas Zeit vergangen und das Thema DigiSpark ist gecancelt. Ich habe einen Attiny85 mit einem AVR ISP mkII, den ich noch hier liegen hatte, ohne Fehlermeldung programmiert bekommen. Nach diesen Erfahrungen gibt es echt keinen Grund für DigiSpark ;) Leider Antwortet der DFPLayer nun nicht auf die Anfragen des Tiny (siehe Bilder, im Oszillogramm: rot ist Pin5(RX Tiny), gelb ist Pin6(TX Tiny) des Tiny) Abspielen von Titeln klappt mittels ADKEY's problemlos. Leider habe ich aktuell noch keinen neuen Player zum testen zur Hand. Gibt es noch weitere Fehlerquellen weshalb der DFPlayer auf der Datenleitung stumm bleibt?
Hallo Klauso, Fuses richtig gesetzt? Von meiner Github-Seite: > ATTiny85 (ATTENTION!!! Ensure your fuses are set to 8Mhz (internal) clock! > Otherwise SoftSerial won't work reliably. The following fuse values are > recommended: L:0xE2, H:0xD7, E:0xFF) ...und mit den dazu passenden Einstellungen kompiliert? Siehe auch Beitrag "Re: Projekt fertiggestellt: MP3 Player für Kinder auf ATTiny-Basis" Good Luck! ghmartin77
...alternativ hätte ich noch "TX/RX auf dem DFPlayer vertauscht" im Angebot? Ggf. ist die Beschriftung nicht wie erwartet und man muss RX mit RX und TX mit TX verkoppeln statt -wie erwartet- "über kreuz"... Versuch macht kluch... ghmartin77
ghmartin77 schrieb: > Hallo Klauso, > > Fuses richtig gesetzt? Von meiner Github-Seite: > >> ATTiny85 (ATTENTION!!! Ensure your fuses are set to 8Mhz (internal) clock! >> Otherwise SoftSerial won't work reliably. The following fuse values are >> recommended: L:0xE2, H:0xD7, E:0xFF) > > ...und mit den dazu passenden Einstellungen kompiliert? > > Siehe auch Beitrag "Re: Projekt fertiggestellt: MP3 Player für Kinder > auf ATTiny-Basis" > > Good Luck! > ghmartin77 > Danke nochmal für den Hinweis und die Verlinkung nach oben! Die Fuses sind, sofern die Löschung des EEPROM nicht relevant ist, richtig gesetzt. Bei HFuse habe ich 0xDF was bedeutet dass EESAVE gesetzt ist. ... -Pusb -e -Uefuse:w:0xff:m -Uhfuse:w:0xdf:m -Ulfuse:w:0xe2:m Davon abgesehen antwortet heute morgen zumindest mal der ADPlayer. Warum auch immer. Der Tiny unterbricht nun auch das Abspielen von Titeln welche ich manuell mittels ADKEY's auslöse (Blaue LED leuchtet für nicht mal 1 Sekunde auf und erlischt, Titel wird kurz angespielt). Leider scheint der Tiny nicht auf den analogen Eingang an Pin2 zu reagieren. Ich habe die Verschaltung und den Tiny mit einem mini Testprogramm (siehe unten) getestet, funktioniet. Der DutyCycle des PWM Signal variiert, je nach Eingangsspannung, wie erwartet.
1 | // to run on attiny85
|
2 | |
3 | const byte pwmPin = 0; |
4 | const byte analogInPin = A3; |
5 | |
6 | void setup() { |
7 | }
|
8 | |
9 | void loop() { |
10 | pinMode(pwmPin, OUTPUT); |
11 | int analogIn = analogRead(analogInPin); |
12 | analogIn = map(analogIn, 0, 1023, 0, 255); |
13 | analogWrite(pwmPin, analogIn); |
14 | }
|
Die Teilspannungen der Widerstandskaskade passen auch mit denen hier im Thread gelisteten überein. SIehe dazu auch das oben gezeigte Oszillogramm. Theoretisch sollte man doch, je nach dem welche Taste gedrückt wird, am RX-Pin des Tiny eine Veränderung im Bit-Muster erkennen können... Es tut sich aber leider nichts.
kleiner Nachtrag zum Thema: Auch das ändern der Fuses hat nichts geändert:
1 | avrdude -c"avrdude.conf" -v -v -v -v -pattiny85 -cstk500v2 -Pusb -e -Uefuse:w:0xff:m -Uhfuse:w:0xd7:m -Ulfuse:w:0xe2:m |
2 | |
3 | ... |
4 | |
5 | avrdude: safemode: efuse reads as FF |
6 | avrdude: safemode: Fuses OK (E:FF, H:D7, L:E2) |
7 | avrdude: Sent: . [11] . [01] . [01] |
8 | avrdude: Recv: . [11] . [00] |
9 | |
10 | avrdude done. Thank you. |
Ich muss noch eine Frage hinterher schieben, die mich beschäftigt: @ghmartin77 Du rufst einen Track wie folgt ab:
1 | player.playFolderTrack(curFolder, curTrack); |
In deiner Anleitung steht, der Ordnername besteht aus zwei Ziffern. Bei Github steht zur Bibliothek geschrieben: “An example filename would be sd:/002/013_ThisIsMyFavoriteSong.mp3, and calling playFolderTrack(2, 13) would play it. folder - the folder number as listed in the folder name. The foldername must be a three digit, zero padded number.“ https://github.com/Makuna/DFMiniMp3/wiki/API-Reference#void-playfoldertrackuint8_t-folder-uint8_t-track Ordner mit zwei Ziffern sollen mit: playFolderTrack16(x, y) aufgerufen werden. Die Beispiele die auf der Seite der Library angeboten werden funktionieren mit meinem DFPlayer zumindest mit dem advert- und mp3- Ordner nun auch endlich. Irgendwo habe ich wohl noch ein Problem mit der Ordnerbezeichnung, der Formatierung der sd Karte (fat32) oder dem Aufruf der “playFolderTrack Funktion, siehe oben...
Na, dann wollen wir mal sortieren und schauen, ob wir der Sache
näherkommen...
> Der Tiny unterbricht nun auch das Abspielen von Titeln welche ich manuell
mittels ADKEY's auslöse
Was meinst du denn damit? Der Tiny sollte eigentlich kein Abspielen
abbrechen. Wann passiert das? Einfach so nach einer bestimmten Zeit?
Wenn du eine Taste drückst? Wenn...wann?
Als nächstes wäre spannend, herauszubekommen, in welchem Zustand sich
der Tiny befindet. Du schreibst, er würde scheinbar nicht auf
Tastendrücke reagieren (Pin 2). Wie äußert sich das? Tastendruck mit
nachweißlichem Spannungsausschlag gemäß deiner Messung, aber in der
Folge keine Aktivität an TX des Tinys?
Wenn dem so ist, wär's möglich, dass der Tiny noch in der
Initialisierung (setup()) hängt. Zeilen 241ff wären Kandidaten dafür.
Ergo: Sind deine Ordnerstrukturen auf der SD-Karte gemäß
Github-Beschreibung?
Nächster Versuch: setup() auf Minimum runterstrippen, um zu schauen, ob
der ATTiny reden und der DFPlayer zuhören mag:
1 | void setup() { |
2 | pinMode(PIN_VOLUME, INPUT); |
3 | pinMode(PIN_VOLUME_INTERNAL, INPUT); |
4 | pinMode(PIN_KEY, INPUT_PULLUP); |
5 | |
6 | delay(50); |
7 | |
8 | player.begin(); |
9 | |
10 | initDFPlayer(); |
11 | |
12 | player.playFolderTrack(1, 1); |
13 | |
14 | delay(10000); |
15 | }
|
Dazu sicherstellen, dass ein File /01/001.mp3 auf der SD-Karte existert. Spielt er dann beim Starten was über den DFPlayer ab? Mindestens 10 Sekunden lang? Falls nicht, versuchsweise RX/TX austauschen und schauen, was er dann tut. Immer noch nichts? Hättest du ggf. noch einen Arduino rumfliegen, mit dem man inkl. Logausgaben testen könnte? Dann lass mal hören, was sich mit diesen Anstößen ergeben hat... Grüße ghmartin77
Da haben wir überschneidend geschrieben. Das sind doch schonmal gute Nachrichten, dass es prinzipiell funktioniert. Damit ist meine Frage nach den Ordnerstrukturen der heisseste Kandidat: Hast du alle Ordner von "01" bis "11" angelegt (eine weitere führende 0 brauchte ich bisher nicht, aber das können wir auch noch ausprobieren)? Liegt in jedem Ordner mindestens eine Datei 001.mp3?
Ok, Asche über mein Haupt ;) Es läuft. Und ich habe gezwungener Weise viel über die DFMinimp3.h und deren Anwendung gelernt :) Ich hatte nur 5 der insgesamt 11 Ordner auf der SD-Karte angelegt (Bitte keine Kommentare dazu ;) ) Ich fasse, auch mal für die folgenden Generationen nochmal meine Infos zusammen: - Infos zur Library DFMiniMp3.h gibts hier: https://github.com/Makuna/DFMiniMp3/wiki/API-Reference - Die Library und die Kommunikation grundsätzlich Testen mit diesen offiziellen Beispielen: https://platformio.org/lib/show/1561/DFPlayer%20Mini%20Mp3%20by%20Makuna - Ein Digispark mit Tiny85 macht keinen Sinn, ein echter Attiny85 mit ISP Programmiert ist so viel einfacher und hat keinen Bootloader der beim Start 5? Sekunden auf ein mögliches beschreiben wartet. Bei jedem Start würde die Box um eben diese Zeit verzögert betriebsbereit sein. Den Bootloader könnte man theoretisch aber auch umbauen. Siehe hier: https://bytelude.de/2018/04/20/wie-man-das-5-sekunden-boot-delay-beim-digispark-digistump-attiny85-entfernt/ - DFPlayer mit roter LED (anscheint billiger Nachbau) funktioniert mit neuer Version auch. Bezugsquelle vom Shoppingteufel für 4,99€ inkl. Prime https://www.amazon.de/gp/offer-listing/B07CRY9QTK/ref=dp_olp_new_mbc?ie=UTF8&condition=new - Taster fürs Tasterfeld hab ich von Reichelt und find sie echt cool, leider nur in 7 Farben (Artikel-Nr.: DT 6 GR) https://cdn-reichelt.de/documents/datenblatt/C200/dt6.pdf - Unbedingt bevor das Programm zum ersten mal mit der ARduino IDE auf den Tiny geladen wird, unter "Werkzeuge" 8 MHz einstellen und dann nicht vergessen "Bootloader brennen" zu klicken. Damit werden "NUR" die Fusebits geschrieben. Zum verifizieren der FuseBits kann man unter Voreinstellungen nochmal die Häckchen bei "Ausführliche Ausgabe während:" setzen.
> Es läuft. Na, das freut mich doch zu hören :) Vielen Dank für die Dokumentation für die Nachwelt. Das hilft sicher zukünftig dem ein oder anderem weiter! Eine Frage hätte ich noch. Du schreibst > DFPlayer mit roter LED (anscheint billiger Nachbau) funktioniert mit neuer Version auch. Mit neuer Version von was? Der DFMiniMp3.h oder bereits mit dem HEAD-Stand aus meinem Github-Repo? Grüße ghmartin77
Zur Vollständigkeit der Doku habe ich noch ein Blockschema zur Umsetztung von laden via USB-Buchse und Datenzugriff auf die SD-Karte via USB-Buchse beigefügt. ghmartin77 schrieb: > Eine Frage hätte ich noch. Du schreibst >> DFPlayer mit roter LED (anscheint billiger Nachbau) funktioniert mit neuer > Version auch. > > Mit neuer Version von was? Der DFMiniMp3.h oder bereits mit dem > HEAD-Stand aus meinem Github-Repo? Sowohl als auch. Ich habe den Player getauscht und in den aktuellen Versionen ist der PLayer mit der roten LED (zumindest den, den ich hier von amazon hab) ansprechbar. Allgemein hier nochmal zum testen nochmal die Version aus der Doku angepasst auf den attiny85 (überprüft und funktioniert): --- Random all Tracks on SD ---
1 | // this example will play a random track from all on the sd
|
2 | //
|
3 | // it expects the sd card to contain some mp3 files
|
4 | |
5 | #include <SoftwareSerial.h> |
6 | #include <DFMiniMp3.h> |
7 | |
8 | // implement a notification class,
|
9 | // its member methods will get called
|
10 | //
|
11 | class Mp3Notify |
12 | {
|
13 | public:
|
14 | static void OnError(uint16_t errorCode) { |
15 | }
|
16 | static void OnPlayFinished(uint16_t track) { |
17 | }
|
18 | static void OnCardOnline(uint16_t code) { |
19 | }
|
20 | static void OnUsbOnline(uint16_t code) { |
21 | }
|
22 | static void OnCardInserted(uint16_t code) { |
23 | }
|
24 | static void OnUsbInserted(uint16_t code) { |
25 | }
|
26 | static void OnCardRemoved(uint16_t code) { |
27 | }
|
28 | static void OnUsbRemoved(uint16_t code) { |
29 | }
|
30 | };
|
31 | |
32 | |
33 | // Some arduino boards only have one hardware serial port, so a software serial port is needed instead.
|
34 | // comment out the above definition and uncomment these lines
|
35 | SoftwareSerial secondarySerial(0, 1); // RX, TX |
36 | DFMiniMp3<SoftwareSerial, Mp3Notify> mp3(secondarySerial); |
37 | |
38 | void setup() |
39 | {
|
40 | mp3.begin(); |
41 | mp3.reset(); |
42 | |
43 | // show some properties and set the volume
|
44 | uint16_t volume = mp3.getVolume(); |
45 | mp3.setVolume(24); |
46 | |
47 | uint16_t count = mp3.getTotalTrackCount(); |
48 | uint16_t mode = mp3.getPlaybackMode(); |
49 | mp3.playRandomTrackFromAll(); // random of all folders on sd |
50 | }
|
51 | |
52 | void loop() |
53 | {
|
54 | // calling mp3.loop() periodically allows for notifications
|
55 | // to be handled without interrupts
|
56 | mp3.loop(); |
57 | }
|
@ghmartin77 Kann es sein, dass es in der Repeat1 Funktion noch einen Bug gibt? Die Repeat1 Funktion wurde zwar umgesetzt und funktionierte, allerdings hat die Ansage aus dem "advert" oder "mp3" Ordner immer verkündet, die Funktion würde eingeschaltet. Es wurde also immer die „ist eingeschaltet“-Datei abgespielt und nie die „ist ausgeschaltet“-Datei. Der Fehler liegt in der "handleKeyPress()" Funktion.
1 | } else if (nowMs - keyPressTimeMs >= LONG_KEY_PRESS_TIME_MS && key == 4) { |
2 | repeat1 = !repeat1; |
3 | playOrAdvertise(loopPlaylist ? 500 : 501); |
4 | writeConfig(); |
5 | delay(1000); |
Hier müsste der Kopierteufel "loopPlaylist" durch "repeat1" ersetzt werden.
1 | } else if (nowMs - keyPressTimeMs >= LONG_KEY_PRESS_TIME_MS && key == 4) { |
2 | repeat1 = !repeat1; |
3 | playOrAdvertise(repeat1 ? 500 : 501); |
4 | writeConfig(); |
5 | delay(1000); |
So funktioniert es zumindest bei mir ;) Ggf. bitte in GitHub veröffentlichen.
Top! Klar ist das falsch. Danke für den Hinweis. Dein Fix ist genau richtig und ich hab ihn just eben ins Github-Repo übernommen. Viele Grüße ghmartin77
Beitrag #6040653 wurde vom Autor gelöscht.
https://www.hoerbert.com/kaufen/elektronikbausatz 119 Euro für eine WAV Player Elektronik. In Holzkiste 239 Euro! Das Marketing zum Thema (nur) WAV ist gut formuliert (spart Strom, kann/ist viel mehr, ...). Hier die Platine: https://static.hoerbert.info/wp-content/uploads/sites/5/2017/02/bausatz-platine-e1505730198737.jpg Ein ATtiny861-20SU Alternativ https://de.elv.com/elv-mini-wave-player-mwp2-komplettbausatz-151840 für 20 Euro mit Quellcode auf Basis von ChaNs Projekt: http://www.elm-chan.org/works/sd8p/report.html (das ist die kleine Variante aus meinen Lesezeichen, die Seite ist für mich gerade nicht erreichbar). Aber ich habe auch mal einen DFPlayer geordert. Hier eine Variante mit RFID: https://github.com/xfjx/TonUINO
Super Projekt ghmartin77! Ich frage mich ob ich das auch mit einem ATtiny 45 hinbekomme? Waere mein erstes Projekt mit dem ATtiny - da mein Nachbar einen hat den er nicht braucht dachte ich mir, ich kann da noch etwas machen waehrend der freien Zeiten zwischen dem Weihnachtstrubel. Gruesse MaxB202
Der ATTiny45 hat nur 4kb Speicher. Der kompilierte Code, wie er aus der Arduino IDE (resp. dem im Inneren genutzten Compiler) herauskommt, kratzt knapp an der 8kb-Grenze. Evtl. hilft es den Code runterzustrippen, Dinge rauszuschmeißen, die du nicht brauchst, oder den ganzen Arduino-Unterbau rauszunehmen... Dazu braucht's aber massive Umbauten der Codebasis... --> Kauf dir 'nen 8x-er (oder einen Arduino Nano). Spart Zeit und Nerven... Grüße und schöne Weihnachten ghmartin77
@ghmartin77: Vielen Dank nochmals für das Projekt! Mein Nachbau war pünktlich zum Fest fertig und ist mehr als super angekommen :) Anbei natürlich noch ein paar Fotos:
Sieht super aus! Tolle Umsetzung! Viele Grüße ghmartin77
Daniel Frei schrieb: > Als Steuerung kam aber nun von ELV der MSM4 zum Einsatz. > https://www.elv.de/output/controller.aspx?cid=74&detail=10&detail2=60066 Hi Daniel, wie bist du denn mit der Ausgangsleistung bzw. Lautstärke zufrieden? Bei ELV steht was von 0,5W an 8Ohm. Grüße Mathias
Hallo zusammen, Ich habe von meinen Kollegen einen selbst gebauten MP3-Player auf ATTiny-Basis bekommen- bzw. die Platine- und bin von der Idee begeistert. Zwecks Gehäusebau habe ich mich jetzt etwas belesen und mich lässt eine Frage nicht los (die nichts mit dem Gehäuse, sondern dem angeborenen Optimierungstrieb zu tun hat). Könnte ich den MP3-Player um einen RFID-Leser erweitern? Würde das der ATTiny her geben? Also gleich vorweg: Ich weis, dass es den TonUINO gibt. Und nein, ich bin nicht sonderlich bewandert in Schaltungstechnik und schon garnicht in Programmierung. Aber ich hoffe, ich bin lernfähig. ;) Viele Grüße Hirschi
Hi Hirschi, rein technisch scheint's zu gehen (zumindest, wenn du einen RFID-Reader mit UART-Schnittstelle nimmst): https://thinksilicon.de/67/RFID-Tueroeffner-mit-Attiny.html Jenachdem von welcher Codebasis du sprichst, könnte die Speichergröße problematisch werden. Der Code des Players, der in diesem Thread beschrieben ist, belegt fast die kompletten verfügbaren 8kb des benutzten ATTiny85. Wenn du einfach an verrückten Sachen mit ATTiny und RFID interessiert bist, schau gern auch mal hier vorbei (da ist es allerdings ein ATTiny als RFID-Chip, nicht als Leser): https://trmm.net/AVR_RFID Grüße ghmartin77
Tim M. schrieb: > Hallo zusammen, > > nachdem ich hier immer fleissig mitlese, muss mich auch mal wieder > melden ;-) > > Meine beiden Player laufen problemlos nahezu täglich vor sich hin. > > Das Feature "Pause_on_Min_Volume" wollte ich nun updaten, bekomm es aber > nicht hin. Habe jetzt festgestellt, das alle Versionen seitdem #include > "DFMiniMp3.h" hinzugefügt wurde, bei mir nicht laufen :-( > Beim Beschreiben des Attiny bekomme ich keine Fehlermeldungen... > > Muss ich diese Datei irgendwo extra einbinden? Konnte das Problem immer noch nicht lösen. Hat noch jemand eine Idee was da schief läuft?
Hi Tim, welche Code-Basis (Git-Commit) läuft bei dir? Ist abe87ec341694533ee6e26d65714142059044a79 noch in Ordnung? Grüße ghmartin77
Öhm, wie bekomme ich das heraus? Wo steht das. Habe gerade nochmal bei den releases gestöbert. 1.0 läuft, 1.1 läuft nicht. Muss ich die DFMiniMp3.h irgendwie noch einbinden oder wo hinkopieren?
Hallo zusammen! Ich muss mich auch mal wieder melden. Hatte jemals jemand Erfolg beim Abspielen vom USB Speicher anstelle der SD Karte? Ich habe vieles ausprobiert. Das Abspielen funktioniert grundsätzlich auch, jedoch funktionieren die Funktionen Repeat, continuous Play und Play last at startup (oder wie die heissen) nicht. Der Player spielt egal wie die Einstellungen sind immer nur 1 track und verstummt danach. Im Code habe ich die PlaySource auf U gelegt. Hat jemand eine Idee woran dies liegen könnte? Liebe Grüsse David
Auf der GitHub-Seite unter Code -> Commits steht neben jedem Commit jeweils rechts eine Hexcode-Zeichenkette der Art "e15e9fc". Bei den Releases stets links am Rand daneben an einem "-o-"-Icon. Deine Aussage, dass 1.0 läuft hat aber schon gereicht. Habe die Features nach der 1.0 versuchsweise in den alten 1.0er-Code migriert, konnte leider aber nicht mehr als Compilier-Fähigkeit testen :) Probier mal bitte das angehängte File. Wenn du PAUSE_ON_MIN_VOLUME aktivieren willst, musst du noch in Zeile 26 die Kommentarzeichen "// " vor dem "#define" entfernen. Good Luck! Grüße ghmartin77
Jippiehhhh... GEHT DOCH!!! Da probier ich mir nen Wolf, und dann ist es so einfach... DANKE DIR! Scheint beim ersten Anhören auf meinem "Testplayer" problemlos zu laufen. Pause und Titel Dauerschleife funktioniert auch. Jetzt kann ich mir noch überlegen, ob oder wie ich die Powerbank beim Pausieren ausschalte. Da ich im "Testplayer" nen Potti verbaut hab, kann ich das aktuell schön einstellen. Beim Player vom Junior müsste da evtl. ne "Zeitschaltung" rein das die Powerbank nicht leergesaugt wird... mal schaun... Nochmals vielen DANK! Geiles Projekt!
David schrieb: > Hallo zusammen! Ich muss mich auch mal wieder melden. Hatte jemals > jemand Erfolg beim Abspielen vom USB Speicher anstelle der SD Karte? Ich > habe vieles ausprobiert. Das Abspielen funktioniert grundsätzlich auch, > jedoch funktionieren die Funktionen Repeat, continuous Play und Play > last at startup (oder wie die heissen) nicht. Der Player spielt egal wie > die Einstellungen sind immer nur 1 track und verstummt danach. Im Code > habe ich die PlaySource auf U gelegt. > Hat jemand eine Idee woran dies liegen könnte? Vielleicht ist meine Frage gestern zwischen der Problembearbeitung von Tim untergegangen. Darum frage ich nochmals. Hat jemand eine Idee wie ich das Abspielen von USB zum Funktionieren bringe? Danke und liebe Grüsse David
Hi David, hab's zwar noch nie mit USB probiert, aber eine schnelle Google-Suche nach DFPlayer und USB hat folgenden Treffer zu Tage gefördert: http://discourse.voss.earth/t/dfplayer-mini-mit-usb-stick-betreiben/1822 Vielleicht kannst du da was draus machen, zumindest klingt die Verhaltensbeschreibung sehr ähnlich zu deiner. Grüße ghmartin77
ghmartin77 schrieb: > Vielleicht kannst du da was draus machen, zumindest klingt die > Verhaltensbeschreibung sehr ähnlich zu deiner. Hallo Martin Danke füe diesen Tip. Ich habs versucht dies in den code zu intergrieren. Nun funktioniert das zuletzt gespielte beim einschalten spielen, fortlaufend abspielen und repeat1 geht leider immer noch nicht. Hast du noch eine Idee woran dies liegen könnte? Herzlichen Dank David
Hi David, ein paar Ideen hätte ich noch: 1) Du kannst mal die letzte Version der DFMiniMp3.h von hier nehmen: https://github.com/Makuna/DFMiniMp3 Da wurde -seitdem ich sie in den Player integriert hatte- noch ein bissel was geändert, u.a. in Bezug auf USB. Der Fix, der oben verlinkt war, ist auch bereits aufgenommen. Tipp: DfMp3_PlaySource_U heisst in der neuen Version DfMp3_PlaySource_Usb. 2) Falls das immer noch nicht geht, hilft folgendes vielleicht weiter. Anstarten eines Tracks nachdem ein vorheriger ausgelaufen ist (egal ob Repeat1 oder PlayNext), basiert auf der ausgelesenen Tracknummer, wenn der Track gestartet wird: https://github.com/ghmartin77/KidsMP3Player/blob/master/KidsMP3Player/KidsMP3Player.ino#L404 Wenn die ermittelte Zahl nicht stimmt, greift die Bedingung hier nicht und das Anstarten des nächsten/gleichen Tracks erfolgt nicht: https://github.com/ghmartin77/KidsMP3Player/blob/master/KidsMP3Player/KidsMP3Player.ino#L76 Die Spec vom Player (https://wiki.dfrobot.com/DFPlayer_Mini_SKU_DFR0299) listet u.a. folgende Commands: 0x4b - Queries the current track of TF card 0x4c - Queries the current track of U-Disk 0x4d - Queries the current track of Flash DFMiniMp3.h nutzt 0x4c, unabhängig von der gesetzten Playback-Source: https://github.com/Makuna/DFMiniMp3/blob/master/src/DFMiniMp3.h#L147 ...und funktioniert scheinbar für SD-Karten, auch wenn ich 0x4c oben als USB verstanden hätte... Da könnte man mal einen anderen Wert (0x4b oder 0x4d) ausprobieren. Gutes Gelingen... Grüße ghmartin77
Verlängerung vorangegangener Beitrag: #2 mit Wert 0x4b scheint mir vielversprechend. Siehe Implementierung dieser Lib: https://github.com/DFRobot/DFRobotDFPlayerMini/blob/master/DFRobotDFPlayerMini.cpp#L474 Grüße ghmartin77
ghmartin77 schrieb: > #2 mit Wert 0x4b scheint mir vielversprechend. Ich habe diesen Tip als erstes ausprobiert = Volltreffer! Ich bin dir unglaublich dankbar für deine Hilfe!
So du Zeit und Muße hast, könntest du angehängten Code mal probieren. Dann kann ich a) das Git-Repo aktualisieren und b) Makuna/DFMiniMp3 einen Fix zukommen lassen. Ich konnte mangels Hardware-Setup leider wieder nur "blind" implementieren :) Grüße ghmartin77
Ein kleiner Fehler hat sich allerdings wohl noch eingeschlichen. Wenn ich Repeat1 ein- bzw. ausschalte, spielt der laufende Track nach der Ansage nicht mehr weiter. Bei all den anderen Funktionen klappt es problemlos. Im Code finde ich in dem Abschnitt wo festgelegt wird welche Taste für welchen Befehl ist und welcher Sprachbefehl abgespielt wird keinen Unterschied bei den verschiedenen Funktionen. Hast du mir da auch noch einen Tip?
Ein kleiner Fehler hat sich allerdings wohl noch eingeschlichen. Wenn ich Repeat1 ein- bzw. ausschalte, spielt der laufende Track nach der Ansage nicht mehr weiter. Bei all den anderen Funktionen klappt es problemlos. Im Code finde ich in dem Abschnitt wo festgelegt wird welche Taste für welchen Befehl ist und welcher Sprachbefehl abgespielt wird keinen Unterschied bei den verschiedenen Funktionen. Hast du mir da auch noch einen Tip? ghmartin77 schrieb: > Ich konnte mangels Hardware-Setup leider wieder nur "blind" > implementieren :) Momentan habe ich leider die passende Hardware dazu auch nicht zur Hand. Der betroffene Player ist etwas erweitert zu deiner Ausgangsversion. Es läuft ein Arduino Nano mit 12 Playlisttasten und zusätzlich einer Ladestandsanzeige mittels rgb-LED.
David schrieb: > Wenn > ich Repeat1 ein- bzw. ausschalte, spielt der laufende Track nach der > Ansage nicht mehr weiter. Bei all den anderen Funktionen klappt es > problemlos. Ist das reproduzierbar? Klingt mir recht mysteriös, weil -wie du schon schreibst- der Code (zumindest im Original) auch für andere Feature-An/Aus-Knöppe der gleiche ist... Theorie anbei: Für die Ansagen wird abhängig vom Status des Players entweder playMp3 oder playAdvertisement aufgerufen. Letzteres im Falle, dass der Player im Status "Abspielen" ist. Das Fortsetzen des laufenden MP3s nach dem playAdvertisment macht der DFPlayer ganz allein. Wenn er das nicht tut, ist das entweder ein Bug der Hardware (halte ich für unwahrscheinlich), oder die vorgenannte status-basierte Weiche funktioniert nicht (immer). Da du einen Arduino einsetzt, kannst du preiswert ein paar Log-Ausgaben auf dessen Serial-Port schreiben: https://github.com/ghmartin77/KidsMP3Player/blob/master/KidsMP3Player/KidsMP3Player.ino#L177 Vielleicht kannst du dich damit rantasten, was die Ursache des Problems ist... Grüße ghmartin77
Hallo, ich habe ebenfalls Probleme mit dem DFPlayer Modul: - Ich kann zwischen den Verzeichnisen herumspringen und es werden die Lieder darin abgespielt - Mit einem Tastendruck kann ich im Ordner das nächste Lied auswählen - Allerdings wird immer das selbe Lied abgespielt, ich muss also manuell weiter klicken Ich habe es mit zwei DFPlayer Modulen probiert: MH3028M-24SS und AA1034CJ5M2U.1-94 (schwer zu lesen) Blaues "Licht", selbes verhalten Kommunikation findet statt: RX Pin DFPlayer 7E FF 06 0F 00 01 02 FE E9 EF 7E FF 06 4C 00 00 00 FE AF EF TX Pin DFPlayer 7E FF 06 4C 00 00 02 FE AD EF Zweiter Tastendruck RX Pin DFPlayer 7E FF 06 0F 00 01 01 FE EA EF 7E FF 06 4C 00 00 00 FE AF EF TX Pin DFPlayer 7E FF 06 4C 00 00 01 FE AE EF ATtinySerialOut-> 1.0.4 DFMiniMp3 ( Makuna?) 1.0.3 Mit AVR Dragon/AVR Studio geflasht 8Gb SD - Karte Continous play ist "aus" per Taster Ordner auf SD-Karte 01 bis 11; ADVERT und MP3 Dateinamen in den jweiligen Ordnern 001...00x.mp3; In ADVERT und MP3 4 - stellig Grüße Malte
Hallo Malte, die Beschreibung der Zusammenstellung der "Umgebung" ist sehr gut. Und die Darstellung der Bytes, die zwischen uC und DFPlayer hin- und herfließen, ist auch prima. Ich habe allerdings die Problembeschreibung noch nicht geschnallt. Malte schrieb: > - Ich kann zwischen den Verzeichnisen herumspringen und es werden die > Lieder darin abgespielt Das ist doch gut. Alle Lieder? Nur das erste? Wird zufällig irgendeins aus dem Ordner, der zur Taste gehört, abgespielt? > - Mit einem Tastendruck kann ich im Ordner das nächste Lied auswählen Das klingt doch auch erstmal gut, wenn das geht. Was ist "ein Tastendruck"? Hast du eine "Next"-Funktion auf eine Taste gelegt oder ist es ein erneuter Tastendruck für einen Track einer Playlist, die gerade läuft? > - Allerdings wird immer das selbe Lied abgespielt, ... Versteh ich nicht. Oben schreibst du, du kannst mit einem Tastendruck das nächste Lied auswählen... > ich muss also manuell weiter klicken Wenn "Continuous Play" aus ist, wie du oben schreibst, ist das doch auch richtig?! Beschreib bitte noch mal, was du tust (welche Knöpfe konkret du drückst), was du erwartest, was dann passieren sollte und was stattdessen tatsächlich passiert. Bitte auch bei der Kommunikation zwischen uC und DFPlayer einsortieren welche Byte-Kette bei welchem konkreten Tastendruck erfolgt... Danke! Grüße ghmartin77
Hallo, also am Code habe ich nichts geändert, also wie auf Github. Springe ich in ein Verzeichnis "3", so wird der zuletzt angewählte Titel (z.B. 001) selbstständig immer und immer wieder wiederholt bis ich eben die "3" drücke und das Lied 002 immer und immer wieder wiederholt abgespielt wird. Selbstständig wird das nächste Lied nicht angesprungen. Genau das Verhalten würde ich erwarten wenn eben "Continuos Play" aktiv ist. Aber durch längeres Drücken der Taste "1" kann ich das ja umschalten, ich bekomme auch eine entsprechende Bestätigung. Nach einem Neustart (Stromlos) wird auch wieder das zuletzt gespielte Lied abgespielt Hier die Kommunikation am DFPlayer angeschlossen, 7E FF habe ich weg gelassen (gibt es ein HTerm mit zwei Uart in einem Fenster? So, das der zeitliche Zusammenhand erhalten bleibt) Tastendruck 1: DFPLayer RX Pin: 06 0F 00 01 01 FE EA EF DFPLayer TX Pin: 06 4C 00 00 01 FE AE EF DFPLayer RX Pin: 06 4C 00 00 00 FE AF EF Ende Lied, gleiches Lied wird abgespielt: DFPLayer TX Pin 06 3D 00 00 01 FE BD EF DFPLayer TX Pin 06 3D 00 00 01 FE BD EF DFPLayer RX Pin 06 0F 00 01 01 FE EA EF DFPLayer RX Pin 06 4C 00 00 00 FE AF EF DFPLayer TX Pin 06 4C 00 00 01 FE AE EF Drücke ich eine andere Taste, so wird in dem entsprechenden Verzeichnis bei Lied 001 begonnen, ohne selbstständig das nächste zu starten. Grüße Malte
Das klingt mir nach "Repeat1 aktiv". Halte doch mal die Taste 4 für 2 Sekunden und schau, ob das "Problem" danach verschwindet... Grüße ghmartin77
Repeat ist bei deinem aktuellem GitHub Upload anscheinend vorausgewählt aktiv. War bei mir auch der Fall. Eine kleine Sache noch für's Archiv. Habe den Player mit einem Arduino Nano laufen. Bei einem ging das abspielen direkt nach Power On los, beim Anderen nicht. Durch einen Kreuztausch der Komponenten hat sich eindeutig den Arduino als Fehlerquelle raus gestellt. Nach einem komplett Löschen und Bootloader per ISP neu schreiben geht es auch mit diesem Arduino. Wer weiß was die Chinesen da drauf gespielt haben...
Ah, jetzt ergibt alles einen Sinn :) Die Konfiguration, ob diverse Features an oder aus sind (Repeat1, Continuous Play, ...), wird aus einem EEPROM-Byte ausgelesen. Da steht scheinbar je nach History des Chips unterschiedlicher Bit-Müll drin. Das führt dann zu solchen Effekten, dass zuweilen unerwünschte/unerwartete Konfiguration initial aktiv ist... @Malte: Dein Problem damit erklärt (und behoben)? Grüße ghmartin77
Hallo, ja -> erledigt. Das Problem saß vor dem PC. Ich hatte mir nur das User Manual angesehen und hatte mich auf Button 1 fixiert. Danke trotzdem für die Unterstützung. Grüße Malte
ghmartin77 schrieb: > So du Zeit und Muße hast, könntest du angehängten Code mal probieren. > Dann kann ich a) das Git-Repo aktualisieren und b) Makuna/DFMiniMp3 > einen Fix zukommen lassen. > > Ich konnte mangels Hardware-Setup leider wieder nur "blind" > implementieren :) > > Grüße > ghmartin77 Teste gerade den neuen Code mit der USB-Schnittstelle. Scheint jetzt alles zu funktionieren. Seit dem letzten Update funktionieren ebenfalls Player mit der "Roten-LED" (welche vorher bei mir gar nicht funktionierten) Bastel gerade am Player 2.0. Dieser bekommt einen kleinen Verstärker, Stereo Lautsprecher, USB, Line in und Kopfhöreranschluss.
Hat jemand Erfahrungen mit einem Verstärker am DFR0299? Habe diverse Verstärker getestet und immer laute Störgeräusche. Wie kann ich das unterbinden? Schließe ich den Heimkinoverstärker oder Aktivboxen dran, treten keine Störungen auf...
Tim schrieb: > Teste gerade den neuen Code mit der USB-Schnittstelle. > Scheint jetzt alles zu funktionieren. > > Seit dem letzten Update funktionieren ebenfalls Player mit der > "Roten-LED" > (welche vorher bei mir gar nicht funktionierten) Hi Tim, nur um sicherzugehen, bevor ich Murks ins GitHub-Repo committe: Du meinst die Version, die an diesem Beitrag anhängt, ja? Beitrag "Re: Projekt fertiggestellt: MP3 Player für Kinder auf ATTiny-Basis" Grüße ghmartin77
Richtig! Bisher ist mir kein bug aufgefallen!
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.