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

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

Опять PROGMEM

Не работает(вместо таблицы обрабатывает мусор) скетч при попытке использовать PROGMEM для хранения массива 1800 байт(а хотелось 25 КБ).

const PROGMEM uint8_t ddd[1800]  = {60, 160, 13, 57, 21, 95, 60, 66,...

uint32_t time_2 = 200;
uint32_t mks = 0;
uint8_t shag = 0;
uint32_t vrem = 0;


void setup() {
....
}

void loop() {
....
vrem = long(ddd[shag]);
mks = micros() + (time_2 * vrem);
....
}

БЕЗ PROGMEM работает и в уппрощенном варианте без переменной vrem и явного преобразования типа.

Задержка по прерыванию. Помощь в создании простого реле на Arduino Nano

Друзья, простая задача и что-то ступор.

Надо по прерыванию включать мосфет (пока это просто встроенный led), и держать его включенным Нное количество секунд.

Нужна оценка скетча

Задача - умножить частоту импульсов в 1.2 раза . Применяться будет для изменения (уменьшения) оборотов эл.двигателя вентилятора кондея (внутренний блок) путем подмены импульсов от таходатчика двигателя 

Как использовать один пин в обоих направлениях?

В этом деле новый. Как использовать один и тот же пин для записи и считывания в одном цикле? Идёт обмен с аппаратурой. Нужно сначала передать код, а затем на этот же пин принять код. Пробовал digital/Read писать, не получается, на выходе продолжает висеть единица

C++ в микроконтроллерах, на примере типичной задачи

Всякий раз, когда приходится подбирать делитель частоты и количество тиков таймера, чтобы обеспечить нужную частоту ногодрыга (или нужную задержку до переполнения таймера), я пользуюсь калькулятором таймеров и вписываю в программу рассчитанные им значения. Когда вдруг приспичивает частоту изменить, опять запускаю калькулятор.

Давно хотелось иметь возможность вычислять конфигурационные биты делителя и количество тиков прямо в программе, чтобы я только частоту задавал, но всё как-то было «не до сук».

без бутлоадера

вопросов собственно несколько:

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

как поведет себя функция millis() будет ли тикать таймер0 или его активация заложена в бутлоадере?

Отключение Ардуино по времени

Здравствуйте. Подскажите пожалейста как отключить пин SDA или SCL по времени, либо просто что бы уходила в сон. Например через 10 минут после запуска ардуино. БЕЗ МОДУЛЯ RTS и подобных.

Помогите КАК проверить попадает ли время RTC в заданный диапазон?

Есть переменные  час1 мин1 (время начала интервала) и час2 мин2 (времяч конца интервала)

Есть RTC час.now и мин.now

Если время на RTC между ч1м1 и ч2м2 то pin HIGH

если время на RTC вне интервала ч1м1 и ч2м2 то pin LOW

 

КАК это грамотно реализовать?

Если  интервал указывать в пределах 23х часов то я делаю так чтобы это работало так

Если Время1(06:00) <время сейчас(15:00) <время2(18:00) то pin HIGH

первый проект(esp8266_deauther) ,ищу помощи

здравствуйте. помогите исправить ошибки.
первый проект делаю , не знаю куда смотреть.

проект https://github.com/akarsh98/esp8266_deauther
 

Нужна помощь новичку в написании цикла (Сушильная камера)

Доброго времени суток, уважаемые. Написал программу управления сушильной камеры. Протестировал, все отлично работает, но хочу ее усовершенствовать, для более ефективной работы. Имеется нагревательный елемент и вытяжной вентилятор. В программе присутствуют значения максимальной/минимальной температуры и влажности, по которым сейчас все работает. Но, управление вытяжкой, по наблюдениям, хотелось бы переписать в следующей логике: если влажность превышает установленное максимальное значение, включается вытяжка, и работает до тех пор, пока значение влажности не снизится на 10%.