обнулить значения гиро или сбросить
- Войдите на сайт для отправки комментариев
Втр, 21/06/2016 - 23:18
В void setup(){} делаю запись, от исходного значения гиро отнимаю исходное значение гиро. Таким образом получается положение 0.
Если делаю загрузку скетча, все пучком.
Загрузил сетч. Получил 0.
Но если выдернул USB , то каким то образом выходит не 0, а больше. Иногда довольно критично.
Похоже на то что переменные сохраняются после выдергивания USB , либо идет сразу запуск с void loop(){}
Сброс кстате помогает.
Принято к сведению.
Что делать, где копать ?
Надо что-то где-то сделать. Точнее сказать не могу, хрустальный шар вчера сломался.
проблема имеет место быть.
решение было найдено обнулением в void loop(){} через 100 тактов.
Так как первый проход выдавал нулевое значение гиро.
В void setup(){} делаю запись, от исходного значения гиро отнимаю исходное значение гиро. Таким образом получается положение 0.
Если делаю загрузку скетча, все пучком.
Загрузил сетч. Получил 0.
Но если выдернул USB , то каким то образом выходит не 0, а больше. Иногда довольно критично.
Похоже на то что переменные сохраняются после выдергивания USB , либо идет сразу запуск с void loop(){}
Сброс кстате помогает.
Ничо не понял. Вот смотрите, ардуина не подключена ни к чему, кроме как к USB:
1. Включили шнурок USB, ардуино стартовала из загрузчика, отработал setup
2. Выдернули шнурок, питание пропало, ардуина сдохла
3. Включили шнурок, и.... переходим на пункт 1.
Где в этом месте чего-то непонятное? Либо вы чего-то недоговариваете, либо - одно из двух.
А) Если грузим скетч в ардуино, в setup получаем значение гиро и запоминаем в переменную, оно не равно 0
Б) Если просто включаем через USB то в setup значение гиро раво 0, так как датчик инертен и не включается сразу. Пауза не помогла !
Всё равно ничего не понял. Давайте код.
я так понял что автор имеет ввиду что когда он перезагружает ардуинку с загрузкой нового скетча в нее у него все работает, а когда он просто подает питание и ардуинка включается и нет спасительных пары секунд на загрузку скетча на нее то гиро не успевает "прогреться" и выдает 0 при обращении к нему. Пауза не помогла, так как была слишком мала или стояла где то не там. Судить трудно без скетча, но ведь это же секретная разработка: "прототип гиганского человекоподобного робота для охраны границ РФ."
Всё равно ничего не понял. Давайте код.
Судить трудно без скетча
Что, у вас тоже хрустальный шар не работает? А я думал только у меня.
Вначале setup, то есть сразу после { поставьте delay(2000); допустим, можно больше/меньше надо подбирать...
на заметку тем кто найдет этот топик по поиску. Даже если в setup написать delay(5000); это не поможет. Дело не в этом.
да в чем же тогда? может нужно писать delay(4528);?
код в loop срабатывает не сразу. Так как датчик инертен. То первоначальное значение будет 0, какой delay не ставь. Нужно прокрутить несколько циклов loop. После чего считывать данные
Не надо оправдывать свой кривой код чушью вроде "код в loop срабатывает не сразу".
мне кажется он хочет нам что-то сказать!!!
гиродатчик имеет такую особенность.
Да что ты говоришь? А мужики-то не знали!
конечно не знали. Не каждый же день используешь гиро
И не говори! Ещё реже получается внятно изъясняться, думать, прости господи - вообще раз в месяц по праздникам. Зато чушь пороть - с утра пораньше.
Выдыхай, бобёр.