Go Down

Topic: Teensy 3.2 Griffbrett Scanner (Gitarre) (Read 483 times) previous topic - next topic

MicroBahner

Spannungsquelle wäre besser, dann wäre der Strom proportional zum aktuellen Widerstand.
Nein, denn genau dazu braucht's die Stromquelle. Die sorgt für einen konstanten Strom.
Nur mit Vorwiderstand verteilen sich die Spannungswerte nicht gleichmäßig, und können teilweise sehr dicht beieinanderliegen, was die Auswertung erschwert.
Gruß, Franz-Peter

MicroBahner

Die andere Frage wäre:
Ist es Schaltungstechnisch überhaupt irgenwie denkbar / machbar auf diese Widerstände gleichzeitig auch mit weiteren Analog PIN`s zuzugreifen ?
Wenn ja , - wie (zB durch entkoppeln mit Dioden ?) ?
Welchen Sinn soll das machen, bzw. was versprichst Du dir davon?
Gruß, Franz-Peter

DrDiettrich

Mir ist diese Diskussion langsam zu dumm. Wer die Auswertung mit der vorgegebenen Schaltung nicht hinbekommt, soll's eben bleiben lassen, aber nicht behaupten, daß es so nicht ginge.

stingray05

Im Link befindet sich am Ende Müll:
http://www.do-it-neat.com/arduino-mehrere-schalter-abfragen-ueber-einen-analogeingang/http://

Die im Artikel genannten acht Taster scheinen mir plausibel, habe ich aber bislang noch nicht selbst getestet.

Oh sorry, hier ist der richtige LINK

agmue

Die Anzahl der Taster wird wesentlich durch die Bauteiletoleranzen und die Umgebungstemperaturschwankungen bestimmt. Auch ist der Innenwiderstand des analogen Eingangs Fertigungstoleranzen unterworfen. Daher würde ich bei vielen Tastern eine Porterweiterung wie MCP23017 oder MCP23S17 in Erwägung ziehen.
Wahnsinn und Verstand trennt nur eine dünne Wand. (Daniel Düsentrieb)

SpaghettiCode

#20
Oct 18, 2019, 05:22 pm Last Edit: Oct 18, 2019, 05:22 pm by SpaghettiCode
Hi,

der einfachere Weg dürfte ein "R-2R resistor ladder" sein (Google).
Dann bauchst Du nur 2 Widerstandswerte, um eine Kette aufzubauen.



Gruß André

HotSystems

Welchen Sinn soll das machen, bzw. was versprichst Du dir davon?
Hallo TO, warum gehst du auf diese Frage nicht ein ?
Ich sehe das ebenfalls als Sinnlos.
Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. 8)

stingray05

Welchen Sinn soll das machen, bzw. was versprichst Du dir davon?
Hi alle, Hi MicroBahner,

denke ich muss versuchen etwas weiter auszuholen bevor ich hier völlig mißverstanden werde:

Es geht im Kern der Sache um eine Art "Griffbret Scanner" für eine Gitarre.
Damit lassen sich durch das greifen der Bundstäbchen auf den entsprechenden Saiten Midinoten auslösen.
Solche Systeme gibts es zwar bereits bei sehr wenigen Anbietern - sind dann mit dem Instrument drumherum aber auch Schweineteuer.


Das Problem an der Sache ist das dazu normalerweise unterteilte Bundstäbchen verwendet werden müssten (siehe Anhang).
Dabei funktioniert die jeweilige Saite, mit dem Bund in dem sie gegriffen wird, bei Kontakt mit dem jeweiligen Bundstäbchen zusammen als Schalter (weitgehend Latenzfrei)!

Das lässt sich dann wie eine Matrix, Bund und Saitenweise getrennt (ähnlich wie beim Keyboard) auslesen.
Leider sind diese unterteilten Bundstäbchen nirgends erhältlich... Selbst anfertigen mit den verfügbaren Möglichkeiten weitgehend unmöglich...


Bei dem einen oder anderen Anbieter sind allerding keinerlei unterteilte Bundstäbchen zu erkennen.

Das wirft die Frage auf wie die Informationen zu den jeweils gegriffenen Saiten dann erkannt werden
können ? Denn es können ja auch mehrere Saiten / Bünde gleichzeitig gegriffen werden...

Ich bin nicht der einzige der sich mit dieser Frage beschäftigt hat, - siehe Anhang Fretscanner.jpg
(dieser Ansatz ist allerdings nicht von mir).

Deshalb meine Vermutung (und die Frage zum entkoppeln der AnalogInputs), ob und wie es Schaltungsseitig dann möglich ist, eine Reihenschaltung von Widerständen so abzufragen das dass gleichzeitig auch mit mehreren Analog Inputs funktioniert ...


Würde mich dazu über weitere Inputs freuen - vielleicht gibts dazu ja auch nen völlig anderen Ansatz ?!

Grüsse

HotSystems

.....
Würde mich dazu über weitere Inputs freuen - vielleicht gibts dazu ja auch nen völlig anderen Ansatz ?!
Ich bin sicher nicht der Musikexperte, aber dein beschriebenes Konstrukt würde ich als Matrix an digitalen Eingängen aufbauen und nicht mittels der Widerstandsreihenschaltung. Dazu verwendest du dann einen schon vorgeschlagenen I2C-Portexpander.
Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. 8)

MicroBahner

#24
Oct 18, 2019, 06:13 pm Last Edit: Oct 18, 2019, 06:13 pm by MicroBahner
Auch nach dieser ganzen Erklärung erschließt sich mir nicht, was Du mit mehreren Analogeingängen willst.

Das erste Bild ist ganz einfach eine Matrix der 'Schalter'. Das erscheint auch mir der vielversprechendste Weg. Du musst ja auch immer nur das Bündchen erkennen, dass am weitesten Richtung Steg Kontakt gibt.
Gruß, Franz-Peter

agmue

Bei Fretscanner werden nur digitale Ausgänge und Eingänge verwendet. Das scheint mir ein vernüftiger Ansatz, wenn eine Saite immer nur genau ein Bundstäbchen berührt.

Nun tute ich ins selbe Horn, aber nun ja :)

Der Teensy 3.5 hat noch mehr Pins, wenn Du welche brauchst.
Wahnsinn und Verstand trennt nur eine dünne Wand. (Daniel Düsentrieb)

MicroBahner

Das scheint mir ein vernüftiger Ansatz, wenn eine Saite immer nur genau ein Bundstäbchen berührt.
Wenn ich's mir recht überlege, ist das wohl das Problem. Es werden eigentlich immer mindestens 2 Bundstäbchen berührt. Ohne Trennung der Bundstäbchen wird's wohl schwierig.
Gruß, Franz-Peter

stingray05

Auch nach dieser ganzen Erklärung erschließt sich mir nicht, was Du mit mehreren Analogeingängen willst.

Das erste Bild ist ganz einfach eine Matrix der 'Schalter'. Das erscheint auch mir der vielversprechendste Weg. Du musst ja auch immer nur das Bündchen erkennen, dass am weitesten Richtung Steg Kontakt gibt.
Einen Teensy 3.5 hätte ich hier noch liegen, - löst das Problem aber ebenfalls nicht...


Ich hatte mir das mit mehreren Analogeingängen ungefähr so vorgestellt (allerdings noch nicht zu Ende Gedacht...):

Die erste Saite ist zB auf A0 angeschlossen, die zweite auf A1, die dritte auf A2 usw.
Damit wären wenigstens mal die Saiten getrennt angeschlossen.
Die Bünde selber (sind nicht unterteilt), wie im ersten Bild, mit Widerständen per Reihenschaltung verbunden.

Was fehlt ist die Möglichkeit aus diesen Informationen eine genaue Erfassung der gegriffenen Bünde zu ermöglichen (ohne dabei zwingend Geteilte Bundstäbchen verwenden zu müssen)...


Das dass auch so funktioniert sieht man im folgenden LINK.
Geteilte Bundstäbchen kann ich dort nicht erkennen.
Muss also Schaltungsseitig auch mit den normalen Bundstäbchen irgendwie funktionieren...

Laut Specifikationen arbeitet das Instrument aus dem Link übrigens mit einem Clock Speed von lediglich 16 MHz und 4KB Memory ...


Um beim Bild mit der Schalter Matrix zu bleiben:
Angenommen die erste Saite würde im 2. Bund gegriffen und die zweite Saite ebenfalls,- dann würde ich an dieser Stelle A0 direkt mit A1 zusammenschalten...



Grüsse


stingray05

Ich bin sicher nicht der Musikexperte, aber dein beschriebenes Konstrukt würde ich als Matrix an digitalen Eingängen aufbauen und nicht mittels der Widerstandsreihenschaltung. Dazu verwendest du dann einen schon vorgeschlagenen I2C-Portexpander.

Hi Hotsystems,

danke für den Tipp !

Wenn ich das mit den PortExpandern richtig verstehe würde dabei ein Digitales Signal benötigt.
Das hätte ich aber nur dann wenn ich jeden Bund (zB mittels geteilter Bundstäbchen) auch einzeln
abfragen könnte.
Genau da liegt das Problem !
Geteilte Bundstäbchen sind leider nicht vorhanden, und auch nicht zu bekommen.

Die Inputs des PortExpanders müssten auf jeden geteilten Bund verkabelt werden.
6 Saiten a 20-24 Bünde (je nach Instrument) ergäbe dann 120 - 144 einzelne Strippen die durch den Gitarrenhals laufen müssten...  

Eine Analoge Erfassung mittels Reihenschaltung von Widerständen wäre da schon die deutlich bessere Alternative.
Hier käme man im günstigsten Fall mit einer Strippe für den AnalogInput hin (sofern das ohne geteilte Bundstäbchen machbar wäre).

Im ungünstigsten Fall mit geteilten Bundstäbchen, käme man mit einem Analogeingang pro Saite (also
max 6 Strippen) aus.


Ich suche also nach einer Möglichkeit den gegriffenen Bund jeder Saite (ohne geteilte Bundstäbchen)
mit Hilfe einer Reihenschaltung von Widerständen und dem zusätzlichen Erfassen der einzelnen Saiten auszuwerten...

Grüsse

MicroBahner

Das dass auch so funktioniert sieht man im folgenden LINK.
Geteilte Bundstäbchen kann ich dort nicht erkennen.
Muss also Schaltungsseitig auch mit den normalen Bundstäbchen irgendwie funktionieren...
Aber nicht mit so einer 'primitiven' Technik. Im verlinkten Beispiel ist das ganze fest in die Gitarre verbaut, und erkennt auch noch eine ganze Reihe anderer Effekte, z.B. das 'Ziehen' der Saiten. Das geht nicht so einfach, da steckt mMn mehr dahinter. Hat ja wohl auch 8 Jahre Entwicklungszeit gebraucht ( Ok, Werbung... aber ein 'Bastelprojekt' war es sicher nicht ). Das kannst Du also nicht als 'Vorbild' hernehmen.

Ohne geteilte Bundstäbchen wirst Du bei der angesprochenen Technik - egal ob rein digital, oder analog mit Widerstandsleitern - immer das Problem haben, dass Du u.U. einen Kurzschluß zwischen 2 Saiten produziert, und dann kannst Du das eben nicht mehr auseinanderhalten. Polyphones Spiel ist da nicht drin.

Bei einer Widerstandsleiter könnte man das ganze auch noch optimieren, da Du ja immer nur den am nächsten zum Steg gelegenen Kontakt erkennen must. Das sind ganz andere Voraussetzungen als Du in deinem Eingangspost angesprochen hast. Auch wieder ein Problem, wenn man die Katze nicht gleich aus dem Sack lässt. Die ersten 20 Posts hätte man sich sparen können.

Gruß, Franz-Peter

Go Up