Хобби электроника
Вы хотите отреагировать на этот пост ? Создайте аккаунт всего в несколько кликов или войдите на форум.
Хобби электроника

Всё то, что можно спаять и собрать вручную с помощью паяльника и незамысловатого инструмента: -тут!
 
Реклама  ФорумФорум  Последние изображенияПоследние изображения  ПоискПоиск  РегистрацияРегистрация  ВходВход  
Поиск
 
 

Результаты :
 
Rechercher Расширенный поиск

 

 СЧЕТЧИК УДАРОВ НА ГРУШЕ НА АРДУИНО

Перейти вниз 
Участников: 3
АвторСообщение
viktor1983




Сообщения : 102
Дата регистрации : 2017-06-13

СЧЕТЧИК УДАРОВ НА ГРУШЕ НА АРДУИНО Empty
СообщениеТема: СЧЕТЧИК УДАРОВ НА ГРУШЕ НА АРДУИНО   СЧЕТЧИК УДАРОВ НА ГРУШЕ НА АРДУИНО EmptyПт Сен 15, 2017 11:35 pm

Здравствуйте выкладываю совместно сделанный с администратором сайта Сергеем проект счетчик ударов для бокса и единоборств на основе ардуино . Когда создавался этот проект в основу легли простота сборки , маленький бюджет (около 350-400 руб) и простота установки изделия (его можно вешать на любую грушу без последствий для самой груши ) И так приступим нам надо ардуино нано ,монитор 16/2,датчик вибрации (фото будет ниже), 3 кнопки ,пищалка (фото тоже будет ) провода и желание .
и так фото СЧЕТЧИК УДАРОВ НА ГРУШЕ НА АРДУИНО P_201719
СЧЕТЧИК УДАРОВ НА ГРУШЕ НА АРДУИНО P_201720
СЧЕТЧИК УДАРОВ НА ГРУШЕ НА АРДУИНО P_201721
СЧЕТЧИК УДАРОВ НА ГРУШЕ НА АРДУИНО P_201722
так теперь схема сборки не судите строго рисовать не умею но я думаю все поймете если нет то пишите отвечу
СЧЕТЧИК УДАРОВ НА ГРУШЕ НА АРДУИНО Yaoi10
после сборки счетчика я нашел пластиковую коробку и все туда в монтировал кстати чтобы можно было использовать его в спортзале в качестве питания я подключил батарейку крону вот что получилось
СЧЕТЧИК УДАРОВ НА ГРУШЕ НА АРДУИНО P_201723
СЧЕТЧИК УДАРОВ НА ГРУШЕ НА АРДУИНО P_201724
СЧЕТЧИК УДАРОВ НА ГРУШЕ НА АРДУИНО P_201725
теперь работа самого устройства на видео

огромное спасибо хочу сказать админу Сергею без его помощи у меня ничего бы не получилось


вот скетч на счетчик

#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C _lcd1(0x3f, 16, 2);
int _dispTempLength1=0;
boolean _isNeedClearDisp1;

