Μάθημα 2.1: Υπερήχων (Ultrasonic) 🦇

by UniqueTech in Circuits > Arduino

32 Views, 1 Favorites, 0 Comments

Μάθημα 2.1: Υπερήχων (Ultrasonic) 🦇

Gemini_Generated_Image_y5rueqy5rueqy5ru.png

Μέτρηση απόστασης και αποφυγή εμποδίων

Καλωσορίσατε στην Ενότητα 2! Σήμερα θα δώσουμε στο Arduino την αίσθηση της απόστασης. Θα χρησιμοποιήσουμε τον αισθητήρα HC-SR04, ο οποίος λειτουργεί ακριβώς όπως οι νυχτερίδες: στέλνει έναν ήχο που εμείς δεν ακούμε, αυτός χτυπάει σε ένα εμπόδιο, επιστρέφει, και εμείς υπολογίζουμε την απόσταση βάσει του χρόνου που χρειάστηκε.

Supplies

Τι θα χρειαστούμε;

  1. Arduino Uno
  2. Αισθητήρας HC-SR04
  3. 4 Καλώδια Jumper (Male-to-Male)
  4. Breadboard

Η Συνδεσμολογία

Mighty Hillar-Kasi.png

Ο αισθητήρας έχει 4 pins. Συνδέστε τα ως εξής:

  1. VCC ➡️ Arduino 5V
  2. Trig (Trigger) ➡️ Arduino Digital Pin 9
  3. Echo ➡️ Arduino Digital Pin 10
  4. 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

  1. Προσοχή στις γωνίες: Ο αισθητήρας υπερήχων δυσκολεύεται να "δει" αντικείμενα που έχουν μεγάλη κλίση, γιατί ο ήχος αντανακλάται μακριά του αντί να επιστρέψει.
  2. Μαλακές επιφάνειες: Υφάσματα ή λούτρινα παιχνίδια απορροφούν τον ήχο. Αν φτιάχνετε ένα ρομπότ αποφυγής εμποδίων, δοκιμάστε το πρώτα σε τοίχους ή σκληρά πλαστικά.
  3. To MLA Link: Στο project μας MLA, χρησιμοποιούμε παρόμοιους αισθητήρες για να καταλαβαίνουμε το περιβάλλον γύρω μας!

Η Πρόκληση Της Ημέρας

Φτιάξτε ένα κύκλωμα όπου:

  1. Αν η απόσταση είναι μικρότερη από 15cm, ένα κόκκινο LED θα ανάβει (Προειδοποίηση σύγκρουσης!).
  2. Αν η απόσταση είναι μεγαλύτερη, το LED θα μένει σβηστό.

Μοιραστείτε τα αποτελέσματά σας στα σχόλια!