Контроль температуры и дезинфекции на базе Arduino

XII Международный конкурс научно-исследовательских и творческих работ учащихся
Старт в науке

Контроль температуры и дезинфекции на базе Arduino

Сыздыков Н.С. 1
1МУНИЦИПАЛЬНОЕ БЮДЖЕТНОЕ УЧРЕЖДЕНИЕ ДОПОЛНИТЕЛЬНОГО ОБРАЗОВАНИЯ «ЦЕНТР ВНЕШКОЛЬНОЙ РАБОТЫ «МАЛАЯ АКАДЕМИЯ»
Каверзина Т.Н. 1
1муниципальное бюджетное учреждение дополнительного образования центр внешкольной работы "Малая Академия"
Автор работы награжден дипломом победителя II степени
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF

Введение

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

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

Цель: Создать свой аналог системы контроля температуры, дезинфекции на базе Arduino.

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

В соответствии с целью и гипотезой были поставлены следующие задачи:

Собрать необходимую информацию, посвященную приборам контроля и дезинфекции в период пандемии;

Изучить техническую документацию платформы Arduino;

Выбрать комплектующие для устройства;

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

Рассмотреть экономическую значимость проекта.

Объект исследования: автоматические аппараты, роботы для дезинфекции воздуха и гигиены рук.

Предмет исследования: принцип строения и работы комплекса «Контроль температуры и дезинфекции на основе конструктора Arduino.

Методы исследования: теоретический анализ источников, формализация, обобщение, моделирование, эксперимент, описание.

Практическая значимость:

Создание безопасных санитарных условий жизни для человека;

Дезинфекция рук и обуви при входе в помещение;

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

Исследование проблемы

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

Подготовительный этап.

Произвести выбор темы;

Выбрать формы представления проекта;

Определить тип проекта;

Определить основные этапы осуществления проекта.

2. Поисково-аналитический этап.

Найти информацию по применению приборов по дезинфекции в период пандемии;

Выбрать наиболее подходящий по техническим характеристикам микроконтроллер.

3. Практический этап.

Сконструировать и запрограммировать модули комплекса;

Создать программы для всех модулей комплекса;

Привлечь учащихся для оценки и экспертизы работы комплекса;

Создать план защиты проекта и разработать презентацию.

Анкетирование

Проведено on line анкетирование учащихся в своем классе, с целью выяснить, что знают ученики по теме возможности проведения дезинфекции и входного контроля температуры. Анкетирование составлено с помощью Google Forms, учащиеся 5 класса выполняли тест по следующей ссылке. В анкетировании участвовало 30 учеников 5 класса, в котором я учусь МБОУ «Гимназия «Планета Детства» г. Рубцовск.

https://docs.google.com/forms/d/1ZwqMEIo6uX1kcyrHXlVmWUEBIuphpfMUxQx2DNBaD0I/edit

Бланк анкеты представлен в приложении 1, а результаты анкетирования можно посмотреть по ссылке

https://docs.google.com/spreadsheets/d/1GfIRSNqAV1T6U-LqksOg0GJu48LWKfXhElD8us2Ic2w/edit#gid=1139742202

Рис 1. Результат анкетирования

Результаты on line анкетирование учащихся, с целью выяснить, как относятся ученики к тому, что проверку температуры и дезинфекцию рук и обуви будут выполнять автоматы.

На вопрос о том, что измерять температуру и проводить дезинфекцию будет робот, ответили 100% да. На вопрос, хотели бы они, чтобы температуру в школе измерял медицинский работник 100% ответили нет.

Выбор комплектующих

Основная цель выбрать не дорогой микроконтроллер (чтобы снизить общую стоимость комплекса), но в то же время, чтобы он соответствовал требованиям по производительности, надежности, условиям применения. При выборе подходящего микроконтроллера, изучена литература по теме и сделан вывод, что на основе необходимых характеристик для данной модели лучше подойдет микроконтроллер Arduino. [6]

Т аблица 1.

Сравнение плат Arduino

Какую выбрать?

Arduino Uno является стандартной платой Arduino и возможно наиболее распространенной. Она основана на микроконтроллере ATmega328, имеющем на борту 32 КБ флэш-памяти, 2 Кб SRAM и 1 Кбайт EEPROM памяти. На периферии имеет 14 дискретных (цифровых) каналов ввода / вывода и 6 аналоговых каналов ввода / вывода, это очень разносторонне-полезные девайсы, позволяющие перекрывать большинство любительских задач в области микроконтроллерной техники. Данная плата контроллера является одной из самых дешевых и наиболее часто используемых.[3,4]