int _FLPArray85392936[12] = {30, 60, 90, 120, 150, 180, 210, 240, 270, 300, 330, 360 };
bool _gtv1 = 0;
int _gtv2 = 0;
bool _gtv5 = 0;
bool _gtv6 = 0;
bool _count3I = 0;
int _count3P = 0;
bool _trgs1 = 0;
bool _trgrt6 = 0;
bool _trgrt6I = 0;
bool _pzs1OES = 0;
int _pzs1OFS = 0;
int _disp2oldLength = 0;
bool _bounseInputD5S = 0;
bool _bounseInputD5O = 0;
unsigned long _bounseInputD5P = 0UL;
bool _count1I = 0;
int _count1P = 0;
bool _trgrt5 = 0;
bool _trgrt5I = 0;
bool _bounseInputD3S = 0;
bool _bounseInputD3O = 0;
unsigned long _bounseInputD3P = 0UL;
bool _trgrt1 = 0;
bool _trgrt1I = 0;
bool _trgrt3 = 0;
bool _trgrt3I = 0;
bool _count4I = 0;
int _count4P = 0;
bool _tim1I = 0;
bool _tim1O = 0;
unsigned long _tim1P = 0UL;
bool _gen1I = 0;
bool _gen1O = 0;
unsigned long _gen1P = 0UL;
bool _changeNumber1_Out = 0;
int _changeNumber1_OLV;
bool _trgrt4 = 0;
bool _trgrt4I = 0;
bool _bounseInputD4S = 0;
bool _bounseInputD4O = 0;
unsigned long _bounseInputD4P = 0UL;
bool _dms1Q0 = 0;
bool _dms1Q1 = 0;
bool _dms1Q2 = 0;
bool _dms1Q3 = 0;
bool _dms1Q4 = 0;
int _disp3oldLength = 0;
int _swi1;
void setup()
{
Wire.begin();
delay(10);
pinMode(2, INPUT);
digitalWrite(2, HIGH);
pinMode(3, INPUT);
digitalWrite(3, HIGH);
pinMode(4, INPUT);
digitalWrite(4, HIGH);
pinMode(5, INPUT);
digitalWrite(5, HIGH);

_lcd1.init();
_lcd1.backlight();
_bounseInputD3O = digitalRead(3);
_bounseInputD4O = digitalRead(4);
_bounseInputD5O = digitalRead(5);
}
void loop()
{int _tempVariable_int;
if (_isNeedClearDisp1) {_lcd1.clear(); _isNeedClearDisp1= 0;}

bool _bounceInputTmpD4 = (digitalRead (4));

if (_bounseInputD4S)
{
if (millis() >= (_bounseInputD4P + 40))
{_bounseInputD4O= _bounceInputTmpD4; _bounseInputD4S=0;}
}
else
{
if (_bounceInputTmpD4 != _bounseInputD4O )
{_bounseInputD4S=1; _bounseInputD4P = millis();}
}
bool _bounceInputTmpD5 = (digitalRead (5));

if (_bounseInputD5S)
{
if (millis() >= (_bounseInputD5P + 40))
{_bounseInputD5O= _bounceInputTmpD5; _bounseInputD5S=0;}
}
else
{
if (_bounceInputTmpD5 != _bounseInputD5O )
{_bounseInputD5S=1; _bounseInputD5P = millis();}
}
bool _bounceInputTmpD3 = (digitalRead (3));

if (_bounseInputD3S)
{
if (millis() >= (_bounseInputD3P + 40))
{_bounseInputD3O= _bounceInputTmpD3; _bounseInputD3S=0;}
}
else
{
if (_bounceInputTmpD3 != _bounseInputD3O )
{_bounseInputD3S=1; _bounseInputD3P = millis();}
}




//Плата:1
if (( (!( (digitalRead (2)))) && (_gtv6) )) { if (_trgrt3I) { _trgrt3 = 0;} else {_trgrt3 = 1; _trgrt3I = 1;} } else {_trgrt3 = 0; _trgrt3I = 0;};

if (_trgrt3)
{
if (! _count4I)
{
_count4P = _count4P+1;
_count4I = 1;
}
}
else
{
_count4I=0;
}
if (( (!(_bounseInputD3O)) || (_gtv1) )) _count4P = 0;
if(!(_bounseInputD4O)) _trgs1 = 1;
if(( (!(_bounseInputD3O)) || (_trgrt5) )) _trgs1 = 0;
if (_trgs1) { if (_trgrt4I) { _trgrt4 = 0;} else {_trgrt4 = 1; _trgrt4I = 1;} } else {_trgrt4 = 0; _trgrt4I = 0;};
if(( (_dms1Q1) || (_dms1Q3) ))
{if((!_pzs1OES) || (_swi1 != _pzs1OFS)){ tone(12, (_swi1)); _pzs1OES =1;_pzs1OFS = _swi1;}} else {if(_pzs1OES){noTone(12); _pzs1OES =0; }}
if((_gtv2 == 0)){_dms1Q0 = 1;} else {_dms1Q0 = 0;}
if((_gtv2 == 1)){_dms1Q1 = 1;} else {_dms1Q1 = 0;}
if((_gtv2 == 2)){_dms1Q2 = 1;} else {_dms1Q2 = 0;}
if((_gtv2 == 3)){_dms1Q3 = 1;} else {_dms1Q3 = 0;}
if((_gtv2 == 4)){_dms1Q4 = 1;} else {_dms1Q4 = 0;}
if (_dms1Q1)
{ if (_tim1I) { if (_isTimer(_tim1P, 500)) {_tim1O = 1;}} else {_tim1I =1; _tim1P = millis();}} else {_tim1O = 0; _tim1I = 0;}
if (( (!(_bounseInputD3O)) || (_trgrt5) )) { if (_trgrt6I) { _trgrt6 = 0;} else {_trgrt6 = 1; _trgrt6I = 1;} } else {_trgrt6 = 0; _trgrt6I = 0;};
if (_dms1Q4) { if (_trgrt5I) { _trgrt5 = 0;} else {_trgrt5 = 1; _trgrt5I = 1;} } else {_trgrt5 = 0; _trgrt5I = 0;};
if(_dms1Q3)
{_swi1=800;}
else
{_swi1=1200;}
if (( (_dms1Q2) || (_dms1Q3) )) { if (! _gen1I) { _gen1I = 1; _gen1O = 1; _gen1P = millis(); } } else { _gen1I = 0 ; _gen1O= 0;}
if (_gen1I) { if ( _isTimer ( _gen1P , 500 )) { _gen1P = millis(); _gen1O = ! _gen1O;}}
if(( (_changeNumber1_Out) || ((_gtv2) == (0)) || (_trgrt6) )) _count3P = ((_FLPArray85392936[_count1P]));
if (_gen1O)
{
if (! _count3I)
{
_count3P = _count3P-1;
_count3I = 1;
}
}
else
{
_count3I=0;
}
if(_trgrt1) _count1P = (0);
if (( ((_gtv2) == (0)) && (!(_bounseInputD5O)) ))
{
if (! _count1I)
{
_count1P = _count1P+1;
_count1I = 1;
}
}
else
{
_count1I=0;
}
if (_gtv5) _count1P = 0;
if (!(0)) { if (_trgrt1I) { _trgrt1 = 0;} else {_trgrt1 = 1; _trgrt1I = 1;} } else {_trgrt1 = 0; _trgrt1I = 0;};
if (!(0)) {
_dispTempLength1 = ((((String("Score:")) + ((String(_count4P, DEC)))))).length();
if (_disp2oldLength > _dispTempLength1) {_isNeedClearDisp1 = 1;}
_disp2oldLength = _dispTempLength1;
_lcd1.setCursor(0, 0);
_lcd1.print((((String("Score:")) + ((String(_count4P, DEC))))));
} else {
if (_disp2oldLength > 0) {_isNeedClearDisp1 = 1; _disp2oldLength = 0;}
}
if (!(_bounseInputD3O)) {
_gtv2 = 0;
}
_gtv1 = _count4P >= 32766;
if (_trgrt4) {
_gtv2 = 1;
}
_gtv6 = !(_dms1Q0);
if (_tim1O) {
_gtv2 = 2;
}
if (_tim1O) {
_gtv6 = 1;
}
if (_dms1Q4) {
_gtv2 = 0;
}
if ((_count3P) == (1)) {
_gtv2 = 3;
}
if ((_count3P) == (0)) {
_gtv2 = 4;
}
_gtv5 = _count1P >= 11;
if (!(0)) {
_dispTempLength1 = ((((String("Time:")) + ((String(_count3P, DEC)))))).length();
if (_disp3oldLength > _dispTempLength1) {_isNeedClearDisp1 = 1;}
_disp3oldLength = _dispTempLength1;
_lcd1.setCursor(0, 1);
_lcd1.print((((String("Time:")) + ((String(_count3P, DEC))))));
} else {
if (_disp3oldLength > 0) {_isNeedClearDisp1 = 1; _disp3oldLength = 0;}
}
if (_changeNumber1_Out) {_changeNumber1_Out = 0;} else {_tempVariable_int = (_FLPArray85392936[_count1P]);
if (_tempVariable_int != _changeNumber1_OLV) {_changeNumber1_OLV = _tempVariable_int; _changeNumber1_Out = 1;}
}




}
bool _isTimer(unsigned long startTime, unsigned long period )
{
unsigned long currentTime;
currentTime = millis();
if (currentTime>= startTime) {return (currentTime>=(startTime + period));} else {return (currentTime >=(4294967295-startTime+period));}
}
Вернуться к началу Перейти вниз
sser
Admin
sser


