Marco's Affenbox Fork

Ich habe das Problem mit dem Timer und dem damit zusammenhängenden ausgeschaltenen Verstärker gelöst.
Leider ist github gerade down… Deshalb kann ich den Quellcode gerade nicht hochladen.

Jetzt ist es verfügbar

1 „Gefällt mir“

Ich danke Dir!
Werde ich morgen testen und melde mich.

Gruß Stefan

So…gute Neuigkeiten!

Ich kann etwas hören und auch Musik abspielen.
Danke für den nächtlichen Build :+1:

Jetzt muss ich nur noch verstehen warum der Drehgeber die Lautstärke nicht verändert.
Im Debug Monitor zeigt er auch nichts an. 3,3V und GND liegen an. Egal ob ich ihn an A1(<) und A2(>) anschließe oder anders herum. Es passiert nichts. Auch bei A3 und A4 funkioniert nichts.

Nochmal zur Erläuterung:

So sollte der Drehregler verdrahtet werden:
EDIT: CLK und DT waren im vorherigen Bild veratuscht, das ist die korrekte Belegung in Verbindung der weiter unten aufgelisteten Einstellung.
3,3V kann man an zwei Stellen abgreifen, deshalb die gestrichelte Linie. Entweder den einen oder den anderen Anschluss verwenden.

Diese Bibliotheken müssen bei Verwendung der Arduino IDE installiert werden:
Ace Button zur allgemeinen verwendung der Buttons:


Encoder für den Drehencoder

In der Configuration.h müssen dann folgende Dinge anpasst werden:

//#define FIVEBUTTONS FIVEBUTTONS
muss deaktivert werden, weil der Drehencoder die Taster 4&5 ersetzt.

#define ROTARY_ENCODER
Das muss aktivert werden, da es die Drehencoderfunktion aktivert.

Zur genaueren Analyse weiterer Fehler bitte folgende defines aktivieren:

#define ROTARY_ENCODER_PRINT
#define DEBUG

Falls die Drehrichtung falsch erkannt werden sollte, kann man entweder Pin A und B am Encoder umstecken oder man tauscht die Pinzuweisung in der Configuration.h

#define ROTARY_ENCODER_PIN_A 
#define ROTARY_ENCODER_PIN_B

Es kann auch sein das je nach Encoder die einzelnen Steps nicht richtig erkannt werden. Er also pro Klick mehr oder weniger als eine Srufe hoch zählt, dann muss diese define geändert werden:
#define ROTARY_ENCODER_STEPS 4

EDIT:
Wenn man in den seriellen Monitor schaut nachdem man die Ausgaben aktiviert hat, sollte folgendes erscheinen:

2 „Gefällt mir“

Läuft jetzt!

Frag mich allerdings nicht warum. Habe nichts geändert außer den Speicher nochmal genullt und GND jetzt vom Button Board genommen. Vorher hatte ich GND von der AIO Platine direkt.

Vielen vielen Dank an Dich Marco für Deinen Support!

1 „Gefällt mir“

Hier weider ein neues Release.
Tut mir leid aber meine Testing kapazitäten sind sehr begrenzt und es tauchen doch mehr Fehler auf als erwartet.

Es gibt in dem Rotary Encoder noch einen Fehler, der den Tonuino lahm legt, wenn die Debugausgaben deaktiviert sind.

Und es ist eine neue Funktion dazu gekommen.
Es gibt nun die Möglichkeit Pause und Shut Down zu trennen. Dazu gibt es das neue
#define buttonPower A0
Wenn ihr das aktiviert, dann könnt ihr den eigentlichen Pausebutteon an der AiO nur zum Ein-/Ausschalten verwenden. Pause kann man dann z.B. auf WS(D6) am Button Board legen
#define buttonPause 6
Das kann bei der Verwendung des Rotary Encoder ganz interresant sein, wenn man z.B. dessen eingebauten Taster nutzen will. Allerdings braucht man dann einen separten Taster für das Ein-/Ausschalten.

Alles funktioniert! Jippieh! :grinning_face_with_smiling_eyes: :hugs: vielen Dank!

1 „Gefällt mir“

Bei mir funktioniert nun auch alles.
Der SW vom Encoder durfte bei mir nicht auf A0, da scheinbar der Schalter dann immer mehr oder weniger aktiv ist und die Platine herunterfährt.

