Brauche Hilfe bei einem Projekt.

Hallo liebe Community,

ich hab schon lange nichts mehr mit Arduino gemacht und versuche jetzt seit ca 2 Wochen wieder rein zu kommen.
Ich war noch nie wirklich der pro, aber man lernt ja nie aus =).

Mein Projekt sieht wie folgt aus:

Ich möchte eine Maske mit Stimmenverzerrer und LED Matrix als Augen.
Die Idee kommt von hier: - Link -
Aus Platzmangel bleibt der Mund weg, dafür will ich aber bicolore LED Matrix für die Augen.

Die Maske soll folgendes können:

  1. Stimme verzerren
  2. Mit einem Potentiometer die Stimmlage ändern.
  3. Die Augen sollen bei einem Pitch von <=511 grün leuchten und bei einem Pitch von >511 rot. (Passende bicolore LED Matrix hab ich schon bestellt.
  4. Augen sollen sich ab und zu random bewegen. zB Blinzeln oder zur seite schauen.

Was ich bis jetzt habe:
Das Waveshield habe ich schon zusammengebaut/gelötet und mit einem kleinen Creative Lautsprecher zum laufen gebracht.
Mit dem keypad lassen sich auch wie in der Beschreibung verschiedene WAV Dateien abspielen.
Die Stimme lässt sich perfekt mit einem Potentiometer verstellen, muss aber mit einer Taste auf dem keypad resetet werden, damit der pitch aktuallisiert wird.

LED Matrix kommt noch.

Mein Aktuelles Problem:

Hier mal das Sketch:
-Link-

Ich hab als erstes versucht den Pitch in Echtzeit zu ändern, da es nervt immer eine taste drücken zu müssen, geht aber nicht (Steht auch im Tutorial), oder meine Arduino Kenntnisse sind zu beschränkt.
Wollte dann meinen Wert vom Potentiometer auslesen lassen, in Echtzeit, und immer wenn der Poti die 511 Grenze über-
oder unterschreitet soll ein Reset folgen (startPitchShift()).
Hat aber nicht verfunktioniert.
Dann hab ich versucht einen Wert X mit millis bis 5000 zählen zu lassen um dann zu reseten.
Ging auch nicht. Über 116 ist x im Monitoring nicht gekommen.

Kann mir vllt jemand sagen wie ich das verwirklichen kann?
Die stimme/Der pitch muss sich nicht in Echtzeit ändern können aber der reset sollte mit einer Bedinung an den poti verknüpft sein.
Am besten ein auslesen des Potentiometer in diesem Sketch.
Den Wert des Potis brauche ich später dann auch für die LED Matrix.

Das Fertige Projekt kriegt ihr dann natürlich vor Halloween, wenn es denn fertig ist, auch in voller Pracht zu sehen :D.

Hoffe Ihr könnt mir im laufe dieses projektes helfen.

MfG
Benno

Über 116 ist x im Monitoring nicht gekommen.

-->Wie sieht denn der dazugehörige Schaltplan aus? Ist dies auch der höchste erreichbare Wert, wenn Du einfach nur einen Sketch zum Auslesen des Potis drauf hast?

Wollte dann meinen Wert vom Potentiometer auslesen lassen, in Echtzeit, und immer wenn der Poti die 511 Grenze über- oder unterschreitet soll ein Reset folgen (startPitchShift()).

-->Auf Anhieb klingt das so ganz richtig, an Deiner Stelle würde ich eine eigene Funktion schreiben, in der zuerst geprüft wird, ob gerade ein Soundfile abgespielt wird.... wenn nicht, dann Potiwert auslesen und mit dem zuletzt gespeicherten Wert vergleichen. Wenn der Abstand zu groß ist, dann der Reset. Aber wenn Du schreibst, dass 116 höchstens ausgelesen werden kann, und 511 als Grenze (oder nötiger Abstand?) für einen Reset nötig ist, dann kann es ja nicht funktionieren.