Arduino Logic 101 – Μάθημα 2.2: Από τον αισθητήρα στο νούμερο – Πώς διαβάζουμε τον κόσμο
Στο προηγούμενο μάθημα είδαμε πώς να φτιάχνουμε "κουτάκια" (μεταβλητές) για να αποθηκεύουμε δεδομένα. Σήμερα θα δούμε πώς αυτά τα κουτάκια γεμίζουν αυτόματα με πληροφορίες από το περιβάλλον. Αυτή είναι η στιγμή που το Arduino αρχίζει να "νιώθει".
Η Ροή της Πληροφορίας
Όταν χρησιμοποιούμε έναν αισθητήρα (π.χ. υπερήχων ή CO2), η πληροφορία ακολουθεί μια συγκεκριμένη διαδρομή:
Φυσικό Φαινόμενο: (π.χ. Η συγκέντρωση αερίου στον αέρα).
Αισθητήρας: Μετατρέπει το φαινόμενο σε ηλεκτρικό σήμα.
Arduino: Μετατρέπει το σήμα σε έναν αριθμό.
Κώδικας (Logic): Αποθηκεύει αυτόν τον αριθμό σε μια Μεταβλητή.
Input: Η είσοδος των δεδομένων
Στον προγραμματισμό, οτιδήποτε έρχεται από το περιβάλλον προς το Arduino ονομάζεται Input (Είσοδος). Για να διαχειριστούμε ένα Input, ακολουθούμε πάντα δύο βήματα:
Βήμα 1: Δήλωση Μεταβλητής
Πρώτα φτιάχνουμε το κουτί.
float roomTemperature;
Βήμα 2: Ανάθεση Τιμής (Assignment)
Μετά λέμε στο Arduino να βάλει τη μέτρηση μέσα στο κουτί.
roomTemperature = analogRead(A0); // Παράδειγμα ανάγνωσης
Ψηφιακά vs Αναλογικά Δεδομένα
Οι μεταβλητές μας πρέπει να ταιριάζουν με το είδος του αισθητήρα:
Digital (Ψηφιακό): Έχει μόνο δύο καταστάσεις (0 ή 1). Εδώ χρησιμοποιούμε bool.
Παράδειγμα: Ένα κουμπί είναι πατημένο (
true) ή όχι (false).
Analog (Αναλογικό): Έχει ένα εύρος τιμών (π.χ. από 0 έως 1023). Εδώ χρησιμοποιούμε συνήθως int ή float.
Παράδειγμα: Η ένταση του φωτός σε ένα δωμάτιο.
Γιατί δεν διαβάζουμε απλώς την τιμή χωρίς μεταβλητή;
Φανταστείτε ότι θέλετε να συγκρίνετε τη θερμοκρασία που πήρατε τώρα με τη θερμοκρασία που πήρατε πριν από 5 λεπτά. Αν δεν αποθηκεύσετε την πρώτη μέτρηση σε μια μεταβλητή, η πληροφορία θα χαθεί για πάντα μόλις έρθει η επόμενη!
💡 Pro-Tip από το Εργαστήριο:
Στο Bio-Robotic System μας, οι αισθητήρες μερικές φορές δίνουν "θόρυβο" (λανθασμένες απότομες μετρήσεις). Αντί να χρησιμοποιούμε την τιμή απευθείας, την αποθηκεύουμε σε μια μεταβλητή και υπολογίζουμε τον μέσο όρο των τελευταίων 5 μετρήσεων. Αυτό κάνει το ρομπότ μας πολύ πιο σταθερό!
Άσκηση για το σπίτι:
Σκέψου έναν αισθητήρα που μετράει αν μια πόρτα είναι ανοιχτή ή κλειστή.
Τι είδους δεδομένα παράγει (Ψηφιακά ή Αναλογικά);
Σε τι τύπο μεταβλητής θα τα αποθήκευες;
Στο επόμενο μάθημα (2.3), θα μάθουμε για τις Σταθερές (Constants) και πώς να οργανώνουμε τις ρυθμίσεις του project μας ώστε να μην γίνονται λάθη!
📜 Άδεια Χρήσης & Πνευματικά Δικαιώματα
Το περιεχόμενο αυτής της ανάρτησης (κείμενα, οδηγίες και φωτογραφίες) αποτελεί πνευματική ιδιοκτησία της Unique Tech. Ο παρεχόμενος κώδικας διατίθεται υπό την άδεια MIT License.
Προϋπόθεση χρήσης: Επιτρέπεται η ελεύθερη χρήση και αναπαραγωγή, αρκεί να συμπεριλαμβάνεται η αρχική δήλωση πνευματικών δικαιωμάτων και η αναφορά στην Unique Tech ως αρχική πηγή. Για την πλήρη ανάλυση των δικαιωμάτων σας, διαβάστε τους
#UniqueTech #ArduinoLogic101 #Sensors #Input #CodingLogic #STEMGreece #DataFlow
Σχόλια
Δημοσίευση σχολίου