if (dif >= 20) dir = headingx; есть такое условие-если dif больше или равно 20 то dir=headingx... а так как int dif = headingx - dir; то все работает если headingx больше dir...... а если он меньше то получается фиговина... Помогите исправить... Как я понимаю нужно чтобы сравнение было через модуль не учитывая знак...но как сделать не соображу
Можно кусок кода побольше? Не понятна предыстория и что делается дальше. Если сперва int dif = headingx - dir; а потом if (dif >= 20) dir = headingx; то все должно работать, а если наоборот, то конечно фиговина.
Сына укачаю скины побольше))) оно и работает...но только в одну сторону......то есть пока headingx допустим 100 а dir 20 по условию выйдет 80 оно больше 20 и все ок.... А как только получаетс headingx 20 а dir 100 то получается -80 что меньше 20... Тут то и засада...мне нужно чтобы и обратно работало и поэтому надо как то сделать чтобы в случае получения отрицательного значения знак не учитывался..то есть в формулу не -80 поставлялось а 80... Из школы вспоминаю была такая штука как модуль..но как его в ардуине записать не соображу