
Оглавление:
- Запасы
- Шаг 1. Подключите плату и акселерометр
- Шаг 2: прошивка для Arduino Nano
- Шаг 3. Установите среду выполнения Java для запуска клиентского приложения на ПК
- Шаг 4: Установите клиентское приложение для чтения координат из Arduino и отслеживания статистики
- Шаг 5: Калибровка акселерометра
- Шаг 6: дополнительный анализ
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-23 15:05


Я хотел бы предложить вам простой, но действительно полезный проект 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 на плату 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 (JRE).
Клиентское приложение, которое я создал для приема сообщений от Arduino и агрегированной статистики, написано на языке программирования Java. А для запуска приложений Java требуется JRE. У вас должна быть установлена как минимум JRE8. Предлагаю вам скачать x64 версию для Windows. Загрузите его с сайта Oracle
Шаг 4: Установите клиентское приложение для чтения координат из 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.
Рекомендуемые:
Брелок для отслеживания мандалорцев: 7 шагов

Мандалорский брелок для слежения: после того, как я увидел несколько первых эпизодов Мандалорского брелока, мне не терпелось попробовать создать брелок для слежения. У многих других была такая же идея, и они опубликовали множество справочных материалов, над которыми я мог работать при разработке брелка для отслеживания в Fusion 360
Система отслеживания движения головы для VR: 8 шагов

Система отслеживания движения головы для VR: Меня зовут Сэм КОДО, в этом уроке я шаг за шагом научу вас, как использовать датчики Arduino IMU для создания системы отслеживания движения головы для VR. В этом проекте вам понадобятся: - ЖК-дисплей HDMI : https: //www.amazon.com/Elecrow-Capacitive-interfac…- И
Мандалорский брелок для отслеживания MVRK: 8 шагов (с изображениями)

Мандалорский брелок отслеживания MVRK: 4 мая, также известный как День Звездных войн, праздник, который очень близок и дорог нашим сердцам. В этом году мы решили отметить его немного иначе, чем в прошлые годы. С экспериментальными технологиями и мейкер-проектом мы применили комплексный подход и
Робот для отслеживания мяча: 8 шагов

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

Magic Cube или Micro-controller Cube: в этой инструкции я покажу вам, как сделать Magic cube из неисправного микроконтроллера. Эта идея возникла, когда я взял неисправный микроконтроллер ATmega2560 от Arduino Mega 2560 и сделал куб. .Что касается оборудования Magic Cube, у меня есть как