HotSystems:
Und mal den kompletten Sketch posten.
Ich glaub das du es übersehen hast.
Atwist:
Bin wieder ein Stück weiter gekommen mit eine "endlichen Automaten" 8) 8) 8)
Nun hab ich zu viel "State" in meinen "loop" bekomme
" too few arguments to function 'void digitalWrite(uint8_t, uint8_t)"
Wie kann ich dass ändern ich brauche diesen "states"
// Inputs
const int doorisdownPin = D2;
const int doorisupPin = D3;
const int safetytubePin = D4;
const int dooropenButton = D5;
const int doorcloseButton = D6;
const int doorstopButton = D7;
// Outputs
const int doorclosePin = D8;
const int dooropenPin = D9;
const int lightPin = D10;
// I/O States
int doorcloseState = 0;
int dooropenState = 0;
int safetytubeState = 0;
int doorupState = 0;
int doordownState = 0;
int doorstopState = 0;
void setup() {
Serial.begin (115200);
//Input
pinMode(doorisdownPin, INPUT);
pinMode(doorisupPin, INPUT);
pinMode(safetytubePin, INPUT);
pinMode(dooropenButton, INPUT);
pinMode(doorcloseButton, INPUT);
pinMode(doorstopButton, INPUT);
//Output
pinMode(doorclosePin, OUTPUT);
pinMode(dooropenPin, OUTPUT);
pinMode(lightPin, OUTPUT);
}
void doorstop() {
Serial.println("DOORSTOP."); // STOP
digitalWrite(doorclosePin, LOW);
digitalWrite(dooropenPin, LOW);
delay(500);
}
void doorclose() { // Door CLOSE
Serial.println("Door goes CLOSE.");
digitalWrite(doorclosePin, HIGH);
}
void dooropen() { // Door OPEN
Serial.println("Door goes OPEN.");
digitalWrite(dooropenPin, HIGH);
}
void safety() { // Safetytube is ACTIVE
Serial.println("Saferty active.");
doorstop();
digitalWrite(dooropenPin, HIGH);
}
void doorisdown() { // Door is DOWN.
Serial.println("Door is DOWN.");
digitalWrite(doorclosePin, LOW);
Serial.println("Lights OFF.");
digitalWrite(lightPin, LOW);
}
void doorisup() { // Door is UP.
Serial.println("Door is UP.");
digitalWrite(dooropenPin, LOW);
}
void light(){ //Lights ON if door goes open.
Serial.println("Lights ON.");
digitalWrite(lightPin, HIGH);
}
void loop() {
doorcloseState = digitalRead(doorcloseButton);
dooropenState = digitalRead(dooropenButton);
safetytubeState = digitalRead(safetytubePin);
//doorupState = digitalWrite(doorisupPin);
// doordownState = digitalWrite(doorisdownPin);
// doorstopState = digitalWrite(doorstopButton);
if ((doorcloseState == HIGH) && (safetytubeState == LOW)) {
doorclose();
}
if (dooropenState == HIGH) {
dooropen();
light();
}
if (safetytubeState == HIGH) {
safety();
}
if (doordownState == HIGH) {
doorisdown();
}
if (doorupState == HIGH) {
doorisup();
}
if (doorstopState == HIGH) {
doorstop();
}
}