Blinderadleryt
Mitglied
Hallo zusammen, ich betreibe bei meinem Baggermodell die meisten Relais bzw Ottokoppler über Arduino und wollte mal wissen ob ich alle Ausgänge am Arduino mit "digitalwrite" nutzen kann
Ich lese überall das ein paar Ausgänge für PWM ausgelegt sind, aber ich gehe nur mit PWM rein und brauche an aus als Ausgang
....bin hier echt Leihe was das betrifft und wunder mich das bei mir überhaupt was klickt ^^
Aktuell habe ich 4 Ventile fürs fahren darüber gesteuert und lese mein PWM Singnal aus........2 Schalter also zb oben,oben ist vorwärts, unten,unten ist rückwärts usw......und über ein Servo schiebe ich dann erst über das Steuerventil das Hydrauliköl in den Kreislauf
Jetzt wollte ich noch weitere Ottokoppler ansteuern für Benzinmotor Anlasser Start, Aus, Licht Stellung 1 dann 2 und Hupe und wer sich auskennt, vielleicht nur die Info ob der Sketch von mir für den Arduino so richtig geschrieben ist
Besonders Augenmerk auf den letzten Teil mit Ventil 11 und 12....dort will ich einen Schalter bei Stellung oben ( weniger als 1150 Counts ) auf aus haben, in der Mitte soll er Relais 1 anziehen für normales Licht und bei Stellung 2 soll er beide Relais anziehen für normales Licht plus Licht am Ausleger....so der Plan....sei denn ich hab den falsch geschrieben....vielleicht hilft mir hier auch jemand, danke schonmal ^^
Hier der Sketch:
int poti0 = A0;
int Ventil2 = 2;
int Ventil4 = 4;
int poti1 = A1;
int Ventil7 = 7;
int Ventil8 = 8;
int poti2 = A2;
int Ventil5 = 5;
int Ventil6 = 6;
int poti3 = A3;
int Ventil11 = 11;
int Ventil12 = 12;
void setup() {
pinMode(A0, INPUT);
digitalWrite(Ventil2, HIGH);
digitalWrite(Ventil4, HIGH);
pinMode(Ventil2, OUTPUT);
pinMode(Ventil4, OUTPUT);
pinMode(A1, INPUT);
digitalWrite(Ventil7, HIGH);
digitalWrite(Ventil8, HIGH);
pinMode(Ventil7, OUTPUT);
pinMode(Ventil8, OUTPUT);
pinMode(A2, INPUT);
digitalWrite(Ventil5, HIGH);
digitalWrite(Ventil6, HIGH);
pinMode(Ventil5, OUTPUT);
pinMode(Ventil6, OUTPUT);
pinMode(A3, INPUT);
digitalWrite(Ventil11, HIGH);
digitalWrite(Ventil12, HIGH);
pinMode(Ventil11, OUTPUT);
pinMode(Ventil12, OUTPUT);
}
void loop() {
poti0 = pulseIn(A0, HIGH);
delay(10);
digitalWrite(Ventil2, HIGH);
if (poti0 < 1750);
else
digitalWrite(Ventil2, LOW);
delay(10);
digitalWrite(Ventil4, HIGH);
if (poti0 > 1150);
else
digitalWrite(Ventil4, LOW);
delay(10);
poti1 = pulseIn(A1, HIGH);
delay(10);
digitalWrite(Ventil7, HIGH);
if (poti1 < 1750);
else
digitalWrite(Ventil7, LOW);
delay(10);
digitalWrite(Ventil8, HIGH);
if (poti1 > 1150);
else
digitalWrite(Ventil8, LOW);
delay(10);
poti2 = pulseIn(A2, HIGH);
delay(10);
digitalWrite(Ventil5, HIGH);
if (poti2 < 1750);
else
digitalWrite(Ventil5, LOW);
delay(10);
digitalWrite(Ventil6, HIGH);
if (poti2 > 1150);
else
digitalWrite(Ventil6, LOW);
delay(10);
poti3 = pulseIn(A3, HIGH);
delay(10);
digitalWrite(Ventil11, HIGH);
if (poti3 > 1150);
if (poti3 < 1750);
else
digitalWrite(Ventil11, LOW);
delay(10);
digitalWrite(Ventil11, HIGH);
digitalWrite(Ventil12, HIGH);
if (poti3 > 1750);
else
digitalWrite(Ventil12, LOW);
delay(10);
}
Ich lese überall das ein paar Ausgänge für PWM ausgelegt sind, aber ich gehe nur mit PWM rein und brauche an aus als Ausgang
Aktuell habe ich 4 Ventile fürs fahren darüber gesteuert und lese mein PWM Singnal aus........2 Schalter also zb oben,oben ist vorwärts, unten,unten ist rückwärts usw......und über ein Servo schiebe ich dann erst über das Steuerventil das Hydrauliköl in den Kreislauf
Jetzt wollte ich noch weitere Ottokoppler ansteuern für Benzinmotor Anlasser Start, Aus, Licht Stellung 1 dann 2 und Hupe und wer sich auskennt, vielleicht nur die Info ob der Sketch von mir für den Arduino so richtig geschrieben ist
Besonders Augenmerk auf den letzten Teil mit Ventil 11 und 12....dort will ich einen Schalter bei Stellung oben ( weniger als 1150 Counts ) auf aus haben, in der Mitte soll er Relais 1 anziehen für normales Licht und bei Stellung 2 soll er beide Relais anziehen für normales Licht plus Licht am Ausleger....so der Plan....sei denn ich hab den falsch geschrieben....vielleicht hilft mir hier auch jemand, danke schonmal ^^
Hier der Sketch:
int poti0 = A0;
int Ventil2 = 2;
int Ventil4 = 4;
int poti1 = A1;
int Ventil7 = 7;
int Ventil8 = 8;
int poti2 = A2;
int Ventil5 = 5;
int Ventil6 = 6;
int poti3 = A3;
int Ventil11 = 11;
int Ventil12 = 12;
void setup() {
pinMode(A0, INPUT);
digitalWrite(Ventil2, HIGH);
digitalWrite(Ventil4, HIGH);
pinMode(Ventil2, OUTPUT);
pinMode(Ventil4, OUTPUT);
pinMode(A1, INPUT);
digitalWrite(Ventil7, HIGH);
digitalWrite(Ventil8, HIGH);
pinMode(Ventil7, OUTPUT);
pinMode(Ventil8, OUTPUT);
pinMode(A2, INPUT);
digitalWrite(Ventil5, HIGH);
digitalWrite(Ventil6, HIGH);
pinMode(Ventil5, OUTPUT);
pinMode(Ventil6, OUTPUT);
pinMode(A3, INPUT);
digitalWrite(Ventil11, HIGH);
digitalWrite(Ventil12, HIGH);
pinMode(Ventil11, OUTPUT);
pinMode(Ventil12, OUTPUT);
}
void loop() {
poti0 = pulseIn(A0, HIGH);
delay(10);
digitalWrite(Ventil2, HIGH);
if (poti0 < 1750);
else
digitalWrite(Ventil2, LOW);
delay(10);
digitalWrite(Ventil4, HIGH);
if (poti0 > 1150);
else
digitalWrite(Ventil4, LOW);
delay(10);
poti1 = pulseIn(A1, HIGH);
delay(10);
digitalWrite(Ventil7, HIGH);
if (poti1 < 1750);
else
digitalWrite(Ventil7, LOW);
delay(10);
digitalWrite(Ventil8, HIGH);
if (poti1 > 1150);
else
digitalWrite(Ventil8, LOW);
delay(10);
poti2 = pulseIn(A2, HIGH);
delay(10);
digitalWrite(Ventil5, HIGH);
if (poti2 < 1750);
else
digitalWrite(Ventil5, LOW);
delay(10);
digitalWrite(Ventil6, HIGH);
if (poti2 > 1150);
else
digitalWrite(Ventil6, LOW);
delay(10);
poti3 = pulseIn(A3, HIGH);
delay(10);
digitalWrite(Ventil11, HIGH);
if (poti3 > 1150);
if (poti3 < 1750);
else
digitalWrite(Ventil11, LOW);
delay(10);
digitalWrite(Ventil11, HIGH);
digitalWrite(Ventil12, HIGH);
if (poti3 > 1750);
else
digitalWrite(Ventil12, LOW);
delay(10);
}
Anhänge
-
590,7 KB Aufrufe: 6