Circuit cu ultrasunete pentru dezinfectarea mâinilor

Încercați Instrumentul Nostru Pentru Eliminarea Problemelor





Circuitul cu ultrasunete pentru dezinfectarea mâinilor detectează prezența mâinii umane prin unde ultrasonice reflectate și declanșează momentan o pompă solenoidă cu releu pentru distribuirea lichidului de dezinfectare pe mâinile utilizatorului.

Proiectul folosește popularul modul de senzori cu ultrasunete HC-SR04 pentru funcția de detectare necesară.



Folosind HC-SR04

Modulul senzor cu ultrasunete HC-SR04 este construit utilizând câteva traductoare cu ultrasunete specializate care funcționează și răspund la o frecvență de aproximativ 40 kHz.

Modulul are 4 pinouts pentru configurarea în circuitul driverului dorit.



Pinurile de alimentare sunt indicate cu pinii Vcc și Gnd. În cazul în care Vcc este intrarea pozitivă de 5V pentru modul, iar Gnd se presupune că este conectat la linia negativă a sursei de alimentare de intrare.

Pinul de declanșare funcționează cu un impuls de 10 US care activează cei doi traductori pentru transmiterea și recepționarea undei ultrasonice reflectate.

Când este detectată o serie de semnale reflectate, pinul „Echo” devine ridicat pentru inițierea releului extern sau a solenoidului sau a oricărei sarcini preferate.

Interfațarea HC-SR04 cu Arduino

Pentru a procesa modulul HC-SR04 și a-i permite să funcționeze ca un detector de proximitate cu ultrasunete de precizie, avem nevoie de o unitate de microcontroler, cum ar fi un Arduino.

Când este programat în mod corespunzător cu codul prezentat mai jos, Arduino devine compatibil cu HC-SR04, pentru detectarea intenționată a proximității mâinilor și activarea mecanismului de distribuire a dezinfectantului.

Schema de conectare a interfeței Arduino cu HC-SR04 și stadiul releului poate fi văzută în următoarea diagramă:

Detalii operaționale

Procedura operațională a acestui circuit de dezinfectare a mâinilor cu ultrasunete este simplă și poate fi înțeleasă cu următoarele puncte:

Arduino furnizează impulsul de activare de 10 US impulsului de declanșare a modulelor HC-SR04, care permite modulului să trimită și să primească trenul de impuls reflectat de la țintă, care este mâna utilizatorului.

Aceste date reflectate sunt trimise către rduino de la pinul Echo al modulului HC-SR04.

Arduino procesează semnalul și permite o ieșire DC stabilă la pinul 7 al plăcii, care este conectat cu etapa driverului de releu printr-un rezistor de 10k și un condensator 100uF.

Pinul # 7 al Arduino ar trebui să rămână ridicat atâta timp cât modulele HC-SR04 continuă să detecteze mâna utilizatorilor în proximitatea setată.

Aceasta înseamnă că aparatul va rămâne, de asemenea, pornit în această perioadă, ceea ce nu vrem.

Pentru a vă asigura că releul și mecanismul de distribuție sau pompa atașată sunt acționate doar pentru câteva secunde, un condensator este plasat în serie cu baza BC547.

Când pinul # 7 devine ridicat datorită prezenței unei mâini umane, BC547 conduce doar atât timp cât baza sa 100uF este complet încărcată, ceea ce se întâmplă în câteva secunde.

Odată ce 100uF este complet încărcat, baza BC547 este inhibată de la unitatea de bază și se oprește conducerea, oprirea releului și dezactivarea mecanismului atașat de distribuire a dezinfectantului pentru mâini.

Când mâna este îndepărtată, HC-SR04 încetează să mai trimită semnalul Echo către Arduino, care își rotește pinul # 7 la zero logic.

În acest moment, condensatorul de bază 100uF începe să fie descărcat prin pinul Arduino # 7 și rezistorul de masă din partea dreaptă de 10k.

Codul programului

Întregul cod al programului pentru circuitul de dezinfectare cu ultrasunete pentru mâini discutat mai sus folosind HC-SR04 și Arduino este dat mai jos:


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

Avertizare: Circuitul de dezinfectare a mâinilor cu ultrasunete propus nu a fost testat practic de autor. Ideea a fost inspirată din Acest articol , și modificat corespunzător pentru a permite funcția ON / OFF momentană necesară pentru pompa dozatoare sau solenoid.




Precedent: Circuit de alarmă senzor de zgomot corporal Următorul: Potriviți perechile de tranzistoare folosind rapid acest circuit