Оглавление:

Куб времени - гаджет для отслеживания времени Arduino: 6 шагов
Куб времени - гаджет для отслеживания времени Arduino: 6 шагов

Видео: Куб времени - гаджет для отслеживания времени Arduino: 6 шагов

Видео: Куб времени - гаджет для отслеживания времени Arduino: 6 шагов
Видео: ⛅️Погодная станция на Arduino своими руками 2024, Ноябрь
Anonim
Time Cube - гаджет для отслеживания времени Arduino
Time Cube - гаджет для отслеживания времени Arduino
Time Cube - гаджет для отслеживания времени Arduino
Time Cube - гаджет для отслеживания времени Arduino

Я хотел бы предложить вам простой, но действительно полезный проект Arduino для отслеживания временных событий, перевернув какой-нибудь умный гаджет-куб. Переверните его в сторону «Работа»> «Обучение»> «Работа по дому»> «Отдых», и он будет считать время, которое вы тратите на это действие. Куб времени построен на основе Arduino Nano и акселерометра ADXL345, помещенного в коробку подходящего размера, на которой вы можете рисовать символы или названия действий. В конце дня вы можете проверить статистику. Надеюсь, это побудит меня «узнать» больше.

На рынке есть множество похожих продуктов, таких как TimeFlip.io, Timeular.com, ZEI. Вы также можете попробовать хороший DIY-проект от Adafruit https://learn.adafruit.com/time-tracking-cube. Однако я предлагаю вам сделать это намного проще. Чтобы отслеживать данные о времени, вам не нужно подключение к облачным службам через Wi-Fi или Bluetooth. Time Cube питается и подключается к ПК через USB-кабель. На компьютере вам нужно запустить мое Java-приложение, которое прослушивает последовательные сообщения от Arduino и отображает общее затраченное время.

Все необходимые исходники программы и некоторые не очень подробные инструкции вы можете найти в моем проекте GitHub:

Запасы

1. Arduino Micro или Nano вроде этого:

2. Акселерометр ADXL345:

3. Картонная / пластиковая коробка для кубиков.

4. USB-кабель.

Шаг 1. Подключите плату и акселерометр

Подключите плату и акселерометр
Подключите плату и акселерометр

Датчик ADXL345 - это 3-осевой акселерометр, который может измерять силы ускорения, а когда он статичен, вы также можете определить его ориентацию. Вам необходимо подключить плату Arduino Nano или Micro и акселерометр ADXL345, как показано на рисунке.

Я не буду подробно объяснять, как работает акселерометр ADXL345. Всю необходимую информацию я нашел в очень хорошей статье о подключении акселерометров к Arduino и программированию:

Шаг 2: прошивка для Arduino Nano

Прошивка для Arduino Nano
Прошивка для Arduino Nano
Прошивка для Arduino Nano
Прошивка для Arduino Nano

На этом этапе мы должны загрузить программу из студии Arduino на плату Arduino. Arduino nano сможет считывать координаты XYZ с акселерометра и отправлять их на последовательный порт в виде пакетов данных, например

Вы можете скачать все необходимые исходники со страницы моего проекта GitHub (как один архивный файл):

1. Распакуйте скачанный zip-архив в какую-нибудь папку типа c: / program / tcube и откройте файл tcube / arduino / tcub / tcub.ino в студии Arduino.

2. Подключите плату Arduino к ПК с помощью USB-кабеля.

3. В меню «Инструменты»> «Плата» выберите «Arduino Nano» (или другую плату, которую вы планируете использовать).

4. Если вы используете некоторые китайские клоны arduino, вам следует выбрать Инструменты-> Процессор-> ATmega328P (Старый загрузчик).

5. Выберите подключенный порт из Tools-> Port -> COM3 (в моем случае)

6. Загрузите программу в arduino

7. С этого момента он немедленно отправит пакеты данных на последовательный порт USB.

8. Чтобы проверить, все ли работает нормально, вы можете открыть «Serial Monitor» в Arduino Studio. Вы должны увидеть пакеты, которые генерируются каждую секунду как …… (что означает фактические координаты акселерометра).

Шаг 3. Установите среду выполнения Java для запуска клиентского приложения на ПК

Установите среду выполнения Java для запуска клиентского приложения на ПК
Установите среду выполнения Java для запуска клиентского приложения на ПК

Прежде чем мы продолжим, убедитесь, что на вашем компьютере установлена среда выполнения Java (JRE).

Клиентское приложение, которое я создал для приема сообщений от Arduino и агрегированной статистики, написано на языке программирования Java. А для запуска приложений Java требуется JRE. У вас должна быть установлена как минимум JRE8. Предлагаю вам скачать x64 версию для Windows. Загрузите его с сайта Oracle

Шаг 4: Установите клиентское приложение для чтения координат из Arduino и отслеживания статистики

Установите клиентское приложение для чтения координат из Arduino и отслеживания статистики
Установите клиентское приложение для чтения координат из Arduino и отслеживания статистики
Установите клиентское приложение для чтения координат из Arduino и отслеживания статистики
Установите клиентское приложение для чтения координат из Arduino и отслеживания статистики

Пришло время подготовить и запустить клиентское приложение на вашем ПК, которое будет подключаться к USB-порту для прослушивания и отслеживания статистики времени.

Если вы знакомы с Java, вы можете загрузить и скомпилировать исходные коды Java-приложения Time Cube из моего проекта GitHub. Однако внутри полного архива проекта, который вы уже скачали, есть уже скомпилированный и готовый к использованию архив приложения tcube.zip, который необходимо распаковать в какую-либо папку (это может быть c: / programs / tcube).

Если вы запустите файл run.bat, он должен запустить приложение, которое немедленно попытается установить соединение с некоторым активным COM-портом, используемым платой Arduino (Arduino, подключенный к USB, автоматически распознается Windows как некоторый виртуальный COM-порт).

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

Шаг 5: Калибровка акселерометра

Калибровка акселерометра
Калибровка акселерометра

Может случиться так, что вам придется откалибровать свой Time Cube, потому что ваш акселерометр ориентирован не так, как мой. Просто откройте файл app.properties и отредактируйте диапазоны координат каждой стороны куба в соответствии с фактическими координатами, которые вы увидите в окне журнала приложения для каждой стороны куба.

Или вы можете поэкспериментировать с ориентацией и найти положение акселерометра в точности как мое.

Шаг 6: дополнительный анализ

Дополнительный анализ
Дополнительный анализ

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

Приложение создает файл time-log.csv в формате CSV, который содержит все события, отправленные с arduino. Поскольку события генерируются каждую секунду, вы можете выполнять подробный анализ дня в MS Excel для построения хороших диаграмм, графиков и дополнительной аналитики.

В папке, которую вы скачали из моего проекта GitHub, вы можете найти файл excel log_analytics.xlsx, который строит круговую диаграмму с использованием данных из файла time-log.csv. Вам необходимо обновить график вручную, нажав кнопку «Обновить все» в Excel.

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