Ψηφιακά Αντικείμενα Μάθημα 1 Δραστηριότητα 1. Προγραμματισμός Φυσικών Συστημάτων. Νέα Ψηφιακά Αντικείμενα

Σχετικά έγγραφα
Ενσωματωμένα Συστήματα

Ενσωματωμένα Συστήματα

Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 1. Arduino + LabVIEW: Μέτρηση Έντασης Φωτός με Φωτοαντίσταση. Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων

Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 8. Μετρώντας Επιτάχυνση με το Accelerόμετρο (ADXL 335) Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων

Μέτρηση Θερμοκρασίας με τον αισθητήρα TMP36. Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων. Βασική δομή ενός προγράμματος στο LabVIEW.

Το κύκλωμα σε breadboard

Συλλογή & Επεξεργασία Δεδομένων Εξαμηνιαία ΡομποΚαθαριστής Μέρος Β : Το Πρόγραμμα. Σχεδίαση Συστήματος Πραγματικής Εφαρμογής (Prototyping).

Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 4. Οδηγώντας έναν DC Κινητήρα. Το κύκλωμα της Λειτουργίας DC Κινητήρα

Φύλλο εργασίας 9 - Αυτόνομο ρομποτικό όχημα αποφυγής εμποδίων

Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 2 USB και Σειριακή Επικοι- νωνία Σ Σειριακή Επικοινωνία

ΣΤΟΙΧΕΙΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ARDUINO

Εφαρμογές Αναλογικών Ε/Ε PWM (pulse Width Modulation)

Εφαρμογές Σειριακής Επικοινωνίας

Ψηφιακά Αντικείμενα Μάθημα 1 Δραστηριότητα 2. Προγραμματισμός Φυσικών Συστημάτων. Συστήματα Πραγματικών Εφαρμογών. Νέα Ψηφιακά Αντικείμενα

Βασική Κατηγοριοποίηση Αισθητήρων Γιώργος Βασιλείου

Έλεγχος κινητήρα συνεχούς ρεύματος με τρανζίστορ και Arduino

Μάθημα 1 ΑΙΣΘΗΤΗΡΕΣ Ο Αισθητήρας Δύναμης. Επανεξέταση των βασικών εννοιών της C και του προγραμματισμού.

Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 3 Μέτρηση Θερμοκρασίας Σύστημα Ελέγχου Θερμοκρασίας. Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων

Μάθημα 2 Δραστηριότητα 2: Δημιουργώντας το Μετεωρολογικό Σταθμό. Επανεξέταση των βασικών εννοιών της C και του προγραμματισμού.

ΕΝΟΤΗΤΑ 7: ΑΙΣΘΗΤΗΡΕΣ ΥΠΕΡΥΘΡΩΝ

Arduino Teachers Workshop

Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 7 Ακούγοντας Πρώτη Ματιά στην Ανάλυση Fourier. Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων

Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 5. Ρυθμίζοντας τη Φορά Περιστροφής. Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων

ΔΡΑΣΤΗΡΙΟΤΗΤΑ ΕΙΣΑΓΩΓΗ ΣΤΟ ARDUINO- 01a

ΕΝΟΤΗΤΑ 5 Αναλογικά σήματα

ΑΣΚΗΣΗ 1 (22 Νοεμβρίου 2017)

Προγραμματισμο ς σε Arduino

Project 5: Συνθέτοντας μουσική

2017 Κατασκευάζω και Προγραμματίζω με τον μικροελεγκτή Arduino

Εξαμηνιαία Εργασία 2013 Προγραμματίζοντας τον Arduino στη C Μέρος Β : Επικοινωνία Υπολογιστή με Μικροελεγκτή

Μετρήσεις και συλλογή δεδομένων (Data acquisition) με μικροελεγκτές. Εισαγωγή στο Arduino. Ηλεκτρομηχανολογικός εξοπλισμός διεργασιών

Απλή Δομή Επιλογής. Ο κώδικας. //με χρήση μεταβλητών. delay (3000);

Εφαρμογές αναλογικών / Ψηφιακών

Τα ηλεκτρονικά μέρη του ρομπότ Επιλογή των μονάδων εισόδου εξόδου ανάλογα το μοντέλο που θέλουμε να κατασκευάσουμε

Προγραμματισμός Ρομπότ