Auch hier Dankeschön für deinen Support Marco. PS das Problem mit dem Drücken des Schalters ist nun auch weg.

1 „Gefällt mir“

Hi,
ich habe gerade die Hardware von meinem ersten TonUINO fertiggestellt. Sehr simpel: AiO Platine, das Starterkit von AZ Delivery und 5 Knöpfe mit dem Adapter angeschlossen.

Jetzt wollte ich gerne den Affenbox-Fork als Software verwenden. Dazu habe ich den Source Code der aktuellsten Version (2.12) heruntergeladen. Wenn ich jetzt auf in der Arduino IDE auf Überprüfen/Kompilieren gehe, beschwert der Compiler sich aber darüber, dass er keine AceButton.h Datei findet.

Kann mir hier jemand einen Tipp geben bzw. gibt es irgendwo schon eine Anleitung, wie man mit dem ganzen flashen von Software, etc. beginnt. Ich bin in Sachen Arduino bzw. Tonuino programmieren absoluter Anfänger.

Sorry, falls ich hier auch eine redundante Frage stelle, habe aber leider jetzt nichts passendes gefunden.

Ganz vielen Dank bereits für Eure hilfreichen Antworten.

Du musst die AceButton Bibliothek herunterladen.
Dazu klickst du oben auf SketchBibliothek einbindenBibliotheken verwalten. In dem Fenster suchst du nun nacheinander nach den verwendeten Bibliotheken und klickst auf installieren.
Wenn du da nach AceButton suchst, kannst du das installieren

1 „Gefällt mir“

Danke für die Antwort @Gute_Laune.

Das ist echt ein riesen Manko dieser ArduinoIDE, dass es nich Möglich ist im code die Bibliotheken automatisch herunter laden zu lassen.

Ich werde demnächst eine kleine Kurzanleitung mit in das Release packen. Sonst ist das immer frustrierend wenn etwas nicht gleich läuft.

1 „Gefällt mir“

Vielen Dank für die schnelle Antwort. Das hat funktioniert und das Kompilieren hat funktioniert. Dann schaue ich mal, ob ich das jetzt auf die Platine geflasht bekomme.

Hi,

erstmal vielen Dank für die Mühe die du @marco-117 in das ganze gesteckt hast. Die aktuelle Version hat wirklich viele tolle Funktionen!
Bei mir funktioniert der Krabbler-Modus leider nicht in Verbindung mit der „Wenn Karte weg anhalten“-Funktion. Ist das so vorgesehen, oder sollte das eigentlich klappen?

Viele Grüße
Johannes

Hallo Johannes, kannst du das genauer beschreiben, was nicht funktioniert?
Dann versuch ich das zu reproduzieren.

Hi Marco,
danke für die schnelle Rückmeldung!
Wenn ich den Krabbel-Modus aktiviere kommt der Signalton. Wenn dann eine Karte aufgelegt wird reagiert der Tonuino nicht darauf (im „Wenn Karte weg anhalten“-Modus)

Ich denke der Fehler ist in der pauseAction()-Funktion. Diese braucht ähnlich wie in der handleCardReader()-Funktion eine Option um abzufragen ob mySettings.stopWhenCardAway == true.
Bzw. ist das nicht ganz richtig, es muss quasi abgefragt werden, ob der Aufruf aus der handleCardReader()-Funktion kommt && ob gilt mySettings.stopWhenCardAway == true. Ansonsten wird der Button vermutlich auch funktionieren, und das ist ja nicht erwünscht.
Denn die pauseAction()-Funktion wird zwar korrekt aufgerufen, läuft dann aber nach der Modifier-Abfrage direkt in ein return rein. Soll ich ein Pull-Request stellen, oder möchtest du das lieber selbst beheben?
image

Update: Ich habe das ganze behoben und werde nachher einen Pull-Request erstellen. Eine Sache die mir noch aufgefallen ist: Im Karte-weg-stoppen-Modus werden die Signaltöne nach auflegen einer Modifier-Karte beim späteren auflegen einer Medien-Karte erneut abgespielt. Ich schau mir das nachher mal an, ob ich herausfinde woran es liegt :slight_smile:

Danke für deine Mühe.

Ich werde es leider erst nächste Woche schaffen, das in den Code zu übernehmen. Bin übers WE nicht zu Hause.

Klar, gerne!
Eilt ja nicht, bei mir läufts ja jetzt erstmal mit meinen Anpassungen.