» Ηλεκτρονικά » Arduino »Απλό εύρος εύρεσης στο Arduino

Απλός μετρητής ταχύτητας Arduino


Καλησπέρα εραστές σπιτικό! Σήμερα θα συγκεντρώσουμε ένα απλό εύρος ζώνης Arduino Pro Mini. Η συσκευή μπορεί να μετρήσει απόσταση από 2 έως 400 cm. Το σφάλμα αυτής της συσκευής είναι μόλις +/- 1-5 cm, ανάλογα με τη μετρούμενη απόσταση.

Εργαλεία και υλικά
-Arduino Pro mini
Αισθητήρα HC-04
- Δείκτης στο tm1637
-Wire (έχω - MGTF 0,12)
-Προγραμματιστής
-Πλαστικό περίβλημα
-Li-on μπαταρία
-Μικρός διακόπτης
- Πίνακας φόρτισης στο TP4056
Superglue
-Απορροφητικό σίδερο
-Διακόπτης
Rosin
Τρυπάνια, τρυπάνια κ.λπ.

Βήμα πρώτο: Σχήμα:
Σύμφωνα με το σχέδιο, όλα είναι απλά, χωρίς προσθήκες.


Βήμα δεύτερο: Προετοιμασία περίπτωσης:
Αρχικά δοκιμάζουμε τον αισθητήρα και τρυπάμε δύο τρύπες για 15 mm.

Στη συνέχεια, δημιουργήστε μια τρύπα για ένα βύσμα micro-usb με τρυπάνι 3-3,5 mm.

Επιλέγουμε ένα τρυπάνι για τη διάμετρο του διακόπτη και τρυπάνι.

Στο καπάκι κάνουμε ένα "παράθυρο" για τον δείκτη επτά τμημάτων (στη φωτογραφία χωρίς επεξεργασία) και τελειώνουμε όλες τις παρατυπίες με ένα αρχείο.


Βήμα τρίτο: Firmware:
Στο σκίτσο, επισημαίνονται οι μεταβλητές που μπορούν να προσαρμοστούν για τον εαυτό σας. Όλος ο κώδικας σχολιάζεται.

#include  // βιβλιοθήκες για εργασία
#include 
// ------------- Για να ρυθμίσετε τις παραμέτρους --------------------------------- --------------------------------
bool Long = 0; // 0 - μετράτε το μήκος από τον αισθητήρα
               // 1 - μετρήστε το μήκος από το τοίχωμα του περιβλήματος, το οποίο είναι απέναντι από τον αισθητήρα
unsigned int corpus = 10; // απόσταση από τον αισθητήρα στον αντίθετο τοίχο (σε εκατοστά)

#define CLK 2 // pin to connect
#define DIO 3
#define TRIG 4
#define ECHO 5
// ------------------------------------------------ ----------------------------------------------
unsigned int impulse = 0; // μεταβλητές για τον υπολογισμό
unsigned int sm = 0;

GyverTM1637 disp (CLK, DIO).
άκυρη ρύθμιση () {
 pinMode (TRIG, OUTPUT); // να οριστεί ως έξοδος
 pinMode (ECHO, είσοδος); // να οριστεί ως είσοδος
 διαφωνία (7); // φωτεινότητα 0-7
 disp.point (0); // απενεργοποιήστε το παχύ έντερο
  disp.clear (); // καθαρίστε την ένδειξη
}}

void loop () {
 ψηφιακή καταγραφή (TRIG, HIGH); // τροφοδοτήστε 5 βολτ
  καθυστέρησηMicroseconds (10); // καθυστέρηση 10 μικροδευτερολέπτων
  ψηφιακή καταγραφή (TRIG, LOW); // εξυπηρετήστε 0
 
  impulse = παλμόςIn (ECHO, ΥΨΗΛΟ); // μετρά το μήκος παλμού
  sm = παλμός / 58; // μετατρέψτε σε εκατοστά

  αν (Long == 1) {// ελέγξτε τις ρυθμίσεις
    sm = sm + corpus;
  }}

  αν (sm <= 2) {// μηδενικές τιμές ψευδούς τιμής
    sm = 1;
  }}
  αν (sm> = 405) {
    sm = 1;
  }}

  int ακέραιος = sm / 10;
  int δεκαδικός = sm% 10;
  δεκαδικό = δεκαδικό * 10;
 disp.displayClock (ακέραιο, δεκαδικό); // output to indicator

  καθυστέρηση (300); // καθυστέρηση 0,3 sec. μεταξύ της τιμής εξόδου
}}

