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

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

Вопрос по энкодеру

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

 

Вот сам скетч

 

Длительное нажатие с IR пульта

Может у кого есть пример или скетч где реализована данная идея?

Хотелось бы как с кнопками, зажатие кнопки, двойное нажатие, но мне хотя бы просто на зажатие! Принцип я понимаю но перевести в ардуиновский скетч с мыслей никак!)

Как digitalWrite руинит проект?

Arduino nano 328. Сразу говорю, дело не в питании и да, я знаю про DDRD, PORTD = B00000000 проверял - не то.

Аналоговой вход в виде цифрового.

добрый день, собственно вопрос. Правильно будет использование аналогового входа (остались только они))) как цифровой вот в таком виде. Подтяжку через резистор 10 км конечно же на землю. Далее вход будет использован для кнопки, хочется читать ее как HIGH и LOW. Какие последствия и каких подводных камней ожидать? Спасибо, не пинайте.

Помогите с алгоритмом для скетча.

Прошу прощения за не совсем внятный заголовок.

Суть такова, есть arduino uno + модуль ethernet (ENC28J60) + твердотельное реле + моудль SDcard + RTC модуль (DS3231) + сайт, на котором пользователь вбивает время запуска.
Задача банальна: включать реле по расписанию, с этим проблем нет, когда нужно включать 2-5 раз в сутки и строго в определеное время. В таком случае можно обойтись несколькими If. Я хочу сделать возможность загружать раписание с сайта и сохранять его на SD карту.

Загрузка библиотек на Ide arduino android

Добрый вечер

при загрузки библиотеки для I2C выходит:

Error

Failed to install library:library.properties file not found.

я перепробовал 4 библиотеки с разных источников. Помогите плиз.

Работа двух серво от одной кнопки с пульта 433мгц

Доброе утро!В общем ситуация такая :Нужно сделать так ,чтобы одна серва поворачивалась на 180 градусов и другая тоже ,но всё это работало от одной кнопки пульта управления (433мгц) .Помогите в написании ,пожалуйста=)

analogRead через прерывания?

Передо мной стоит задача чтения значения с порта, например A4. Сейчас это реализовано так:

int val = analogRead(A4);
Serial.println(val);

И все хорошо, и мы получаем нужное нам значение. Но в программе где идет это считывание это немного медленно, затем я изучил это: https://habr.com/post/141442/ — тоже хорошо, но там не раскрыт мой главный вопрос на сегодня.

Конструкты библиотек в цыкле...неполучается.

Спаял 16 штук 7474HC595 по четире на четире dataPin вихода...всё прекрасно паботает изпользуя <Shift595.h> ..идеально так как хотелось...НО..

Ненравитса дубовый подход типа...

Куда делась память? Глобальные переменные используют 1658 байт (80%) динамической памяти.

Добрый вечер.

Объясните пожалуйсте, что-то не пойму. Глобальных переменных у меня 3, но размер (при компеляции) глобальных переменных связан с содержимым getSong и ещё интересно, если в play_rtttl убрать Serial.println(song);, то память 9% становится.

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

Спасибо. Код ниже...