10 Sekunden Verzögerung bei schnellem Kartenwechsel (Affenboxfork)

Ich nochmal :smiley: Habe den Fork jetzt auf meinen nano every aufgespielt und soweit funktioniert auch alles, jedoch ist mir aufgefallen dass wenn ich eine Karte in einem schnelleren Rythmus entferne und wieder drauf lege ( 2 sekunden drauf, 3 sekunden weg dann wieder drauf ) es manchmal vorkommt dass die Karte nicht gelesen wird und ich ca. 10 sekunden warten muss bis er diese wieder erkennt… Ist das bekannt? Liegt dass an der Hardware dass die dann einfach nicht hinterher kommt?

Hast du Mal im seriellen Monitor geschaut, ob da Fehlermeldungen auftreten
? Es muss nicht zwingend am Reader liegen. Da kann es auch sein, dass der DF-PLAYER ein Problem hat. Ich habe erst kürzlich mit dem Every experimentiert und festgestellt, das das Ansprechen des df-Players über SoftwareSerial etwas problematisch ist. Nach Umstellung auf HadwareSerial läuft alles bestens. Wichtig, dazu musst du zwei Pins umlegen. Ist in meinem Beitrag beschrieben.

Habe jetzt mal im seriellen Monitor geschaut, es gibt keinerlei Fehlermeldungen, also wenn ich den Fehler reproduziere und kein Sound abgespielt wird, passiert auch im Monitor nichts…
Wäre in diesem Fall dann die Umstellung auf HardwareSerial sinnvoll?

Wie ist dein Aufbau Hardware mäßig ausgeführt? Verwendest du die Tonuino-Platine der Leiterkarten-Piraten? Dann würde ich dir vorschlagen dir eine Adapterplatine zu basteln, die du zwischen Every und die Tonuino-Platine steckst. Das ist am einfachsten
Ich schicke dir gleich Fotos, wie ich das gemacht habe. Wenn du bei SoftwareSerial bleiben willst, hilft eventuell ein zusätzliches delay im EndOfTrack Event. Musst du halt ausprobieren
Codezeilen folgen gleich.

Genau Tonunio Platte und auch der Player von leiterkarten-piraten…

Was hat EndOfTrack mit Karten swipen im Sekundentakt zu tun? Da spielt doch überhaupt kein Track zu Ende.

Hmm, war nur so eine Idee. Das Umstellen auf HardwareSerial erfordert ja erst mal etwas Bastelarbeit, falls maultasche das nicht machen möchte. ich schick ihm mal die Bilder, dann kann er selbst entscheiden.

1 „Gefällt mir“

Ja schick mir gerne mal die Bilder, vielleicht mache ich das mal… Zur allergrößten not hab ich noch nen v3 nano da, wollte es aber erstmal mit dem every versuchen
Mal ganz dumm gefragt: Kann das ganze auch am NFC-Tag liegen? Habe zurzeit nur die zwei welche beim reader mit dabei waren… Mittlerweile ist es echt ein Glücksspiel ob was erkannt wird oder nicht, fühlt sich für mich gerade immer mehr nach einem Hardware defekt an

So hier erst mal die Fotos von dem Adapter. Der ist so aufgebaut, dass alle Pins von der Buchsenleisten mit allen Pins der Steckerleisten 1:1 verbunden sind. Dazu aus einem Stück Kupferlitze feine einzelne Drähte nehmen und direkt vor dem Löten mit durch die Löcher stecken. Ist etwas fizelig, geht aber. Ausnahme sind die PINS 1,2,5 und 6. Die werden nicht 1:1 verbunden. Hier verbindest du Buchsenleiste PIN 1 mit Stiftleiste PIN 6, und Buchsenleiste PIN 2 mit Stiftleiste PIN 5. Damit werden die Pins für Hardwareserial1 vom Every auf die TX/RX Leitungen zum DF-Player gelegt.







Danke werde es mir aufjedenfall im Hinterkopf behalten!
Habe jetzt festgestellt mit einer anderen unprogrammierten Karte lässt sich der Fehler nicht reproduzieren… Liegt dann vielleicht doch an dem Tag an sich…?

OK. Trotzdem hier noch die Codeänderungen falls du es malprobieren möchtest.

Diese Codeteile sollten in allen Forks gleich sein, so dass du sie über Bearbeiten/suchen finden kannst.
Dann jeweils die Änderungen ausführen. Speichere vor den Änderungen den Code unter neuem Namen ab, dann bleibt dein alter Code erhalten.

Diesen Eintrag deaktivieren durch Kommentarzeichen //

#include <SoftwareSerial.h>

Diesen Eintrag deaktivieren durch Kommentarzeichen //
SoftwareSerial mySoftwareSerial(2, 3); // RX, TX // Digitalpins zur Steuerung des DF-Players

Diesen Eintrag deaktivieren durch Kommentarzeichen
static DFMiniMp3<SoftwareSerial, Mp3Notify> mp3(mySoftwareSerial);

Diesen Eintrag direkt darunter einfügen
static DFMiniMp3<HardwareSerial, Mp3Notify> mp3(Serial1);

Diesen Eintrag im Setup einfügen. Ist eventuell nicht nötig, musst du probieren
analogReference(INTERNAL2V5); // Festlegung der Referenz EVERY

1 „Gefällt mir“

Kurzes Update meinerseits: Es lag jetzt im Endeffekt tatsächlich an der mitgelieferten Karte & Chip vom RFID-reader… Habe mir jetzt neue geholt und diese funktionieren jetzt einwandfrei, damit lässt sich der Fehler nicht reproduzieren

2 „Gefällt mir“

… nun meine beiden Kleinen, beeinflussen damit die Zufallsauswahl, bis das richtige Lied kommt, natürlich nur wenn die Karte auf Zufallsausgabe angelegt ist :grinning:

@stephan sagt ja auch nicht, dass man nicht schnell hintereinander verschiedene Karten auflegt, sondern, dass der Player währenddessen keine Meldung sendet, dass ein Track zuende gespielt wurde.