Drehpotentiometer haben ja die Unart, zu zittern.
Man kann zwar einiges durchs "smoothen" in der Software regeln, aber irgendwie reicht es bei meinem Projekt nicht.
Nun soll ja durch das Einsetzen von Kondensatoren o.Ä. das Problem Hardwareseitig behoben werden zu können.
Bei mir geht es speziell um 8 Drehpotis, 10KOhm, unter 3,3 V Anschluss.
Ihre Werte "mappe" ich runter auf 0 - 127 zur Ausgabe.
Alle Potis an analogen Pins.
Mag mir jemand verraten, welche Art von Hardware ich wo Einsetzen sollte, um das "Zittern" zu unterbinden?
Ich tut mir grad etwas schwer den Sketch zu lesen... wo kommt die Toleranz her?
Ich würde das so ähnlich wie beim Entprellen eines Tasters machen. Schau wie schnell die schnellste Änderung sein soll und packen das in eine Fadingfunktion, wo mit entsprechenden millis() für die einzelnen Schritte der zu verarbeitende Werte dem gemessenen Wert nachgezogen wird.
Mit Hardware kann man es auch probieren- pack eine in Gummigelagerte größere Masse auf die Potiwelle...
static int lastReading;
int reading = analogRead(POTI_PIN);
if (reading > lastReading + 10 || reading < lastReading - 10) {
lastReading = reading;
//Poti Code hier....
}
Heist als in meinem Fall muss sich das Poti mehr als 10 bewegt werden, einzelne Schwankungen kommen da nicht durch, die Hysterese kannst du auch runtersetzten, so 3 sollte auch genügend sein.