www.open-tager.ru http://www.open-tager.ru/forum/ |
|
LTAscetik http://www.open-tager.ru/forum/viewtopic.php?f=5&t=1565 |
Страница 410 из 532 |
Автор: | Pingvin [ 08 ноя 2014, 22:34 ] |
Заголовок сообщения: | Re: LTAscetik |
DanGion писал(а): Доброго времени! Подбираю электронику новую для клуба. Пришли к выводу, что комерческие производители - не могут в мат.платы. Выбираем между Аскетом и местной разработкой. Хотелось бы узнать примерную стоимость Плата+БТ для повязки. Печатка - около 40 р. Атмега32 - около 100р. HC-05 - около 150 р. на алиэкспресс Будете сами паять - в 300 р. уложитесь. Это 3-х Вольтовый вариант. ТСОПы ставьте соответствующие. |
Автор: | DanGion [ 08 ноя 2014, 22:35 ] |
Заголовок сообщения: | Re: LTAscetik |
Понял спасибо! |
Автор: | Pingvin [ 08 ноя 2014, 23:03 ] |
Заголовок сообщения: | Re: LTAscetik |
DanGion писал(а): Понял спасибо! Пожалуйста, но там схемы повязки нет. Схема та же, прошивка другая (модифицированная). И на плате хватит проца, кварца, два кондера под кварц, полевик и два резистора - для пищалки. https://github.com/PingvinOpenTag/LTAscetic |
Автор: | Pingvin [ 08 ноя 2014, 23:31 ] |
Заголовок сообщения: | Re: LTAscetik |
2 DanGion http://www.youtube.com/watch?v=OKqPU76S ... AxxgJPz0_A |
Автор: | Sabbah [ 09 ноя 2014, 00:05 ] |
Заголовок сообщения: | Re: LTAscetik |
Pingvin писал(а): Вот эта при смене цвета должна пропикать: И ещё убавил толерантности на треть. Потестить не могу. Потестил я прошивку, как вернуть толерантность назад? Попасть сейчас практически нереально, хз почему, стреляю в упор 5см от датчика и не попадаю, зато рикошетом об стену попадаю. Помучался и ничего не получилось у меня, чтобы можно было ожить после смерти при нажатии центральной кнопки, а не только от пульта. Сейчас покажу код, прошу сильно не пинать я в программировании ноль с + что я делаю не так? Код: while(!((ir_message.control_byte ==Valid_value)&&(ir_message.ID==Command)&&(ir_message.param==0x05)&&(joystick_event!=key_central_pressing)))//пока не получим команду "старт"
{//[while] rx_event = NOT_EVENT; while((rxCount==0)&&(rx_event != RX_MESSAGE_COMPLITE)&&(joystick_event==no_pressing))//пока нет никаких команд пульта {//[while] /* WOUND_LED_INVERT; USART_PutChar('1'); timer2 = 0; while (timer2 < 1000); WOUND_LED_INVERT; timer2 = 0; while (timer2 < 1000); */ }//[while] if (rx_event == RX_MESSAGE_COMPLITE) ir_message = get_ir_message_from_buffer();//пришла команда пульта, выдергиваем значения команды из буфера ИК приемника else //[else] { if (rxCount>0) finde_message_in_bt_buffer(); else { if (joystick_event==key_central_pressing) while(keypress_cntr < 5) //ставим если нажата центр кнопка // while(keypress_cntr < 20) //ставим если нажат курок { // switch (FIRE_KEY_IN&FIRE_KEY_PIN) //проверяем, нажат ли курок switch (CENTRAL_KEY_IN&CENTRAL_KEY_PIN) //проверяем, нажата ли центральная кнопка { case 0: keypress_cntr++ ; break; //ставим если нажата центр кнопка case CENTRAL_KEY_PIN: keypress_cntr = 0; break; //ставим если нажата центральная кнопка // case FIRE_KEY_PIN: keypress_cntr = 0; break; //ставим если нажат курок default: keypress_cntr = 0; } } } } } } //"оживаем" - начинаем новую игру |
Автор: | Pingvin [ 09 ноя 2014, 08:14 ] |
Заголовок сообщения: | Re: LTAscetik |
А частота ИК правильно выставлена? В файле miles_protocol.h #define ERROR_TOLERANCE_FOR_36KHZ 14 #define ERROR_TOLERANCE_FOR_56KHZ 22 были такие значения раньше. Я что то похожее наблюдал, когда в повязку поставил в параллель ТСОПы на 56 кГц и на 36 кГц, но я грешил, что из-за этого. Может чего накуролесил с переключением частоты?... А может - точнее целиться приходится? Само пятно то маленькое, если близко стрелять. Попадания то с близи скорее ореол дает. Код и правда не верно написан, поправлю. Если не ошибаюсь, этого достаточно while(!((ir_message.control_byte ==Valid_value)&&(ir_message.ID==Command)&&(ir_message.param==0x05)||(joystick_event==key_central_pressing)))//пока не получим команду "старт" В скобках после восклицательного знака условия для выхода из цикла. А выйти мы должны, если получим команду пульта (ir_message.control_byte ==Valid_value)&&(ir_message.ID==Command)&&(ir_message.param==0x05) ИЛИ будет нажата центральная кнопка джойстика ||(joystick_event==key_central_pressing) Остальное уберите! Внутри цикла состояние джойстика проверять не надо - никаких Код: if (joystick_event==key_central_pressing) while(keypress_cntr < 5) //ставим если нажата центр кнопка // while(keypress_cntr < 20) //ставим если нажат курок { // switch (FIRE_KEY_IN&FIRE_KEY_PIN) //проверяем, нажат ли курок switch (CENTRAL_KEY_IN&CENTRAL_KEY_PIN) //проверяем, нажата ли центральная кнопка { case 0: keypress_cntr++ ; break; //ставим если нажата центр кнопка case CENTRAL_KEY_PIN: keypress_cntr = 0; break; //ставим если нажата центральная кнопка // case FIRE_KEY_PIN: keypress_cntr = 0; break; //ставим если нажат курок default: keypress_cntr = 0; } Ибо если кнопка будет нажата, мы уже будем за пределами цикла. С этой логикой легко запутаться! |
Автор: | maksim [ 09 ноя 2014, 11:35 ] |
Заголовок сообщения: | Re: LTAscetik |
Дядьки спаял аскета 3,1))))Все работает как надо)))Спасибо loner32 за печатку)))) |
Автор: | Pingvin [ 09 ноя 2014, 14:07 ] |
Заголовок сообщения: | Re: LTAscetik |
maksim писал(а): Молодец, пацан! |
Автор: | Pingvin [ 09 ноя 2014, 14:27 ] |
Заголовок сообщения: | Re: LTAscetik |
А чего ЖКИ на таг не ставите? И резистор слабоват на ИК. Случись чего - пыхнет махом! 1206, хотя бы. Опытные люди утверждают, что номинал можно уменьшить до 1,5 Ом, чтобы дальше бил. |
Автор: | Pingvin [ 09 ноя 2014, 17:16 ] |
Заголовок сообщения: | Re: LTAscetik |
Аппаратный SPI http://mainloop.ru/avr-atmega/avr-spi.html Время если будет, завтра поковыряю. |
Страница 410 из 532 | Часовой пояс: UTC + 3 часа [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |