Μάθημα 2.1: Υπερήχων (Ultrasonic) 🦇
by UniqueTech in Circuits > Arduino
32 Views, 1 Favorites, 0 Comments
Μάθημα 2.1: Υπερήχων (Ultrasonic) 🦇
Μέτρηση απόστασης και αποφυγή εμποδίων
Καλωσορίσατε στην Ενότητα 2! Σήμερα θα δώσουμε στο Arduino την αίσθηση της απόστασης. Θα χρησιμοποιήσουμε τον αισθητήρα HC-SR04, ο οποίος λειτουργεί ακριβώς όπως οι νυχτερίδες: στέλνει έναν ήχο που εμείς δεν ακούμε, αυτός χτυπάει σε ένα εμπόδιο, επιστρέφει, και εμείς υπολογίζουμε την απόσταση βάσει του χρόνου που χρειάστηκε.
Supplies
Τι θα χρειαστούμε;
- Arduino Uno
- Αισθητήρας HC-SR04
- 4 Καλώδια Jumper (Male-to-Male)
- Breadboard
Η Συνδεσμολογία
Ο αισθητήρας έχει 4 pins. Συνδέστε τα ως εξής:
- VCC ➡️ Arduino 5V
- Trig (Trigger) ➡️ Arduino Digital Pin 9
- Echo ➡️ Arduino Digital Pin 10
- GND ➡️ Arduino GND
Ο Κώδικας (The Sketch)
Αντιγράψτε τον παρακάτω κώδικα στο Arduino IDE σας. Έχουμε προσθέσει σχόλια για να καταλάβετε ακριβώς τι κάνει κάθε γραμμή.
// Ορισμός των Pins
const int trigPin = 9;
const int echoPin = 10;
// Μεταβλητές για τον χρόνο και την απόσταση
long duration;
int distance;
void setup() {
pinMode(trigPin, OUTPUT); // Το Trig στέλνει τον ήχο
pinMode(echoPin, INPUT); // Το Echo δέχεται την επιστροφή
Serial.begin(9600); // Έναρξη επικοινωνίας με την οθόνη (Serial Monitor)
}
void loop() {
// Καθαρισμός του trigPin
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
// Αποστολή ήχου για 10 microseconds
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// Ανάγνωση του χρόνου επιστροφής
duration = pulseIn(echoPin, HIGH);
// Υπολογισμός απόστασης σε εκατοστά (cm)
// Ταχύτητα ήχου / 2 (γιατί η διαδρομή είναι πήγαινε-έλα)
distance = duration * 0.034 / 2;
// Εμφάνιση αποτελέσματος στο Serial Monitor
Serial.print("Distance: ");
Serial.print(distance);
Serial.println(" cm");
delay(500); // Μικρή παύση πριν την επόμενη μέτρηση
}
Δες το GitHub Repository εδώ!
Unique Tech Pro-Tips
- Προσοχή στις γωνίες: Ο αισθητήρας υπερήχων δυσκολεύεται να "δει" αντικείμενα που έχουν μεγάλη κλίση, γιατί ο ήχος αντανακλάται μακριά του αντί να επιστρέψει.
- Μαλακές επιφάνειες: Υφάσματα ή λούτρινα παιχνίδια απορροφούν τον ήχο. Αν φτιάχνετε ένα ρομπότ αποφυγής εμποδίων, δοκιμάστε το πρώτα σε τοίχους ή σκληρά πλαστικά.
- To MLA Link: Στο project μας MLA, χρησιμοποιούμε παρόμοιους αισθητήρες για να καταλαβαίνουμε το περιβάλλον γύρω μας!
Η Πρόκληση Της Ημέρας
Φτιάξτε ένα κύκλωμα όπου:
- Αν η απόσταση είναι μικρότερη από 15cm, ένα κόκκινο LED θα ανάβει (Προειδοποίηση σύγκρουσης!).
- Αν η απόσταση είναι μεγαλύτερη, το LED θα μένει σβηστό.
Μοιραστείτε τα αποτελέσματά σας στα σχόλια!