Πίνακας περιεχομένων:

Ένα υπέρυθρο σκυλί παρακολούθησης: 3 βήματα
Ένα υπέρυθρο σκυλί παρακολούθησης: 3 βήματα

Βίντεο: Ένα υπέρυθρο σκυλί παρακολούθησης: 3 βήματα

Βίντεο: Ένα υπέρυθρο σκυλί παρακολούθησης: 3 βήματα
Βίντεο: Το Σόι Σου - Επεισόδιο 3 2024, Νοέμβριος
Anonim
Image
Image
Ένα υπέρυθρο σκυλί ιχνηλάτησης
Ένα υπέρυθρο σκυλί ιχνηλάτησης

Κάποτε βρήκα ένα ενδιαφέρον βίντεο στη διεύθυνση:

Με την πρώτη ματιά νιώθω Πραγματικά περίεργο, και στη συνέχεια τα πόδια εξαπατημένα, δεν ξέρω ποιος είναι ο βασικός λόγος για τον οποίο ο σχεδιαστής έκανε μια τέτοια παραπλανητική ιστορία … είναι αδύνατο με έναν απλό αισθητήρα IR, ή ακόμα και χωρίς κανέναν ελεγκτή αλλά μόνο απλές τριόδους Το

Δεν ξέρω τον τύπο και όλη την ιστορία, απλώς προσπαθώ να το φτιάξω μόνος μου. Μόλις έφτιαξα το δικό μου σχέδιο, με πολύ απλές ενότητες:

  • Οποιοσδήποτε συμβατός ελεγκτής Arduino, όπως ο Maduino
  • L298N πρόγραμμα οδήγησης κινητήρα
  • 3x αισθητήρας IR
  • Μερικοί συνηθισμένοι άλτες

Βήμα 1: Ανίχνευση εμποδίων

Ανίχνευση εμποδίων
Ανίχνευση εμποδίων

Εκεί χρησιμοποιούνται 3 αισθητήρες IR για τον εντοπισμό του εμποδίου και ο αριστερός/δεξιός αισθητήρας εντόπισε το εμπόδιο, θα πρέπει να περιστρέφεται προς την κατεύθυνση του ρολογιού/του ρολογιού, ενώ ο μεσαίος αισθητήρας ανιχνεύεται, είναι εντάξει.

Ο αισθητήρας 3 ανιχνεύει εάν υπάρχει εμπόδιο μπροστά. Συνδέει τον ακροδέκτη σήματος στις ακίδες εισόδου Maduino, όπως το Pin2/3/4.

Ως λογισμικό, απλώς ελέγξτε την κατάσταση εξόδου του αισθητήρα, για να αποφασίσετε τι πρέπει να κάνει ο κινητήρας:

εάν (IR1_STA == HIGH & IR2_STA == LOW & IR3_STA == HIGH) // Εάν ο αισθητήρας μεσαίων αισθητήρων εντοπίσει το εμπόδιο, σταματήστε τον κινητήρα

{

analogWrite (EN, 0);

Να σταματήσει();

}

εάν (IR1_STA == LOW & IR2_STA == HIGH & IR3_STA == HIGH) // εάν ο σωστός αισθητήρας ανιχνεύσει το αποφρακτικό, οπισθοπορεί τον κινητήρα με μεγάλη ταχύτητα.

{

analogWrite (EN, highspeed);

ΑΝΤΙΣΤΡΟΦΗ();

}

εάν (IR1_STA == LOW & IR2_STA == LOW & IR3_STA == HIGH) // εάν το

Δεξιός & μεσαίος αισθητήρας ανιχνεύει την αποφρακτική, όπισθεν του κινητήρα με χαμηλή ταχύτητα.

{

analogWrite (EN, χαμηλής ταχύτητας);

ΑΝΤΙΣΤΡΟΦΗ();

}

……

Βήμα 2: Έλεγχος κινητήρα

Μηχανικός έλεγχος
Μηχανικός έλεγχος
Μηχανικός έλεγχος
Μηχανικός έλεγχος

Και ένας οδηγός κινητήρα για οδήγηση του κινητήρα, με υψηλή/χαμηλή ταχύτητα, εξαρτάται από την κατάσταση του αισθητήρα.

Χρησιμοποιώντας μια μονάδα L298N για την οδήγηση του κινητήρα, με τον πείρο Maduino5/6 και τον πείρο PWM (Maduino Pin9) έως τον L298N Ενεργοποιήστε τον πείρο και τροφοδοτήστε τη μονάδα με 9V:

int EN = 9; // Έλεγχος PWM

int highspeed = 80; // ορίστε την υψηλή ταχύτητα

int lowspeed = 60; // ορίστε τη χαμηλή ταχύτητα

και στη συνέχεια η ταχύτητα του κινητήρα μπορεί να ελεγχθεί με:

analogWrite (EN, highspeed);

Βήμα 3: Εγκαταστήστε κάτι εκεί, ένα τέτοιο σκυλί…

Εγκαταστήστε κάτι εκεί, ένα τέτοιο σκυλί…
Εγκαταστήστε κάτι εκεί, ένα τέτοιο σκυλί…

Εγκαταστήστε τους αισθητήρες και τους κινητήρες και κάντε κάτι, για μένα, μου αρέσει ένας σκύλος να παίζει με την κόρη μου 1,5 ετών. Κατεβάστε τον κωδικό Arduino εδώ…. Δωρεάν επικοινωνήστε μαζί μου: [email protected] εάν έχετε ερωτήσεις

Συνιστάται: