Arduino Potentiometer?

1 Antwort

Was Du bisher hast, sind Basics um einen Eingang einzulesen und damit 1:1 einen Ausgang zu steuern. Das bringt Dich aber hier nicht zielführend weiter.

Du willst, nehme ich an, mit dem Poti ein Mischverhältnis einstellen (z.B. Cola/Fanta) und wenn Du "Mezzo" drückst, soll das eingestellte Mischverhältnis gemäß Poti gemischt werden? Und dann noch für div andere Mischgetränke das gleiche? Und immer nur zwei Flüssigkeiten in Abhängigkeit des gleichen Poti?

RareDevil  20.06.2023, 22:03

Oder soll das Poti die Getränkeauswahl einstellen und Du hast nur einen Startknopf? Also du wählst mit dem Poti zwischen "Cola", "Fanta", "Mezzo" oder "Wasser" und per Knopfdruck wird dann das gewählte Getränk ausgegeben/gemischt?

0
Toppflpflanzli 
Fragesteller
 21.06.2023, 16:21
@RareDevil

Wenn der poti einen bestimmten Wert hat dann sollen bei einem Wert beide Pumpen gleichzeitig laufen sobald man den Knopf drückt und wenn dann z.B ein anderer Wert ist dann soll eine Pumpe z.B 10sek laufen und die andere 5sek um eben die Mischverhältniss hinzubekommen

0
RareDevil  22.06.2023, 06:17
@Toppflpflanzli

Joa, dann musst Du mit dem Taster ein Programm starten, welches dann mit Auswertung der Potistellung das Mischverhältnis einstellt. Entweder machst Du das mit den Pumpen nacheinander, also erst die eine Pumpe, dann die andere. Das wöre etwas einfacher, da Du Delay nutzen kannst. Oder, wenn die immer gleichzeitig laufen sollen, musst Du eigene Timer verwenden/schreiben, und auf Delay verzichten. Delay hält nämlich das Programm an, bis die Wartezeit abgelaufen ist. In der Zeit reagiert der µC auf gar nichts.

Den Analgowert liest Du ein und nutzt das für interne Berechnungen zur Verhältnisrechnung. Du bekommst einen Wert 0-1023 vom Analogeingang. 0 wäre also volle Zeit Pumpe 1, und 1023 volle Zeit Pumpe 2. Du musst erst einmal die Zeit haben, die eine Pume braucht, um die Füllmenge zu erreichen. z.B. 15sek bzw 15000ms. Ist das Poti auf 300, so läuft Pumpe1 dann 300/1023 von 15000ms. Die Restzeit läuft Pumpe 2, Also 15000-Ergebnis. Das kannst Du alles in Variablen setzen und beim Delay dann hinterlegen.

Mit dem Taster musst Du jetzt dafür sorgen, dass eine If startet, wo dann die Schritte alle inkludiert sind. Also bei Start erst einlesen, Zeiten berechnen und speichern, Pumpe1 ein, Zeit abwarten, Pumpe1 aus, Pumpe2 ein, andere Zeit abwarten, Pumpe2 wieder aus.

Das ist so rel leicht zu lösen.

0