Hallo,
Ik ben een absolute beginner en probeer zoveel mogelijk zelf uit te zoeken maar nu kom ik er niet uit.
In de kelder staat bij ons een condensatieketel die nogal wat water verliest. Wanneer de emmer vol is dan duwt het water een sensor naar boven zodat die contact maakt en de pomp het water uit de emmer naar een andere emmer pompt die wij dan kunnen legen.
Dit alles lukt met de arduino.
Nu zou ik graag hebben dat wanneer er water werd gepompt dat er bij ons boven een ledlampje gaat branden. En wanneer er reeds 2 keer werd gepompt dat het lichtje gaat knipperen.
In bijlage en hieronder de code die ik wilde gebruiken en de bijhorende foutmeldingen
Kan iemand mij helpen? Alvast bedankt.
// constanten:
const int magneetPin = 2; // nummer van de magneet watersensor
const int ledPin = 13; // nummer van de ledpin
const int pompPin = 12; // nummer van de relais die de pomp aanstuurt
// variabelen
int magneetState = 0; // variabele voor de magneetstatus
int gepompt = 0; // variabele voor als er wordt gepompt
int AantalKeerGepompt = 0; // variabele voor het aantal keer dat er gepompt is geweest
void setup1() {
pinMode(pompPin, OUTPUT); //pomp is de output
pinMode(magneetPin, INPUT); //magneet watersensor is input
}
void setup2() {
// initialize the LED pin as an output:
pinMode(ledPin, OUTPUT); // lampje is de output
}
void loop1() {
// read the state of the pushmagneet value:
magneetState = digitalRead(magneetPin);
if (magneetState == LOW) {
// pomp is uit:
digitalWrite(pompPin, LOW);
}
else {
digitalWrite(pompPin, HIGH); // zet pomp aan
delay(120000); // pomp werkt 2 minuten
gepompt = 1; // verander variabele gepompt naar 1
}
}
void loop2() { //2de loop die moet gebeuren
AantalKeerGepompt = AantalKeerGepompt + gepompt; //totaal aantal keer dat er gepompt werd
if (AantalKeerGepompt == 1) {
digitalWrite(ledPin, HIGH); // als er één maal gepompt is geweest moet het ledje blijven branden
}
else if (AantalKeerGepompt == 2) { // als er 2 maal gepompt is geweest moet het ledje knipperen
digitalWrite(ledPin, HIGH);
delay(1000);
digitalWrite(ledPin, LOW);
delay(1000);
}
else {
digitalWrite(ledPin, LOW); // als er geen enkele keer is gepompt dan moet er geen ledje branden
}
}
foutmelding:
C:\Users\User\AppData\Local\Temp\ccZvmAVu.ltrans0.ltrans.o: In function `main':
C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/main.cpp:43: undefined reference to `setup'
C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/main.cpp:46: undefined reference to `loop'
collect2.exe: error: ld returned 1 exit status
exit status 1
Fout bij het compileren voor board Arduino/Genuino Uno
pomp_relais_en_led_blijft_branden.ino (1.73 KB)