Modellbahn Forum Railroad24 Neu
Würden Sie gerne auf diese Nachricht reagieren? Erstellen Sie einen Account in wenigen Klicks oder loggen Sie sich ein, um fortzufahren.

Nach unten
BvL
BvL
Anzahl der Beiträge : 1238
Anmeldedatum : 07.05.19
Ort : Pfalz, bei Speyer
Moba-Kurz-Info : Märklin M-, K- u. C-Gleis, Roco H0e, Fahrzeuge aller Hersteller, Steuerung Piko SmartControl, FCS, Schwerpunkt Bauen
https://railroad24new.forumieren.de/t135-kleiner-streifzug

Arduino-, ESP-Programmierung und Co - Seite 2 Empty Re: Arduino-, ESP-Programmierung und Co

Mo 28 Nov 2022, 21:20
Hallo Hans,  

Hans schrieb:Habe ich Dich jetzt genug verwirrt?

JAAA !!!

Nein, Spaß beiseite.
Das bekomme ich jetzt auch noch hin.
Ich hätte mir nur zwischendurch in den Hintern beißen können weil ich etwas angefangen habe,
wovor ich mich mein ganzes Berufsleben lang erfolgreich drücken konnte.
Aber angefangen ist angefangen. Da muß man dann halt durch.
Dem nächsten Arduino-Einsatz sehe ich schon viel gelassener entgegen.
Danke für die Unterstützung.

Gruß,
Robert

HansK mag diesen Beitrag

HansK
HansK
Anzahl der Beiträge : 4365
Anmeldedatum : 26.04.19
Alter : 68
Ort : Westerwald
Moba-Kurz-Info : 3L-AC, CS3 + 2*MS1, digital fahren + schalten auf 5,7 m²
https://railroad24new.forumieren.de/t652-weiterbau-der-speicherb

Arduino-, ESP-Programmierung und Co - Seite 2 Empty Re: Arduino-, ESP-Programmierung und Co

Mo 28 Nov 2022, 23:54
Hallo zusammen,

Robert schrieb:Ich hätte mir nur zwischendurch in den Hintern beißen können weil ich etwas angefangen habe,
😇

Aber ich hätte da noch eine Idee: Mit Unterprogrammen könnte man das Programm kürzer und übersichtlicher machen.
Zu Unterprogrammen habe ich zwei hilfreiche Seiten gefunden:
Unterroutine in Arduino
und
ARDUINO - Unterprogramme

Das Ganze macht mir langsam Spaß, deshalb hier meine Version mit 2 neuen Unterprogrammen und Nachwippen beim Schließen und beim Öffnen:

Code:

void cabinets_above_A(){
     anheben(40, 130);            // Ersatz for-Schleife durch Unterprogramm bzw. Funktion

     // ab hier neuer Code eingefügt   Nachwippen, oben (nach öffnen)
     int X = 8;                  // Annahme X=8
     absenken(130, 130-X);         // erneut absenken um X
     anheben(130-X, 130);         // anheben, gleichen Weg wie vorher abgesenkt

     absenken(130, 130-(X/2));      // erneut absenken um X/2, also X/2=4
     anheben(130-(X/2), 130);      // anheben, gleichen Weg wie vorher abgesenkt

     absenken(130, 130-(X/4));      // erneut absenken um X/4, also X/4=2
     anheben(130-(X/4), 130);      // anheben, gleichen Weg wie vorher abgesenkt

     absenken(130, 130-(X/8));      // erneut absenken um X/8, also X/8=1
     anheben(130-(X/8), 130);      // anheben, gleichen Weg wie vorher abgesenkt

     anheben(40, 40+(X/8));         // erneut anheben um X/8, also X/8=1
     absenken(40+(X/8), 40);      // absenken, gleichen Weg wie vorher angehoben

     // Ende von "ab hier neuer Code eingefügt"
}

void cabinets_below_A(){  
     absenken(130, 40);         // Ersatz for-Schleife durch Unterprogramm bzw. Funktion

     // ab hier neuer Code eingefügt   Nachwippen, unten (nach schließen)
     int X = 8;                  // Annahme X=8
     anheben(40, 40+X);         // erneut anheben um X
     absenken(40+X, 40);         // absenken, gleichen Weg wie vorher angehoben

     anheben(40, 40+(X/2));         // erneut anheben um X/2, also X/2=4
     absenken(40+(X/2), 40);      // absenken, gleichen Weg wie vorher angehoben

     anheben(40, 40+(X/4));         // erneut anheben um X/4, also X/4=2
     absenken(40+(X/4), 40);      // absenken, gleichen Weg wie vorher angehoben

     anheben(40, 40+(X/8));         // erneut anheben um X/8, also X/8=1
     absenken(40+(X/8), 40);      // absenken, gleichen Weg wie vorher angehoben

     // Ende von "ab hier neuer Code eingefügt"
}

