Съдържание:

Брояч на гири (грешка): 4 стъпки
Брояч на гири (грешка): 4 стъпки

Видео: Брояч на гири (грешка): 4 стъпки

Видео: Брояч на гири (грешка): 4 стъпки
Видео: Любовь и голуби (FullHD, комедия, реж. Владимир Меньшов, 1984 г.) 2024, Ноември
Anonim
Брояч на гири (грешка)
Брояч на гири (грешка)

Story: Изградих този проект чисто като експеримент.

Исках да видя дали мога да използвам откриването на свободно падане на акселерометър, за да преброя люлките на гира.

Части:

1* Arduino nano

1* MAX7219 7 сегментен LED дисплей модул

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

2* 4k7 резистори

2* 15 way 0,1 инчови гнезда - за nano

1* 8 начин 0,1 инчов контакт - за акселерометъра

1* 5 начин 0,1 инчов щифт лента - за дисплея

1* двупосочен винтов терминал - за захранване

1* 27 на 34 табла

1* 9 -волтова скоба за батерия

1* 9 -волтова батерия (PP3)

Стъпка 1: Конструкция:

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

Проектирах и изградих малка платка за побиране на нано, акселерометър, резистори и конектори за дисплея и батерията.

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

Включих nano в неговите 2 конектора, за да ги настроя правилно и ги позиционирах на дъската.

Първо запоявах ъгловите щифтове и проверих дали всичко е поставено правилно, преди да запоя останалите щифтове на конектора.

След това запоявах щифтовете за дисплея и гнездото за акселерометъра, като припоявах и двата на място със синя лепенка.

След това запоях всички проводници и 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 г.

Препоръчано: