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

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

Указатель на PROGMEM в функцию не работает(IDE 1.6.7)

Доброго дня

Компилирую проект сделанный для еще более старого IDE. Проект не компилируется с ошибкой error: invalid conversion from 'const AvcOutMessage*' to 'AvcOutMessage*' [-fpermissive]

Подправил код в библиотеке и в скетче, для начала сделал небольшой тест без библиотеки

код:

Не получается сохранить/считать данные из EEPROM

Здравствуйте. Помогите с проблемой. У меня не сохраняются или не читаются данные из EEPROM, что не так делаю?

Часть функции:

    DS18B20.getAddress(tempDeviceAddress, SensorId);
    for (uint8_t k = 0; k < 8; k++)
    {
      int p = k + 10;
      EEPROM.write(p,(tempDeviceAddress[k],HEX));
      sensor1[k] = tempDeviceAddress[k];
    }
    EEPROM.commit();

Часть сетапа:

Бегущая строка, можно ли убрать инерцию.

Не знаю в ту ли ветку задаю вопрос, но попробую. Есть у меня часы с бегущей строкой на адресных светодиодных матрицах 16х16 4 штуки в ряд. Так вот когда бежит строка она как бы размазывается. Буква шириной в 2 точки видится в 3 точки. А вот скажем в метро бегущая строка не размазывается. Буква шириной 2 точки так и бежит как 2 точки. Вот я самый простенький код написал, чтобы одна точка бегала и она тоже размазывается.

Плавный старт электродвигателя

Всем привет. Ребят, хотелось бы получить помощь в реализации плавного старта электродвигателя при пид регулировании. Чтобы после нажатия кнопки пуск, двигатель плавно набрал минимальные или установленные обороты, например в течение секунды-двух, а после разгона далее можно было вручную регулировать обороты. Не могу сообразить, как данный алгоритм реализовать в программе.

ATTINY2313A. Не работают внешние прерывания по входам PCINT(0-7) при включённом UART.

Пишу программу для ATTINY2313, заливаю в ATTINY2313A, возникла непонятная проблема: при включённом UART (RXD=PD0, TXD=PD1), не работают внешние прерывания по входам PCINT(0-7) (PB0-PB7), чтобы внешние прерывания начинали работать, необходимо выключать UART, записывая в регистр UCSRB значение 0x00, то есть полностью выключать UART. Возникает вопрос: почему так происходит, если эти 2 функции не имеют общих регистров, векторов прерывания и выводов контроллера???

Обмануть регистратор температуры

Добрый день ! Товарищи подскажите пожалуйста(перед всеми знающими извиняюсь,в какой форум задавать вопрос не разобрал-пишу сюда) так вот: мне нужно обмануть регистратор температуры, нет датчика температуры и возможности его проложить линию и установить датчик тоже нет. И вот вопрос могу ли я с помощью ардуино нано и цифрового потенциометра 1 кОм создать программу которая предположим через каждые 15 минут меняет значения на один шаг ниже через два шага добавлять три шага плюс ну и естественно чтобы этот цикл продолжался пока есть питание

Массив char

Всем доброго вечера.

Хочу вынести функцию преобразования строки в массив символов.

Типа такого.

char[] retCharArr(String value)
{
  	char chArray[] = "some characters";

  	return chArray;
}

Не работает. То что внутри метода (функции) это для тестирования. 

Вопросы:

1) вроде нашёл что надо писать так 

RF24 команда radio.write ломает IMU фильтр

Здравствуйте, использую "MadgwickAHRS.h" чтобы преобразовывать показатели IMU acceleration и gyroscope с Arduino Nano 33 Iot. Я замечаю что в изоляции фильтр работает исправно, то-есть когда вращаю плату мне показывает правильные значения.

Несколько датчиков на одном радиоканале.

Нужно связать несколько несколько датчиков (4-5) с "базовой станцией" по радиоканалу 433 МГц на модулях HC-12. Датчики срабатывают редко, но в непредсказуемые моменты времени.  Между срабатываниями микроконтроллер датчика в глубоком сне. Срабатывает обычно один, реже два расположенных рядом датчика. Все вместе одновременно - почти никогда. На "базовой станции" нужно с минимальной задержкой определять номер сработавшего датчика. Упрощающее обстоятельство - девственно чистый радиоэфир (тайга), усложняющее - максимальная экономия батареек.

Передача через Ethernet функцией DigitalRead

Всем привет! Господа и дамы, вдруг таковые в наличии, есть проблема с передачей по протоколу Ethernet. Шесть аналоговых сигалов от датчиков температуры передаются функцией analogRead без проблем. Мне нужно передать также данные от расходомера, а он имеет цифровой выход. Предполагаю, что смогу с помощью UART передать слово в Arduino Ethernet, а вот как дальше не знаю. Функция digitalRead передаёт сигнал с какого то конкретного pin. По идее надо выполнять сдвиговые операции, но выглядит это как то туповато. Может кто в курсе? Спасибо.