University-Docs/Documents/School/SEM 2/P&O 2/opdracht_3/opdracht_3.ino

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