Идея и общее содержание проекта
В условиях пандемии встала необходимость создания новых приборов для дезинфекции, соответственно, человек, прошедший через дезинфицирующий портал не занесет в помещение вирусы, бактерии и другие микроорганизмы. Такое оборудование является мощным помощником для борьбы с короновирусом. Сферы применения автоматических аппаратов для дезинфекции воздуха и гигиены рук не имеют границ.
По распоряжению Правительства РФ, вирус covid-19 включен в перечень опасных заболеваний. В условиях пандемии работодателей обязали выполнять профилактические меры для предотвращения распространения инфекции, за невыполнение которых предусмотрена ответственность.
Роспотребнадзор составил список рекомендуемых мер, среди которых есть указания по применению специального оборудования для профилактики коронавируса:
при входе в организацию должно размещаться оборудование с дезинфицирующим средством для обработки рук;
необходимо обеспечить обеззараживание воздуха с помощью специальных дезинфицирующих приборов;
обязательно измерение температуры тела сотрудников в начале и в течение рабочего дня.
Актуальность данной работы обусловлена тем, что в период пандемии, остро стала необходимость в дезинфекции рук, в общественных помещениях на входе измеряют температуру.
В процессе измерения температуры и дезинфекции участвует человек. В этом случае есть риск заражения вирусом сотрудника, производящего дезинфекцию, а также перекрестного распространения вируса в том случае, если дезинфектор становится носителем. Использование роботов-дезинфекторов снижает эти риски.
Цель: Создать свой аналог системы контроля температуры, дезинфекции рук и обуви на базе Arduino.
В основу данной работы положена гипотеза, согласно которой, если использовать бесконтактный контроль температуры и электронный дезинфектор рук и обуви в местах с большой проходимостью людей, то можно заметно снизить вероятность распространения различных инфекций.
В соответствии с целью и гипотезой были поставлены следующие задачи:
Собрать необходимую информацию, посвященную приборам контроля и дезинфекции в период пандемии;
Изучить техническую документацию платформы Arduino;
Выбрать комплектующие для устройства;
Выполнить подбор и размещение датчиков и других устройств, для реализации системы контроля и дезинфекции»;
Рассмотреть экономическую значимость проекта.
Объект исследования: автоматические аппараты, роботы для дезинфекции воздуха и гигиены рук, обуви.
Предмет исследования: принцип строения и работы комплекса «Контроль температуры и дезинфекции на основе конструктора Arduino.
Методы исследования: теоретический анализ источников, формализация, обобщение, моделирование, эксперимент, описание.
Р абота над исследовательским проектом началась в период пандемии в октябре 2021г. Во всех образовательных учреждениях проверяли температуру на входе в здание, во всех общественных местах люди носили маски. На рисунке 1 - фото дезинфекции, на входе в здание МБУ ДО ЦВР «Малая Академия». Я посещаю творческое объединение по робототехнике.
И тогда возникла идея создать бесконтактное устройство контроля температуры и дезинфекции рук и обуви на базе микроконтроллера.
Рис.1. Фото Дезинфекция рук в центре внешкольной работы «Малая Академия».
Для работы над проектом был составлен план:
Подготовительный этап.
Произвести выбор темы;
Выбрать формы представления проекта;
Определить тип проекта;
Определить основные этапы осуществления проекта.
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
Рис 2. Результат анкетирования.
Результаты 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] В таблице №3 представлены несколько таких устройств.
Таблица 3. Цены устройств дезинфекции и контроля температуры
№ |
Наименование |
Цена (руб) |
1 |
Бесконтактный термометр |
От 4.000 |
2 |
Мобильная стойка (алюминиевая) с дозатором для дезинфекции рук |
От 7.000 |
3 |
Дезинфектор для рук Тритон 1М |
70000 |
Как видно из таблицы стоимость устройств высокая.
Справиться с такими задачами под силу специальным приборам, которые в сложившейся ситуации станут надежным средством для контроля температуры и дезинфекции от коронавируса.
Комплекс «Контроль температуры и дезинфекции» состоит из следующих модулей:
Контроль температуры;
Напольный дезинфектор обуви;
Дезинфектор рук;
Выдача бахил;
Умное мусорное ведро для бахил.
Рис. 3. Фото общий вид комплекс «Контроль температуры и дезинфекция»
Модуль Контроль температуры.
4 Рис. 4. Схема. Внешний вид монитора «Контроль температуры». |
Рис 5. Фото модуля «Контроль температуры» |
- Инфракрасный измеритель температуры (погрешность ±5 С°.
– Кнопка настройки,
- Кнопка меню,
- Дисплей NEXTION 480x320 отображает результаты измерения.
Инструкция пользования
Подойти к терминалу контроля температуры и приблизьтесь ладонью к окну считывания. Расстояние не должно быть больше 31 мм. На экране высветится значение температуры, голосовое сообщение: «Проходите» или «У вас температура». На смартфон приложение «Контроль температуры» будет отправлено сообщение о том, что прошел больной или здоровый, а также ведется подсчет общего количества прошедших через пост контроля.
Поставьте ногу на дезинфектор обуви. Будет выполнена дезинфекция обуви ультрафиолетовым лучом и голосовое сообщение «Наденьте бахилы. Дезинфекция»
Таблица 4. Перечень комплектующих комплекса
«Контроль температуры и дезинфекции»
Наименование |
|
1 |
Arduino UNO х |
2 |
Модуль тепловизор |
3 |
Мосфет транзистор IRF 530N |
4 |
Дисплей NEXTION 480x320 x |
5 |
Ультразвуковой дальномер |
6 |
Сервопривод |
7 |
Блок питания 12В |
8 |
Структор х 3 пластины |
9 |
Датчик света |
10 |
Куллер |
11 |
Провод |
12 |
Коннектор |
13 |
Модуль стабилизатор напряжения DFROBOT |
14 |
Инфракрасный светодиод |
15 |
Плата прототип х1шт.20 |
16 |
Шлейф папа-папа |
17 |
Сервокачалка |
18 |
Монохромная LED матрица 8×8 |
19 |
Датчик тока |
20 |
Динамик |
21 |
MP3-плеер Mini |
22 |
Разъем usb |
23 |
Модуль Bluetooth-5.0 |
24 |
Динамик ультразвуковой |
25 |
Ультразвуковой генератор |
26 |
Фильтр водяной |
27 |
Полевой Транзистор |
Модуль «Напольный дезинфектор обуви»
Комплектующие комплекса «Контроль температуры и дезинфекции»
П редлагаемая разработка представляет собой бесконтактный способ обработки обуви при помощи светодиодных ламп. Достаточно поставить обувь на устройство, и оно выполнит дезинфекцию, сообщит «Оденьте бахилы» и срабатывает устройство подачи бахил.
Рис. 6. Напольный дезинфектор обуви.
М одуль «Выдача бахил»
Прибор работает на основе вентилятора. Вентилятор включается, после того, как дезинфектор обуви выполнит дезинфекцию и бахилы поднимаются в окно выдачи.
В качестве корпуса взята труба из спортивного тренажера. Вентилятор в корпусе из структура.
Рис 7.Фото « Модуль Выдача бахил»
Модуль «Дезинфектор рук»
П редлагаемая разработка представляет собой бесконтактный способ обработки рук при помощи электронного устройства. Главное достоинство которого – бесконтактная подача антисептического средства. Достаточно поднести руки к устройству, и оно выдаст дезинфицирующий раствор. Пользователям нет необходимости прикасаться к элементам системы, что гарантирует защиту от перекрестного заражения.
Рис 8.Фото «Модуль Дезинфектор рук»
Модуль «Умное мусорное ведро»
В едро предназначено для бахил, которые надо выбросить. Как только подносишь руку к ведру, крышка открывается.
Рис.9. Фото «Модуль «Умное мусорное ведро»
Средствами конструктора приложений Mit App Inventor создано приложение «Контроль температуры».
К нопка Справка предназначена для информации о назначении данного приложения. Кнопка Подключение. Если приложение не было подключено к комплексу, то по списку включить блютус, перейти к списку устройств, выбрать блютус устройство.
С устройства «Контроль температуры» передается температура, если температура больше 37градусов, тогда высветится уведомление, что температуру мерил больной человек и выполнится подсчет количества больных людей, прошедших через данное устройство.
Приложение для смартфона создано методом scratch программирования. Код программы смотрите в Приложении 2.
Рис.10. Внешний вид главной страницы приложения «Контроль температуры»
Для того чтобы узнать о целесообразности создания комплекса «Входной контроль температуры и дезинфекции на базе Arduino»» необходимо выполнить оценку экономической значимости проекта. Цены взяты на сайте AliExpress, выполнен расчет итоговой суммы.
Таблица 5. Расчет затрат на изготовление комплекса
«Контроль температуры и дезинфекции»
№ п/п |
Наименование |
Кол-во (шт) |
Цена (руб.) за 1 шт |
Итого цена (руб.) |
|
1 |
Arduino UNO х |
2 |
200 |
400 |
|
2 |
Модуль тепловизор |
1 |
640.00 |
640.00 |
|
3 |
Мосфет транзистор IRF 530N |
1 |
5.00 |
5.00 |
|
4 |
Дисплей NEXTION 480x320 x |
1 |
2000.00 |
2000.00 |
|
5 |
Ультразвуковой дальномер |
2 |
75.00 |
150.00 |
|
6 |
Сервопривод |
3 |
70.00 |
210.00 |
|
7 |
Блок питания 12В |
1 |
100.00 |
100.00 |
|
8 |
Структор х 3 пластины |
7 |
15.07 |
110.00 |
|
9 |
Датчик света |
1 |
5.00 |
5.00 |
|
10 |
Куллер |
1 |
60.00 |
60 |
|
11 |
Провод |
12 |
2.00 |
24.00 |
|
12 |
Коннектор |
4 |
2.00 |
8.00 |
|
13 |
Модуль стабилизатор напряжения DFROBOT |
1 |
150.00 |
150.00 |
|
14 |
Инфракрасный светодиод |
10 |
5.00 |
50.00 |
|
15 |
Плата прототип х1шт.20 |
1 |
20.00 |
20.00 |
|
16 |
Шлейф папа-папа |
10 |
5.00 |
50.00 |
|
17 |
Сервокачалка |
2 |
3.00 |
6.00 |
|
18 |
Монохромная LED матрица 8×8 |
1 |
70.00 |
70.00 |
|
19 |
Датчик тока |
1 |
80.00 |
80.00 |
|
20 |
Динамик |
1 |
200.00 |
200.00 |
|
21 |
MP3-плеер Mini |
1 |
70.00 |
70.00 |
|
22 |
Разъем usb |
2 |
5.00 |
10.00 |
|
23 |
Модуль Bluetooth-5.0 |
1 |
150.00 |
150.00 |
|
24 |
Динамик ультразвуковой |
1 |
30.00 |
30.00 |
|
25 |
Ультразвуковой генератор |
1 |
95.00 |
95.00 |
|
26 |
Фильтр водяной |
1 |
5.00 |
5.00 |
|
27 |
Полевой Транзистор |
1 |
15.00 |
15.00 |
|
Итого: |
4976 |
Язык программирования Arduino является стандартным C++ (используется компилятор AVR-GCC).
Также существует возможность создавать и подключать к проекту стандартные файлы C++.
Использовал в программном коде библиотечные модули:
Servo - управление сервоприводом;
Wire – управление модулями по SPI;
SparkFur_UL6180x – снятие показателей с модуля дальномер и освщенности и дальности;
Adafruit_MLX90614 – снятие показаний с модуля тепловизор;
DFPlayer_MiniMP3 – для управлением модуля плейер.
Полный исходный код программы модулей представлен в Приложении
3.Привлечение экспертов.
3.1. Взаимодействие с пользователями устройства.
После сборки модели был организован мастер класс для посетителей городской библиотеки. Дети с удовольствием участвовали в апробации устройства.
Рис.11. Демонстрация прибора в детской городской библиотеке.
В результате посещения библиотеки, был сделан вывод, что устройство подачи бахил опасно для детей, т.к. там есть вентилятор и дети пытались засунуть руку, поэтому по результатам был сделан вывод, что вентилятор нужно закрыть, что и было сделано. Было выполнено доработка устройства подачи бахил, которое работает на основе вентилятора. Вентилятор был ограничен для доступа с помощью структора.
Вывод
Создан комплекс, который измеряет температуру, проводит дезинфекцию рук и обуви, также здесь есть умное ведро, которое открывается, когда подносим руку к крышке, сюда можно выбрасывать бахилы, также есть устройство для подачи бахил.
Наглядность проведенного исследования обеспечивается созданием комплекса, который состоит из модулей:
Контроль температуры;
Дезинфекция обуви;
Дезинфекция рук;
Выдача бахил;
Умное мусорное ведро.
Для корректной работы комплекса была составления компьютерная программа, реализованная в среде 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.
Программный код приложение «Контроль температуры» для смартфона
Приложение 3.
Программный код. Модуль «Контроль температуры и дезинфекции»
//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 dem = 900;
int val2;
int jej = 0;
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() {
blue();
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();
}
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);
}
}
blue();
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 blue() {
if (mySerial.available()) {
char c = mySerial.read(); // читаем из программного Serial-порта
jej = 1;
Serial.print("p0.pic=14");
comandEnd();
delay(230);
c = mySerial.read();
if (mySerial.available()) {
} else {
jej = 0;
}
}
delay(105);
if (mySerial.available()) {
} else {
jej = 0;
}
if (jej == 0) {
Serial.print("p0.pic=16");
comandEnd();
}
}
void tempOn() {
blue();
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);
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();
blue();
mySerial.print(dem);
if (seconds < 2) {
mp3_play (2);
}
delay(500);
} else if (temp <= 23) {
seconds = seconds + 1;
Serial.print("t0.txt=");
Serial.print("\"");
Serial.print("Temperature is lowered");
Serial.print("\"");
comandEnd();
mySerial.print(dem);
blue();
if (seconds < 2) {
mp3_play (2);
}
delay(500);
} else {
seconds = seconds + 1;
Serial.print("t0.txt=");
Serial.print("\"");
Serial.print("Temperature is normal");
Serial.print("\"");
comandEnd();
if (seconds < 2) {
mp3_play (1);
}
}
} else {
Serial.print("t0.txt=");
Serial.print("\"");
Serial.print("Waiting");
Serial.print("\"");
comandEnd();
}
mySerial.print(temp);
blue();
delay(200);
blue();
}
void comandEnd() {
for (int i = 0; i < 3; i++) {
Serial.write(0xff);
}
}