Хобби электроника

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

Поделиться | 
 

 ТРЕНАЖЕР ДЛЯ БОКСЕРСКОЙ СЕКЦИИ НА ОСНОВЕ АРДУИНО

Предыдущая тема Следующая тема Перейти вниз 
АвторСообщение
viktor1983



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

СообщениеТема: ТРЕНАЖЕР ДЛЯ БОКСЕРСКОЙ СЕКЦИИ НА ОСНОВЕ АРДУИНО   Сб Сен 09, 2017 10:32 pm

Здравствуйте выкладываю проект для боксерской секции на основе ардуино в создание проекта хочу поблагодарить Рамиля Шайхутдинова он очень сильно помог во платить мою идею . Смысл проекта на грушу вешаются ( они съемные ) два пояса имитирующие голову и корпус в пояса монтируются 6 светодиодов по 3 на каждый пояс , поочередно загораются светодиоды сериями от3-х до8 ударов в каждой серии , между сериями есть небольшой перерыв и так 2 минуты потом 1 минута отдыха .Быстроту мигания светодиодов можно регулировать . но самое основное что количество ударов в серии идет через так называемый генератор случайных чисел а так же мигание светодиодов тоже идет через генератор случайных чисел так что боксер не знает сколько будет ударов и куда именно.
вот ссылка на тренажере работает мой сын скорость маленькая https://www.youtube.com/watch?v=O8gG-e_zf3w

вот ссылка работает более опытный боксер скорость побыстрее( говорит один раунд на тренажере равняется 5-ти без тренажера )
https://www.youtube.com/watch?v=nfyqlhbi5ew

вот ссылка собранного проекта на коленке https://www.youtube.com/watch?v=pRb80CdhrvI

теперь сама сборка
вот схема
единственное мне было лень перересовывать схему у меня на ардуино оказались не рабочие несколько выходов поэтому От 4 отсоединяешь , присоединяешь на 2. От 7 отсоединяешь, присоединяешь на 9. От 8 отсоединяешь, присоединяешь на 13.
вот скетч на проект
bool _trgrt1 = 0;
bool _trgrt1I = 0;
bool _gen3I = 0;
bool _gen3O = 0;
unsigned long _gen3P = 0UL;
bool _gen2I = 0;
bool _gen2O = 0;
unsigned long _gen2P = 0UL;
bool _ds1b1 = 0;
bool _ds1b2 = 0;
bool _ds1b3 = 0;
bool _ds1b4 = 0;
bool _ds1b5 = 0;
bool _ds1b6 = 0;
long _strFunrand1 = 0L;
bool _gen1I = 0;
bool _gen1O = 0;
unsigned long _gen1P = 0UL;
bool _gen4I = 0;
bool _gen4O = 0;
unsigned long _gen4P = 0UL;
bool _gen5I = 0;
bool _gen5O = 0;
unsigned long _gen5P = 0UL;
void setup()
{
pinMode(3, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
pinMode(12, OUTPUT);
pinMode(2, OUTPUT);
pinMode(9, OUTPUT);
pinMode(13, OUTPUT);

randomSeed(analogRead(0));
}
void loop()
{



if (1) {if (! _gen1I) { _gen1I = 1; _gen1O = 1; _gen1P = millis(); } } else { _gen1I = 0 ; _gen1O= 0; } if (_gen1I ) { if (_gen1O) { if ( _isTimer( _gen1P , 200 )) { _gen1P = millis(); _gen1O = 0; } } else { if ( _isTimer( _gen1P , (analogRead (3)) )) { _gen1P = millis(); _gen1O = 1; } } }
if (_gen1O) { if (_trgrt1I) { _trgrt1 = 0;} else {_trgrt1 = 1; _trgrt1I = 1;} } else {_trgrt1 = 0; _trgrt1I = 0;};
if (_trgrt1) {
_strFunrand1 = random(1, 10);
}
_ds1b1 = (_strFunrand1 == 1);
_ds1b2 = (_strFunrand1 == 2);
_ds1b3 = (_strFunrand1 == 3);
_ds1b4 = (_strFunrand1 == 4);
_ds1b5 = (_strFunrand1 == 5);
_ds1b6 = (_strFunrand1 == 6);
if (1) {if (! _gen2I) { _gen2I = 1; _gen2O = 1; _gen2P = millis(); } } else { _gen2I = 0 ; _gen2O= 0; } if (_gen2I ) { if (_gen2O) { if ( _isTimer( _gen2P , 120000 )) { _gen2P = millis(); _gen2O = 0; } } else { if ( _isTimer( _gen2P , 60000 )) { _gen2P = millis(); _gen2O = 1; } } }
if (1) {if (! _gen3I) { _gen3I = 1; _gen3O = 1; _gen3P = millis(); } } else { _gen3I = 0 ; _gen3O= 0; } if (_gen3I ) { if (_gen3O) { if ( _isTimer( _gen3P , 6000 )) { _gen3P = millis(); _gen3O = 0; } } else { if ( _isTimer( _gen3P , 1500 )) { _gen3P = millis(); _gen3O = 1; } } }
if (_gen2O) {if (! _gen4I){_gen4I = 1; _gen4O = 1; _gen4P = millis();}} else { _gen4I = 0 ; _gen4O= 0; } if (_gen4I && _gen4O) _gen4O = !( _isTimer( _gen4P , 1000 ));
if (!(_gen2O)) {if (! _gen5I){_gen5I = 1; _gen5O = 1; _gen5P = millis();}} else { _gen5I = 0 ; _gen5O= 0; } if (_gen5I && _gen5O) _gen5O = !( _isTimer( _gen5P , 1000 ));
digitalWrite(3, ( (( (_ds1b1) && (_gen2O) && (_gen3O) )) || (( (_gen4O) || (_gen5O) )) ));
digitalWrite(5, ( (( (_ds1b3) && (_gen2O) && (_gen3O) )) || (( (_gen4O) || (_gen5O) )) ));
digitalWrite(6, ( (( (_ds1b4) && (_gen2O) && (_gen3O) )) || (( (_gen4O) || (_gen5O) )) ));
digitalWrite(12, _gen2O);
digitalWrite(11, _gen1O);
digitalWrite(10, ( (_gen3O) && (_gen2O) ));
digitalWrite(2, ( (( (_ds1b2) && (_gen2O) && (_gen3O) )) || (( (_gen4O) || (_gen5O) )) ));
digitalWrite(9, ( (( (_ds1b5) && (_gen2O) && (_gen3O) )) || (( (_gen4O) || (_gen5O) )) ));
digitalWrite(13, ( (( (_ds1b6) && (_gen2O) && (_gen3O) )) || (( (_gen4O) || (_gen5O) )) ));




}
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));}
}

скетч переписам с учетом изменения
у меня достаточно много задумок для секций бокса и кикбоксинга но к сожелению я не умею програмировать если этот форум и модератор поможет в написание скетча для моих задумок буду очень признателен и конечно-же буду выкладывать на этот форум Very Happy
Вернуться к началу Перейти вниз
viktor1983



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

СообщениеТема: Re: ТРЕНАЖЕР ДЛЯ БОКСЕРСКОЙ СЕКЦИИ НА ОСНОВЕ АРДУИНО   Сб Сен 09, 2017 10:51 pm

если кого заинтересовал проект пишите спрашивайте отвечу
кстати забыл написать для проекта понадобиться ардуино уно , транзисторы 330 ом -6шт ,6 светодиодов , резистор на 10 кило ом ((для отладки можно не собирать) она на схеме обозначена) само собой провода , для пояса использовал утеплитель в которую заварачивают бытовую технику только толще 3 мм в 4-ре слоя продается в любом строительном магазине в одном слое с внешней стороны вырезал отверстия и туда монтировал светодиоды а потом заматал все скотчем для того чтобы держалось на груше использовал тягучую резинку купил на али если что не понятно пишите подскажу как лучше сделать благо опыт есть
Вернуться к началу Перейти вниз
 
ТРЕНАЖЕР ДЛЯ БОКСЕРСКОЙ СЕКЦИИ НА ОСНОВЕ АРДУИНО
Предыдущая тема Следующая тема Вернуться к началу 
Страница 1 из 1

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