Сообщения : 1034
Дата регистрации : 2013-02-08
Возраст : 50
Откуда : Нижний Новгород

СЧЕТЧИК УДАРОВ НА ГРУШЕ НА АРДУИНО Empty
СообщениеТема: Re: СЧЕТЧИК УДАРОВ НА ГРУШЕ НА АРДУИНО   СЧЕТЧИК УДАРОВ НА ГРУШЕ НА АРДУИНО EmptyСб Сен 16, 2017 12:34 pm

Виктор ,поздравляю тебя!
Отличный прибор получился.
Успехов начинающему боксёру!
Вернуться к началу Перейти вниз
http://sser.jimdo.com
viktor1983




Сообщения : 102
Дата регистрации : 2017-06-13

СЧЕТЧИК УДАРОВ НА ГРУШЕ НА АРДУИНО Empty
СообщениеТема: Re: СЧЕТЧИК УДАРОВ НА ГРУШЕ НА АРДУИНО   СЧЕТЧИК УДАРОВ НА ГРУШЕ НА АРДУИНО EmptyПн Фев 04, 2019 2:01 pm

Здравствуй Сергей помоги пожалуйста , тот счетчик ударов который ты мне помог сделать украли из машины я захотел сделать новый но скетч который ты мне написал выдает ошибку при проверке , посмотри пожалуйста скетч очень прошу.
Вернуться к началу Перейти вниз
viktor1983




