Στο προηγούμενο μάθημα μας είδαμε λεπτομερώς την συνθήκη ελέγχου if. Για να την κατανοήσουμε καλύτερα σήμερα θα δούμε την χρήση της μέσα απ' ένα παράδειγμα.
Θέλουμε να φτιάξουμε ένα πρόγραμμα το οποίο θα μας εκτυπώνει, ανάλογα με την ηλικία ενός παιδιού (από 4 έως 18 χρονών), τι εκπαίδευση λαμβάνει.
Σε επίπεδο σκέψης θα λέγαμε πως αν είναι από 4 έως 6 χρονών θα πήγαινε νηπιαγωγείο, από 6 έως 12 χρονών δημοτικό, από 12 έως 15 γυμνάσιο και από 15 έως 18 λύκειο.
Προγραμματιστικά στο Arduino IDE θα γράφαμε:
int ilikia; // Μεταβλητή που αποθηκεύεται η ηλικία
if (ilikia >=4 && ilikia < 6){
println("Νηπιαγωγείο");
}
else if (ilikia >=6 && ilikia <12){
println("Δημοτικό");
}
else if (ilikia >=12 && ilikia <15){
println("Γυμνάσιο");
}
else if (ilikia >=15 && ilikia <18){
println("Λύκειο");
}
else {
println("Ηλικία εκτός 4-18!)";
}
Προσέξτε τους τελεστές (δείτε και το προηγούμενο μάθημα), που ανοίγουν και κλείνουν οι αγκύλες '{' '}' και που γίνεται χρήση του χαρακτήρα ';' (ελληνικό ερωτηματικό).
Συντάκτης: Βασιλάκης Μιχάλης
Πηγή: www.ardumotive.com
2 Comments
Την εντολή prilntln δεν την κατάλαβα, και έτσι έκανα της παρακάτω αλλαγές είναι σωστό;
int ilikia=11;
const int led1=3;
const int led2=5;
const int led3=7;
void setup(){
pinMode(led1,OUTPUT);
pinMode(led2,OUTPUT);
pinMode(led3,OUTPUT);
}
void loop(){
if (ilikia >=4 && ilikia < 6){
digitalWrite(led1,HIGH);
}
else if (ilikia >=6 && ilikia <12){
digitalWrite(led2,HIGH);
}
else if (ilikia >=12 && ilikia <15){
digitalWrite(led3,HIGH);
}
else { //μπορω να το γραψω αλλιως;
digitalWrite(led1,LOW);
digitalWrite(led2,LOW);
digitalWrite(led3,LOW);
}
}
Η println ουσιαστικά εκτυπώνει ένα μήνυμα. Για να το κάνει αυτό το arduino ide χρησιμοποιεί την σειριακή οθόνη, την οποία όμως θα δείξω σε επόμενο μάθημα.
Αυτό που εχεις κάνει παραπάνω είναι να ανάβεις ένα Led, ανάλογα με την περίπτωση. Δείχνει ότι έχεις κατανοήσει την χρήση της if, απλά εδώ δεν έχουμε Led, απλά μια εκτύπωση ενός μηνύματος.
Αν δοκιμάσεις να το τρέξεις στο arduino ide δεν θα κάνει κάτι... Γιατί δεν υπάρχει η Serial.println();. Υπομονή για το επόμενο μάθημα σύντομα!!!
- Εδώ μπορείτε να αφήσετε το σχόλιό σας μόνο Επώνυμα
- Απαγορεύονται τα Greeklish! Ο σχολιασμός πρέπει να είναι μόνο με ελληνικούς χαρακτήρες!
ΣΗΜΑΝΤΙΚΟ: Όσοι θέλετε να παίρνετε ειδοποιήσεις για τα σχόλια που κάνετε, μην ξεχάσετε να τικάρετε το κουμπί "Να λαμβάνω ειδοποιήσεις"