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

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

5 раз нажимаешь по кнопке и включаются светодиоды

Дана такая задача:
Есть светодиод и кнопка. После нажатия на кнопку 5 раз, светодиод начинает работать. Помогите пожалуйста с задачей :(
Как я понял, здесь нельзя использовать delay

Использование Serial1, Serial2, Serial3, Serial4 в плате Adafruit Grand Central M4

Не могу использовать Serial2, Serial3, Serial4 в плате Adafruit Grand Central M4.

В файле variant.h на плату, порты, вроде как, обозначены следующим образом:

Таблица состояний, как лучше ее обрабатывать

Добрый день!

Собираю устройство, у которого есть цифровых 8 входов и небольшой OLED-экран. Есть таблица состояний в которой расписаны возможные состояния этих входов и в зависимости от этих состояний на экранчике надо отображать букву или цифру. Всего возможно 9 состояний (комбинаций).

Можно конечно заморочиться и создать кучу условий if...else... или swich...case, но думается мне, что в этом зоопарке легко будет запутаться и поддерживать все это (если вдруг сменится комбинация в таблице) будет непросто.

Профили с изменяемыми параметрами

Всем привет.

Назрел вопрос. Сам додуматься никак не могу. Просто в голове даже образно не строится алгоритм действий.

Задача следующая.
Нужно сделать 50 профилей в которых будет по 4-6
изменяемых параметра. То- есть, заходим в первый профиль, меняем четыре параметра как надо, сохраняем в eeprom ,со следующими так же.

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

Передача PinMode в функцию

Вопрос как можно реализовать следующее:

в ядре в Commons.h  есть перечисление

typedef enum {
  INPUT           = 0x0,
  OUTPUT          = 0x1,
  INPUT_PULLUP    = 0x2,
  INPUT_PULLDOWN  = 0x3,
} PinMode;

его использует функция void pinMode(uint8_t pin, PinMode mode); из wiring_digital.c

Я делаю класс кнопки и хочу в конструкторе сразу передавать значения номера 
пина и pinMode. Сейчас это через костыль - доп переменную const uint8_t mode

Автоматический поворот сервопривода по будильнику, как программировать?

Мне надо сделать Автоповорот сервопривода, чтобы в 3:30 am включал электроплиту, а то постоянно приходится вставать в 3:30 am и включить электроплиту 

Помогите пожалуйста!

Arduino serial теряет данные

Всем привет. Прошу помощи, чтобы разобраться в проблеме. Хочу сконструировать цветомузыку, которая будет управляться с компьютера. Написал программу для компьютера, которая перехватывает звук с пк, анализирует и отправляет данные по ком порту. Пример отправляемой строки "C10,128,100,255;", где C - команда, 10 - номер светодиода, а дальше значение цвета rgb. На стороне ардуины написал код, который принимает эти данные. В setup указал:

PCF8575 и прерывания

Добрый день, камрады. Пытаюсь разобраться с расширителем портов PCF8575 и выводом INT. Схема такая:

скетч такой

Что за хрень у меня с PROGMEM?

Вот такой несложный примерчик: