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

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

Mega+shild 1.4 проблема с концевиками

Добрый день форумчане. К Mega 2560 подключены двигатели (оси x,y,z) и концевики через shild 1.4. Всё работает, но как только каретка садится на концевик с него уже не съезжает. Прошу помощи в этом вопросе.

 
 
http://arduino.ru/forum/obshchii/vstavka-programmnogo-koda-v-temukommentarii
 
 
 
 
 

Объясните на пальцах по условию if где туплю ((

Есть такой кусок кода:

ISR(TIMER1_COMPA_vect){
  digitalWrite(STEP_PIN, !digitalRead(STEP_PIN));
  digitalWrite(Mode1, !digitalRead(Mode1));
  STEP=++STEP;
  if (STEP > TARGET_STEP){
  STEP=0; Serial.println("REVERSE"); digitalWrite(DIR_PIN,!digitalRead(DIR_PIN));
  digitalWrite(Mode3,!digitalRead(Mode3));
  } else;  
  }

обработка кнопок от AlexGyver

Есть популярная многоцелевая библиотека обработки кнопок от AlexGyver.

Причем, она не запрещает  обрабатывать нажатия тех же кнопок простой проверкой на ноль, кому это необходимо.  К примеру, это может быть совместное нажатие 2 кнопок.

Но, к сожалению, библиотека в этом случае также отработает нажатие кнопки, пусть даже позднее, поскольку флаг, что нажатие было, запоминается.

Как его очищать его программно? Кто может, посмотрите, пожалуйста, саму библу. 

Тестер АКБ

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

Делаю программу на заряд-разряд акб(пока что 18650) для определения уровня емкости акб.

Вопрос по прерываниям и таймерам

Добрый день, камрады

"Изобретаю" детектор нуля для управления нагрузкой согласно этого апнота https://www.microchip.com/content/dam/mchp/documents/OTH/ApplicationNotes/ApplicationNotes/Atmel-2508-Zero-Cross-Detector_ApplicationNote_AVR182.pdf. Планировал ловить внешнее прерывание, в обработчике вывод переводить в HIGH и запускать таймер, который по 4 мсек переведет вывод в LOW. Код таков:

Артефакты при отрытии сериал плоттера

Хочу чтобы нормально отображались подписи данных, но каждый раз когда отрываю то появляються эти символы.

Использую NodeMcu Lua v3, В сетап чего только не засовывал, не помогает. При открытии порта - перезапускаю МК, чтобы плоттером прочитался сетап.

Serial.println - как правильно???

Доброго времени суток!

Подскажите добрые люди, только желательно по существу. Как правильно сделать систему дебага в сериал, чтобы динамическая память не улетучивалась. 

Если в тупую писать Serial.println("всякая .... "); то через какое-то количество итераций получаем  закономерно некомпилируемый проект. Сначала что-то типа

"Глобальные переменные используют 1816 байт (88%) динамической памяти, оставляя 232 байт для локальных переменных. Максимум: 2048 байт.

выдача 32 бит из одномерного массива (PROGMEM)

Имеется программа для Arduino NANO, в которой есть одномерный массив размером в 4 КБ в связи с чем он из SRAM перенесен во FLASH. Вот так:

Вывод word через shiftOut

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

Вопрос такой, есть переменная типа word, которая изменяется по ходу программы и есть необходимость выдать эту переменную наружу.

-skip-

word pointerNow = 0x0555

-skip-

shiftOut(dataPin, clkPin, MSBFIRST, pointerNow);

-skip-

Вот по этому shiftOut выходит только младший байт. Как вывести старший?