63 lines
1.4 KiB
C++
63 lines
1.4 KiB
C++
/*
|
|
|
|
*/
|
|
|
|
int minimaleInput = 1;
|
|
int maximaleInput = 3;
|
|
|
|
|
|
void setup() {
|
|
for(int pin=11; pin<=13; pin=pin+1){
|
|
pinMode(pin, OUTPUT);
|
|
Serial.begin(9600);
|
|
delay(500);
|
|
|
|
Serial.println("Typ een getal in tussen 1 en 3 en een tweede getal voor de tijd");
|
|
}
|
|
}
|
|
|
|
void loop(){
|
|
if (Serial.available()){
|
|
|
|
int receivedvalue = Serial.parseInt();
|
|
int delay = Serial.parseInt();
|
|
|
|
boolean inputOK1 = validInput1(receivedvalue); // kijk of de input binnen de waardes ligt.
|
|
boolean inputOK2 = validInput2(delay * 1000);
|
|
|
|
if (inputOK1 && inputOK2){
|
|
led(receivedvalue, delay);
|
|
}
|
|
|
|
|
|
else {
|
|
Serial.println("De ingegeven waarde is niet geldig.");
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
|
|
void led(int input, int time1) {
|
|
int pinNumber = input + 10;
|
|
digitalWrite(pinNumber,HIGH); // Zet de output van de pin 'pinNumber' hoog. (HIGH komt overeen met 5V)
|
|
delay(delay); // wacht gedurende 1000ms
|
|
digitalWrite(pinNumber, LOW); // Zet de output van de pin 'pinNumber' laag. (LOW komt overeen met 0V)
|
|
delay(delay);
|
|
|
|
}
|
|
|
|
|
|
boolean validInput1(float input){
|
|
// && wordt gebruikt als logische 'AND'
|
|
boolean ok = (input >= minimaleInput) && (input <= maximaleInput);
|
|
|
|
// geef de boolean ok als resultaat van de functie zodat er mee verder kan gerekend worden.
|
|
return ok;
|
|
// for(int pinNumber=11; pinNumber<=13; pinNumber=pinNumber+1){
|
|
}
|
|
|
|
boolean validInput2(float input) {
|
|
boolean ok = (input >= 0);
|
|
return ok;
|
|
} |