Сообщения : 102
Дата регистрации : 2017-06-13

СЧЕТЧИК УДАРОВ НА ГРУШЕ НА АРДУИНО Empty
СообщениеТема: Re: СЧЕТЧИК УДАРОВ НА ГРУШЕ НА АРДУИНО   СЧЕТЧИК УДАРОВ НА ГРУШЕ НА АРДУИНО EmptyПн Фев 04, 2019 2:16 pm

выдает ошибку 'class LiquidCrystal_I2C' has no member named 'init'
Вернуться к началу Перейти вниз
sser
Admin
sser


Сообщения : 1034
Дата регистрации : 2013-02-08
Возраст : 50
Откуда : Нижний Новгород

СЧЕТЧИК УДАРОВ НА ГРУШЕ НА АРДУИНО Empty
СообщениеТема: Re: СЧЕТЧИК УДАРОВ НА ГРУШЕ НА АРДУИНО   СЧЕТЧИК УДАРОВ НА ГРУШЕ НА АРДУИНО EmptyПн Фев 04, 2019 6:45 pm

Виктор, какой именно скетч нужен?
Если тот который в первом посте этой темы , то я его загрузил и компиляция прошла успешно.


_________________
Напишу скетч для Ардуино в соответствии с Вашим ТЗ.

Создам плату, сделаю по ЛУТ.
Спаяю её по схеме, (которую спроектирую) с использованием микроконтроллера.
На развитие форума:
https://yoomoney.ru/to/410017823779648/200
Вернуться к началу Перейти вниз
http://sser.jimdo.com
viktor1983




Сообщения : 102
Дата регистрации : 2017-06-13

СЧЕТЧИК УДАРОВ НА ГРУШЕ НА АРДУИНО Empty
СообщениеТема: Re: СЧЕТЧИК УДАРОВ НА ГРУШЕ НА АРДУИНО   СЧЕТЧИК УДАРОВ НА ГРУШЕ НА АРДУИНО EmptyПн Фев 04, 2019 8:20 pm

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

Kashey1234643 поставил(а) лайк

Вернуться к началу Перейти вниз
Kashey1234643




Сообщения : 5
Дата регистрации : 2022-02-03

СЧЕТЧИК УДАРОВ НА ГРУШЕ НА АРДУИНО Empty
СообщениеТема: Re: СЧЕТЧИК УДАРОВ НА ГРУШЕ НА АРДУИНО   СЧЕТЧИК УДАРОВ НА ГРУШЕ НА АРДУИНО EmptyЧт Фев 03, 2022 10:21 pm

Здравствуйте Сергей.
Очень заинтересовался этой темой.
Собрал счётчик ударов на аурдино Uno.
Но что-то пошло не так. Скетч компилируется но при загрузке выдаёт ошибку.
Произошла ошибка при загрузке.
avrdude:stk500_recv() :programmer is not responding
avrdude:stk500_getaync() attention 1 of 10:not in sync:respect=0xcf