void anheben(int von, int bis){        // neues Unterprogramm bzw. Funktion bzw. Unterprogramm mit Übergabe-Parameter
     for (int i = von; i < bis; i++)       // anheben um X
     {
     servo_A.write(i);
     delay(10);
     }
}
void absenken(int von, int bis){      // neues Unterprogramm bzw. Funktion bzw. Unterprogramm mit Übergabe-Parameter
     for (int i = von; i > bis; i--)       // absenken
     {
     servo_A.write(i);
     delay(10);
     }
}
Den Rest bitte unverändert aus dem Kommentar vom 22 Nov 2022, 21:26 übernehmen. Die beiden "void cabinets_above_A()" und "void cabinets_below_A()" müssen getauscht werden und die beiden Unterprogramme "void anheben(int von, int bis)" und "void absenken(int von, int bis)" müssen eingefügt werden, z.B. nach dem Ende von "void cabinets_below_A()", also an der gleichen Stelle wie in meinem Code-Schnipsel. Es ist "im Prinzip" aber egal, wo die neuen Unterprogramme eingefügt werden.

Gruß aus dem Westerwald
Hans

BvL mag diesen Beitrag

BvL
BvL
Anzahl der Beiträge : 1238
Anmeldedatum : 07.05.19
Ort : Pfalz, bei Speyer
Moba-Kurz-Info : Märklin M-, K- u. C-Gleis, Roco H0e, Fahrzeuge aller Hersteller, Steuerung Piko SmartControl, FCS, Schwerpunkt Bauen
https://railroad24new.forumieren.de/t135-kleiner-streifzug

Arduino-, ESP-Programmierung und Co - Seite 2 Empty Re: Arduino-, ESP-Programmierung und Co

Di 29 Nov 2022, 21:31
Hallo Hans

ok, werd' ich ausprobieren.
Im Moment beschäftigt mich noch die "Hardware" für das Ganze.

Gruß,
Robert

HansK mag diesen Beitrag

Rothpe
Rothpe
Anzahl der Beiträge : 76
Anmeldedatum : 08.05.19
Alter : 61
Ort : Westerwald
Moba-Kurz-Info : H0, 3-Leiter Märklin digital, Redbox, Automatikbetrieb mit Rocrail

Arduino-, ESP-Programmierung und Co - Seite 2 Empty Re: Arduino-, ESP-Programmierung und Co

Mi 07 Dez 2022, 18:05
Hallo zusammen,

ja Horst das Thema entwickelt sich sehr gut.
Das Interesse der Kollegen gefällt mir.

Robert: Diesen Servo Motor kann ich empfehlen:

Link:  Servo Motor

Die Billigheimer sind für Dauerlast und präziser Steuerung nicht ausgelegt.
Ich benutze die auch nur zum Spielen.
Später kommen die o.g. dann in den Einsatz.

Viele Grüße

Peter

BvL mag diesen Beitrag

HansK
HansK
Anzahl der Beiträge : 4365
Anmeldedatum : 26.04.19
Alter : 68
Ort : Westerwald
Moba-Kurz-Info : 3L-AC, CS3 + 2*MS1, digital fahren + schalten auf 5,7 m²
https://railroad24new.forumieren.de/t652-weiterbau-der-speicherb

Arduino-, ESP-Programmierung und Co - Seite 2 Empty Re: Arduino-, ESP-Programmierung und Co

Fr 07 Apr 2023, 14:41
Hallo zusammen,

Robert schrieb:ok, werd' ich ausprobieren.

@Robert: Uuunnd? Hast Du es schon mal ausprobiert? Oder ist das mit der Hardware noch offen?

Gruß aus dem Westerwald
Hans
BvL
BvL
Anzahl der Beiträge : 1238
Anmeldedatum : 07.05.19
Ort : Pfalz, bei Speyer
Moba-Kurz-Info : Märklin M-, K- u. C-Gleis, Roco H0e, Fahrzeuge aller Hersteller, Steuerung Piko SmartControl, FCS, Schwerpunkt Bauen
https://railroad24new.forumieren.de/t135-kleiner-streifzug

Arduino-, ESP-Programmierung und Co - Seite 2 Empty Re: Arduino-, ESP-Programmierung und Co

Fr 07 Apr 2023, 21:24
Hallo Hans,

ja ich hab's ausprobiert. Hat auch funktioniert.
Ein paar Dinge mußte ich ändern (weiß spontan aber nicht mehr, was das war. Ist ja auch schon wieder vier Monate her scratch )
Allerdings gaben die o.g. Servos die Positionen beim Pendeln nicht zuverlässig wieder.
Mit 1° Schritten sind die überfordert. Mit Oberklasse-Servos funktionierte es. Aber da waren die anderen schon verbaut.
Die Funktion habe ich erstmal rausgenommen. Da mache ich mich wieder dran wenn Lust auf software aufkommt.
Bis dahin ist mir nur wichtig, daß der restliche Betriebsablauf klappt.
Außerdem fällt dieser Nachpendel-Gimmick unter die Rubrik: Das sieht ja doch wieder kein Schwein. Crying or Very sad

Gruß,
Robert

HansK und vsrsfrnk mögen diesen Beitrag

Gesponserte Inhalte

Arduino-, ESP-Programmierung und Co - Seite 2 Empty Re: Arduino-, ESP-Programmierung und Co

Nach oben
Befugnisse in diesem Forum
Sie können in diesem Forum nicht antworten