• Hallo Zusammen, Aufgrund der aktuellen Situation setzten wir die Möglichkeit aus, sich mit Gmail zu registrieren. Wir bitten um Verständnis Das RCMP Team

Arduino ( alle Pins 1 - 13 als digital Output möglich ? )

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);
}
 

Anhänge

j0k3r

Mitglied
Du solltest nur darauf achten das du beim benutzten der RX und TX Pins Probleme beim Hochladen bekommen kannst. Also einfach beim Hochladen eines neuen Programms die Pins freimachen.
Ich gehe mal davon aus das du einen UNO hast, dann sind es Pin 0 und 1
 
Top Bottom