Каталог товаров

Проекты на Ардуино для борьбы с коронавирусом

Проекты на Ардуино против коронавируса

Несколько ироничная, но в то же время актуальная тема. Все мы видим, как эпидемия повлияла на нашу жизнь, изменила наши поведение и привычки. Мы стали уделять больше внимания своему здоровью. Это находит отражение и в любительских проектах на базе Ардуино: в сети всё чаще попадаются самодельные устройства для измерения температуры, сердечного ритма, уровня кислорода в крови и множество других поделок, призванных помочь нам сохранить здоровье. Предлагаю рассмотреть несколько таких проектов, возможно, вы найдёте для себя что-то интересное.

Бесконтактный термометр на Ардуино

Измерение температуры - это, пожалуй, главный вопрос в рамках обозначенной темы. В современных условиях измерение должно выполняться быстро и без непосредственного контакта с объектом. Это задача для инфракрасных бесконтактных термометров. Магазины предлагают широкий ассортимент данной продукции. Но гораздо интереснее сделать бесконтактный термометр самому. Именно так решили авторы данного проекта, их реализация бесконтактного инфракрасного термометра на Ардуино приведена на сайте how2electronics.com.

Самодельный термометр на Ардуино и MLX90614

Главный компонент такого устройства - инфракрасный датчик температуры. Он определяет температуру тела или любого другого объекта, улавливая испускаемое им инфракрасное излучение, которое затем преобразуется электрический сигнал. В данном проекте применён датчик MLX90614. Это один из наиболее популярных датчиков для бесконтактного измерения температуры.

Если вы захотите повторить этот проект, вам понадобятся следующие компоненты:

  1. Arduino Pro Mini (3.3V/8MHz) https://compacttool.ru/arduino-pro-mini-atmega328p-3v3
  2. ИК-датчик температуры MLX90614 https://compacttool.ru/ik-datchik-temperatury-mlx90614-baa
  3. I2C OLED дисплей SSD1306 0.96" https://compacttool.ru/oled-096-iic-spi-beliy
  4. Модуль лазера https://compacttool.ru/modul-lazera-ky-008-krasniy-5-v-5mvt-650nm
  5. Аккумулятор Li-ion https://compacttool.ru/pitanie/akkumulyatory/
  6. Кнопка https://compacttool.ru/knopka-taktilnaya-s-zheltym-kolpachkom

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

Компоненты подключаются в соответствии со следующей схемой:

Схема бесконтактного термометра на Ардуино и MLX90614

Остаётся добавить в среду разработки Arduino библиотеки Adafruit-MLX90614 для термодатчика и Adafruit-GFX и Adafruit_SSD1306 для работы с OLED дисплеем и залить в Ардуино следующий скетч. Бесконтактный термометр готов!

#include <Wire.h>
#include <Adafruit_MLX90614.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

#define SCREEN_WIDTH 128    // OLED display width, in pixels
#define SCREEN_HEIGHT 64    // OLED display height, in pixels
#define OLED_RESET -1       // Reset pin # (or -1 if sharing Arduino reset pin)
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);

#define laser 12

Adafruit_MLX90614 mlx = Adafruit_MLX90614();

double temp_amb;
double temp_obj;

void setup() {
  Serial.begin(9600);
  mlx.begin();         //Initialize MLX90614
  display.begin(SSD1306_SWITCHCAPVCC, 0x3C); //initialize with the I2C addr 0x3C (128x64)

  Serial.println("Temperature Sensor MLX90614");

  pinMode(laser, OUTPUT);     // Connect LASER

  digitalWrite(laser, LOW);

  display.clearDisplay();
  display.setCursor(25, 15);
  display.setTextSize(1);
  display.setTextColor(WHITE);
  display.println(" Thermometer");
  display.setCursor(25, 35);
  display.setTextSize(1);
  display.print("Initializing");
  display.display();
  delay(5000);
}

void loop() {
  //Reading room temperature and object temp
  //for reading Fahrenheit values, use
  //mlx.readAmbientTempF() , mlx.readObjectTempF() )
  temp_amb = mlx.readAmbientTempC();
  temp_obj = mlx.readObjectTempC();
  digitalWrite(laser, HIGH);

  //Serial Monitor
  Serial.print("Room Temp = ");
  Serial.println(temp_amb);
  Serial.print("Object temp = ");
  Serial.println(temp_obj);

  display.clearDisplay();
  display.setCursor(25, 10);
  display.setTextSize(1);
  display.setTextColor(WHITE);
  display.println(" Temperature");
  display.setCursor(25, 30);
  display.setTextSize(2);
  display.print(temp_obj);
  display.print((char)247);
  display.print("C");
  display.display();

  delay(1000);
}

 

Кепка «Не трогай лицо»

Кепка

Страница проекта https://create.arduino.cc/projecthub/Dynamic_Innovator/i-made-a-cap-that-doesn-t-allows-you-to-touch-your-face-16ba04