На основании сравнительной таблицы я выбрал Arduino UNO.

В таблице №2 представлены технические характеристики платы Arduino UNO на основе микроконтроллера atmega328, данные характеристик подходят для комплекса.

Таблица 2.

Технические параметры

Микроконтроллер

atmega328

FLASH память, КБ

32

EEPROM память, КБ

1

SRAM память, КБ

2

Цифровые входы/ выходы

14(6 с шим)

Аналоговые входы

6

Вес, г

47.6

Исследование рынка приборов дезинфекции

В сети интернет были изучены существующие всевозможные приборы, которые используют для контроля температуры и дезинфекции.[13]

Таблица 2.

Цены устройств дезинфекции и контроля температуры

Наименование

Цена (руб)

1

Бесконтактный термометр

От 4.000

2

Мобильная стойка (алюминиевая) с дозатором для дезинфекции рук

От 7.000

3

Дезинфектор для рук Тритон 1М

70000

Как видно из таблицы стоимость устройств высокая.

Основное содержание

В условиях пандемии встала необходимость создания новых приборов[12] для дезинфекции, соответственно, человек, прошедший через дезинфицирующий портал не занесет в помещение вирусы, бактерии и другие микроорганизмы. Такое оборудование является мощным помощником для борьбы с короновирусом. Сферы применения автоматических аппаратов для дезинфекции воздуха и гигиены рук не имеют границ. [10]

По распоряжению Правительства РФ, вирус covid-19 включен в перечень опасных заболеваний. В условиях пандемии работодателей обязали выполнять профилактические меры для предотвращения распространения инфекции, за невыполнение которых предусмотрена ответственность.

Роспотребнадзор составил список рекомендуемых мер, среди которых есть указания по применению специального оборудования для профилактики коронавируса:

при входе в организацию должно размещаться оборудование с дезинфицирующим средством для обработки рук;

необходимо обеспечить обеззараживание воздуха с помощью специальных дезинфицирующих приборов;

обязательно измерение температуры тела сотрудников в начале и в течение рабочего дня.

Регулярное мытье и обработка рук антисептиком – самый эффективный и доступный метод профилактики вирусных инфекций в разгар эпидемии. На сегодняшний день новый штамм вируса COVID-19 опасен не только серьезными осложнениями, но и легкостью передачи инфекции от одного человека к другому. Опасность COVID-19 это-бессимптомное течение болезни. Больные с отсутствием кашля и высокой температуры, продолжают ходить на работу и вести активную жизнь, подвергая риску заражения окружающих людей.

Справиться с такими задачами под силу специальным приборам, которые в сложившейся ситуации станут надежным средством для дезинфекции от коронавируса.

Чрезвычайное значение в условиях пандемии приобретает робототехника, потому что она помогает сохранять жизнь людей. Дезинфекция долгое время считалась медицинским назначением. Но прогресс не стоит на месте, а вирусы мутируют, распространяясь с огромной скоростью, как это видно на примере  нового короновируса covid-19. [8]

Комплекс «Контроль температуры и дезинфекция» состоит из следующих модулей:

Контроль температуры;

Напольный дезинфектор обуви;

Дезинфекция рук;

Выдача бахил;

Умное мусорное ведро для бахил.

Рис. 3. Фото общий вид комплекс «Контроль температуры и дезинфекция»

Модуль Контроль температуры.

Рис. 4. Схема. Внешний вид монитора «Контроль температуры». 1- Инфракрасный измеритель температуры (погрешность ±5 С°. 2 – кнопка настройки, 3- кнопка меню, 4 - Дисплей NEXTION 480x320 отображает результаты измерения.

Рис 5. Фото модуля «Контроль температуры»

Инструкция пользования

Подойти к терминалу контроля температуры и приблизьте ладонь к окну считывания. Расстояние не должно быть больше 31 мм. На экране высветится значение температуры, голосовой сообщение: «Проходите» или «У вас температура».

Поставьте ногу на дезинфектор обуви. Будет выполнена дезинфекция обуви ультрафиолетовым лучом и голосовое сообщение «Наденьте бахилы. Дезинфекция»

Комплектующие комплекса «Контроль температуры и дезинфекции»

Arduino UNO х 1шт. 100

Troyka Shield х 1шт.640

Датчик приближения и освещённости х 1шт.200

Модуль тепловизор х 1шт. 640

Мосфет транзистор IRF 530N х 2 шт.5

Дисплей NEXTION 480x320 x 1шт.2000

Датчик света DF ROBOT x1 шт.500

Сервопривод х2шт.100

Блок питания от 5 до 12В х1шт.100

Структор х 3 пластины

Датчик света х1шт.5

RGB модуль светодиод х1шт.10

Инфракрасный дальномер х1шт.50

Куллер х2шт.60

Провода х6шт.10

Коннектор х1шт.4

Модуль стабилизатор напряжения DFROBOT х1 шт.150

Инфракрасный светодиод х10шт.5

Конденсатор 47uf 25v х1шт.3

Плата прототип х1шт.20

Шлейф папа-папа х10шт.5

Сервокачалка х2шт.3

Картонный корпус.

Модуль «Напольный дезинфектор обуви»

Рис. 6. Напольный дезинфектор обуви.

В приложении 2 представлены фото модуля «Напольный дезинфектор для обуви».

М одуль «Выдача бахил»

Прибор работает на основе вентилятора. Вентилятор включается, после того, как дезинфектор обуви выполнит дезинфекцию и бахилы поднимаются в окно выдачи.

В качестве корпуса взята труба из спортивного тренажера. Вентилятор в корпусе из структора.

Рис 7.Фото « Модуль Выдача бахил»

Модуль «Дезинфектор рук»

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

Рис 8.Фото «Модуль Дезинфектор рук»

М одуль «Умное мусорное ведро»

Ведро предназначено для бахил, которые надо выбросить. Как только подносишь руку к ведру, крышка открывается.

Рис.9. Фото «Модуль «Умное мусорное ведро»

Экономическая значимость проекта

Для того чтобы узнать о целесообразности создания комплекса «Входной контроль температуры и дезинфекции на базе Arduino»» необходимо выполнить оценку экономической значимости проекта. Цены взяты на сайте AliExpress, выполнен расчет итоговой суммы.

Таблица 2.

Расчет затрат на изготовление комплекса «Входной контроль температуры и дезинфекции»

п/п

Наименование

Кол-во (шт)

Цена (руб.) за 1 шт

Итого цена (руб.)

1

Arduino UNO х

1

100

100

2

Датчик приближения и освещённости х

1

200.00

200.00

3

Модуль тепловизор х

1

640.00

640.00

4

Мосфет транзистор IRF 530N

1

5.00

5.00

5

Дисплей NEXTION 480x320 x

1

2000.00

2000.00

7

Сервопривод

2

100.00

200.00

8

Блок питания от 5 до 12В

1

100.00

100.00

9

Структор х 3 пластины

3

   

10

Датчик света

1

5.00

5.00

11

RGB модуль светодиод

1

10.00

10.00

12

Инфракрасный дальномер

1

50.00

50.00

13

Куллер

2

60.00

120

14

Провода

6

10.00

60.00

15

Коннектор

1

5.00

5.00

16

Модуль стабилизатор напряжения DFROBOT

1

150.00

150.00

17

Инфракрасный светодиод

10

5.00

50.00

18

Конденсатор 47uf 25v

1

3.00

3.00

19

Плата прототип х1шт.20

1

20.00

20.00

20

Шлейф папа-папа

10

5.00

50.00

21

Сервокачалка

2

3.00

6.00

Итого:

4170

Программный код управления системой

Язык программирования Arduino является стандартным C++ (используется компилятор AVR-GCC).

Также существует возможность создавать и подключать к проекту стандартные файлы C++.

Использовал в программном коде библиотечные модули:

Servo - управление сервоприводом;

Wire – управление модулями по SPI;

SparkFur_UL6180x – снятие показателей с модуля дальномер и освщенности и дальности;

Adafruit_MLX90614 – снятие показаний с модуля тепловизор;

DFPlayer_MiniMP3 – для управлением модуля плейер.

Полный исходный код программы модулей представлен в Приложении 2,

Вывод

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

Наглядность проведенного исследования обеспечивается созданием комплекса, который состоит из модулей:

Контроль температуры;

Дезинфекция обуви;

Дезинфекция рук;

Выдача бахил;

Умное мусорное ведро.

Для корректной работы комплекса была составления компьютерная программа, реализованная в среде Arduino на языке программирования С+.

В результате использования различных источников информации, я узнал о программно-вычислительной платформе Arduino и о сферах её применения, изучил язык программирования С+ и улучшил навыки объектно-ориентированного программирования. Спроектировал и создал комплекс с возможностью бесконтактной дезинфекции и контроля температуры.

Таким образом, гипотеза доказана, цель достигнута, задачи решены.

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

Источники:

Бурмистров В.Г. «Цифровой мир». ЛитРес самиздат, 2018. -

Ли П. Архитектура интернет вещей / пер. с анг. М.А.Райтмана. – М.:ДМК Пресс, 2019. – 454с.:ил.

Мокров Е.А. Интегральные датчики. Состояние разработок и производства. Направления развития, объемы рынка // Датчики и системы.-2000.-№1.-С. 28-30.

Шейдлин А. Е. Новая энергетика. – М.: Наука, 2009.-343 с.

Юдасин Л. С. Энергетика: проблемы и надежды. – М.: Просвещение 2009. — 256 с.

Интернет – ресурсы

https://clck.ru/TW56x применение робототехники для борьбы с COVID -19

https://ковид.робостанция.рф/ru международный он лайн форум «Роботы в борьбе с ковид»

https://tass.ru/obschestvo/7854501 технологии в Китае против короновируса.

http://wiki.amperka.ru – База знаний Амперки.

http://arduino.ru Аппаратная платформа Arduino.

.https://ru.wikipedia.org/wiki/Arduino.

https://pikabu.ru/story/vyipusk_3_osnovyi_arduino_dlya_nachinayushchikh_arduino_iznutri__struktura_sostavlyayushchie_i_ikh_naznachenie_mikrokontroller_atmega328p_4497606 Основы Arduino для начинающих. Arduino изнутри - структура, составляющие и их назначение. Микроконтроллер ATmega328P 

https://cto1.ru/catalog/p/elem_dezinfektor_dlya_ruk_triton_1m/ Магазин по продаже санитарно гигиенического оборудования

 

Приложение 1.

Анкета, что знают ученики по теме возможности использования робота для дезинфекции

1. Хотели бы вы, чтобы в школе проверку температуры на входе и дезинфекцию выполнял робот?

1. Да

2. Нет

2. Хотели бы вы, чтобы в школе проверку температуры на входе выполнял медицинский работник?

1. Да

2. Нет

3. Хотели бы вы, чтобы у вас в квартире был робот, который проверял на входе температуру и проводил дезинфекцию?

1. Да

2. Нет

4. Хотели бы вы, чтобы в школе на входе был расположен напольный дезинфектор обуви?

1. Да

2. Нет

5. .Хотели бы вы, чтобы у вас в квартире на входе был расположен напольный дезинфектор обуви?

1. Да

2. Нет

Приложение 2.Программный код. Модуль «Контроль температуры и дезинфекции»

//NEW

#include <Servo.h>

#include <Wire.h>

#include <SoftwareSerial.h>

#include <SparkFun_VL6180X.h>

#include <Adafruit_MLX90614.h>

#include <DFPlayer_Mini_Mp3.h>

#define VL6180X_ADDRESS 0x29

VL6180x sensor(VL6180X_ADDRESS);

#define PIN_PHOTO_SENSOR A1

#define sensorOut 8

#define c_PIN 4

#define button 5

int echoPin = 10;

int trigPin = 8;

int led_RED_Pin = 7;

int led_ULTRA_Pin = 3;

int val;

int val2;

int seconds = 0;

int chest = 0;

boolean buttonWasUp = true; // былаликнопкаотпущена?

boolean cEnabled = false;

String data;

const int arduino_rx = 6;

const int arduino_tx = 9;

SoftwareSerial mySerial (arduino_rx, arduino_tx);

void(* resetFunc) (void) = 0;

Adafruit_MLX90614 mlx = Adafruit_MLX90614();

// создаём объекты для управления сервоприводами

Servo myservo1;

Servo myservo2;

void setup()

{

int duration, cm;

pinMode( arduino_rx,INPUT); pinMode( arduino_tx,OUTPUT);

mySerial.begin(9600);

pinMode(trigPin, OUTPUT);

pinMode(echoPin, INPUT);

sensor.VL6180xDefautSettings();

pinMode(led_RED_Pin, OUTPUT);

pinMode(led_ULTRA_Pin, OUTPUT);

pinMode(button, INPUT_PULLUP);

pinMode(c_PIN, OUTPUT);

Serial.begin(9600);

mlx.begin();

val = analogRead(PIN_PHOTO_SENSOR);

val2 = val + 100;

// подключаем сервоприводы к выводам 2 и 13

myservo1.attach(2);

myservo2.attach(13);

myservo2.write(100);

myservo1.write(114);

while (sensor.VL6180xInit()) {

//Serial.println("Failed to initalize");

delay(1000);

}

mp3_set_serial (Serial); //set Serial for DFPlayer-mini mp3 module

delay (100);

mp3_set_volume (98);

int duration1, cm1;

digitalWrite(trigPin, LOW);

delayMicroseconds(2);

digitalWrite(trigPin, HIGH);

delayMicroseconds(10);

digitalWrite(trigPin, LOW);

duration1 = pulseIn(echoPin, HIGH);

cm1 = duration1 / 58;

seconds = 0;

digitalWrite(led_RED_Pin, HIGH);

digitalWrite(led_ULTRA_Pin, HIGH);

}

//servo1 100 - 140 servo2 120 - 80

void loop() {

int duration1, cm1;

boolean buttonIsUp = digitalRead(button);

if (buttonWasUp && !buttonIsUp) {

delay(10);

buttonIsUp = digitalRead(button);

if (!buttonIsUp) {

cEnabled = !cEnabled;

digitalWrite(c_PIN, cEnabled);

}

}

int temp = mlx.readObjectTempC();

int light = sensor.getAmbientLight(GAIN_1);

Serial.print("n8.val=");

Serial.print(temp);

comandEnd();

int duration, cm;

int dist = sensor.getDistance() ;

digitalWrite(trigPin, LOW);

delayMicroseconds(2);

digitalWrite(trigPin, HIGH);

delayMicroseconds(10);

digitalWrite(trigPin, LOW);

duration = pulseIn(echoPin, HIGH);

cm = duration / 58;

Serial.print("n16.val=");

Serial.print(cm);

comandEnd();

Serial.print("n10.val=");

Serial.print(light);

comandEnd();

if (seconds >= 2 and cm > 3) {

seconds = 0;

delay(100);

}

if (cm < 0) {

Serial.print("n16.val=300");

comandEnd();

}

mySerial.write(temp);

tempOn();

if (buttonWasUp && !buttonIsUp) {

delay(10);

buttonIsUp = digitalRead(button);

if (!buttonIsUp) {

cEnabled = !cEnabled;

digitalWrite(c_PIN, cEnabled);

}

}

while (Serial.available() > 0) {

data += char(Serial.read());

delay(2);

}

// еслипришёлсимвол 'g'

if (data == "g") {

val = analogRead(PIN_PHOTO_SENSOR);

val2 = val + 100;

myservo1.attach(2);

myservo2.attach(13);

resetFunc();

}

if (buttonWasUp && !buttonIsUp) {

delay(10);

buttonIsUp = digitalRead(button);

if (!buttonIsUp) {

cEnabled = !cEnabled;

digitalWrite(c_PIN, cEnabled);

}

}

int val1 = analogRead(PIN_PHOTO_SENSOR);

if (val1 <= val2) {

digitalWrite(led_ULTRA_Pin, HIGH);

digitalWrite(led_RED_Pin, LOW);

myservo2.write(100);

myservo1.write(114);

} else {

tempOn();

digitalWrite(c_PIN, HIGH);

mp3_play (3);

digitalWrite(led_RED_Pin, LOW);

digitalWrite(led_RED_Pin, LOW);

digitalWrite(led_ULTRA_Pin, LOW);

if (val1 <= val2) {

mp3_play (1);

resetFunc();

}

myservo1.write(90);

myservo1.write(120);

buttonIsUp = digitalRead(button);

buttonWasUp = buttonIsUp;

val1 = analogRead(PIN_PHOTO_SENSOR);

tempOn();

if (val1 <= val2) {

mp3_play (1);

resetFunc();

}

delay(500);

buttonIsUp = digitalRead(button);

buttonWasUp = buttonIsUp;

val1 = analogRead(PIN_PHOTO_SENSOR);

tempOn();

if (val1 <= val2) {

mp3_play (1);

resetFunc();

}

// устанавливаем сервоприводы в крайнее левое положение

myservo1.write(140);

myservo2.write(120);

buttonIsUp = digitalRead(button);

buttonWasUp = buttonIsUp;

val1 = analogRead(PIN_PHOTO_SENSOR);

tempOn();

if (val1 <= val2) {

mp3_play (1);

resetFunc();

}

delay(500);

buttonIsUp = digitalRead(button);

buttonWasUp = buttonIsUp;

val1 = analogRead(PIN_PHOTO_SENSOR);

tempOn();

if (val1 <= val2) {

mp3_play (1);

resetFunc();

}

// устанавливаем сервоприводы в крайнее правое положение

myservo1.write(90);

myservo2.write(80);

tempOn();

val1 = analogRead(PIN_PHOTO_SENSOR);

if (val1 <= val2) {

mp3_play (1);

resetFunc();

}

delay(500);

buttonIsUp = digitalRead(button);

buttonWasUp = buttonIsUp;

val1 = analogRead(PIN_PHOTO_SENSOR);

tempOn();

if (val1 <= val2) {

mp3_play (1);

resetFunc();

}

myservo1.write(140);

myservo2.write(80);

tempOn();

val1 = analogRead(PIN_PHOTO_SENSOR);

if (val1 <= val2) {

mp3_play (1);

resetFunc();

}

delay(500);

tempOn();

val1 = analogRead(PIN_PHOTO_SENSOR);

if (val1 <= val2) {

mp3_play (1);

resetFunc();

}

myservo1.write(90);

myservo2.write(100);

tempOn();

val1 = analogRead(PIN_PHOTO_SENSOR);

if (val1 <= val2) {

mp3_play (1);

resetFunc();

}

delay(500);

tempOn();

val1 = analogRead(PIN_PHOTO_SENSOR);

if (val1 <= val2) {

mp3_play (1);

resetFunc();

}

myservo1.write(140);

myservo2.write(100);

tempOn();

}

digitalWrite(c_PIN, cEnabled);

buttonWasUp = buttonIsUp;

delay(500);

}

void tempOn() {

int temp = mlx.readObjectTempC();

int light = sensor.getAmbientLight(GAIN_1);

Serial.print("n8.val=");

Serial.print(temp);

comandEnd();

int duration, cm;

int dist = sensor.getDistance() ;

digitalWrite(trigPin, LOW);

delayMicroseconds(2);

digitalWrite(trigPin, HIGH);

delayMicroseconds(10);

digitalWrite(trigPin, LOW);

duration = pulseIn(echoPin, HIGH);

cm = duration / 58;

Serial.print("n16.val=");

Serial.print(cm);

comandEnd();

Serial.print("n10.val=");

Serial.print(light);

comandEnd();

if (seconds >= 2 and cm > 3) {

seconds = 0;

delay(100);

}

if (cm < 0) {

Serial.print("n16.val=300");

comandEnd();

}

mySerial.write(temp);

char c = mySerial.read();

if (c == 1) {

chest = 0;

} else if (chest == 1){

mySerial.write("900");

}

if(cm <= 3 and cm >= 0) {

Serial.print("t0.txt=");

Serial.print("\"");

Serial.print("dimension");

Serial.print("\"");

comandEnd();

if (temp >= 37) {

seconds = seconds + 1;

Serial.print("t0.txt=");

Serial.print("\"");

Serial.print("You have temperatures!");

Serial.print("\"");

comandEnd();

mySerial.write("900");

char c = mySerial.read();

if (c == 1) {

chest = 0;

} else {

chest = 1;

}

if (seconds < 2) {

mp3_play (2);

}

} else if (temp <= 23) {

seconds = seconds + 1;

Serial.print("t0.txt=");

Serial.print("\"");

Serial.print("Temperature is lowered");

Serial.print("\"");

comandEnd();

mySerial.write("900");

char c = mySerial.read();

if (c == 1) {

chest = 0;

} else {

chest = 1;

}

if (seconds < 2) {

mp3_play (2);

}

} else {

seconds = seconds + 1;

Serial.print("t0.txt=");

Serial.print("\"");

Serial.print("Temperature is normal");

Serial.print("\"");

comandEnd();

mySerial.write(temp);

if (seconds < 2) {

mp3_play (1);

}

}

} else {

Serial.print("t0.txt=");

Serial.print("\"");

Serial.print("Waiting");

Serial.print("\"");

comandEnd();

}

mySerial.write(temp);

c = mySerial.read();

if (c == 1) {

chest = 0;

} else if (chest == 1){

mySerial.write("900");

}

}

void comandEnd() {

for (int i = 0; i < 3; i++) {

Serial.write(0xff);

}

}

Просмотров работы: 150