β1: Η ενότητα ολοκληρώθηκε
β2: Η ενότητα ολοκληρώθηκε
Στόχοι μαθήματος:
- Να συνδέσουμε και να προγραμματίσουμε έναν υπερηχητικό αισθητήρα (HC-SR04) για μέτρηση απόστασης και απλή ένδειξη.
- Να εισαγάγουμε και να ελέγξουμε μια οθόνη LCD 16x2 ως συσκευή εξόδου για να εμφανίσουμε πληροφορίες.
Τα project που δημιουργήσαμε στο Tinkercad:
Project 1: Την πρώτη ώρα χρησιμοποιήσαμε τον αισθητήρα απόστασης HC - SR04 μαζί με ένα active buzzer, ώστε να προσομοιώσουμε τον αισθητήρα παρκαρίσματος σε ένα αυτοκίνητο. Συγκεκριμένα, ο αισθητήρας απόστασης ήταν συνδεδεμένος με το pin Trig στο pin 9 του μικροεπεξεργαστή και το pin Echo στο pin 8. Ο active buzzer ήταν συνδεδεμένος στο pin 12. Ο κώδικας που χρησιμοποιήθηκε έκανε το κύκλωμα να λειτουργεί ως εξής: αν ο αισθητήρας αντιλαμβανόταν απόσταση μεγαλύτερη από 50 εκατοστά, τότε δεν ενεργοποιούνταν ο buzzer. Όταν η απόσταση ήταν μεταξύ των 10 και των 50 εκατοστών, ο buzzer ενεργοποιούνταν, βγάζοντας συνεχόμενα "μπιπ". Ο χρόνος από το ένα "μπιπ" ως το επόμενο γινόταν μικρότερος, όσο μικρότερη γινόταν η απόσταση. Τέλος, όταν η απόσταση γινόταν μικρότερη από 10 εκατοστά, ο buzzer έβγαζε συνεχόμενο προειδοποιητικό ήχο.
Εδώ θα βρείτε το project 1 που κάναμε στην τάξηΗ αλήθεια είναι ότι το στοιχείο piezo του Tinkercad δεν αποδίδει πλήρως τη λειτουργικότητα του κυκλώματος που φτιάξαμε στην τάξη, αλλά δεν μπορεί να γίνει κάτι άλλο, αφού το Tinkercad αυτόν έχει. Το παραπάνω link σας πηγαίνει στο αρχείο του Tinkercad, στο οποίο φαίνεται το κύκλωμα και ο κώδικας που το προγραμμάτισε. Μπορείτε να επέμβετε στο παραπάνω αρχείο, αν θέλετε. Δεν θα το συνιστούσα, ώστε να δουν όλοι το ίδιο αποτέλεσμα. Ωστόσο αν κάνετε αλλαγές φροντίστε να τις αναιρέσετε μετά.
Project 2:
Εδώ θα βρείτε το project 2 που κάναμε στην τάξηΗ οθόνη είναι lcd 16x2 με I2C. Αν δείτε την αρχή του κώδικα αναφέρεται το "lcd(0x27)". Αυτή η ρύθμιση είναι σημαντική. Φροντίστε πατώντας πάνω στην οθόνη στο Tinkercad να έχετε αυτή τη ρύθμιση, για να λειτουργήσουν όλα σωστά. Θα δείτε ότι το κείμενο που εμφανίζεται είναι το "Hello!", το οποίο μετά σέρνεται προς τα αριστερά κι εξαφανίζεται. Αυτή η κίνηση του μηνύματος δεν χρησιμοποιήθηκε στο project της τάξης, αλλά το πρόσθεσα γιατί μου άρεσε και ήθελα να σας δείξω κάποιες από τις δυνατότητες προβολής κειμένου στην lcd οθόνη.
Επισημάνσεις μαθήματος
1. Ο αισθητήρας HC-SR04 είναι ένας αισθητήρας απόστασης, ο οποίος λειτουργεί χρησιμοποιώντας ένα τύπο ήχων που ονομάζονται υπέρηχοι και δεν γίνονται αντιληπτοί από το ανθρώπινο αυτί. Συγκεκριμένα, στέλνει ένα πακέτο υπερήχων και υπολογίζει την απόσταση από το χρόνο που χρειάζεται ο ήχος να επιστρέψει, αφού ανακλαστεί από ένα αντικείμενο. Στην μπροστινή του πλευρά διαθέτει δύο κυκλικά μέρη (το ένα είναι ο πομπός και το άλλο ο δέκτης), όπως φαίνεται στην παρακάτω εικόνα. Διαθέτει τέσσερις ακροδέκτες (VCC, GND, Trig και Echo) οι οποίοι έχουν συγκεκριμένη λειτουργία και πολικότητα, επομένως έχει σημασία πώς θα συνδεθούν.Trig (Trigger - Σκανδάλη) και τον Echo (Ηχώ). Στο κύκλωμά μας, ο Trig συνδέεται σε μία ψηφιακή θύρα εξόδου (π.χ. pin 2) και ο Echo σε μία άλλη ψηφιακή θύρα εισόδου (π.χ. pin 3) του Arduino.Αποστολή παλμού: Ο μικροελεγκτής (π.χ. Arduino) στέλνει έναν σύντομο ηλεκτρικό σήμα στον ακροδέκτη
Trig. Αυτό το σήμα παλμός λειτουργεί ως εντολή για τον αισθητήρα να εκπέμψει ένα πακέτο υπερήχων (8 ηχητικοί παλμών στα 40.000Hz).Λήψη ανταπόκρισης: Μόλις ο αισθητήρας εντοπίσει τον ανακλώμενο ήχο (ηχώ), ο ακροδέκτης
Echoπαράγει ένα ηλεκτρικό σήμα, του οποίου η διάρκεια είναι ανάλογη με τον χρόνο όπου το πακέτο των υπέρηχων ταξίδεψε από τον αισθητήρα ως το εμπόδιο και πίσω. Δηλαδή, η θύραEchoπαραμένει σε κατάστασηHIGHγια όσο χρονικό διάστημα ταξίδεψε ο υπέρηχος.Μετατροπή σε απόσταση: Ο μικροελεγκτής μετράει τη διάρκεια (σε μικροδευτερόλεπτα) αυτού του ηλεκτρικού σήματος από τον
Echoκαι, γνωρίζοντας την ταχύτητα του ήχου στον αέρα (περίπου 343 m/s), υπολογίζει την απόσταση από τον τύπο:
Απόσταση = (Διάρκεια παλμού * Ταχύτητα ήχου) / 2
(Η διαίρεση με το 2 γίνεται γιατί ο ήχος διανύει τη διαδρομή πηγή-αντικείμενο-πηγή, δηλαδή τη διπλή απόσταση).
Η υπολογισμένη απόσταση αυτή, μπορεί στη συνέχεια να χρησιμοποιηθεί από τον μικροελεγκτή για να ελέγξει κάποιο άλλο στοιχείο του κυκλώματος, όπως να ανάψει ένα LED όταν ένα αντικείμενο είναι πολύ κοντά, να ενεργοποιήσει έναν βομβητή, να ελέγξει την ταχύτητα ενός κινητήρα, κ.λπ.
5. Η οθόνη LCD με το στοιχείο IC2 ενσωματωμένο φαίνεται στην παρακάτω εικόνα, στην οποία έχουν σημειωθεί τα 4 pin που έχει το στοιχείο IC2, μέσω των οποίων θα συνδεθεί η οθόνη στο μικροεπεξεργαστή.
Η οθόνη LED με I2C στο Tinkercad φαίνεται στην παρακάτω εικόνα και μάλιστα με την κατάλληλη σύνδεση στο μικροεπεξεργαστή.
Οι βασικοί ακροδέκτες που χρησιμοποιούμε έχουν σημειωθεί στην παρακάτω εικόνα, παρόλο που συνήθως δεν χρησιμοποιούμε και τα 16 pin που εικονίζονται.
Η παραπάνω σύνδεση που όπως βλέπετε είναι πιο πολύπλοκη από αυτή με τη χρήση του στοιχείο I2C φαίνεται στο παρακάτω link στο Tinkercad:
Η οθόνη LCD 16x2 (χωρίς το στοιχείο I2C) στο Tinkercad