Στη συνέχεια, συνδέστε τον προγραμματιστή και αναβοσβήνει το MK.


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

Συνδέστε την μπαταρία στο σώμα με την πρόσθετη κόλλα. Κόλλησα την πλακέτα φόρτισης της μπαταρίας, εγκαταστήσαμε το διακόπτη και τα συγκολλήσαμε σύμφωνα με το σχέδιο.

Βάζουμε τον αισθητήρα στην θήκη και τα κολλάμε όλα σύμφωνα με το σχήμα. Πρώτα υπήρχε μια ιδέα να κολλήσουμε το χαρτόνι στην ταινία διπλής όψης, αλλά στη συνέχεια αποφασίσαμε να την κολλήσουμε πάνω στο superglue.


Βήμα 5: Δοκιμή:
Σημείωση: Ο τέταρτος τομέας θα εμφανίζει πάντα το 0. Αυτό σημαίνει ότι το τελευταίο τμήμα δεν είναι άδειο. Αποδεικνύεται αν η ανάγνωση είναι 270, τότε αυτό σημαίνει ότι η απόσταση είναι 27 cm.

Βεβαίως, η μαρτυρία μπορεί να επαληθευτεί με τον κυβερνήτη.
8
8.3
7.6

Προσθέστε ένα σχόλιο

    • χαμόγελοχαμογελάειxaxaΕντάξειdontknowyahoonea
      αφεντικόξυστάανόητοςναιναι-ναιεπιθετικήμυστικό
      Συγγνώμηχορόςdance2dance3συγχώρησηβοήθειαποτά
      σταματήστεφίλουςκαλόgoodgoodσφυρίχτρασυρρέουνγλώσσα
      καπνόςπαλαμάκιαcrayδηλώστεαπογοητευτικήdon-t_mentionκατεβάστε
      θερμότηταςirefulγέλιο1mdaσυνάντησηmoskingαρνητική
      not_iποπ κορντιμωρίαδιαβάστετρομάξτεφοβίζειαναζήτηση
      χλευάζωthank_youαυτόto_clueumnikοξείασυμφωνώ
      κακόbeeeblack_eyeblum3ρουζκαυχηθείτεπλήξη
      λογοκρισίαευχαρίστησηsecret2απειλήσουννίκηyusun_bespectacled
      shokrespektlolπροβλέπουνκαλωσορίστεkrutoyya_za
      ya_dobryiβοηθόςne_huliganne_othodifludαπαγόρευσηκοντά
3 σχόλιο
Ο Γιώργος
Το έργο κλαπεί από το "AlexGiver", οπότε ο συγγραφέας είναι "αρουραίος" !!!
Πρώτα
Δεν χρεώνουμε επιπλέον χρεώσεις. Ως εκ τούτου στο διοικητικό συμβούλιο Arduino συγκόλληση των LED
, αλλά στη συνέχεια δαπανώνται ανόητα πολύ πιο σωστά
το τέταρτο τμήμα θα εμφανίζει πάντα 0.

Βεβαίως, η μαρτυρία μπορεί να επαληθευτεί με τον κυβερνήτη.
Και ποια είναι τα αποτελέσματα;

Το ίδιο το έργο με τη μορφή που παρουσιάστηκε είναι καθαρά εκπαιδευτικό και δεν έχει καμία πρακτική σημασία.
Λιοντάρι
Έχω πειραματιστεί πολύ με αυτόν τον αισθητήρα, δυστυχώς η ακρίβεια της μέτρησής του εξαρτάται σε μεγάλο βαθμό από την κάθετο του επιπέδου μέτρησης στο επίπεδο της συσκευής.

Σας συμβουλεύουμε να διαβάσετε:

Κάντε το για το smartphone ...