Giter Site home page Giter Site logo

gyverlibs / grgb Goto Github PK

View Code? Open in Web Editor NEW
23.0 23.0 3.0 45 KB

Библиотека для управления RGB светодиодами и лентами для Arduino. Облегчённая версия библиотеки GyverRGB

License: MIT License

C++ 100.00%

grgb's Introduction

GyverLibs - Arduino библиотеки от AlexGyver

Logo Foo Foo

Arduino библиотеки

Датчики:

  • GyverMAX6675 - лёгкая библиотека для драйвера термопары MAX6675
  • GyverHTU21D - лёгкая библиотека для датчика температуры и влажности HTU21D
  • GyverINA - лёгкая библиотека для модулей power-monitor'ов INA219 и INA226
  • Psychrometer - библиотека для определения влажности по сухому и мокрому термометру для Arduino
  • Tachometer - библиотека тахометра для Arduino без привязки к железу
  • GyverNTC - библиотека для работы с NTC термисторами по закону Стейнхарта-Харта
  • GyverHX711 - библиотека работы с датчиками веса (АЦП) HX711 для Arduino
  • GyverBME280 - библиотека для работы с BME280 по I2C для Arduino
  • GyverDS18 - легкая библиотека для работы с 1-Wire термометрами DS18B20
  • GyverDS3231 - библиотека для работы с микросхемой реального времени DS3231
  • microDS3231 - лёгкая библиотека для работы с RTC DS3231 для Arduino

Железки ввод:

  • GyverHub - панель управления для esp8266, esp32 и других Arduino. Конструктор интерфейса. Интеграция в умный дом
  • EncButton - лёгкая библиотека для энкодера и/или кнопки с огромным количеством возможностей
  • GyverJoy - библиотека для удобной работы с джойстиком
  • NecDecoder - лёгкая библиотека для декодирования ИК протокола NEC
  • AnalogKey - библиотека для работы с аналоговой клавиатурой для Arduino

Железки вывод:

  • GyverBlinker - таймер со счётчиком для мигания светодиодом и других задач
  • GyverBeeper - генерация писка по таймеру
  • QuickCharge - библиотека для управления адаптерами с поддержкой технологии QuickCharge 2.0/3.0
  • GyverShift - библиотека для удобного управления каскадом сдвиговых регистров 74HC595 и 74HC165
  • GRGB - библиотека для управления RGB светодиодами и лентами для Arduino
  • microLED - ультра лёгкая библиотека для работы с адресной лентой/матрицей
  • ServoSmooth - библиотека для плавного управления сервоприводами
  • SoftServo - библиотека для программного управления Servo (на базе millis/micros)
  • GyverRelay - библиотека классического релейного регулятора для Arduino
  • PWMrelay - библиотека для генерации низкочастотного ШИМ сигнала для реле (для ПИД регуляторов и проч.)
  • GyverDimmer - библиотека для управления симисторным диммером с Arduino
  • GyverStepper - производительная библиотека для управления шаговыми моторами с Arduino
  • GyverMotor - библиотека для удобного управления коллекторными моторами через драйвер
  • AccelMotor - библиотека для расширенного управления и стабилизации мотора с энкодером для Arduino

Дисплеи:

  • GyverSegment - мощная библиотека для любых дисплеев с 7-сегментными индикаторами
  • GyverMAX7219 - самая резкая библиотека для матриц MAX7219 на диком западе
  • GyverOLED - лёгкая и быстрая библиотека для OLED дисплея
  • SevenSegmentsDisp - [дорабатывается] библиотка для модулей семисегментного дисплея TM74HC595
  • GyverTM1637 - бибилотека для 7 сегментного дисплея на чипе TM1637 с кучей приколюх
  • CharDisplay - графический движок на символах: полноценное рисование, индикаторы загрузки, графики

Алгоритмы:

  • Stamp - хранение и преобразование времени
  • Stack - библиотека для удобной работы с массивами любого типа данных типа std::vector или массивов в js
  • SunPosition - определение положения солнца по геолокации и времени
  • OVS - повышение разрядности измерений (оверсэмплинг)
  • Approxy - линейный аппроксиматор данных
  • GyverPID - библиотека PID регулятора для Arduino
  • GyverFilters - библиотека с некоторыми удобными фильтрами для Arduino
  • Forecaster - библиотека для определения прогноза погоды по давлению для Arduino
  • mString - РЕЗКАЯ КАК ПОНОС И ЛЁГКАЯ КАК ПЁРЫШКО ЗАМЕНА STRING
  • VolAnalyzer - библиотека для амплитудного анализа звука на Arduino
  • Clap - библиотека для распознавания хлопков в микрофон
  • Random16 - библиотека для быстрой генерации 16 бит случайных чисел
  • Hamming - библиотека для упаковки и распаковки данных по алгоритму Хэмминга (избыточные данные для восстановления)
  • TimeRandom - библиотека для генерации набора случайных чисел с привязкой ко времени
  • UnixTime - конвертер unix time stamp в дату и время и наоборот для Arduino
  • GyverGFX - лёгкая библиотека двухмерной графики для дисплеев и матриц
  • GyverFIFO - универсальный кольцевой буфер для Arduino
  • GyverLBUF - линейный буфер для Arduino
  • fixed - реализация вычислений с фиксированной точкой для Arduino
  • FFT_C - библиотека преобразования Фурье на С (для esp8266)
  • BitPack - библиотека для упаковки битовых флагов в байтовый массив (экономия места) для Arduino
  • CRT - библиотека с набором функций для CRT коррекции светодиодов
  • StringUtils - набор инструментов для работы со строками
  • GSON - парсер и сборщик данных в формате JSON для Arduino
  • FOR_MACRO - variadic for macro

Связь:

  • GyverHTTP - очень простой и лёгкий HTTP сервер и полуасинхронный HTTP клиент
  • EasyHID - программная реализация USB мыши и клавиатуры
  • GyverTransfer - интерфейс для передачи данных (Stream-совместимый) по проводу, радио и ИК
  • GParser - простой и быстрый парсер строк в отдельные подстроки и числа для Arduino
  • AsyncStream - библиотека для асинхронного чтения объектов Stream (Serial итд)
  • Gyver433 - библиотека для радиомодулей 433 МГц и Arduino
  • GyverBus - библиотека для общения по протоколу GBUS
  • GyverUART - лёгкая библиотека для работы с последовательным портом (аналог Serial)
  • MicroUART - ещё более лёгкая библиотека для работы с последовательным портом

Системное:

  • GyverDB - база данных для хранения данных
  • GyverIO - быстрые функции для работы с пинами AVR, ESP8266, ESP32
  • Pairs - хранение данных в текстовом виде в формате "ключ":значение
  • TimerMs - многофункциональный программный таймер на системном таймере millis() для Arduino
  • EEManager - Менеджер EEPROM - библиотека для уменьшения износа памяти
  • GyverOS - библиотека лёгкого диспетчера задач для Arduino
  • GyverPower - библиотека для управления энергопотреблением МК AVR
  • buildTime - парсинг и получение даты и времени компиляции из констант DATE и TIME
  • GyverTimer - полноценный таймер на базе системных millis() / micros()
  • pgm_utils - набор удобных инструментов для работы с PROGMEM
  • GTL - набор шаблонных инструментов
  • Benchmark - измерение времени выполнения кода

Периферия МК (только AVR):

  • GyverTimers - настройка и контроль прерываний по аппаратным таймерам ATmega328p, ATmega2560
  • GyverWDT - библиотека для управления WDT на AVR ATmega328p/32U4/2560 & ATtiny85/84/167
  • microWire - лёгкая библиотека со стандартным набором инструментов для работы с аппаратным I2C
  • directTimers - библиотека для расширенного ручного управления таймерами ATMega2560, ATMega328, ATMega32u4
  • directADC - библиотека для расширенного ручного управления АЦП и компаратором ATmega328
  • GyverPWM - библиотека для расширенной генерации ШИМ на ATmega328 (Arduino UNO/Nano/Pro Mini...)

Библиотеки для ESP8266/ESP32

  • Settings - максимально простой и удобный билдер вебморды для настроек
  • FileData - замена EEPROM, хранение любых данных и переменных в файлах
  • GyverPortal - простой конструктор веб интерфейса для esp8266 и ESP32
  • FastBot2 - очень быстрая и универсальная библиотека для телеграм бота (новая версия)
  • FastBot - быстрая библиотека для телеграм бота
  • SimplePortal - простой менеджер WiFi для esp8266 для задания логина-пароля WiFi и режима работы
  • GyverNTP - библиотека для получения точного времени с NTP сервера для esp8266/esp32
  • rtc_utils - обёртка для более удобного использования RTC памяти на esp8266
  • EspSleep - сон для esp8266 на любой (очень большой) период

Библиотеки для Processing

  • ProcessingPlotter - виртуальный плоттер в стиле ардуиновского
  • cards_ui - простенькая библиотека интерфейса для Processing

JS библиотеки

  • Component.js - билдер DOM элементов
  • UI.js - простая модульная панель управления

grgb's People

Contributors

alexgyver avatar gyverlibs avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

grgb's Issues

Проблема fadeMode и setBrightness

текущая версия, ESP8266 3.1.2/ Arduino ide 2.1.0.

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

 static uint32_t tmr;
  if (millis() - tmr >= 5) {
    tmr = millis();
    static int8_t dir = 1;
    static int val = 0;
    val += dir;
    if (val == 255 || val == 0) dir = -dir;   // разворачиваем
    led.setBrightness(val);
  }

невозможно сменить цвет если включён fadeMode, как только смена яркости прекращается, цвет меняется. С отключённым fadeMode проблем нет, цвет меняется.

Ошибка библиотеки

В конструкторе отсутствует _pinB(pinB), что приводит к ошибке :
error: uninitialized member 'GRGB::_pinB' with 'const' type 'const uint8_t {aka const unsigned char}' [-fpermissive]

Строка 65 библиотеки

    // пины в порядке RGB + опционально тип (по умолч. общий катод)
    GRGB(const uint8_t dir = COMMON_CATHODE, const uint8_t pinR = 0, const uint8_t pinG = 0, const uint8_t pinB = 0, const uint8_t shift = 0) :
    _dir(dir), _pinR(pinR), _pinG(pinG), < отсутствует _pinB(pinB)  >, _shift(shift)  {
        // если пины указаны (не равны)

Моргание ленты, при значении менее 255

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.