В условиях нарастания очередной волны заболеваемости порой требуются простые и недорогие средства обеспечения защиты, при этом под защитой в данном случае может пониматься обеспечение социальной дистанции, минимизирующей риск заражения.

Для создания простого устройства социального дистанцирования нам потребуется управляющая плата Arduino, ультразвуковой датчик для измерения расстояния, а также зуммер для звукового оповещения и светодиод для световой индикации при сокращении социальной дистанции. Для отладки или большей информативности можно подключить небольшой ЖК-дисплей.
Схема такого устройства представлена далее.

Схема работает очень просто. Когда расстояние, измеряемое с помощью ультразвукового датчика сокращается до недопустимого, Arduino выдает сигнал на зуммер и светодиод, чтобы предупредить о таком сокращении расстояния.
Код программы для Arduino следующий (код также предполагает использование LCD-дисплея):
#include <LiquidCrystal.h>
LiquidCrystal lcd(10,9, 5, 4, 3, 2);
int sensorPin = 0;
int buzzerPin = 12;
int ultrasonicpin=6;
int sensorvalue=LOW;
int pirPin = 13;
int ledPin = 11;
int sensorpin;
void setup()
{
lcd.begin(16, 2);
pinMode(buzzerPin, OUTPUT);
pinMode(ledPin, OUTPUT);
pinMode(pirPin, INPUT);
pinMode(A0, INPUT);
}
void loop()
{
lcd.clear();
int reading = analogRead(sensorPin);
float voltage = reading * 5.0;
voltage /= 1024.0;
float temperatureC = (voltage - 0.5) * 100 ;
float temperatureF = (temperatureC * 9.0 / 5.0) + 32.0;
if(temperatureC>=38.0)
{
sensorvalue = digitalRead(pirPin);
if( sensorvalue == HIGH ) {
tone(buzzerPin, 1200);
digitalWrite(ledPin, HIGH);
delay(100); .
lcd.setCursor(1,0);
lcd.print("Social distanci");
lcd.setCursor(0,1);
lcd.print("ng is violated");
delay(100);
}
else{
noTone(buzzerPin);
digitalWrite(ledPin, LOW);
lcd.print("You have fever!!");
lcd.setCursor(0,1);
lcd.print("C=");
lcd.print(temperatureC);
lcd.print(" F=");
lcd.print(temperatureF);}
}else{
sensorvalue = digitalRead(pirPin);
if( sensorvalue == HIGH ) {
tone(buzzerPin, 1200);
digitalWrite(ledPin, HIGH);
delay(100); .
lcd.setCursor(1,0);
lcd.print("Social distanci");
lcd.setCursor(0,1);
lcd.print("ng is violated");
delay(100);
}
else{
noTone(buzzerPin);
digitalWrite(ledPin, LOW);
lcd.print("You are safe");
lcd.setCursor(0,1);
lcd.print("C=");
lcd.print(temperatureC);
lcd.print(" F=");
lcd.print(temperatureF);
digitalWrite(9,0);
}
}
delay(1000);
}
Устройство можно спрятать в носимый корпус.

© digitrode.ru