Всемирная организация здравоохранения рекомендует для защиты от заражения коронавирусом не трогать лицо, особенно рот, нос и глаза. Но как это сделать, если согласно статистике человек касается своего лица до 23 раз в час? Автор данного проекта решил этот вопрос при помощи кепки и Ардуино. Для этого он установил на козырьке кепки ультразвуковой дальномер, показания которого обрабатываются Ардуино. Стоит поднести руку к лицу, как срабатывает звуковой сигнал, предостерегающий вас от нежелательного прикосновения. Чтобы повторить его проект, помимо самой кепки, вам понадобятся следующие компоненты:

  1. Ардуино УНО (или любая другая удобная для вас плата) https://compacttool.ru/arduino-uno-r3-smd
  2. Ультразвуковой дальномер HC-SR04 https://compacttool.ru/hc-sr04-ultrazvukovoj-datchik-rasstoyaniya 
  3. Звуковой излучатель https://compacttool.ru/izluchatel-zvukovoy-aktivniy-33-5-v
  4. Источник питания от 6В на ваш выбор https://compacttool.ru/pitanie/
  5. Светодиод (для световой индикации)

Схема устройства и скетч для Ардуино приведены ниже.

//Dynamic Innovator
const int trigPin = 9;
const int echoPin = 10;
const int buzzer = 11;
const int ledPin = 13;

// defines variables
long duration;
int distance;
int safetyDistance;


void setup() {
  pinMode(trigPin, OUTPUT); // Sets the trigPin as an Output
  pinMode(echoPin, INPUT); // Sets the echoPin as an Input
  pinMode(buzzer, OUTPUT);
  pinMode(ledPin, OUTPUT);
  Serial.begin(9600); // Starts the serial communication
}


void loop() {
  // Clears the trigPin
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);

  // Sets the trigPin on HIGH state for 10 micro seconds
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);

  // Reads the echoPin, returns the sound wave travel time in microseconds
  duration = pulseIn(echoPin, HIGH);

  // Calculating the distance
  distance = duration * 0.034 / 2;

  safetyDistance = distance;
  if (safetyDistance <= 22
     ) { // Enter the Distance
    digitalWrite(buzzer, HIGH);
    digitalWrite(ledPin, HIGH);
  }
  else {
    digitalWrite(buzzer, LOW);
    digitalWrite(ledPin, LOW);
  }

  // Prints the distance on the Serial Monitor
  Serial.print("Distance: ");
  Serial.println(distance);
}

 

Бесконтактный дозатор дезинфицирующего средства

Страница проекта https://create.arduino.cc/projecthub/taifur/automatic-hand-sanitizer-dispenser-no-arduino-ce852c

Бесконтактный дозатор дезинфицирующего средства

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

Этот же принцип применяется в самодельных автоматических умывальниках, только ёмкость для воды в этом случае используется большего объёма.

Если вы захотите собрать такой дозатор, подготовьте следующие компоненты:

  1. Инфракрасный датчик препятствий https://compacttool.ru/datchik-prepyatstviy-infrakrasniy-tsifrovoy-modul
  2. Li-ion аккумулятор  https://compacttool.ru/pitanie/akkumulyatory/
  3. Контроллер заряда Li-ion аккумулятора https://compacttool.ru/kontroller-zaryada-li-ion-akkumulyatora-na-tp4056-s-razyemom-micro-usb 
  4. Водяная помпа
  5. PNP транзистор общего назначения

Компоненты самодельного дозатора необходимо соединить по приведённой ниже схеме.

Схема самодельного дозатора

Автоматически открывающаяся дверь

Вообще тема бесконтактного управления и взаимодействия весьма популярна в период эпидемии. Дальномеры и датчики препятствий находят применение во множестве проектов. Один из них – устройство для автоматического открывания двери: https://create.arduino.cc/projecthub/344995/touchless-door-opener-cf0637

Идея устройства состоит в том, чтобы открывать дверь при помощи мотора с колесом. Бесконтактное взаимодействие обеспечивает инфракрасный дальномер, а управляется устройство платой Ардуино. Предусмотрена даже возможность беспроводной зарядки. Однако данный проект пока не завершен. Как признаёт сам автор, вначале всё казалось значительно проще.

 

Другие проекты

Множество проектов, интересных, забавных, а порой и весьма странных, направленных на борьбу с вирусом COVID-19, было представлено в рамках соревнования COVID-19 DETECT AND PROTECT CHALLENGE, проведённого программой развития ООН (UNDP). Ознакомиться с ними вы можете, перейдя по ссылке https://create.arduino.cc/projecthub/contests/UNDPCOVID19

Контакты

г. Москва, Пятницкое ш. д. 18, пав. 566

zakaz@compacttool.ru

8-495-752-55-22

Информация представленная на данном информационном ресурсе преследует исключительно рекламные цели и не является договором-офертой !

© Все права защищены 2021г https://compacttool.ru