Программирование

Вопросы по программированию Arduino.

Почему в библиотеке Stepper при прямом вращении меняется сигнал DIR ?

Доброго времени суток! Из теории известно, что сигнал DIR отвечает за направление вращения шагового двигателя, а STEP за необходимое количество шагов, в зависимости от количества тактов. При подробном изучении стандартной библиотеки Stepper увидел, что при прямом направлении вращения мотора на выход DIR подаются разные уровни логических сигналов. По сути, если у нас направлении прямое, то всегда должна быть единица, а если обратное, то ноль. Возникает вопрос, почему так написано в коде и это работает?

Приведу ниже код из библиотеки Stepper, отвечающих за вращение дигателя:

как сохранить состояние действия

всем привет,
каким образом можно сохранить или удержать состояние програмно,
есть два значения value1 value2
и две кнопки,
как при нажатии левой кнопки войти в режим счётчика value1
поднимать и опускать значение двумя кнопками,
после нажать кнопку два и войти в режим счётчика value2,
и также поднимать и опускать,
как называется этот тип программирования,
мне для этого нужно функции создавать или можно обойтись if else  int флагами,
спасибо.

Прошивка arduino due с помощью raspberry pi

Всем привет!  Я давно шью atmega и arduin-ы с помощью малины по spi, так как в моих проектах удаленно легче прошивать платы малиной, но вот сейчас дошли руки до due,  и встал вопрос как ее прошить малиной по uart0.

 

Имел ли кто опыт?

Заранее спасибо!

локальный массив в фукнции Loop()

Привет. Столкнулся с такой задачей. Необходимо создать локальный массив, величина которого задается в секции Setup().

Т.к секция Loop()  выполняется в бесконечном цикле, то массив надо объявить один раз. Полученный код не пропускает компилятор, требуя объявлять массив безусловно, т.е без if. Как решить мою задачу? 

boolean Flag = true;
byte Max_Star;
void setup() {
  Max_Star=5;
}

void loop() {
if (Flag) {
  int Mas[Max_Star];
  Flag=false;
}
  Mas[1]=3;
}

 

Cветодиод и ультразвуковой датчик

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

Вот схема,

Вот код программы

Продолжаю мучать машинку-управляемую через MQTT. Есть проблема: вис системы - если стучать по всем клавишам подряд

Всем доброго, друзья!

Может кто подскажет: мучаю свою многострадальную машинку-управляемую с сайта через MQТТ-брокер (веб интерфейс шлет сообщения на брокер-откуда их забирает и исполняет машинка).

Веб интерфейс проверен-всё ок. С брокером тоже всё ок-все работает отлично. Где то косяк на этапе принятия сообщения и его дальнейшей обработки(я так подозреваю).

Обмен по SPI: как паковать переменные?

День добрый.  Пытаюсь организовать связь между двумя ардуинками по SPI, дело спорится, но встрял с пониманием такой задачки: как организовать обмен не одиночными переменными, а пакетами.  т.е. - 
 
вариант 1 - однородный массив (int[], byte[])
вариант 2 - несколько переменных с заранее оговорёнными типами и порядком (напр.: {int, long, int[3], int, byte, String})

ждать пока расстояние<30

есть ли какой-нибудь код который ожидает пока ультразвуковой датчик не измерит расстояние меньше 30 см.

что-то на подобии wait for 

Регулировка частоты

Здравствуйте 

помогите с ошибкой в скетче

Скетч: шасси с дальномером (простой объезд препятствий).