Forum

Einloggen | Registrieren | RSS  

Arduino Programmierung "speciale" (Elektronik)

verfasst von grindstone(R) E-Mail, Ruhrpott, 14.02.2026, 19:40 Uhr
(editiert von grindstone am 14.02.2026 um 21:11)

» Da DIR immer auf HIGH geblieben ist, habe ich diesen Ausgang am Ende der
» jeweiligen Impuls-Unterprogramme auf LOW gesetzt.
Das kannst du machen, notwendig ist es aber nicht. DIR wird jeweils vor Beginn der Bewegung auf den richtigen Wert gesetzt. Solange keine Taktimpulse ausgegeben werden, ist der Pegel von DIR nicht von Belang.

» Allerdings ist die Pausenzeit nur beim Ersten PULS 1ms, alle weiteren haben
» 2ms.
Eigentlich sollte die Pause zwischen zwei Taktimpulsen um die 100ms liegen, entsprechend der Konstante "schrittmotortakt" im Header. Irgendwas läuft da noch nicht so, wie es soll. Hast du den Vergleichsoperator in der markierten Zeile korrigiert?

while (motorschritte > 0) { // vorgewählte anzahl von schritten ausgeben
impulslaenge = schrittmotortakt; // wartezeit zwischen zwei motorschritten
digitalWrite(clkPin, HIGH); // taktimpuls
digitalWrite(clkPin, LOW);
motorschritte--; // schritte herunterzählen
while (impulslaenge > 0) { // impulslänge abwarten
if (zeitmerken != millis()) { // timer hat weitergezählt <<<<<<<<< so ist es korrekt <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
------------------- ^^^
impulslaenge--; // wartezeit herunterzählen
zeitmerken = millis(); //neuen timerwert merken
}
}
}

»
» Ansonsten funktioniert der Automatik-Modus wie gewünscht. Die Anzahl der
» Impulse entsprechend BCD-Schalter stimmt auch auffallend.
Dann habe ich ja scheinbar richtig geraten. :-D

»
» Nur der Hand-Modus schaltet sich nicht ab...
Die Zeile

while(digitalRead(handPin == 1)) { // impulse ausgeben, solange taste gedrückt ist

ist auch nicht ganz korrekt. Richtig muss es heißen

while(digitalRead(handPin == HIGH)) { // impulse ausgeben, solange taste gedrückt ist

Die "0" für "LOW" bei den anderen "digitalRead"-Abfragen ist ebenfalls nicht korrekt, die scheint der Arduino allerdings richtig auszuwerten.

EDIT: Hier eine bereinigte und korrigierte Version des Programms. Die Zeitschleifen habe ich auch etwas vereinfacht.

https://www.elektronik-kompendium.de/forum/upload/20260214202307.ino

--
Es ist unter der Würde eines Technikers, die Gebrauchsanweisung zu lesen!



Gesamter Thread:

Arduino Programmierung "speciale" - Offroad GTI(R), 17.11.2025, 11:59 (Elektronik)
Arduino Programmierung "speciale" - bigdie(R), 17.11.2025, 19:26
Arduino Programmierung "speciale" - bastelix(R), 17.11.2025, 23:29
Arduino Programmierung "speciale" - bigdie(R), 18.11.2025, 07:46
Arduino Programmierung "speciale" - Offroad GTI(R), 18.11.2025, 08:33
Arduino Programmierung "speciale" - bastelix(R), 18.11.2025, 22:30
Arduino Programmierung "speciale" - bastelix(R), 18.11.2025, 22:14
Arduino Programmierung "speciale" - grindstone(R), 18.11.2025, 12:20
Arduino Programmierung "speciale" - Offroad GTI(R), 18.11.2025, 13:17
Arduino Programmierung "speciale" - grindstone(R), 18.11.2025, 14:19
Arduino Programmierung "speciale" - Offroad GTI(R), 18.11.2025, 14:55
Arduino Programmierung "speciale" - grindstone(R), 18.11.2025, 14:57
Arduino Programmierung "speciale" - Offroad GTI(R), 18.11.2025, 15:10
Arduino Programmierung "speciale" - grindstone(R), 18.11.2025, 17:18
Arduino Programmierung "speciale" - Offroad GTI(R), 18.11.2025, 18:35
Arduino Programmierung "speciale" - grindstone(R), 19.11.2025, 09:30
Arduino Programmierung "speciale" - Offroad GTI(R), 19.11.2025, 11:20
Arduino Programmierung "speciale" - grindstone(R), 20.11.2025, 11:11
Arduino Programmierung "speciale" - Offroad GTI(R), 20.11.2025, 13:08
Arduino Programmierung "speciale" - Offroad GTI(R), 27.11.2025, 10:40
Arduino Programmierung "speciale" - grindstone(R), 27.11.2025, 13:25
Arduino Programmierung "speciale" - Offroad GTI(R), 27.11.2025, 14:03
Arduino Programmierung "speciale" - grindstone(R), 27.11.2025, 14:44
Arduino Programmierung "speciale" - Offroad GTI(R), 27.11.2025, 15:17
Arduino Programmierung "speciale" - grindstone(R), 27.11.2025, 18:25
Arduino Programmierung "speciale" - Offroad GTI(R), 27.11.2025, 18:36
Arduino Programmierung "speciale" - grindstone(R), 29.11.2025, 12:52
Arduino Programmierung "speciale" - Offroad GTI(R), 29.11.2025, 18:51
Arduino Programmierung "speciale" - grindstone(R), 15.12.2025, 17:14
Arduino Programmierung "speciale" - Offroad GTI(R), 16.12.2025, 13:45
Arduino Programmierung "speciale" - Offroad GTI(R), 19.12.2025, 19:25
Arduino Programmierung "speciale" - grindstone(R), 20.12.2025, 12:05
Arduino Programmierung "speciale" - Offroad GTI(R), 06.01.2026, 18:43
Arduino Programmierung "speciale" - grindstone(R), 03.02.2026, 17:43
Arduino Programmierung "speciale" - Offroad GTI(R), 04.02.2026, 15:21
Arduino Programmierung "speciale" - grindstone(R), 04.02.2026, 18:24
Arduino Programmierung "speciale" - Offroad GTI(R), 07.02.2026, 10:10
Arduino Programmierung "speciale" - grindstone(R), 07.02.2026, 13:45
Arduino Programmierung "speciale" - Offroad GTI(R), 07.02.2026, 16:55
Arduino Programmierung "speciale" - grindstone(R), 07.02.2026, 19:07
Arduino Programmierung "speciale" - Offroad GTI(R), 08.02.2026, 19:11
Arduino Programmierung "speciale" - grindstone(R), 08.02.2026, 20:25
Arduino Programmierung "speciale" - Offroad GTI(R), 11.02.2026, 18:43
Arduino Programmierung "speciale" - grindstone(R), 11.02.2026, 23:07
Arduino Programmierung "speciale" - Offroad GTI(R), 12.02.2026, 10:08
Arduino Programmierung "speciale" - grindstone(R), 12.02.2026, 12:12
Arduino Programmierung "speciale" - grindstone(R), 13.02.2026, 00:33
Arduino Programmierung "speciale" - Offroad GTI(R), 13.02.2026, 17:36
Arduino Programmierung "speciale" - grindstone(R), 13.02.2026, 19:08
Arduino Programmierung "speciale" - Offroad GTI(R), 14.02.2026, 18:06
Arduino Programmierung "speciale" - grindstone(R), 14.02.2026, 19:40
Arduino Programmierung "speciale" - Offroad GTI(R), 16.02.2026, 19:03
Arduino Programmierung "speciale" - grindstone(R), 16.02.2026, 23:59
Arduino Programmierung "speciale" - Offroad GTI(R), 17.02.2026, 18:44