Оглавление:

Счетчик гири (неудача): 4 шага
Счетчик гири (неудача): 4 шага

Видео: Счетчик гири (неудача): 4 шага

Видео: Счетчик гири (неудача): 4 шага
Видео: Ты где такие погоны взял? 2024, Ноябрь
Anonim
Счетчик гирь (ошибка)
Счетчик гирь (ошибка)

История: Я построил этот проект исключительно в качестве эксперимента.

Я хотел посмотреть, смогу ли я использовать функцию определения свободного падения акселерометра для подсчета ударов гири.

Части:

1 * Ардуино нано

1 * MAX7219 7-сегментный светодиодный дисплейный модуль

1 * акселерометр ADXL345

2 * 4к7 резисторы

2 * 15-контактные 0,1-дюймовые розетки - для нано

1 * 8-контактная розетка 0,1 дюйма - для акселерометра

1 * 5-полосная 0,1-дюймовая контактная полоса - для дисплея

1 * 2-ходовой винтовой зажим - для питания

1 * 27 на 34 стрипборд

Зажим аккумулятора 1 * 9 вольт

Батарея 1 * 9 вольт (PP3)

Шаг 1: Строительство:

Строительство
Строительство
Строительство
Строительство
Строительство
Строительство

Я спроектировал и построил небольшую плату для размещения нано, акселерометра, резисторов и разъемов для дисплея и батареи.

Имеется 12 проводов и 20 разрывов дорожек (15 из которых находятся между 2 разъемами для Arduino nano).

Я подключил nano к двум разъемам, чтобы правильно их установить, и расположил на плате.

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

Затем я припаял контакты для дисплея и разъем для акселерометра, я удерживал их на месте синей застежкой, пока паял.

Затем я припаял все провода и 2 резистора.

Наконец, я поставил все дорожки брейков.

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

Я просто приклеил доску, батарею и дисплей к гири для своих тестов, не лучшее решение, но это был всего лишь эксперимент.

Шаг 2: Программное обеспечение:

Я отредактировал все программное обеспечение и запрограммировал Arduino nano с помощью Arduino IDE.

Код был упражнением по повторному использованию, большая часть кода - это демонстрационный код библиотеки Sparkfun «SparkFun_ADXL345_Example.ino».

Я просто добавил код для счетчика и вырезал несколько битов, которые ничего не делали.

Записи на дисплее обрабатываются библиотекой DigitLedDisplay.

Экспериментально я попытался заставить код работать, используя прерывание акселерометра вместо опроса, но безуспешно.

Обратите внимание, что в файле кода есть опция тестирования: если вы раскомментируете строку // # define test, счетчик будет увеличиваться при двойном касании акселерометра, а не при свободном падении.

Шаг 3: смешанные результаты:

После того, как я склеил все вместе, я сделал серию из 10 махов, в результате чего на счетчике получилось 20. Я попробовал еще раз и получил тот же результат.

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

Мой первый тест после модификации кода прошел успешно.

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

Я предполагаю, что мои вариации в технике свинга приводят к пропущенным счетам.

Я пришел к выводу, что обнаружение свободного падения недостаточно надежно для надежного подсчета ударов гири.

Все качели в моем тесте были горизонтальными, а не над головой, как некоторые делают с гирями.

Шаг 4: Ссылки:

Используемые библиотеки:

SparkFun_ADXL345_Arduino_Library

DigitLedDisplay Версия 1.1.0

Оба получены 29 июня 2019 года.

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