Go Down

Topic: Hulp bij het programmeren (Read 457 times) previous topic - next topic

headburn911

Aug 15, 2019, 05:54 pm Last Edit: Aug 15, 2019, 07:28 pm by headburn911
Goedendag,

Ik ben bezig met een project met een regenton met daarin 5 elektrodes en een +5V aan de onderkant. Nu wil ik onderin een elektrische kraan maken en die aansturen als het waterlevel te hoog is. Echter zal het aanschakelen wel lukken. Alleen nu het afschakelen nog. Kan iemand mij hierbij helpen? Dit is mijn eerste zelf geschreven programma :) .

Hier is het programma wat ik tot nu toe heb:

/*
Regenton regeling
*/

// Arduino pins to copper wires, LED's And Pump
int Level1 = 2;
int Level2 = 3;
int Level3 = 4;
int Level4 = 5;
int Level5 = 6;
int LevelLed20 = 7;
int LevelLed40 = 8;
int LevelLed60 = 9;
int LevelLed80 = 10;
int LevelLed100 = 11;
int PumpPin = 12;

// The setup routine runs once when you press reset:
void setup() {
  // initialize serial communication at 9600 bits per second:
  Serial.begin(9600);
  // make the pushbutton's pin an input:
  pinMode(Level1, INPUT);
  pinMode(Level2, INPUT);
  pinMode(Level3, INPUT);
  pinMode(Level4, INPUT);
  pinMode(Level5, INPUT);
  pinMode(PumpPin, OUTPUT);
  pinMode(LevelLed20, OUTPUT);
  pinMode(LevelLed40, OUTPUT);
  pinMode(LevelLed60, OUTPUT);
  pinMode(LevelLed80, OUTPUT);
  pinMode(LevelLed100, OUTPUT);
 
}

// the loop routine runs over and over again forever:
void loop() {

  if(digitalRead(Level5)==LOW){
    digitalWrite(LevelLed100,HIGH);
    digitalWrite(PumpPin,HIGH);
  }
  else if(digitalRead(Level4)==LOW){
    digitalWrite(LevelLed80,HIGH);
  }
  else if(digitalRead(Level3)==LOW){
    digitalWrite(LevelLed60,HIGH);
    digitalWrite(PumpPin,LOW);
  }
  else if(digitalRead(Level2)==LOW){
    digitalWrite(LevelLed40,HIGH);
  }
  else if(digitalRead(Level1)==LOW){
    digitalWrite(LevelLed20,HIGH);
  }
  else {
Serial.println("Water at Dead level");
    }

}

Ik weet dat dit niet gaat werken omdat ik de kraan continu LOW maak. Hoe kan ik dit oplossen?

Bedankt!!!
Headburn911

shooter

{
Code: [Select]
if(digitalRead(Level5)==LOW){
    digitalWrite(LevelLed100,HIGH); // waar zet je de led weer uit?
    digitalWrite(PumpPin,HIGH);// pump starts
  }
  else if(digitalRead(Level4)==LOW){// meaning level5 is high and 4 is low
    digitalWrite(LevelLed80,HIGH);// same as above
  }
  else if(digitalRead(Level3)==LOW){// here 4,5 are high
    digitalWrite(LevelLed60,HIGH);
    digitalWrite(PumpPin,LOW);// pump stops
  }
  else if(digitalRead(Level2)==LOW){
    digitalWrite(LevelLed40,HIGH);
  }
  else if(digitalRead(Level1)==LOW){
    digitalWrite(LevelLed20,HIGH);
  }

else { // all sensors are high
// good place to stop pump
Serial.println("Water at Dead level");

// good place to stop pump
Serial.println("Water at Dead level");
 kijk eens naar analogRead , beter sensor gevoel. en let op corrosie als het langer duurt dan een week.
// maak een serial print als level anders is geworden.
// en dat is nog best een uitdaging hoor.
 
paul deelen
shooter@home.nl
making controls with codesys PLC and arduino

Go Up