Hilfe zum Zusammenbau und Anpassung

Moin,
ich bin neu in dem Thema und hätte einige Fragen.
Zum Glück hat sich ein Thema schon erledigt mit einem anderen Nano und Software aufspielen.

Jetzt ist die Frage, gibt es gute Verbindungpläne, wenn man mehr als nur Standard haben möchte. Ich werde jetzt die Tage mal einen mit 5 Buttons aufbauen, erstmal nur stecken, gelötet wird wenn es funktioniert. Des Weiteren wollte ich dem Ganzen noch Bluetooth verpassen wegen Kopfhörer/ kann auch zusätzlich mit Buchse werden und das ganze auch autark mit Powerbank oder Akku, je nachdem was besser geht gerne vervollständigen und mit Anzeige wie voll Akku ist.
Muss man das Skript umändern und wenn wie? Leider sind meine Programmierkenntnisse gleich null. Dafür handwerklich geschickter. Nur leider stehe ich im Moment ziemlich auf dem Schlauch mit verkabeln.

Gruß Sabrina

Moin Sabrina,
herzlich willkommen zum TonUINO Projekt. Gerne begleiten wir Dich auf dem Weg zu Deinem Wunsch-TonUINO.
Für zielführende Ratschläge müssen wir allerdings wissen, „wo wir Dich abholen“ können.

Aus diesem Satz schließe ich, dass schon ein TonUINO mit 3 Buttons bei Dir läuft und Du „nur“ noch die Änderungen vom Standardmodell zum Luxusmodell benötigst..

Welchen Nano (Nano V3, Nano Every, Nano ESP32) hat Du verwendet ?
Das Basis-Projekt verwendet den Nano V3
Ist das ein Breadboard-Aufbau oder hast Du die Classic-Platine verwendet ?
Wie hast Du die Software aufgespielt (Online Programmer, Arduino IDE, Platformio)?

Um Deine Wünsche zu realisieren sind keine Programmierkenntnisse erforderlich, da die aktuelle Software diese Funktionen bereits enthält. Um sie nutzen zu können, ist nur eine Konfiguration der Software nötig, bei der einige Programmteile im Code „aktiviert“ werden.

Für Bluetooth und die Überwachung des Ladezustands vom Akku ist zusätzliche Hardware erforderlich, die ein wenig Elektronik-Bastelei erfordern könnte.

Bevor wir weiter machen, empfehle ich, die FAQs im Forum anzusehen und auch im „TonUINO Kompendium & Fehlersuche“ zu stöbern.
Vielleicht werden da ja schon einige Fragen beantwortet und „der Nebel“ lichtet sich etwas.

So. Nun kann ich antworten.

Ich habe folgenden, bei dem konnte ich die Software draufladen.

Dann habe ich den noch, dort kam immer nur die Fehlermeldung mit einem timeoutfehler.

Zwar will der Aufbau noch nicht richtig, also Knöpfe gehen nicht und der Reader, aber Musik kommt aus dem Lautsprecher. Für das brauche ich Ruhe und werde es versuchen.

Danke schon mal für die Hilfe.

Gruß Sabrina

OK, damit sollte dann die TonUINO Software auf dem Nano schon mal laufen.
Für das flashen der Software hast Du auch erfolgreich eine Verbindung zwischen Nano und PC herstellen können.
Diese Verbindung ist zusammen mit der Konsole das „Fenster zur Software“, so dass wir sehen können, was der Nano macht oder eben auch nicht.

|_   _|___ ___|  |  |     |   | |     |
  | | | . |   |  |  |-   -| | | |  |  |
  |_| |___|_|_|_____|_____|_|___|_____|
TonUINO Version 3.x - refactored by Boerge1


created by Thorsten Voß and licensed under GNU/GPL.
Information and contribution at https://tonuino.de.

V3.3.3 17.09.26
E 5
Ver:2
Vol:25 1 15 25 5 15
EQ:1
ST:5
IB:1
AL:0

AP:1111
PCR:0
MFRC522:178  --> erfolgreiche Verbindung zum Reader, Rückmeldung seiner Firmwareversion 178
Volume: 15
track_count: 235
enter Idle
timer started
btn/cmd: start/start
enqueue mp3 262 0
play mp3 262
isPlaying: 1
isPlaying: 0
isPlaying: 1
isPlaying: 0
Track end: 2

So sollte der Start des TonUINO aussehen, wenn alles funktioniert.
Wenn die Verbindung zum Reader nicht funktioniert, gibt es folgende Meldung:

MFRC522:0
com to mfrc broken

Wichtig dabei ist, dass die Spannungsversorgung zum Reader vom 3,3 V Pin des Arduino erfolgen muss. Eine Versorgung mit der allgemeinen 5 V Spannung verträgt er nicht.
Die LED auf dem Reader zeigt nur, dass Spannung anliegt, nicht ob die Spannung wirklich ausreicht (ev. nacmessen) oder der Reader selbst funktioniert - also zeimlich „doof“ die LED.

Ist die Verbindung zum DF-Player gestört, siehst Du folgendes:

Com to DFPlayer broken
track_count: 0

Es kann allerdings eine Weile dauern, bis die Meldung kommt, da der TonUINO eine ganze Weile lang versucht, die Verbindung herzustellen.

Den 1 kOhm Widerstand in die Datenleitung zum DF-Player hast Du eingebaut ? Ohne den klappt die Verbindung nicht !

Unabhängig davon, ob Reader und DF-Player korrekt erkannt werden, kannst Du auch die angeschlossenen Tasten prüfen, nachdem der Bootvorgang abgeschlossen ist (etwas Geduld, wenn Reader und / oder DF-Player nicht erkannt werden.).

Dann solltest Du bei jedem Tastendruck folgende Rückmeldung sehen:

btn/cmd: five/bright_down
btn/cmd: down/bright_down
btn/cmd: pause/pause
btn/cmd: up/bright_up
btn/cmd: four/bright_up

Bei meinem Demo-TonUINO ist es die 5-Tasten Version

Anhand der Konsolenausgabe können wir dann feststellen, wo die ersten Maßnahmen zur Fehlerbeseitigung ansetzen müssen.

Zum Schluss noch ein Verdrahtungsplan für einen ganz einfachen TonUINO

Moin,

früher konnte ich nicht an den Rechner dran.

So sieht gerade mein Probeaufbau an:

Und das hat die Konsole ausgeben:

Wenn ich es richtig von Ihnen verstanden habe, dann kann es sein, weil der DF-Player nicht verbunden ist, dass der defekt ist?

Gruß Sabrina

OK, Du verwendest also die Classic-Platine.

Nach Ausgabe der Konsole ist der DF-Player korrekt verbunden und funktioniert.

Da hast allerdings ein „com to mfrc broken“ im Log stehen. Das bedeutet, dass der Reader nicht erkannt wird.
Um das zu beseitigen solltest Du die Verkabelung nochmal peinlich genau überprüfen.
Wenn Du den Header selbst auf den Reader gelötet hast (und auch, wenn er fertig gelötet kam) solltest Du die Lötstellen auch einer äußerst genauen Prüfung unterziehen (auch auf Verunreinigungen oder Rückstände von Flussmittel).

Wenn Du ein Multimeter zur Verfügung hast, mit dem Durchgangsprüfungen möglich sind (sollte eigentlich jedes können), mach eine Durchgangsprüfung vom Lötpin des Arduino auf den Lötpin des Readers. Es hat auch schon Fälle gegeben, bei denen die Kabel nicht in Ordnung waren..

Bevor Du die Tasten (erfolgreich!) getestet hast, ist ein „DfPl Err: 6“ im Log ausgegeben worden.
Das bedeutet, dass die angeforderte Datei „262.mp3“ nicht auf der SD-Karte gefunden wurde.
Diese Datei ist ein „Pling“ als Startsound.

Hast Du ev. die SD-Karte nicht ordnungsgemäß gefüllt und es fehlen die Ordner „mp3“ und „advert“. Diese beiden Ordner enthalten Ansagetexte, über die der TonUINO mit dem User kommuniziert.
Siehe dazu „Befüllen der SD-Karte“ von @Gute_Laune und, um Probleme zu vermeiden, die SD-Karte keinesfalls größer als 32GB verwenden.

Wenn das alles gefixt ist, sollte beim Start nun das „Pling“ zu hören sein, auch dann, wenn der Reader vielleicht noch nicht funktioniert.

Danke NoBi für die vielen Tipps.

Jetzt läuft auf jedenfall schon mal das Grundgerüst.
Bei dem Mfrc war ich zu doof und habe die Verkabelung nicht nochmals gecheckt und natürlich alle Ports um 180° vertauscht. Die sind jetzt in der richtigen Reihenfolge und siehe da jetzt geht es.

Auf der SD-Karte sind jetzt auch die richtigen Ordner mit drauf. Hatte es gelesen aber leider wieder vergessen, dass sowas sein musste.

Ich sollte solche Projekte einfach nicht zwischen Tür und Angel machen, dann schleichen sich die dümmsten Fehler bei mir ein.

Aber jetzt läuft es ja schon mal als Basisgerüst und darauf bin ich auch schon stolz.

Gruß Sabrina

Stolz kannst Du auch gut d’rauf sein weil wir es recht zügig hinbekommen haben.

Dann muss das Ganze „nur“ noch ein Gehäuse bekommen. Da gibt es bestimmt viele Vorschläge und Ideen. Dabei solltest Du wissen und berücksichtigen, dass die Kommunikation zwischen Reader und Karte über magnetische Felder laufen und sich Metallteile in Nähe des Readers sehr störend auswirken - also d’ran denken bei der Gehäuseplanung,

Nachdem der 3-Tasten TonUINO nun läuft, ist eine Erweiterung auf 5 Tasten nur noch ein Kinderspiel.

Genauer anschauen müssen wir uns dann noch

  • die Stromversorgung mit dem Ein- / Ausschalter
  • die Anzeige des Ladezustandes
  • die Bluetooth Umsetzung
    Das sollten wir dann in einzelnen Schritten machen.

Kann mich dazu aber erst wieder am Do. melden.

Schon mal danke für die Hilfe so weit. Ich denke 5 Tasten wird gehen, sollte auch schnell gelötet sein.

Gehäuse ist schon gedruckt und mit sehr viel Platz drin. Also sollte nicht so viel Probleme auftauchen. Leider muss ich dort noch etwas nacharbeitet. Aber dafür ist nächste Woche mal Zeit, da ich vormittags ein paar Stunden Ruhe habe und sowas machen kann.

Gruß Sabrina

Für Deine weitere Planung gebe ich Dir nun noch ein paar Infos:

Ein / Aus-Schalter

einfacher mechanischer Schalter

als separates Bauteil mit oder ohne Kontroll-LED in der Plus-Leitung der Stromversorgung.
Benötigt eine zusätzliche Öffnung im Gehäuse.
Abschaltung über die Software des TonUINO nicht möglich.
Birgt die Gefahr des „Vergessens“ und damit unnötiger Entladung des Akkus.

elektronischer Schalter

Benötigt eine zusätzliche Baugruppe im Eigenbau (2 Transistoren, 2 Dioden und einige Widerstände) oder die Baugruppe POLOLU Schalter).
Der TonUINO kann damit durch langen Druck auf die Pause-Taste ein- oder ausgeschaltet werden.
Die Software des TonUINO kann das Gerät ausschalten (z.B. nach X Minuten der Nicht-Benutzung oder auch nach X Minuten über den Einschlaf-Timer)

