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

Автоматическое измерение температуры и голосовая информация

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

Arduino UNO
× 1
Электронные детали UTSOURCE
× 1

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

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

Начнем!

Шаг 1. Список деталей

Компонент для проекта:

1. Arduino UNO https://amzn.to/2P58O7s

2. Модуль SD-карты https://amzn.to/2E1myhb

3. SD-карта 8 ГБ https://amzn.to/2xTCz6i

4. Усилитель PAM8403 и динамик https://amzn.to/2E1myhb

5. Ультразвуковой датчик HC-SR04 https://amzn.to/2E1myhb

6. OLED 128x64 https://amzn.to/2E1myhb

7. Макетные кабели https://amzn.to/2E1myhb

8. Инфракрасный термометр GY-906 https://amzn.to/2Wlab5r

Купите электронный компонент на utsource.net

Обратите внимание:из-за высокого спроса на инфракрасный термометр иногда вы можете не найти датчик GY-906 на рынке.

Шаг 2. Проектирование схемы

Взгляните на схемотехнику.

По сути, он будет измерять температуру с помощью инфракрасного термометра GY-906, а затем отображать результат на ЖК-дисплее Oled 128 * 64. Он также сообщит вам результат температуры голосом через динамик. Динамик берет аудиофайл с SD-карты, а затем воспроизводит его в зависимости от температуры. Акустической системе нужен усилитель PAM8403, чтобы звук был для нас громче.

Основной процесс использования такой:

1. Помашим рукой ультразвуковому датчику (расстояние около 10 см)

2. Затем он будет приветствовать нас голосом «добро пожаловать в систему измерения температуры, пожалуйста, приложите руку или лоб к датчику примерно на 2 см»

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

4. Будет озвучен результат измерения температуры, а также отобразится на ЖК-дисплее. Например, если ваша температура составляет 36,5 ° C, он будет говорить "Ваша температура 36,5 ° C. Ваша температура кажется нормальной, поэтому, пожалуйста, сохраняйте здоровье!"

Шаг 3. Создайте соединение Frame и Do

Каркас из дерева МДФ толщиной 3мм, вырезан лазером. Я надеюсь, что некоторые из вас могут поддержать лазерный станок с ЧПУ, чтобы вырезать его. Если нет, можно вырезать картон для рамки. Файл дизайна можно скачать здесь (Google share)

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

Шаг 4. Код работает и загрузка

Код Arduino выполнит эту работу:

1. Определите, есть ли рядом с датчиком люди (препятствия), обнаруженные ультразвуковым датчиком

2. Поприветствуйте говорящего, сообщите пользователю, что он поднесет руку или лоб к датчику примерно на 2 см

3. Назовите результат и прокомментируйте свою температуру

Код можно скачать здесь

https://bit.ly/2Za1mjZ

Вот аудиофайл, вы должны его скачать и сохранить на SD-карту

https://bit.ly/3aZpGWJ

Обратите внимание, что аудиофайл имеет формат 8 бит, моно, 11025 Гц. Я записываю свой голос на компьютер (или телефон), а затем конвертирую его с помощью онлайн-инструмента (https://audio.online-convert.com/convert-to-wav)

Шаг 5. Тестовый запуск

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

Надеюсь вам понравится :)

Спасибо за чтение! Https://bit.ly/2Za1mjZ

Код

  • Arduino_ir_temperature_auto.ino
Arduino_ir_temperature_auto.ino Arduino
 // www.youtube.com/c/engineer2you#include  // для SD-карты # определить SD_ChipSelectPin 10 // для SD-карты # include  // Lib для воспроизведения файла wav # include  // для инфракрасного термометра // ------------------------------------- - oled # include "SSD1306Ascii.h" #include "SSD1306AsciiAvrI2c.h" #define I2C_ADDRESS 0x3C // 0X3C + SA0 - 0x3C или 0x3D # define RST_PIN -1 // Определите правильный RST_PIN, если требуется .//------ --------------------------------- oledAdafruit_MLX90614 mlx =Adafruit_MLX90614 (); // для инфракрасного термометраSSD1306AsciiAvrI2c oled; // создаем объект для LCDTMRpcm tmrpcm; // создаем объект для музыкального проигрывателя double temp; // сохранить значение температурыconst int trigPin =17; // ультразвуковая константа int echoPin =16; // длительность ультразвука; int distance; int step1_judge =0; void setup () {// ------------------------------ --------- oled #if RST_PIN> =0 oled.begin (&Adafruit128x64, I2C_ADDRESS, RST_PIN); #else // RST_PIN> =0 oled.begin (&Adafruit128x64, I2C_ADDRESS); #endif // RST_PIN> =0 // Вызов oled.setI2cClock (frequency) для изменения частоты по умолчанию. oled.setFont (Adafruit5x7); // -------------------------------------- oled tmrpcm.speakerPin =9; // вывод 9 для вывода звука Serial.begin (9600); if (! SD.begin (SD_ChipSelectPin)) {// посмотрим, присутствует ли карта и может ли она быть инициализирована:Serial.println ("SD fail"); Serial.println («SD ок»); oled.clear (); oled.set1X (); oled.println («Ошибка SD-карты»); возвращение; // ничего больше не делать, если нет} else {Serial.println ("SD ok"); oled.clear (); oled.println («SD-карта в порядке»); } задержка (1000); tmrpcm.play ("m_wel.wav"); // звуковой файл приветствия будет воспроизводиться каждый раз, когда arduino включается или сбрасывается tmrpcm.volume (1); oled.clear (); oled.set2X (); oled.println (""); oled.println («Добро пожаловать»); pinMode (trigPin, ВЫХОД); // Устанавливает trigPin как Output pinMode (echoPin, INPUT); // Устанавливает echoPin как входной mlx.begin (); // запускаем задержку инфракрасного термометра (10000); // ждем приветственного звука} void loop () {// ------------ расстояние чтения // Устанавливает триггер в состояние ВЫСОКОЕ на 10 микросекунд digitalWrite (trigPin, HIGH); delayMicroseconds (10); digitalWrite (trigPin, LOW); // Считывает echoPin, возвращает время прохождения звуковой волны в микросекундах duration =pulseIn (echoPin, HIGH, 23529); // 23529us для тайм-аута 4.0м // Расчет расстояния distance =duration * 0.034 / 2; // Speak_out (temp); Serial.print («расстояние есть»); Serial.println (расстояние); если ((расстояние <10) &&(расстояние> 0)) step1_judge ++; иначе step1_judge =0; если (step1_judge> 2) {step1_judge =0; tmrpcm.play ("m_wel.wav"); задержка (10000); // ждем завершения приветственного голоса temp =mlx.readObjectTempC () + 1.2; // --------------------- чтение температуры и отображение на ЖК-дисплее // temp =37,4; // для тестирования закомментируйте эту строку для реального чтения oled.clear (); oled.set2X (); oled.println (""); oled.print (""); олед.принт (темп, 1); oled.println ("dgC"); tmrpcm.play ("m_now.wav"); задержка (1380); если (темп <20) {tmrpcm.play ("m_b20.wav"); // говорить ниже 20 dgC delay (1700); // ждать окончания звука tmrpcm.play ("m_nman.wav"); // говорим «ты не человек» delay (2270); // ждем окончания звука} else {if (temp>
 50) {tmrpcm.play ("m_over50.wav"); // говорить более 50 dgC delay (1740); tmrpcm.play ("m_nman.wav"); // говорите «вы не человек» delay (2270); } еще {Speak_out (темп); // озвучиваем температуру (если она от 20 до 50 ° C) delay (1500); если ((темп> 36) &&(темп <37)) {tmrpcm.play ("m_normal.wav"); // говорим «нормальная температура, будьте здоровы», если это 36 ~ 37dgC delay (3268); } если (темп> 37) {tmrpcm.play ("m_fever.wav"); // говорим "у вас жар" delay (2728); }}}} delay (300);} void speak_out (double temperature_result) {// эта подпрограмма будет озвучивать температуру temperature_result =temperature_result * 10; temperature_result =круглый (temperature_result); int temp0 =temperature_result; int temp1 =temp0 / 10; // значение температуры, цифра xy (в xy.z dgC) int temp2 =temp1% 10; // значение температуры, цифра y (в xy.z dgC) int temp3 =temp0% 10; // значение температуры, цифра z (в xy.z dgC) if (temp1 <20) {tmrpcm.play ("m_below20.wav"); // задержка ниже 20dgC (1631); } если (temp1> 50) {tmrpcm.play ("m_over50.wav"); // задержка больше 50dgC (1747); } если ((temp1> =20) &&(temp1 <=29)) {tmrpcm.play ("m_twenty.wav"); // двадцать задержка (600); } если ((temp1> =30) &&(temp1 <=39)) {tmrpcm.play ("m_thirty.wav"); // тридцать задержек (500); } если ((temp1> =40) &&(temp1 <=49)) {tmrpcm.play ("m_fourty.wav"); // сорок задержек (691); } если (temp2! =0) speak_num (temp2); // значение температуры, цифра y (в xy.z dgC) if ((temp1> =20) &&(temp1 <=50)) {tmrpcm.play ("m_point.wav"); // задержка точки (319); Speak_num (temp3); // значение температуры, цифра z (в xy.z dgC)} tmrpcm.play ("m_dgc.wav"); // задержка степени C (853); Serial.println (temp0); Serial.println (temp1); Serial.println (temp2); Serial.println (temp3);} void speak_num (int number) {// эта подпрограмма будет вызываться в подпрограмме "speak_out ()" if (number ==1) {tmrpcm.play ("m_one.wav" ); // одна задержка (453); } если (число ==2) {tmrpcm.play ("m_two.wav"); // две задержки (499); } если (число ==3) {tmrpcm.play ("m_three.wav"); // трехкратная задержка (406); } если (число ==4) {tmrpcm.play ("m_four.wav"); // четыре задержки (401); } если (число ==5) {tmrpcm.play ("m_five.wav"); // пятикратная задержка (354); } если (число ==6) {tmrpcm.play ("m_six.wav"); // шесть задержек (401); } если (число ==7) {tmrpcm.play ("m_seven.wav"); // задержка семерки (633); } если (число ==8) {tmrpcm.play ("m_eight.wav"); // восемь задержек (360); } если (число ==9) {tmrpcm.play ("m_nine.wav"); // девятка задержки (580); } если (число ==0) {tmrpcm.play ("m_zero.wav"); // нулевая задержка (610); }} 

Схема


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

  1. Контроль доступа с помощью QR, RFID и проверки температуры
  2. Измерение температуры с помощью RASPBERRY PI
  3. Датчик температуры Python и Raspberry Pi
  4. Простая температура и влажность на Raspberry Pi
  5. Сделай сам:мониторинг и регулирование температуры для домашнего пивоварения
  6. Измерение температуры для лабораторных и научных проектов
  7. Датчик температуры и освещенности Raspberry Pi
  8. Измерение температуры внутри композитов и клеевых линий
  9. Различные виды измерительных инструментов и их применение.
  10. Принцип работы механической и автоматической коробки передач