Ich habe jetzt eine erweiterte Version auf Github eingestellt.
https://github.com/xfjx/TonUINO/issues/83
Hier sind erweiterte Menüs im Adminmenü enthalten.
Danke an @Jumi für die Anregungen zur Erweiterung der Lautstärkepresets und der Batteriespannungsüberwachung.
/****** Alternative Software *************
_____ _____ ___ ___ _______
|_ _|___ ___| | | | | | |
| | | . | | | |- -| | | | | |
|_| |___|_|_|_____|___|_|___|_____|
Based on TonUINO Version 2.1
created by Thorsten Voß and licensed under GNU/GPL.
Information and contribution at https://tonuino.de.
********* Always Queue ************************************
Version Thomas Lehnert
letzte Änderung 2020-10-30
!!!!! WICHTIG !!!!!!!!!!! WICHTIG !!!!!!!!!!! WICHTIG !!!!!!!!!!! WICHTIG !!!!!!
Wird diese Version auf einem Tonuino aufgespielt, der schon eine ältere Version
verwendet, muss beim ersten Start durch drücken der drei Tasten VOR ZURÜCK PLAY
ein RESET ausgeführt werden.
Damit werden die SETTINGS an die neue Software angepasst, sonst funktioniert es nicht.
Die Änderungen erfordern eine Neuordnung und das Hinzufügen von Dateien im advert und mp3 Ordner.
Bei download von Github die dieser Version beigefügten advert und mp3 Ordner verwenden.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
*************************************************************************************
Meine Änderungen ( Teilweise über " #define " wähl- oder abwählbar)
Leider können nicht alle Optionen gleichzeitig ausgewählt werden, da sonst der Speicher nicht ausreicht.
- Abschaltung über MOSFET oder Pololu-Switch, ShutDownPin - Low aktiv
- Der Powerdown Impuls wird verdoppelt zur sicheren Abschaltung über MosFet
- Unterstützung USB-Stick als Speichermedium
- USB-Powerschaltung über MOSFET - UsbPowerPin - High aktiv
- Animation mit LED-RGB-Ring, Ein- und Ausschaltbar über langen Druck Up + Down
- StandBy Timer auf 5 min voreingestellt und aktiviert
- Sleepmodus, Ausfaden der Lautstärke über die letzten 20 Sekunden. Standbytimer auf 1 Sekunde
- Sleepmodus, Neue Karte und Tasten ausser Play-Pause bis zum Ausschalten gesperrt
- Abschaltung der LED-Animation über Standbytimer zur Abschaltung Powerbank Software-only
- Verzögerte Zuschaltung des Lautsprechers beim Einschalten, über MOSFET (Unterdrückung Einschaltgeräusch)
- Lautsprecher wird bei angeschlossenem Kopfhörer über MOSFET abgeschaltet
- Die Pegel des Kopfhörer Sensors können über #define KHSensLOW umgestellt werden. LOW oder HIGH aktiv.
- Lautstärkeänderung verlangsamt. Besser zu händeln.
- Menülautstärke wird unabhängig von zuletzt eingestellter Lautstärke auf Startlautstärke gesetzt
- Reihenfolge der Funktionen im Adminmenü geändert, Ordner mp3 auf der SD Karte muss angepasst werden !!! Details siehe unten.
- Die Auswahloptionen im Adminmenü werden jetzt umlaufend durchgeschaltet.
D.h. ist die höchste Option erreicht, wird anschließend zu Option 1 weitergeschaltet. In Rückwärtsrichtung von 1 zu höchster Option.
- Bei der Ordnerauswahl werden nur noch die vorhandenen Ordner berücksichtigt. ( Funktioniert nicht mit allen DfMini Playern)
- Rechenaufgabe aus Schutzfunktion Adminmenü entfernt
- Feedback beim Beenden des Admin-Menues
- Feedback beim Schreiben von Karten und Konfigurieren der Shortcuts
- Feedback auch beim Konfigurieren "Neue Karte" ohne Benutzung des Adminmenüs
- Jingle beim Auflegen oder Entfernen der Modifikationskarten, Funktion wird weiter angesagt
- Hörbuchmodus, Fortschritt wird bei langem Druck der Pausetaste auf Track 1 zurückgesetzt
- Letzte gespielte Karte wird gespeichert und als Shortcut auf die Play-Taste gelegt
- TonUINO als Wecker. Ein Uhrenmodul schaltet den TonUINO ein und gibt ein Signal auf Analogpin A6
das das Abspielen eines Shortcuts als Wecksound startet.Konfiguration des Weckershortcuts im Adminmenü integriert.
- Wecker wird auch bei angeschlossenem Kopfhörer (Lautsprecher Aus), über den Lautsprecher abgespielt.
- Empfindlichkeit des RFID Lesers kann in der Initialisierung ( "mfrc522.PCD_Init()")geändert werden. Hier auf mittel gesetzt.
- Alle Abspielmodi arbeiten jetzt mit einer Queue (Playlist)- "Always queue".
- Die Queue in den Modi Party beginnen jetzt bei jedem Start mit einem anderen zufälligen Track.
- Die Queue in den Modi Party werden vor Neustart am Ende neu gemischt.
- Die Fehlercodes des DF-Players werden im seriellen Monitor im Klartext angezeigt.
- Die Batterie bzw. Akkuspannung kann überwacht werden. Bei Erreichen einer ersten Schwelle wird alle 30 sekunden
eine Warnung ausgegeben. Bei Erreichen der Entladeschlusspannung wird eine Warnung ausgegeben und der Tonuino ausgeschaltet.
- Die Messung der Batteriespannung wird durch Nutzung der internen Referenzspannung genauer.
- Weitestgehende Kürzung der Ausgaben über den Ser-Monitor zur Einsparung von Programmspeicher
************** Bug Fixes **********************************************************
- Fix, Letzte Karte auf Playtaste legen, alle Modi Spezial-von-bis, Start und Endtrack werden jetzt richtig gespeichert
- Fix, Bei Schutz des Adminmenüs NUR MIT KARTE hängt sich der Tonuino nicht mehr bei 3 Tastendruck auf
- Fix, ModKarte repeat single track. Rücktaste jetzt auch gesperrt.
- Fix, ModKarte repeat single track. Im Partymodus wird jetzt der richtige aktuelle Titel abgespielt.
- Fix, Spezialmodus Von-Bis-Album, Vor- Rücktasten bleiben jetzt im definierten Ordnerbereich.
- Fix, Reset beim Einschalten. TonUINO auf default-Werte rücksetzen funktioniert jetzt.
- Fix, Standby-Timer wird jetzt auch bei Abbruch des Adminmenüs gestartet.
- Fix, Bei nicht beendetem Adminmenü wird nach 2 min Inaktivität (TimeOut) das Adminmenü automatische beendet
und der Tonuino ausgeschaltet.
- Fix, Codeanpassung an Bibliothek Df-Player mini Version 1.06 . und höher !!! Diese muss installiert sein !!!
************* Änderungen im Adminmenü *********************************************************
- Das Durchschalten der Optionen erfolgt jetzt umlaufend. Vorwärts und auch rückwärts
- Die Reihenfolge der Menüpunkte wurde verändert.
- Die Menüstruktur wurde verändert und mehrere Untermenüs hinzugefügt.
- Die Presets für die Lautstärke wurden um Presets für den Kopfhörer erweitert.
- Die Einstellungen für den EQ wurden in das Untermenü der Lautstärkeeinsellungen integriert.
- Im Adminmenü läuft eine Timeoutfunktion, die nach 2 Minuten Inaktivität das Adminmenü beendet und
den Tonuino ausschaltet. Das Timeout funktioniert jetzt auch wenn auf das Auflegen einer Karte gewartet wird.
Bei Nichtauflegen einer angeforderten Karte, wird nach Ablauf der Timeoutzeit der Tonuino abgeschaltet.
- Die Änderungen erfordern eine Neuordnung und das Hinzufügen von Dateien im advert und mp3 Ordner.
Bei download von Github die dieser Version beigefügten advert und mp3 Ordner verwenden.
**************************************************************************************************/
// ***************** Auswahl der Zusatzfunktionen ************************************************
// uncomment or comment the " #define .... " to enable or disable the additional function
// -----------------------------------------------------------------------------------------------
#define HW_PowerOff // Abschaltung über Hardware, wie Mosfet oder Pololu-Switch
// Hardwareerweiterung erforderlich. Mosfet oder Pololu-Switch
// -----------------------------------------------------------------------------------------------
//#define FIVEBUTTONS // 5 Tasten support
// In diesem Modus kann die Batterieüberwachung nicht verwendet werden
// da A4 von dieser verwendet wird, oder der PrüfPin muss umdeklariert werden.
// -----------------------------------------------------------------------------------------------
//#define LED_SR // LED Animation mit Neopixel LED-Ring oder Strip
// Hardwareerweiterung erforderlich: (Neopixel Strip oder Ring)
#ifdef LED_SR
#define LED_COUNT 12 // Anzahl an LEDs im Ring oder Strip. Kann hier angepasst werden.
#define LED_SR_Switch // Möglichkeit die LED-Animation über gleichzeitigen langen Druck
#endif // der Up-Down Tasten ein- und auszuschalten
// ------------------------------------------------------------------------------------------------
//#define USB-Stick // An Stelle der SD-Karte arbeitet der DF-Player mit einem USB-Stick
// Hardwareerweiterung erforderlich: (USB - A Buchse am DF-Player angeschlossen)
// TonUINO reagiert deutlich träger je nach USB-Stick und df-Player !!!
// ------------------------------------------------------------------------------------------------
#define SpkOnOff // Aus und Einschalten des Lautsprechers über MOSFET's
// zur Unterdrückung des Einschaltgeräusches und
// Möglichkeit der Abschaltung beim Anschluss eines Kopfhörers
// Hardwareerweiterung erforderlich: (Abschaltung des Lautsprechers über MOS-FET's)
// ------------------------------------------------------------------------------------------------
#define EarPhone // Abschaltung des Lautsprechers über Software, wenn Kopfhörer angeschlossen sind
#ifdef EarPhone // Hardwareerweiterung erforderlich: (Kopfhöerbuchse mit Schaltkontakten, oder Kopfhöreranschlussplatine)
#ifndef SpkOnOff // wenn SpkOnOff nicht aktiviert ist, wird diese Funktion automatisch mit aktiviert
#define SpkOnOff // Hardwareerweiterung erforderlich: (Abschaltung des Lautsprechers über MOS-FET's)
#endif // Die Startlautstärken werden getrennt über das Adminmenü voreingestellt.
#endif // Die letzten Laustärken werden getrennt bis zum Abschalten temporär gespeichert.
// ------------------------------------------------------------------------------------------------
#define KHSensLOW // Der Sensorpegel für den Kopfhörer ist bei eingestecktem Kopfhörer LOW
// Wenn der Sensorpegel bei eingestecktem Kopfhörer HIGH ist, define deaktivieren
// ------------------------------------------------------------------------------------------------
//#define Wecker // Über ein externes Weckeruhrwerk wird eine Weckfunktion aktiviert
// TonUINO wird eingeschaltet und ein vordefinierter Shortcut als Wecker abgespielt
#ifdef Wecker // Der Dialog zum Erstellen des Weckershortcuts wird im Adminmenü aktiviert.
#ifndef SpkOnOff // wenn SpkOnOff nicht aktiviert ist, wird diese Funktion automatisch mit aktiviert
#define SpkOnOff // Hardwareerweiterung erforderlich: (Abschaltung des Lautsprechers über MOS-FET's)
#endif
#endif
// ------------------------------------------------------------------------------------------------
// Bei Leseproblemen des RFID Lesers kann die Leseempfindlichkeit verändert werden.
#define NFCgain_avg // Mittlere Empfindlichkeit RFID Leser - Default wert
//#define NFCgain_max // Maximale Empfindlichkeit RFID Leser
//#define NFCgain_min // Minimale Empfindlichkeit RFID Leser
// ------------------------------------------------------------------------------------------------
// Kann nur im 3 Tasten-Modus verwendet werden, da AnalogPin A4 im 5 Tastenmodus belegt ist.
//#define BattControl // Die Akkuspannung wird überwacht und bei Unterschreiten vom 1. festgelegten Wert
// wird eine Warnung ausgegeben und bei Unterschreiten des minWertes wird der Tonuino
// ausgeschaltet. Vor Abschalten wird die Lautstärke der Widergabe ausgefadet.
// Hardwareerweiterung erforderlich (Batteriespannung muss bei ausgeschaltetem Tonuino
// vom Eingang des Arduino getrennt sein. (MosFet oder Relais)
// ------------------------------------------------------------------------------------------------
#define CountFolders // Die Anzahl der Ordner des Speichermediums im DfPlayer wird ermittelt
// und als Begrenzung bei der Ordnerauswahl verwendet.
// Abhängig vom Chipsatz des DfPlayers ist die Funktion nicht immer verfügbar.
// Dann deaktivieren ! Es werden dann wieder die Funktionen des Originalcodes verwendet.
// Getestet mit MH-ETLive, IL AA19 und YX5200 24SS - und funktioniert.
// ------------------------------------------------------------------------------------------------
#define LastCard // Die zuletzt gespielte Karte wird als Shortcut auf die Pause-Taste gelegt
// Shortcuts, Startsound und Weckersound werden dabei nicht berücksichtigt
// Ein zuvor über das Adminmenü konfigurierter Shortcut der Pause-Taste wird überschrieben
// ------------------------------------------------------------------------------------------------
#define HB_Reset // Durch langen Druck der Pausetaste wird im Abspielmodus Hörbuch
// der Fortschritt des Hörbuches auf Anfang zurückgesetzt
// ------------------------------------------------------------------------------------------------
#define DebugDfPlayer // Uncomment for debugging DfPlayer, Errormessages -> Console
// ------------------------------------------------------------------------------------------------
// ************************************************************************************************