Stromversorgung

Hierbei ist grundsätzlich zu beachten, dass der Arduino am Anschluss Vin eine deutlich höhere Spannung (9 - 12 V) als + 5 V benörigt. Wenn die Versorgungsspannung nur + 5 V betragen soll, muss über den Pin + 5 V eingespeist werden. Dieser Pin ist auch über die Classic-Platine zugänglich.

aus separaten Bauteilen (Akku, Ladeschaltung. Spannungsregler)

Eine Kombination aus separaten Teilen wird häufig verwendet, da hier dann ein LiFePO4 Akku eingestzt werden kann, der ein stark vermindertes Brandrisiko im Verhältnis zu LiPO Akkus hat, wie sie in Powerbanks verbaut werden.

mit Battery Shield oder Powerbank

eine Stromversorgung mit Battery Shield oder Powerbank stellt eine einfache und auch zuverlässige Stromversorgung dar, da bereits Ladeschaltung und Spannungsregler integriert sind.

Ladezustand (Anzeige / Kontrolle)

TonUINO akustische Anzeige

Der TonUINO kann die Batteriespannung messen und bei einem eingestellten Wert akustische Warnsignale (alle 30 Sekunden ein „Pling“) ausgeben. Dazu ist zwingend erforderlich, dass die Spannung direkt am Akku gemessen werden kann. Dies ist bei Verwendung von Powerbanks nicht möglich, ohne das Gehäuse der Powerbnk zu öffnen.

Powerbank (Battery Shield)

Die meisten Powerbanks (seltener Battery Shields) verfügen bereits über eine integrierte Ladezustandsanzeige in Form von LED-Ketten oder sogar Displays. Diese Anzeigen kann man durch geeignete Gehäuseausschnitte sichtbar machen. Bei einigen Konstruktionen wurden auch Lichtleiter eingesetzt, um eine LED-Signalisierung von außen sichtbar zu machen.
Bei Einsatz eines Battery Shields kann man im allgemeinen die Akkuspannung problemlos direkt abgreifen, da sie in der Regel über kein geschlossenes Gehäuse verfügen.

Bluetooth (Funktion / Steuerung)

Eine gute und erprobte Möglichkeit, den TonUINO bluetooth-fähig zu machen, ist eine kleine Baugruppe „KCX-BT-Emitter“ zu verwenden.
Bei Bluetooth-Betrieb sollte der interne Lautsprecher des TonUINO abgeschaltet werden, da es aus technischen Gründen zu einem leichten „Versatz“ des Audio-Signals vom TonUINO zum Ausgangssignal der Bluetooth-Baugruppe kommt und sich beides zugleich nur „schaurig“ anhört.
Anschluss dieser Baugrupe und damit auch die Steuerung kann auf unterschiedliche Art erfolgen:

mit separatem Schalter und extra Taster

Der Schalter übernimmt gleichzeitig 2 Funktionen:

  1. Einschalten der + 5 V Spannung für die KCX-Baugruppe
  2. gleichzeitiges Abschalten des internen Lautsprechers
    Der Tasten wird gegen GND geschaltet und stößt bei Bluetooth-Betrieb die Kopplung mit einem Kopfhörer / Lautsprecher an. Dies muss nur einmalig geschehen, da die KCX-Baugruppe sich das zuletzt gekoppelte Gerät „merkt“ und automatisch wieder verbindet.

mit einer Modifikationskare und / oder Taten des TonUINO

In der TonUINO Software ist eine Funktion enthalten, die es bei Aktivierung ermöglicht, die KCX-Baugruppe mit einer Modifikationskarte ein- und auszuschalten. Ein langer Druck auf die Pause-Taste im Wiedergabebetrieb stößt die Kopplung an.