К сожалению мои познания аурдино в самом начале.
Буду очень благодарен если сможете подсказать где копать
Вернуться к началу Перейти вниз
Kashey1234643




Сообщения : 5
Дата регистрации : 2022-02-03

СЧЕТЧИК УДАРОВ НА ГРУШЕ НА АРДУИНО Empty
СообщениеТема: Re: СЧЕТЧИК УДАРОВ НА ГРУШЕ НА АРДУИНО   СЧЕТЧИК УДАРОВ НА ГРУШЕ НА АРДУИНО EmptyПт Фев 04, 2022 9:23 am

ATmega328P UNO R3 CH340T Instead 16U2 неправильно впаян ICSP разъём,
Вернуться к началу Перейти вниз
Kashey1234643




Сообщения : 5
Дата регистрации : 2022-02-03

СЧЕТЧИК УДАРОВ НА ГРУШЕ НА АРДУИНО Empty
СообщениеТема: Re: СЧЕТЧИК УДАРОВ НА ГРУШЕ НА АРДУИНО   СЧЕТЧИК УДАРОВ НА ГРУШЕ НА АРДУИНО EmptyПт Фев 04, 2022 10:25 am

Огромное спасибо вам за то что вы есть!
Ларчик просто открывался!
Вытащил аурдино из макетки. Нажал ресет и скеч моментально загрузился. Проверил всё работает. Не знаю кто больше рад я или мой сын🤣
Вернуться к началу Перейти вниз
Kashey1234643




Сообщения : 5
Дата регистрации : 2022-02-03

СЧЕТЧИК УДАРОВ НА ГРУШЕ НА АРДУИНО Empty
СообщениеТема: Re: СЧЕТЧИК УДАРОВ НА ГРУШЕ НА АРДУИНО   СЧЕТЧИК УДАРОВ НА ГРУШЕ НА АРДУИНО EmptyПт Фев 04, 2022 5:41 pm

Для лёгкой груши этот счётчик не годится. Ложные считывания за счёт качания груши.
Вернуться к началу Перейти вниз
sser
Admin
sser


Сообщения : 1034
Дата регистрации : 2013-02-08
Возраст : 50
Откуда : Нижний Новгород

СЧЕТЧИК УДАРОВ НА ГРУШЕ НА АРДУИНО Empty
СообщениеТема: Re: СЧЕТЧИК УДАРОВ НА ГРУШЕ НА АРДУИНО   СЧЕТЧИК УДАРОВ НА ГРУШЕ НА АРДУИНО EmptyПт Фев 04, 2022 6:33 pm

Наклоните датчик и найдите такое положение, при котором не будет срабатывает при качании.

_________________
Напишу скетч для Ардуино в соответствии с Вашим ТЗ.

Создам плату, сделаю по ЛУТ.
Спаяю её по схеме, (которую спроектирую) с использованием микроконтроллера.
На развитие форума:
https://yoomoney.ru/to/410017823779648/200
Вернуться к началу Перейти вниз
http://sser.jimdo.com
Kashey1234643




Сообщения : 5
Дата регистрации : 2022-02-03

СЧЕТЧИК УДАРОВ НА ГРУШЕ НА АРДУИНО Empty
СообщениеТема: Re: СЧЕТЧИК УДАРОВ НА ГРУШЕ НА АРДУИНО   СЧЕТЧИК УДАРОВ НА ГРУШЕ НА АРДУИНО EmptyСр Фев 09, 2022 7:12 pm

Понятно. Спасибо!
Вернуться к началу Перейти вниз
 
СЧЕТЧИК УДАРОВ НА ГРУШЕ НА АРДУИНО
Вернуться к началу 
Страница 1 из 1
 Похожие темы
-
» Фриланс Ардуино.Новичок сделает проект,скетч для Ардуино на заказ.
» Как обмануть счётчик электроэнергии.
» Ардуино в ЛБП
» Программирую Arduino на заказ (Беcплатно). ("Умный дом" не предлагать)
» Вентиляция в подвале на Ардуино

Права доступа к этому форуму:Вы не можете отвечать на сообщения
Хобби электроника :: категория :: форум-
Перейти: