- GFilterRA - компактная альтернатива фильтра бегущее среднее (Running Average)
- Класс GFilterRA
- Класс GFilterRA(coef, step)
- setCoef(coef) - настройка коэффициента фильтрации (0.00-1.00)
- setStep (step) - настройка шага дискретизации (период фильтрации) - встроенный таймер! миллисекунды
- filtered(value) - возвращает фильтрованное значение
- filteredTime(value) - возвращает фильтрованное с опорой на встроенный таймер
- GMedian3 - быстрый медианный фильтр 3-го порядка (отсекает выбросы)
- Класс GMedian3
- filtered(value) - выводит медиану из трёх последних обращений (там свой встроенный массив)
- GMedian - медианный фильтр N-го порядка (отсекает выбросы). Порядок настраивается в GyverFilters.h - MEDIAN_FILTER_SIZE
- Класс GMedian
- filtered(value) - выводит медиану из N последних обращений (там свой встроенный массив)
- GABfilter - альфа-бета фильтр (разновидность Калмана для одномерного случая)
- Класс GABfilter(delta, sigma_process, sigma_noise) - период дискретизации (измерений), process variation, noise variation
- setParameters(delta, sigma_process, sigma_noise) - перенастроить параметры
- filtered(value) - возвращает фильтрованное значение
- GKalman - упрощённый Калман для одномерного случая (на мой взгляд лучший из фильтров)
- Класс GKalman(разброс измерения, разброс оценки, скорость изменения значений) - читайте пример
- Класс GKalman(разброс измерения, скорость изменения значений) - читайте пример
- setParameters(разброс измерения, разброс оценки, скорость изменения значений) - перенастроить параметры
- setParameters(разброс измерения, скорость изменения значений) - перенастроить параметры
- filtered(value) - возвращает фильтрованное значение
- GTimer - компактная альтернатива конструкции таймера с millis()
- Класс GTimer (period) - установка периода
- setInterval(period) - настройка периода вызова
- setMode(mode) - установка типа работы: AUTO или MANUAL (MANUAL нужно вручную сбрасывать reset)
- reset() - сброс
- GParsingStream - парсинг данных из Serial
- parsingStream((int*)&intData) - автоматическая расфасовка пакетов вида $110 25 600 920; в массив intData
- dataReady() - функция-флаг принятия нового пакета данных
- sendPacket((int*)&intData, sizeof(intData)) - функция отправки в порт пакета вида $110 25 600 920; из массива
- Дополнительно - несколько клёвых удобных функций
- setPWM10bit(mode) - установка частоты ШИМ для 9 и 10 пинов в режиме 10 бит (analogWrite 0 - 1023)
- HZ_15: частота 15,26 Гц
- HZ_61: частота 61,04 Гц
- HZ_244: частота 244,14 Гц
- KHZ_2: частота 1 953,13 Гц
- KHZ_16: частота 15 625 Гц
- setPWMPrescaler(pin, prescaler) - установка частоты ШИМ для разных пинов (смотри пример)
- getVCC() - получить напряжение питания в милливольтах (мВ)
- getVoltage(pin) - получить напряжение на аналоговом пине с учётом реального питания (мВ)
- getConstant(voltage) - авто калибровка константы. В функцию подать напряжение питания в мВ (смотри пример)
- setConstant(constant) - устанвока константы для дальнеёших расчётов
- getTemp() - получить примерную температуру ядра
- setPWM10bit(mode) - установка частоты ШИМ для 9 и 10 пинов в режиме 10 бит (analogWrite 0 - 1023)
- Класс GRGB (r_pin, g_pin, g_pin) - настройка подключения
- init() - инициализация
- setRGB(R, G, B) - установка цвета в пространстве RGB. R, G, B принимают 0-255
- setHSV(H, S, V) - установка цвета в пространстве HSV (цвет, насыщенность, яркость). Принимают 0-255
- reverse(true) - установка реверса ШИМ для LED драйверов
- setColor(color_hex) - установка цвета HEX кодом вида 0xFFFFFF
- Несколько предустановленных цветов вида G_RED, G_PINK
GyverMotor (текущая 1.0) - библиотека для управления моторами через драйвер полного моста. Возможности:
- Класс GMotor (dig_pin, pwm_pin) - указать пины управления. Второй обязательно ШИМ пин!
- init() - инициализация мотора
- init10bit(freq) - инициализация мотора для управления ШИМом через timer1. freq - частота мотора (по умолчанию 20 кГц). pwm_pin должен быть 10 или 11!
- setSpeed(duty) - установить скорость вращения (0 - 255)
- setSpeed10bit(duty) - установить скорость вращения (0 - 1023)
- setMode(mode) - режимы работы: FORWARD - вперёд, BACKWARD - назад, STOP - стоп.
- reverse(reverse_mode) - реверс направления, по умолчанию выключен. В скобках передать true, чтобы изменить направление
- Класс GButton (pin) - указать пин, куда подключена кнопка (PIN --- КНОПКА --- GND)
- Класс GButton (pin, type, direction) - пин, тип подключения (HIGH_PULL или LOW_PULL), тип кнопки (NORM_OPEN или NORM_CLOSE)
- setDebounce(time) - время антидребезга (по умолчанию 80 мс)
- setTimeout(time) - таймаут на удержание/повторное нажатие (по умолчанию 500 мс)
- setStepTimeout(time) - настрйока интервала инкремента (по умолчанию 500 мс)
- tick() - опрос кнопки с программным антидребезгом контактов
- tick(boolean) - "опрос" величины, то есть можно опрашивать кнопки мтаричных и резистивных клавиатур!
- setType() - тип подключения: HIGH_PULL (кнопка подключена к GND, пин подтянут к VCC) или LOW_PULL (кнопка подключена к VCC, пин подтянут к GND)
- setDirection() - тип кнопки: NORM_OPEN (кнопка по умолчанию разомкнута) или NORM_CLOSE (кнопка по умолчанию замкнута)
- isPress(), isRelease(), isClick(), isHolded(), isHold() - отработка нажатия, удерживания отпускания кнопки (смотри пример)
- state() - возвращает состояние кнопки
- isSingle(), isDouble(), isTriple - отработка одиночного, двойного и тройного нажатия (вынесено отдельно)
- getClicks() - отработка любого количества нажатий кнопки (функция возвращает число нажатий) (смотри пример)
- isStep() - возвращает true при удержании, по таймеру. Удобна для управления значением! (смотри пример)
- Пример использования в папке examples, показывает все возможности библиотеки
- Отличия от oneBtton и подобных библиотек: методы библиотеки не создают новые функции, что упрощает применение в сотни раз
- Класс Encoder (CLK, DT, SW) - подключение пинов
- setType(type) - установка типа энкодера. TYPE1 одношаговый, TYPE2 двухшаговый. Если энкодер работает через шаг, смени тип!!!
- invert() - инвертировать направление
- tick() - отработка (опрос)
- isTurn(), isRight(), isLeft() - отработка поворота с антидребезгом
- isRightH(), isLeftH() - отработка поворота с нажатием
- isPress(), isRelease(), isHolded(), isHold() - отработка нажатия кнопки с антидребезгом
- Отработка "нажатого поворота" - такого вы нигде не найдёте. Расширяет возможности энкодера ровно в 2 раза
- Пример использования в папке examples, показывает все возможности библиотеки
- Мы создаём несколько функций с разным периодом выполнения (задачи)
- Настраиваем период пробуждения системы (минимально 15 мс)
Далее всё автоматически: - Рассчитывается время до выполнения самой "ближней" задачи
- Система периодически просыпается и считает таймеры
- При наступлении времени выполнения ближайшей задачи, она выполняется. После этого снова выполняется расчёт времени до новой ближайшей задачи
- Как итог: Ардуино спит (в зависимости от периодов) 99.999% времени, просыпаясь только для проверки флага и расчёта таймера
- Настраиваем период пробуждения системы (минимально 15 мс)
- Смотри пример
- Подробное описание здесь http://alexgyver.ru/tm74hc595_display/
- Пример использования в папке examples, показывает все возможности библиотеки
- Подробное описание здесь http://alexgyver.ru/tm1637_display/
- Пример использования в папке examples, показывает все возможности библиотеки