ΑΙΣΘΗΤΗΡΑΣ ΣΧΕΤΙΚΗΣ ΥΓΡΑΣΙΑΣ. Η πιο συνηθισμένη έκφραση για την υγρασία του αέρα είναι η σχετική υγρασία (Relative Ηumidity, RH).

Α. Βασική Χρήση κινητήρα - Servo με τη βιβλιοθήκη <Servo.h>

Συλλογή & Επεξεργασία Δεδομένων. Προγραμματίζοντας τον Arduino Μέρος Ι: Μεταβλητές, Εντολές Εισόδου & Εξόδου. Ολοκληρωμένο Περιβάλλον Ανάπτυξης (IDE)

ΘΕΜΑ : ΨΗΦΙΑΚΑ ΗΛΕΚΤΡΟΝΙΚΑ DIGITAL ELECTRONICS

ΔΙΔΑΣΚΑΛΙΑ ΤΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΜΕ ΧΡΗΣΗ ΤΟΥ ΠΑΚΕΤΟΥ ΡΟΜΠΟΤΙΚΗΣ LEGO MINDSTORMS NXT

ΕΡΓΑΣΤΗΡΙΟ 6 ΟΔΗΓΗΣΗ ΑΠΕΙΚΟΝΙΣΕΩΝ SSD ΚΑΙ LCD

ΔΙΔΑΣΚΑΛΙΑ ΤΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΜΕ ΧΡΗΣΗ ΤΟΥ ΠΑΚΕΤΟΥ ΡΟΜΠΟΤΙΚΗΣ LEGO MINDSTORMS NXT

ΕΡΓΑΣΤΗΡΙΟ 4 ΕΙΣΑΓΩΓΗ ΣΤΟN ARDUINO: ΨΗΦΙΑΚΗ ΕΙΣΟΔΟΣ/ΕΞΟΔΟΣ

Περιγραφή της 3 ης εργαστηριακής εφαρμογής: ρομποτικό σύστημα LEGO NXT

Εργαστηριακές σημειώσεις για το μάθημα: «Εισαγωγή στην Μηχατρονική»

ΡΟΜΠΟΤΙΚΗ ΚΑΙ ΑΥΤΟΜΑΤΙΣΜΟΣ

Lab 1: Experimenting on Arduino & AI Sense

Υλοποίηση μικρού αυτόνομου ρομποτικού οχήματος με μικροελεγκτή Arduino.

ΠΟΜΠΟΣ ΕΚΤΗΣ ΑΝΙΧΝΕΥΤΗΣ

ΑΣΚΗΣΗ 2 (29 Νοεμβρίου 2016)

ΕΝΟΤΗΤΑ 3 ΕΚΦΡΑΣΕΙΣ, ΑΝΑΜΟΝΕΣ (DELAYS), ΗΧΟΙ

Εξαμηνιαία Εργασία 2013 Προγραμματίζοντας τον Arduino στη C Μέρος Α : Υλικά

Εμμανουήλ Πουλάκης. Προγραμματίζοντας με τον μικροελεγκτή Arduino

ΠΕΡΙΕΧΟΜΕΝΟ. ΜΑΘΗΜΑ: ΡΟΜΠΟΤΙΚΗ (3Ε) Γ τάξη Ημερήσιου ΕΠΑ.Λ. και Γ τάξη Εσπερινού ΕΠΑ.Λ.

ΥΛΗ ΜΑΘΗΜΑΤΟΣ ΑΚΟΥΣΤΙΚΗ ΦΩΤΟΜΕΤΡΙΑ ΕΝΕΡΓΕΙΑ ΠΕΡΙΒΑΛΛΟΝ

Μ.Π.Σ. «ΠΡΟΗΓΜΕΝΕΣ ΜΕΘΟΔΟΙ ΚΑΤΑΣΚΕΥΗΣ ΠΡΟΙΟΝΤΩΝ ΑΠΟ ΞΥΛΟ» Μάθημα: Σχεδίαση και Εφαρμογές Διαδραστικών Συστημάτων. Διδάσκοντας: Α.

Έλεγχος με Μικροϋπολογιστές Εργαστήριο ενσωματωμένων συστημάτων

ΕΙΣΑΓΩΓΗ ΣΤΟ ARDUINO. Υποψήφιος Διδάκτωρ

