Παράδειγμα 2: RGB Led and Photoresistor

 

Εξοπλισμός

1 Arduino UNO     1 Breadboard        1 Temperature Sensor

1 Led                       3 Resistor 100 Ω   8 Καλώδια 

Εξήγηση του κώδικα

Αυτός ο κώδικας αφορά ένα πρόγραμμα Arduino το οποίο διαβάζει τη θερμοκρασία από έναν αισθητήρα θερμοκρασίας και εμφανίζει την τιμή αυτή στον σειριακό προσαρμογέα. Επίσης, αλληλεπιδρά με τρία LED (πράσινο, κόκκινο, μπλε) ανάλογα με την καταχωρημένη τιμή θερμοκρασίας.

Συγκεκριμένα, ο κώδικας ορίζει τη μεταβλητή “val” ως αναλογική τιμή που διαβάζεται από τον αισθητήρα θερμοκρασίας στην είσοδο “tempPin”. Στη συνέχεια, υπολογίζει τις τιμές της θερμοκρασίας σε βαθμούς Κελσίου (“cel”) και Φαρενάιτ (“farh”) από την αναλογική τιμή. Η τιμή της θερμοκρασίας σε βαθμούς Κελσίου υπολογίζεται από την τάση (mv) που μετρήθηκε από τον αισθητήρα.

Η τιμή της θερμοκρασίας εκτυπώνεται στο Serial Monitor μαζί με μια περιγραφή της μονάδας μέτρησης.

Τέλος, ανάλογα με την τιμή της θερμοκρασίας, αλλάζει ο χρωματισμός ενός RGB LED που είναι συνδεδεμένος στα ακροδέκτες εξόδου “redpin”, “greenpin” και “bluepin”. Αν η θερμοκρασία είναι κάτω από 20 βαθμούς Celsius, το LED θα είναι μπλε, ενώ αν είναι μεταξύ 20 και 28 βαθμών Celsius, θα είναι πράσινο. Αν η θερμοκρασία είναι πάνω από 28 βαθμούς Celsius, το LED θα είναι κόκκινο. Η καθυστέρηση 1 δευτερολέπτου που επιβάλλεται με τη χρήση της συνάρτησης “delay” διασφαλίζει ότι η μέτρηση της θερμοκρασίας και ο έλεγχος του LED θα επαναλαμβάνονται κάθε δευτερόλεπτο.