Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

CoroFence - Тепловой детектор🖖

Компоненты и расходные материалы

Panasonic GridEye
× 1
Датчик PIR, 7 м
× 1
Зуммер
× 1
светодиод, RGB
× 1
Arduino Nano 33 IoT
× 1
Аккумулятор, 3,7 В
× 1
Пластиковый корпус, распределительная коробка
× 1

Приложения и онлайн-сервисы

IDE Arduino
Канал хранения данных DasData Maker

Об этом проекте

Текущий глобальный пандемический кризис

Всемирная организация здравоохранения (ВОЗ) рекомендует для предотвращения распространения инфекции «регулярное мытье рук, прикрытие рта и носа при кашле и чихании, тщательное приготовление мяса и яиц. Избегайте тесного контакта с кем-либо, у кого проявляются симптомы респираторного заболевания, такие как кашель и чихание».

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

Самодельный тепловой извещатель

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

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

Входные датчики

  • Сетчатый глаз

"В отличие от обычных термодатчиков, которые измеряют температуру только определенной точки контакта, Grid-EYE, основанный на технологии MEMS Panasonic, может измерять температуру всей указанной области без какого-либо контакта ; Другими словами, это «бесконтактный датчик с массивом термобатарей». 64 пикселя обеспечивают точное измерение температуры при угле обзора 60 °, обеспечиваемом силиконовой линзой. Grid-EYE использует интерфейс связи I²C, позволяющий измерять температуру со скоростью 1 или 10 кадров / сек. Также доступна функция прерывания. "

  • Размеры:11,6 x 4,3 x 8,0 мм (Д x В x Ш)
  • Рабочее напряжение:3,3 В или 5,0 В (в зависимости от P / N).
  • Диапазон температур объекта измерения:от -20 ° C до 100 ° C (в зависимости от P / N)
  • Поле зрения (FoV):60 °.
  • Количество пикселей:64 (8 по вертикали x 8 по горизонтали)
  • Внешний интерфейс:I²C (быстрый режим)
  • Частота кадров:10 кадров / сек или 1 кадр / сек.

Что делает этот датчик идеальным для обнаружения людей с расстояния 1,5 метра и позволяет определять цель на расстоянии 5/7 метров.

  • PIR

Нам также нужен триггер, потому что мы хотим также активировать тепловизионную камеру при обнаружении движения. Поэтому датчик PIR - идеальный выбор.

«Датчик PIR обнаруживает человека, перемещающегося на расстоянии примерно 10 м от датчика. Это среднее значение, так как фактический диапазон обнаружения составляет от 5 до 12 м. PIR в основном состоит из пироэлектрического датчика, который может определять уровни инфракрасного излучения. . Для множества важных проектов или предметов, которые необходимо обнаружить, когда человек покинул или вошел в зону. Датчики PIR невероятны, они плоские и требуют минимальных усилий, имеют широкий диапазон линз и просты в взаимодействии. "

Сложите все вместе, как показано ниже:

По завершении подключения (см. Схему ниже) подготовьте коробку для входных датчиков следующим образом:

Визуальный и звуковой выход

  • RGB LEED

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

  • Зуммер

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

Итоговые тесты:

Пока температура нормальная и обнаружено присутствие, горит зеленый свет

  // можно установить разные цвета 
if (tempC <16) {
setColor (0, 0, 255); // синий
} else if (tempC <15) {
setColor (80, 0, 80); // голубой
} else if (tempC <30) {
setColor (0, 255, 255); // цвет морской волны
} else if (tempC <36) {
setColor (0, 255, 0); // зеленый
} else if (tempC <38) {
setColor (255, 255, 0); // желтый
} else if (tempC <39) {
setColor (255, 20, 20); // пурпурный
}

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

Живите долго и процветайте

В качестве альтернативы вы можете просмотреть температуру в интерфейсе NodeJS и получить данные от Arduino при последовательном подключении с помощью этого терминального приложения.

В дальнейших планах - расширить интеграцию данных с платформой das и начать моделирование.

Следите за прямой трансляцией на @dasData

https://dasdata.co/camera/

Надеюсь, вы будете в безопасности, где бы вы ни находились в этот период в Галактике!

Код

  • коронафанс
Coronafence C / C ++
 #include  #include  GridEYE grideye; String heatData; int ledState; unsigned long meetime; uint16_t секунд =3142; // max ==65535int bluePin =8; int greenPin =9; int redPin =10; int buzzPin =11; // выбираем вывод для LEDint inputPin =12; // выбираем входной контакт (для датчика PIR) int pirState =LOW; // мы начинаем, предполагая, что движения не обнаружено int val =0; // переменная для чтения статуса вывода float tempC; void setup () {pinMode (redPin, ВЫХОД); pinMode (greenPin, ВЫХОД); pinMode (bluePin, ВЫХОД); pinMode (buzzPin, ВЫХОД); // объявляем светодиод как выход pinMode (inputPin, INPUT); // объявляем датчик как вход // Запускаем нужный объект I2C Wire.begin (); // Библиотека предполагает "Wire" для I2C, но вы можете передать что-нибудь еще с помощью begin (), если вам нравится grideye.begin (); Serial.begin (115200); } void loop () {char receiveVal; если (Serial.available ()> 0) {receiveVal =Serial.read (); если (получитьVal =='1') {ledState =1; } else ledState =0; } val =digitalRead (inputPin); // считываем входное значение if (val ==HIGH) {// проверяем, является ли вход HIGH // digitalWrite (ledPin, HIGH); // включаем светодиод if (pirState ==LOW) {meetime =millis (); Serial.println («Обнаружено движение!»); // Мы хотим печатать только при изменении вывода, а не состояние pirState =HIGH; getHeatmap (); если (tempC <16) {setColor (0, 0, 255); // синий} else if (tempC <16) {setColor (80, 0, 80); // голубой} else if (tempC <20) {setColor (0, 255, 255); // цвет морской волны} else if (tempC <24) {setColor (0, 255, 0); // зеленый} else if (tempC <28) {setColor (255, 255, 0); // желтый} else if (tempC <37) {setColor (255, 20, 20); // пурпурный} // считываем байты, поступающие от клиента:// char thisChar =client.read (); // возвращаем байты обратно клиенту:// char msg [10] =""; Serial.println (heatData); задержка (1500); }} else {// digitalWrite (ledPin, LOW); // выключаем светодиод if (pirState ==HIGH) {// мы только что отключили noTone (buzzPin); // Остановить звук ... Serial.println ("Движение закончилось!"); setColor (0, 0, 0); // нет meetime =0; // Мы хотим печатать только при изменении вывода, а не состояние pirState =LOW; }}} void getHeatmap () {// Вывести значение температуры каждого пикселя в градусах Цельсия с плавающей запятой // через запятую heatData =""; float previousVal =0; for (unsigned char i =0; i <64; i ++) {if (previousVal> 37) {// мы только что включили Serial.println («Высокая температура!»); setColor (255, 0, 0); // красный тон (buzzPin, 1000); // Отправляем звуковой сигнал с частотой 1 кГц ...} tempC =grideye.getPixelTemperature (i); heatData + =tempC + String (","); previousVal =tempC; } // Заканчиваем каждый кадр переводом строки Serial.println (); // Даем время обработки для пережевывания} void setColor (int red, int green, int blue) {#ifdef COMMON_ANODE red =255 - red; green =255 - зеленый; blue =255 - синий; #endif analogWrite (redPin, красный); analogWrite (greenPin, зеленый); analogWrite (bluePin, синий); } 
коронафанс
Код для Arduino IDE, Visual Studio 2019, NodeJS https://github.com/dasdata/coronafence

Схема


Производственный процесс

  1. Визитная карточка игры «Крестики-нолики»
  2. Многотемпературный датчик
  3. Управление паяльником DIY для 862D +
  4. MotionSense
  5. Пожарная безопасность 3D-принтера
  6. Датчик Интернета вещей с Arduino, Yaler и IFTTT
  7. Отталкивающая электромагнитная левитация Arduino
  8. Бот для захвата удаленного управления
  9. Регистратор данных с погодными шарами на базе Arduino
  10. ArduFarmBot - Часть 2:Удаленная станция и реализация Интернета вещей