Оглавление:

Как построить счетчик времени сидя: 7 шагов
Как построить счетчик времени сидя: 7 шагов

Видео: Как построить счетчик времени сидя: 7 шагов

Видео: Как построить счетчик времени сидя: 7 шагов
Видео: 3 простых способа заставить себя начать дела | Правило 5 секунд | Зейгарник эффект 2024, Ноябрь
Anonim
Как построить счетчик времени сидя
Как построить счетчик времени сидя

В этом проекте будет использоваться ультразвуковой датчик расстояния Zio Qwiic для обнаружения и отслеживания человека. Устройство будет стратегически размещено поверх экрана / монитора лицом к человеку, сидящему перед его / ее компьютером.

Проект будет отслеживать, как долго они сидели в часах / минутах. По достижении максимального времени «сидения» он будет предупреждать их, чтобы они встали и пошли.

Шаг 1: Схема

Схема
Схема

Шаг 2: настройка

Настраивать
Настраивать

Для сборки этого проекта вам потребуются следующие модули:

  • Совет по развитию Zuino M Uno
  • Ультразвуковой датчик расстояния Zio Qwiic
  • Zio Qwiic 0,91-дюймовый OLED-дисплей
  • Кабели Qwiic (200 мм)
  • Кабель Micro USB

Шаг 3. Последовательное подключение всех модулей вместе

Последовательное соединение всех модулей вместе
Последовательное соединение всех модулей вместе

Шаг 4: Конфигурация и код

Загрузите и установите в свою Arduino IDE следующие библиотеки:

  • Библиотека Adafruit GFX
  • Библиотека Adafruit SSD1306

Загрузите полный код проекта на свою доску. Подключите Uno к компьютеру. Загрузите и прошейте код на Uno с помощью Arduino IDE.

Кроме того, вы можете скачать код со страницы Github.

Шаг 5: Пояснение к коду

С самого начала датчик обнаружит присутствие человека, сидящего на расстоянии 75 см. В это время все счетчики будут обнулены.

uint16_t time_sit1 = 0; uint16_t time_sit2 = 0; uint16_t time_leave1 = 0; uint16_t time_leave2 = 0; uint16_t lim = 75; // Диапазон расстояний от датчика до сиденья uint16_t maxsit_time = 7200000; // Устанавливаем максимальное время сидения в мс

Внутри функции петли датчик сначала обнаружит присутствие человека. Если в пределах диапазона обнаружения нет объекта, «счетчик отпуска» начнет отсчитывать время, когда никого нет.

if (distance * 0.1 <lim) {// определяет, находится ли человек в пределах диапазона обнаружения distance_H = Wire.read (); distance_L = Wire.read (); distance = (uint16_t) distance_H << 8; расстояние = расстояние | distance_L; сидеть(); time_leave1 ++; // отслеживает время, в течение которого никого нет calculatetime ();

Если он / она сидел более 2 часов, код отобразит сообщение для человека, чтобы он сделал перерыв.

если (время_зарядки2> максимальное время_время) {макссит (); time_leave1 = миллис () / 1000; time_leave1 ++; Calculatetime ();

Если человек решит сделать перерыв, код снова проверит присутствие человека. Если присутствие не обнаружено, счетчик сидячих мест сбрасывается на ноль и запускается счетчик отпусков. Датчик будет отслеживать время, в течение которого человек покинул рабочее место, чтобы отдохнуть.

else if (distance * 0.1> lim) {// определяет, находится ли человек за пределами диапазона calculatetime (); Serial.print ("Время сидеть:"); Serial.print (time_sit2 / 1000); Serial.println ("сек"); time_sit1 = миллис () / 1000; Serial.println («Никто»); time_sit1 ++; задержка (1000);

Шаг 6: демонстрация

Демо
Демо

Поместите ультразвуковой датчик расстояния Zio Qwiic на монитор вашего компьютера.

Примечание. Лучше разместить его над компьютером, чтобы датчик не обнаружил какие-либо объекты, которые могут исказить результаты.

Вы можете просматривать результаты времени сидения на OLED-дисплее, подключенном к устройству.

Шаг 7: как это работает

Как это работает
Как это работает
Как это работает
Как это работает
Как это работает
Как это работает

Ультразвуковой датчик расстояния будет отслеживать и обнаруживать сидящего человека, если он находится в пределах 75 см (расстояние от монитора до сиденья) от датчика.

Он будет отслеживать количество часов, в течение которых человек сидел, и расстояние до датчика.

Если он / она находится за пределами указанного диапазона 75 см, датчик будет считать, что человек покинул свое место для сидения. На OLED-экране будет отображаться время, в течение которого человек ушел после того, как сел.

Если датчик отследил и обнаружил, что человек сидел более 2 часов подряд, на экране отобразится сообщение, позволяющее ему / ей сделать перерыв.

Рекомендуемые: