Ultraschall-Händedesinfektionskreis

Versuchen Sie Unser Instrument, Um Probleme Zu Beseitigen





Der Ultraschall-Händedesinfektionskreis erkennt das Vorhandensein menschlicher Hand durch reflektierte Ultraschallwellen und löst kurzzeitig eine Relaismagnetpumpe aus, um die Desinfektionsflüssigkeit auf die Hände des Benutzers abzugeben.

Das Projekt verwendet das beliebte Ultraschallsensormodul HC-SR04 für die erforderliche Erfassungsfunktion.



Verwendung von HC-SR04

Das Ultraschallsensormodul HC-SR04 besteht aus einigen speziellen Ultraschallwandlern, die für eine Frequenz von etwa 40 kHz ausgelegt sind.

Das Modul verfügt über 4 Pinbelegungen zur Konfiguration in der vorgesehenen Treiberschaltung.



Die Versorgungsbelegungen sind mit Vcc- und Gnd-Pins gekennzeichnet. Wobei Vcc der positive 5-V-Eingang für das Modul ist und der Gnd mit der negativen Leitung der Eingangsstromversorgung verbunden werden soll.

Der Trigger-Pin arbeitet mit einem 10-us-Impuls, der die beiden Wandler zum Senden und Empfangen der reflektierten Ultraschallwelle aktiviert.

Wenn eine Reihe von reflektierten Signalen erkannt wird, wird der 'Echo' -Pin hoch, um das externe Relais oder den Magneten oder eine bevorzugte Last auszulösen.

Verbindung von HC-SR04 mit Arduino

Um das HC-SR04-Modul zu verarbeiten und es als Präzisions-Ultraschall-Näherungsdetektor zu verwenden, benötigen wir für diese Aufgabe eine Mikrocontroller-Einheit wie ein Arduino.

Bei entsprechender Programmierung mit dem unten angegebenen Code wird der Arduino mit dem HC-SR04 kompatibel, um die beabsichtigte Erkennung der Handnähe und die Aktivierung des Desinfektionsmittelausgabemechanismus zu ermöglichen.

Der Schnittplan des Arduino mit HC-SR04 und der Relaisstufe ist im folgenden Diagramm zu sehen:

Betriebsdetails

Das Betriebsverfahren dieser Ultraschall-Händedesinfektionsschaltung ist einfach und kann mit den folgenden Punkten verstanden werden:

Der Arduino liefert den 10 us-Aktivierungsimpuls an den Triggerimpuls des HC-SR04-Moduls, der es dem Modul ermöglicht, die reflektierte Impulsfolge vom Ziel zu senden und zu empfangen, das die Hand des Benutzers ist.

Diese reflektierten Daten werden vom Echo-Pin des HC-SR04-Moduls an das Rduino gesendet.

Der Arduino verarbeitet das Signal und ermöglicht einen stabilen Gleichstromausgang an Pin7 der Platine, die über einen 10k-Widerstand und einen 100uF-Kondensator mit der Relaistreiberstufe verbunden ist.

Der Pin Nr. 7 von Arduino soll hoch bleiben, solange die HC-SR04-Module weiterhin die Hand des Benutzers innerhalb der eingestellten Nähe erkennen.

Dies bedeutet, dass der Reay auch während dieser Zeit eingeschaltet bleibt, was wir nicht wollen.

Um sicherzustellen, dass das Relais und der angeschlossene Abgabemechanismus oder die Pumpe nur einige Sekunden lang betätigt werden, wird ein Kondensator in Reihe mit der Basis des BC547 geschaltet.

Wenn Pin Nr. 7 aufgrund der Anwesenheit einer menschlichen Hand hoch wird, leitet der BC547 nur so lange, wie seine Basis 100uF vollständig aufgeladen ist, was innerhalb weniger Sekunden geschieht.

Sobald der 100uF vollständig aufgeladen ist, wird die Basis des BC547 vom Basisantrieb gesperrt und hört auf zu leiten, schaltet das Relais aus und deaktiviert den angeschlossenen Händedesinfektionsmittel-Abgabemechanismus.

Wenn die Hand entfernt wird, sendet der HC-SR04 kein Echosignal mehr an das Arduino, das seinen Pin Nr. 7 auf logisch Null dreht.

Zu diesem Zeitpunkt beginnt der 100uF-Basiskondensator über den Arduino-Pin Nr. 7 und den 10k-Erdungswiderstand auf der rechten Seite entladen zu werden.

Programmcode

Der gesamte Programmcode für die oben diskutierte Ultraschall-Händedesinfektionsschaltung unter Verwendung von HC-SR04 und Arduino ist unten angegeben:


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)
}

Warnung: Die vorgeschlagene Ultraschall-Händedesinfektionsschaltung wurde vom Autor praktisch nicht getestet. Die Idee wurde inspiriert von Dieser Beitrag und entsprechend modifiziert, um die erforderliche momentane EIN / AUS-Funktion für die Spenderpumpe oder den Magneten zu aktivieren.




Zurück: Alarmkreis des Brummensensors Weiter: Passen Sie die Transistorpaare mithilfe dieser Schaltung schnell an