Κύκλωμα απολυμαντικού υπερήχων

Δοκιμάστε Το Όργανο Μας Για Την Εξάλειψη Των Προβλημάτων





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

Το έργο χρησιμοποιεί τη δημοφιλή μονάδα αισθητήρα υπερήχων HC-SR04 για την απαιτούμενη λειτουργία ανίχνευσης.



Χρησιμοποιώντας το HC-SR04

Η μονάδα αισθητήρα υπερήχων HC-SR04 έχει κατασκευαστεί με μερικούς εξειδικευμένους μετατροπείς υπερήχων που έχουν βαθμολογηθεί για να λειτουργούν και να ανταποκρίνονται σε συχνότητα περίπου 40 kHz.

Η μονάδα διαθέτει 4 pinouts για διαμόρφωση στο προβλεπόμενο κύκλωμα οδήγησης.



Οι ακροδέκτες τροφοδοσίας υποδεικνύονται με καρφίτσες Vcc και Gnd. Όπου Vcc είναι η θετική είσοδος 5V για τη μονάδα και το Gnd υποτίθεται ότι συνδέεται με την αρνητική γραμμή της τροφοδοσίας εισόδου.

Ο πείρος ενεργοποίησης λειτουργεί με παλμό 10 us που ενεργοποιεί τους δύο μορφοτροπείς για μετάδοση και λήψη του ανακλώμενου υπερηχητικού κύματος.

Όταν ανιχνεύεται μια σειρά ανακλώμενων σημάτων, ο πείρος «Echo» γίνεται υψηλός για την εκκίνηση του εξωτερικού ρελέ ή του σωληνοειδούς ή οποιουδήποτε προτιμώμενου φορτίου.

Διασύνδεση HC-SR04 με Arduino

Για να επεξεργαστούμε τη μονάδα HC-SR04 και να την επιτρέψουμε να λειτουργεί ως ανιχνευτής εγγύτητας υπερήχων ακριβείας, χρειαζόμαστε μια μονάδα μικροελεγκτή όπως το Arduino για την εργασία.

Όταν προγραμματίζεται κατάλληλα με τον κωδικό όπως δίνεται παρακάτω, το Arduino καθίσταται συμβατό με το HC-SR04, για την επιδιωκόμενη ανίχνευση εγγύτητας και ενεργοποίηση του μηχανισμού διανομής απολυμαντικών.

Το διάγραμμα καλωδίωσης διασύνδεσης του Arduino με HC-SR04 και το στάδιο ρελέ μπορεί να δει στο ακόλουθο διάγραμμα:

Λειτουργικές λεπτομέρειες

Η επιχειρησιακή διαδικασία αυτού του κυκλώματος απολυμαντικού υπερήχων είναι απλή και μπορεί να γίνει κατανοητή με τα ακόλουθα σημεία:

Το Arduino παρέχει τον παλμό ενεργοποίησης 10 us στους παλμούς ενεργοποίησης μονάδων HC-SR04, ο οποίος επιτρέπει στη μονάδα να στέλνει και να λαμβάνει την ανακλώμενη παλμική αμαξοστοιχία από τον στόχο, που είναι το χέρι του χρήστη.

Αυτά τα ανακλώμενα δεδομένα αποστέλλονται στο rduino από τον πείρο Echo της μονάδας HC-SR04.

Το Arduino επεξεργάζεται το σήμα και επιτρέπει τη σταθερή έξοδο DC στον ακροδέκτη 7 της πλακέτας, η οποία συνδέεται με τη φάση του οδηγού ρελέ μέσω αντίστασης 10k και πυκνωτή 100uF.

Ο πείρος # 7 του Arduino υποτίθεται ότι θα παραμείνει ψηλό όσο οι μονάδες HC-SR04 συνεχίζουν να ανιχνεύουν το χέρι των χρηστών εντός της καθορισμένης εγγύτητας.

Αυτό σημαίνει ότι το reay θα παραμείνει ενεργοποιημένο κατά τη διάρκεια αυτής της περιόδου, κάτι που δεν θέλουμε.

Για να βεβαιωθείτε ότι το ρελέ και ο μηχανισμός διανομής attachwd ή η αντλία ενεργοποιούνται μόνο για λίγα δευτερόλεπτα, ένας πυκνωτής τοποθετείται σε σειρά με τη βάση του BC547.

Όταν ο πείρος # 7 γίνει ψηλός λόγω της παρουσίας ενός ανθρώπινου χεριού, το BC547 λειτουργεί μόνο για όσο διάστημα η βάση του 100uF είναι πλήρως φορτισμένη, κάτι που συμβαίνει μέσα σε λίγα δευτερόλεπτα.

Μόλις το 100uF φορτιστεί πλήρως, η βάση BC547 αναστέλλεται από τη μονάδα βάσης και σταματάει να λειτουργεί, απενεργοποιώντας το ρελέ και απενεργοποιώντας τον προσαρτημένο μηχανισμό διανομής απολυμαντικών χεριών.

Όταν αφαιρεθεί το χέρι, το HC-SR04 σταματά να στέλνει το σήμα Echo στο Arduino, το οποίο αναστρέφει τον ακροδέκτη # 7 στο λογικό μηδέν.

Σε αυτό το σημείο, ο πυκνωτής βάσης 100uF αρχίζει να αποφορτίζεται μέσω του πείρου Arduino # 7 και της αντίστασης γείωσης 10k στη δεξιά πλευρά.

Κωδικός προγράμματος

Ολόκληρος ο κωδικός προγράμματος για το παραπάνω κύκλωμα απολυμαντικού υπερήχων με χρήση HC-SR04 και Arduino δίνεται παρακάτω:


const int trigger = A1
const int echo = A2
int vcc = A0
int gnd = A3
int OP = 7
long Time
float distanceCM
float distance = 15 // set threshold distance in cm
float resultCM
void setup()
{
pinMode(OP,OUTPUT)
pinMode(trigger,OUTPUT)
pinMode(echo,INPUT)
pinMode(vcc,OUTPUT)
pinMode(gnd,OUTPUT)
}
void loop()
{
digitalWrite(vcc,HIGH)
digitalWrite(gnd,LOW)
digitalWrite(trigger,LOW)
delay(1)
digitalWrite(trigger,HIGH)
delayMicroseconds(10)
digitalWrite(trigger,LOW)
Time=pulseIn(echo,HIGH)
distanceCM=Time*0.034
resultCM=distanceCM/2
if(resultCM<=distance)
{
digitalWrite(OP,HIGH)
delay(4000)
}
if(resultCM>=distance)
{
digitalWrite(OP,LOW)
}
delay(10)
}

Προειδοποίηση: Το προτεινόμενο κύκλωμα απολυμαντικού υπερήχων δεν έχει δοκιμαστεί πρακτικά από τον συγγραφέα. Η ιδέα ήταν εμπνευσμένη από αυτό το άρθρο , και τροποποιήθηκε κατάλληλα για την ενεργοποίηση της απαιτούμενης στιγμιαίας λειτουργίας ON / OFF για την αντλία διανομέα ή την ηλεκτρομαγνητική βαλβίδα.




Προηγούμενο: Κύκλωμα συναγερμού αισθητήρα σώματος Επόμενο: Ταιριάξτε τα ζεύγη τρανζίστορ γρήγορα χρησιμοποιώντας αυτό το κύκλωμα