Πακέτο Lego Mindstorms

FOSSCOMM ο Συνέδριο Κοινοτήτων Ανοιχτού Λογισμικού Σάββατο 20 Απριλίου Ομάδα Σχολής Ικάρων Εργαστήριο Arduino

Φύλλο εργασίας 6 - Θερμόμετρο εξωτερικού χώρου. Το κύκλωμα σε breadboard

ΑΣΚΗΣΗ ΜHΧΑΤΡΟΝΙΚΗΣ. Τέλος όταν εισάγετε ένας σωστός συνδυασμός η ένδειξη του display να μηδενίζετε.

Το υποσύστηµα "αίσθησης" απαιτήσεις και επιδόσεις φυσικά µεγέθη γενική δοµή και συγκρότηση

Ο μικροελεγκτής Arduino στο εργαστήριο των Θετικών Επιστημών. Χρήσιμες διευθύνσεις στο διαδίκτυο

Παραδείγµατα χρήσης του µικροελεγκτή Arduino Εφαρµογές για το εργαστήριο Μέρος 2 ο :Οδήγηση Κινητήρων DC(PM)

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2015

Βιβλιοθήκη για οθόνη LCD

ΕΝΟΤΗΤΑ 10: ΟΔΗΓΗΣΗ ΚΙΝΗΤΗΡΩΝ

ΕΙΔΙΚΗ ΘΕΜΑΤΙΚΗ ΔΡΑΣΤΗΡΙΟΤΗΤΑ Β ΗΝ - Β ΟΧ. Αισθητήρες και συλλογή δεδομένων από τα τμήματα ενός αυτοκινήτου και το περιβάλλον του

ΠΑΛΜΟΓΡΑΦΟΣ ΤΡΟΦΟ ΟΤΙΚΟ ΓΕΝΝΗΤΡΙΑ

Κωνσταντίνος Γκαλονάκης. Arduino: Προγραμματισμός στην πράξη

Συλλογή & Επεξεργασία Δεδομένων Εξαμηνιαία Σχεδίαση Συστήματος Πραγματικής Εφαρμογής (Prototyping).


Ανάκτηση θερμοκρασιακού πεδίου σε περιστρεφόμενο (εν κινήσει)

Φύλλο εργασίας 4 - Αυτόματο φωτάκι νυκτός

ΕΝΟΤΗΤΑ 12 ΣΕΙΡΙΑΚΗ ΔΙΕΠΑΦΗ

Φύλλο Εργασίας 4 Συνθετική εργασία

Φύλλο εργασίας 7 - Δημιουργώ τα δικά μου χρώματα με το RGB LED

10η Ενότητα: Το υποσύστημα "αίσθησης"

Βασική Κατηγοριοποίηση Ρομποτικών Αισθητήρων

ΡΟΜΠΟΤΙΚΗ ΜΕ ARDUINO - ARDUINO ΚΑΙ ΗΧΟΣ I. Δημιουργός: Δρ.Αθανάσιος Μπαλαφούτης Επιβλέπων: Πετεινάτος Ηλίας Υποψήφιος Διδάκτωρ

για τις ρυθμίσεις LabView μέσα από το κανάλι και του καλωδίου USB.

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2006

Ηλεκτρομαγνητικά Διαδίδονται στο κενό

ΑΣΚΗΣΗ 8 η : ΣΥΣΤΗΜΑΤΑ ΕΙΔΟΠΟΙΗΣΗΣ

ΠΕΡΙΕΧΟΜΕΝΑ ΚΕΦΑΛΑΙΟ I: ΕΙΣΑΓΩΓΗ ΣΤΑ ΗΛΕΚΤΡΟΝΙΚΑ

4 Εισαγωγή στο Arduino

Φύλλο εργασίας 3 - Χριστουγεννιάτικα φωτάκια (σταδιακή αύξηση και μείωση φωτεινότητας ενός LED) Το κύκλωμα σε breadboard

ΕΦΑΡΜΟΓΕΣ ΤΗΛΕΠIΚΟΙΝΩΝΙΑΚΩΝ ΔΙΑΤΑΞΕΩΝ

ΘΕΜΑ : ΒΑΣΙΚΕΣ ΣΥΝΔΕΣΜΟΛΟΓΙΕΣ ΤΕΛΕΣΤΙΚΟΥ ΕΝΙΣΧΥΤΗ. ΔΙΑΡΚΕΙΑ: 1περίοδος

ΛΥΚΕΙΟ ΣΟΛΕΑΣ Σχολική χρονιά

Πλακέτα Arduino. 1ο ΕΠΑΛ Περάματος - 7ο ΕΚ Πειραιά

ΥΠΟΥΡΓΕΙΟ ΠΑΙ ΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙ ΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2014

Έλεγχος με Μικροϋπολογιστές Εργαστήριο ενσωματωμένων συστημάτων

Σχεδιασμός και Τεχνολογία Γ Λυκείου - Λύσεις Ασκήσεων

Γνωριμία με το Arduino

Πτυχιακή Εργασία Οδηγώντας ένα Ρομποτικό Αυτοκίνητο με το WiFi. Η Ασύρματη Επικοινωνία, χρησιμοποιώντας

ΔΗΜΙΟΥΡΓΙΑ ΕΝΟΣ ΡΟΜΠΟΤ ΑΠΟ ΗΛΕΚΤΡΟΝΙΚΑ ΣΚΟΥΠΙΔΙΑ

ΡΟΜΠΟΤΙΚΗ ΜΕ ΧΡΗΣΗ ΤΟΥ ΠΑΚΕΤΟΥ LEGO MINDSTORMS NXT. ΚΕΦΑΛΑΙΟ 7ο. Δραστηριότητες για το ΝΧΤ-G και το Robolab

Θέμα 2 ο. Δίνεται Κ ηλ = Ν m 2 /C 2 και επιτάχυνση της βαρύτητας στην επιφάνεια της Γης 10 m/s 2.

Transcript:

Σκοπός Ψηφιακά Αντικείμενα Μάθημα 1 Δραστηριότητα 1 ΜΕΤΡΩΝΤΑΣ ΑΠΟΣΤΑΣΗ ΜΕ ΤΟΝ ΑΙΣΘΗΤΗΡΑ ΥΠΕΡΗΧΩΝ (SR04). Ψηφιακά Αντικείμενα Μικροελεγκτής Προγραμματισμός Φυσικών Συστημάτων Νέα Ψηφιακά Αντικείμενα Αισθητήρες Απόστασης: o Αισθητήρας Υπέρηχων και ο Infrared Η Αρχή Λειτουργίας των Υπέρηχων (Sonar) Μετρώντας Απόσταση με τον Αισθητήρα Υπέρηχων SR04. Δομές προγραμματισμού. Το πρόγραμμα, για τη Μέτρηση Απόστασης με τον SR04 1

1.1 ΕΠΙΔΙΩΞΗ ΤΗΣ ΑΣΚΗΣΗΣ Σ αυτή την άσκηση, εξετάζουμε έναν αισθητήρα που χρησιμοποιείται πολύ στη ρομποτική και σε βιομηχανικές εφαρμογές. Ο αισθητήρας υπερήχων μπορεί να υπολογίζει την απόσταση αντικειμένων, από αυτόν, εκπέμποντας ένα υπέρηχο ένα ηχητικό σήμα σε συχνότητα υψηλότερη των ακουστικών συχνοτήτων και υπολογίζοντας το χρόνο που αυτό το ηχητικό σήμα κάνει να επιστρέψει, όταν ανακλάται από ένα αντικείμενο. Η αρχή / ιδέα ονομάζεται SONAR (SOund Navigation and Range) και χρησιμοποιείται στα υποβρύχια, για να υπολογίζουν την απόσταση τους από άλλα σκάφη, αλλά χρησιμοποιείται ακόμα, από τις νυχτερίδες, για να εντοπίζουν τα θηράματα τους. Σ αυτή τη δραστηριότητα, θα χρησιμοποιήσουμε αυτή την ιδέα, για να υπολογίζουμε την απόσταση αντικειμένων από ένα αισθητήρα υπερήχων που μπορεί να είναι επάνω σ ένα ρομποτικό αυτοκίνητο. Ο αισθητήρας που θα χρησιμοποιήσουμε είναι ο SR04. Όμως, κάθε άλλος αισθητήρας υπερήχων λειτουργεί παρόμοια. 1.2 Μετρώντας Απόσταση infrared και ultrasonic Ο αισθητήρας υπερήχων είναι ένας πολύ σημαντικός αισθητήρας, για κάθε ρομποτική συσκευή είναι συχνά, το οπτικό όργανο μίας ρομποτικής συσκευής. Ο αισθητήρας υπερήχων είναι ένας χρήσιμος αισθητήρας, γιατί μας επιτρέπει να δημιουργούμε συστήματα που αντιδρούν, ανάλογα με το πόσο κοντά την απόσταση μας από αυτά ή την απόσταση αντικειμένων, από αυτά. Υπάρχουν δύο διαφορετικοί αισθητήρες απόστασης: ο αισθητήρας υπερήχων (sonar) και o IR (infrared) αισθητήρας (Εικόνα 1). Αυτοί οι δύο έχουν λίγο διαφορετικές αρχές λειτουργίας. Ο αισθητήρας υπερήχων (sonar) λειτουργεί, εκπέμποντας ένα ηχητικό σήμα και υπολογίζοντας το χρόνο που κάνει αυτό το σήμα να επιστρέψει, όταν ανακλάται από ένα αντικείμενο, εμπρός από τον αισθητήρα. Ο IR (infrared) μετράει την απόσταση ενός αντικειμένου από τον αισθητήρα, εκπέμποντας μία δέσμη υπέρυθρου φωτός που ανακλάται από ένα αντικείμενο, εμπρός από τον αισθητήρα. Ο αισθητήρας εκπέμπει τη δέσμη φωτός με μικρή γωνία. Αυτή η δέσμη ανακλάται από ένα αντικείμενο με διαφορετική γωνία ανάκλασης, ανάλογα με την απόσταση του αντικειμένου από τον αισθητήρα. Έτσι, ο αισθητήρας υπολογίζει την απόσταση ενός αντικειμένου από αυτόν, από τη γωνία που αυτό το αντικείμενο ανακλά τη δέσμη φωτός, από τον αισθητήρα. 2

Εικόνα 1: Ο αισθητήρας υπερήχων (SR04, επάνω) και ο infrared (αισθητήρας υπέρυθρου φωτός, κάτω). 1.3 Σχηματικό Διάγραμμα του Κυκλώματος Συνδέοντας έναν αισθητήρα υπερήχων είναι πολύ απλό. Ο αισθητήρας υπερήχων έχει τέσσερεις ακροδέκτες. Ο ένας, είναι ο ακροδέκτης τροφοδοσίας. Συνδέουμε αυτό τον ακροδέκτη στα 5 V. Ο άλλος είναι ο ακροδέκτης που συνδέουμε στο GND. Συνδέουμε τον ακροδέκτη TRIG στη θύρα 13 του Arduino και τον ακροδέκτη ECHO στη θύρα 12 του Arduino (Εικόνα 2). 1.4 Αισθητήρες Υπερήχων: Η Αρχή Λειτουργίας τους Ο αισθητήρας υπερήχων (sonar) μας επιτρέπει να μετράμε απόσταση, στη βάση του χρόνου που κάνει ένα ηχητικό κύμα να επιστρέψει, στον αισθητήρα. Ο αισθητήρας λειτουργεί, εκπέμποντας ένα ηχητικό σήμα και υπολογίζοντας το χρόνο t που κάνει αυτό το σήμα να επιστρέψει, όταν ανακλάται, από ένα αντικείμενο, στην ευθεία του αισθητήρα (Εικόνα 3). 3

Εικόνα 2: Αναλυτικό διάγραμμα της συνδεσμολογίας του κυκλώματος. 4

Εικόνα 3: Η αρχή λειτουργίας του αισθητήρα υπερήχων ( sonar). Επειδή η ταχύτητα v του ήχου στον αέρα είναι γνωστή, μπορούμε να υπολογίσουμε την απόσταση d ενός αντικειμένου από τον αισθητήρα, από το χρόνο t που ένα ηχητικό σήμα που εκπέμπει ο αισθητήρας, κάνει να επιστρέψει στον αισθητήρα: d = v t / 2 Το ηχητικό σήμα που εκπέμπει ο αισθητήρας είναι σε μία συχνότητα που είναι υψηλότερη των συχνοτήτων που μπορούμε το ανθρώπινο αυτί μπορεί να αντιληφθούμε. Ο αισθητήρας υπερήχων είναι χρήσιμος σε πολλές εφαρμογές, ειδικά όταν χρειάζεται να εντοπίζουμε μεγάλα αντικείμενα. Όμως, το ηχητικό σήμα που δημιουργεί / εκπέμπει ο αισθητήρας διαχύνεται σ ένα μεγάλο εύρος (Εικόνα 3). Αυτό, μερικές φορές, προκαλεί παρεμβολές. Αν δηλαδή, υπάρχουν πολλά αντικείμενα σε διάφορες αποστάσεις από τον αισθητήρα, ο αισθητήρας θα εντοπίσει το πλησιέστερο από αυτά. Διαφορετικοί αισθητήρες υπερήχων μπορεί να εντοπίζουν αντικείμενα σε διαφορετικές κλίμακες απόστασης. Ο αισθητήρας που χρησιμοποιούμε, σ αυτή την άσκηση (SR04) μπορεί να εντοπίζει αντικείμενα σε μικρή σχετικά απόσταση 2 400 cm. 1.5 Ανάλυση του Προγράμματος Πρώτα, δηλώνουμε μεταβλητές, για τη LED και τις θύρες 12 και 13 του Arduino που συνδέουμε τους ακροδέκτες του αισθητήρα υπερήχων. 5

const int trigpin = 13; const int echopin = 12; const int led = 11; void setup() { Serial.begin (9600); pinmode(trigpin, OUTPUT); pinmode(echopin, INPUT); pinmode(led, OUTPUT); } void loop() { long duration, distance; int intensity; //Δημιουργούμε ένα τετραγωνικό παλμό στο TRIG Pin που θα προκαλέσει τη εκ //πομπή ενός ηχητικού σήματος, από τον αισθητήρα. digitalwrite(trigpin, LOW); delaymicroseconds(2); digitalwrite(trigpin, HIGH); delaymicroseconds(10); digitalwrite(trigpin, LOW); duration = pulsein(echopin, HIGH); distance = microsecondstocentimeters(duration); 6

Serial.print(distance); Serial.println(" cm"); intensity = map(distance, 500, 2, 0, 255); analogwrite(led, intensity); delay(100); } long microsecondstocentimeters(long microseconds) { // The speed of sound is 340 m/s or 29 microseconds per centimeter. // The ping travels out and back, so to find the distance of the // object we take half of the distance travelled. return microseconds / 29 / 2; } Εικόνα 4: Το πρόγραμμα, για τη μέτρηση της απόστασης αντικειμένων, χρησιμοποιώντας τον αισθητήρα υπερήχων SR04.. Στη setup(), απλά ορίζουμε το ρυθμό / ταχύτητα μετάδοσης δεδομένων, ανάμεσα στον Arduino και στον υπολογιστή. Ορίζουμε τη θύρα που θα ανάβουμε και θα σβήνουμε τη LED, σα θύρα εξόδου (OUTPUT). Στη loop(), δημιουργούμε το ηχητικό σήμα, διαβάζουμε το χρόνο επιστροφής του σήματος, μέσα από τη συνάρτηση: duration = pulsein(echopin, HIGH); και μετατρέπουμε αυτό το χρόνο σε απόσταση (Εικόνα ) Εκτυπώνουμε αυτή την απόσταση στη σειριακή οθόνη και μετά, ανάβουμε τη LED με ένταση ανάλογη της απόστασης. Όσο μικρότερη είναι η απόσταση του αντικειμένου, εμπρός από τον αισθητήρα υπερήχων, τόσο εντονότερος θα είναι ο φωτισμός της LED, χρησιμοποιώντας τη διαμόρφωση εύρους παλμού της: 7

analogwrite(led, intensity) Επειδή η διαμόρφωση εύρους παίρνει τιμές από 0 μέχρι 255 και αισθητήρας εντοπίζει αντικείμενα σε απόσταση 0 500 cm, χρησιμοποιούμε τη συνάρτηση map(), για να αντιστοιχίσουμε τιμές από το διάστημα [0, 500], στο διάστημα [0, 255]. Ανάλογα με το άναμμα σβήσιμο της LED, θα μπορούσαμε να λειτουργούμε το DC κινητήρα, στη βάση της απόστασης ενός αντικειμένου, από τον αισθητήρα απόστασης. 8