Um diese Funktion nutzen zu können ist zusätzlich noch etwas Elektronik-Bastelei nötig. Es muss ein Schalttransistor für die + 5 V Spannungsversorgung der KCX-Baugruppe eingebaut werden und über eine Diode muss das Signal zur Kopplungsaufforderung vom Arduino an die Baugruppe gegeben werden.
Wenn man es ganz komfortabel und professionell haben möchte, kann man mit 4 weiteren Transistoren eine automatische Stummschaltung des Lautsprechers realisieren, die greift, sobald eine BT-Verbindung mit einem Lautsprecher / Kopfhörer hergestellt ist.

Das ist jetzt mehr Geschreibsel geworden, als ursprünglich beabsichtigt, hilft aber hoffentlich bei den Überlegungen der nächsten Schritte.

Danke für die vielen Informationen.
Der Pololu Schalter hört sich nach dem an, was für mich am interessantesten ist. Werde da mal weiter im Forum mich schlau machen.

Leider habe ich jetzt erst gesehen, dass ich mit den drei und auch fünf Tastern eine Fehlermeldung bekomme mit missing OnPlayFinished. Hoffentlich geht es zu beheben.

Gruß Sabrina

Moin Sabrina,
die Meldung „missing OnPlayfinished“ deutet auf ein Timing-Problem zwischen Arduino und DF-Player. Das kann unterschiedliche Ursachen haben, die aber allgemein recht einfach abzustellen sind:

  1. Einige Player verhalten sich „etwas zickig“, wenn die SD-Karte nicht exakt nach Anweisung formatiert und befüllt wurde.
  2. Es sind Player am Markt, die zwar (fast) dieselbe Bezeichnung haben, aber mit unterschiedlichen Decoder-Chips bestückt sind, die trotz versicherter Kompatibilität ein etwas anderes Zeitverhalten bei der Verarbeitung und Umsetzung von Befehlen des Arduino haben.
    Für die bekannten Decoder-Chips sind bereits entsprechende Anpassungen im Programmcode vorhanden, die nur entsprechend aktiviert werden müssen.

Für diese Anpassungen muss die Software aber individuell (mit Arduino IDE oder Platformio) compiliert werden. Die online-Versionen sind dazu nicht geeignet.

Weitere Hinweise zu den nächsten Schritten findest Du unter „missing OnPlayfinished“
Sollte das immer noch nicht ausreichen, ist auch eine direkte Anpassung des Timings möglich (dazu aber später).

Hallo.
Ich konnte heute mal dran und wollte die Software fertig machen für meinen Decoder Chip.
Leider bekomme ich dann folgende Fehlermeldung, wenn ich es kompiliere:

Schon mal danke

Gruß Sabrina

Welche Anpassung hast Du gemacht ??

Ich meine

TonUINO-TNG\src\chip_card.cpp:51:66: note: deduced return type only available with -std=c++14 or -std=gnu++14

wurde immer dann angezeigt wenn

nicht funktioniert hatte. Hast du danach neu gestartet?

Hi.
Also ich habe den Controller, Buttons und den DFPlayer definiert.

Also in der constants.hpp die 2 Schrägstriche vor den benötigten defines entfernt und vor den nicht (mehr) benötigten wieder eingefügt?
Die platform.local.txt hast Du auch in das entsprechende Verzeichnis kopiert, wie @Gute_Laune angemerkt hat?

In der readme.txt findest du den Pfad, wo du die Datei platform.lokal.txt hinkopieren musst. Die Datei selbst ist in dem Paket enthalten, das du dir heruntergeladen hast.

Guten Morgen.

So die txt Datei ist jetzt im richtigen Ordner. Bei einem Nano gibt es mir Fehler wegen zu wenig Arbeitsspeicher und bricht ab.
Bei einem anderen kann ich es aufspielen und bekomme in der Console das:

Danke für die liebe Hilfe.

Gruß Sabrina

Für mehr Hilfe benötigen wir mehr Information.
Lade bitte die komplette constants.hpp hoch (als vorformatierten Text mit </>) damit wir Deine Konfiguration und die Features sehen können