• Stars
    star
    119
  • Rank 297,930 (Top 6 %)
  • Language
    C++
  • License
    MIT License
  • Created over 3 years ago
  • Updated 3 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Лёгкая и быстрая библиотека для OLED дисплея

latest Foo Foo Foo

Foo

GyverOLED

Лёгкая и быстрая библиотека для OLED дисплея

  • Поддержка OLED дисплеев на SSD1306/SSH1106 с разрешением 128х64 и 128х32 с подключением по I2C и SPI
  • Выбор буфера
    • Вообще без буфера (и без особой потери возможностей)
    • Буфер на стороне МК (тратит кучу оперативки, но удобнее в работе)
    • Обновление буфера в выбранном месте (для быстрой отрисовки)
    • Динамический буфер выбранного размера (вся геометрия, текст, байты)
    • TODO: Буфер на стороне дисплея (только для SSH1106!!!)
  • Вывод текста
    • Самый быстрый вывод текста среди OLED библиотек
    • Поддержка русского языка и буквы ё (!)
    • Более приятный шрифт (по сравнению с beta)
    • Координаты вне дисплея для возможности прокрутки
    • Вывод текста в любую точку (попиксельная адресация)
    • Полноэкранный вывод с удалением лишних пробелов
    • 4 размера букв (на базе одного шрифта, экономит кучу памяти!)
    • Возможность писать чёрным-по-белому и белым-по-чёрному
  • Управление дисплеем
    • Установка яркости
    • Быстрая инверсия всего дисплея
    • Включение/выключение дисплея из скетча
    • Изменение ориентации дисплея (зеркально по вертикали и горизонтали)
  • Графика (контур, заливка, очистка)
    • Точки
    • Линии
    • Прямоугольники
    • Прямоугольники со скруглёнными углами
    • Окружности
    • Кривые Безье
  • Изображения (битмап)
    • Вывод битмапа в любую точку дисплея
    • Вывод "за дисплей"
    • Программа для конвертации изображений есть в библиотеке
  • Поддержка библиотеки microWire для ATmega328 (очень лёгкий и быстрый вывод)

Совместимость

Совместима со всеми Arduino платформами (используются Arduino-функции)

Содержание

Установка

  • Библиотеку можно найти по названию GyverOLED и установить через менеджер библиотек в:
    • Arduino IDE
    • Arduino IDE v2
    • PlatformIO
  • Скачать библиотеку .zip архивом для ручной установки:
    • Распаковать и положить в C:\Program Files (x86)\Arduino\libraries (Windows x64)
    • Распаковать и положить в C:\Program Files\Arduino\libraries (Windows x32)
    • Распаковать и положить в Документы/Arduino/libraries/
    • (Arduino IDE) автоматическая установка из .zip: Скетч/Подключить библиотеку/Добавить .ZIP библиотеку… и указать скачанный архив
  • Читай более подробную инструкцию по установке библиотек здесь

Обновление

  • Рекомендую всегда обновлять библиотеку: в новых версиях исправляются ошибки и баги, а также проводится оптимизация и добавляются новые фичи
  • Через менеджер библиотек IDE: найти библиотеку как при установке и нажать "Обновить"
  • Вручную: удалить папку со старой версией, а затем положить на её место новую. "Замену" делать нельзя: иногда в новых версиях удаляются файлы, которые останутся при замене и могут привести к ошибкам!

Инициализация

// I2C
GyverOLED<SSD1306_128x32, OLED_BUFFER> oled;        // с буфером
GyverOLED<SSD1306_128x32, OLED_NO_BUFFER> oled;     // без буфера
GyverOLED<SSD1306_128x64, OLED_BUFFER> oled;        // с буфером
GyverOLED<SSD1306_128x64, OLED_NO_BUFFER> oled;     // без буфера
GyverOLED<SSH1106_128x64> oled;                     // только программный буфер
// конструктору можно передать адрес oled(0x3C)

// SPI
GyverOLED<SSD1306_128x64, OLED_BUFFER, OLED_SPI, CS, DS, RST> oled;
// где CS, DS, RST - цифровые пины
// дисплей подключается D0 к SCK, D1 к MOSI

// примечание: можно разогнать шину i2c для увеличения скорости обновления дисплея. Вызвать
// Wire.setClock(800000L);
// после init() инициализации дисплея
// примечание: не все другие i2c модули и датчики будут работать на такой частоте!

Использование

// ===== СЕРВИС =====
void init();                    // инициализация
void init(sda, scl);            // инициализация (можно указать пины i2c для esp8266/32)

void clear();                   // очистить дисплей
void clear(int x0, int y0, int x1, int y1); // очистить область
void setContrast(uint8_t value);    // яркость 0-255 (умолч. 127)
void setPower(bool mode);       // вкл/выкл
void flipH(bool mode);          // отразить по горизонтали
void invertDisplay(bool mode);  // инвертировать дисплей
void flipV(bool mode);          // отразить по вертикали

// ==== НАСТРОЙКИ ===
// дефайны ПЕРЕД подключением библиотеки
#define OLED_NO_PRINT   // отключить модуль вывода текста. Экономит ~2.5 кБ Flash
#define OLED_SPI_SPEED  // скорость SPI

// ===== ПЕЧАТЬ =====
// наследует класс Print, то есть print/println любой тип данных

void autoPrintln(bool mode);    // автоматически переносить текст
void home();                    // отправить курсор в 0,0
void setCursor(int x, int y);   // поставить курсор для символа столбец 0-127, строка 0-8(4)
void setCursorXY(int x, int y); // поставить курсор для символа столбец 0-127, пиксель 0-63(31)
void setScale(uint8_t scale);   // масштаб шрифта (1-4)
void invertText(bool inv);      // инвертировать текст (0-1)
bool isEnd();                   // возвращает true, если дисплей "кончился" - при побуквенном выводе

void textMode(byte mode);       // режим отрисовки текста
BUF_ADD - добавить
BUF_SUBTRACT - вычесть
BUF_REPLACE - заменить

// ===== ГРАФИКА =====
// далее fill:
OLED_CLEAR - очистить область под фигурой
OLED_FILL - залить фигуру
OLED_STROKE - обвести фигуру

void dot(int x, int y, byte fill);                      // точка (заливка 1/0)
void line(int x0, int y0, int x1, int y1, byte fill);   // линия (x0, y0, x1, y1)
void fastLineH(int y, int x0, int x1, byte fill);       // горизонтальная линия
void fastLineV(int x, int y0, int y1, byte fill);       // вертикальная линия
void rect(int x0, int y0, int x1, int y1, byte fill);   // прямоугольник (лев. верхн, прав. нижн)	
void roundRect(int x0, int y0, int x1, int y1, byte fill);  // прямоугольник скруглённый (лев. верхн, прав. нижн)
void circle(int x, int y, int radius, byte fill);       // окружность (центр х, центр у, радиус, заливка)
void bezier(int* arr, uint8_t size, uint8_t dense, uint8_t fill);   // кривая Безье

// вывести битмап
// invert - BITMAP_NORMAL/BITMAP_INVERT инвертировать
// mode BUF_ADD / BUF_SUBTRACT / BUF_REPLACE
void drawBitmap(int x, int y, const uint8_t *frame, int width, int height, uint8_t invert = 0, byte mode = 0);

void fill(uint8_t data);                        // залить весь дисплей указанным байтом
void drawByte(uint8_t data);                    // шлёт байт в "столбик" setCursor() и setCursorXY()
void drawBytes(uint8_t* data, byte size);       // вывести одномерный байтовый массив (линейный битмап высотой 8)
void update();                                  // полностью обновить дисплей из буфера
void update(int x0, int y0, int x1, int y1);    // выборочно обновить дисплей из буфера (x0, y0, x1, y1)

Дисплей по SPI + SD карта

известная беда SD карт http://elm-chan.org/docs/mmc/mmc_e.html, пункт Cosideration on Multi-slave Configuration. Как решить: после завершения общения с картой памяти нужно отпустить CS карты (библа SD возможно сама это делает, либо отпустить вручную) и закинуть по SPI пару байт (пару нулей условно). Почему - карта держит линию даты.

Пример

Остальные примеры смотри в examples!

// дефайн перед подключением либы - использовать microWire (лёгкая либа для I2C)
//#define USE_MICRO_WIRE

// дефайн перед подключением либы - скорость SPI
//#define OLED_SPI_SPEED 4000000ul

#include <GyverOLED.h>

// инициализация:
// GyverOLED<модель, буфер, интерфейс, CS, DC, RST> oled;
// "по умолчанию" - можно не указывать

// модель дисплея:
// SSD1306_128x32
// SSD1306_128x64
// SSH1106_128x64 (ТОЛЬКО С БУФЕРОМ)

// буфер:
// OLED_NO_BUFFER (без буфера)
// OLED_BUFFER (с буфером на стороне МК) - по умолчанию

// интерфейс:
// OLED_I2C - по умолчанию
// OLED_SPI (указать пины CS, DC, RST/RES)

// примеры:
//GyverOLED<SSD1306_128x32, OLED_BUFFER> oled;
//GyverOLED<SSD1306_128x32, OLED_NO_BUFFER> oled;
//GyverOLED<SSD1306_128x64, OLED_BUFFER> oled;
//GyverOLED<SSD1306_128x64, OLED_NO_BUFFER> oled;
//GyverOLED<SSD1306_128x64, OLED_BUFFER, OLED_SPI, 8, 7, 6> oled;
GyverOLED<SSH1106_128x64> oled;

// для I2C можно передать адрес: GyverOLED oled(0x3C);

// битмап создан в ImageProcessor https://github.com/AlexGyver/imageProcessor
// с параметрами вывода vertical byte (OLED)
const uint8_t bitmap_32x32[] PROGMEM = {
  0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xC0, 0xE0, 0xF0, 0x70, 0x70, 0x30, 0x30, 0x30, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xE0, 0xF0, 0xF0, 0x70, 0x30, 0x30, 0x20, 0x00, 0x00,
  0x00, 0x30, 0x78, 0xFC, 0x7F, 0x3F, 0x0F, 0x0F, 0x1F, 0x3C, 0x78, 0xF0, 0xE0, 0xC0, 0x80, 0x80, 0x80, 0x40, 0xE0, 0xF0, 0xF8, 0xFC, 0xFF, 0x7F, 0x33, 0x13, 0x1E, 0x1C, 0x1C, 0x0E, 0x07, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xE0, 0xF0, 0xF9, 0xF7, 0xEF, 0x5F, 0x3F, 0x7F, 0xFE, 0xFD, 0xFB, 0xF1, 0xE0, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x1E, 0x33, 0x33, 0x1F, 0x0F, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x0F, 0x1F, 0x3F, 0x1F, 0x0E, 0x04, 0x00, 0x00, 0x00, 0x00,
};

void setup() {
  Serial.begin(9600);
  oled.init();  // инициализация

  // --------------------------
  // настройка скорости I2C
  //Wire.setClock(800000L);   // макс. 800'000

  // --------------------------
  oled.clear();   // очистить дисплей (или буфер)
  oled.update();  // обновить. Только для режима с буфером! OLED_BUFFER

  // --------------------------
  oled.home();            // курсор в 0,0
  oled.print("Hello!");   // печатай что угодно: числа, строки, float, как Serial!
  oled.update();
  delay(2000);

  // --------------------------
  oled.setCursor(5, 1);   // курсор в (пиксель X, строка Y)
  oled.setScale(2);
  oled.print("Hello!");
  oled.update();
  delay(2000);

  // --------------------------
  oled.setCursorXY(15, 30); // курсор в (пиксель X, пиксель Y)
  oled.setScale(3);
  oled.invertText(true);    // инвертируй текст!
  oled.print("Привет!");
  oled.update();
  delay(2000);

  // --------------------------
  oled.clear();
  oled.home();
  oled.setScale(1);
  oled.invertText(false);
  oled.autoPrintln(true);   // автоматически переносить текст
  oled.print(F("Lorem ipsum dolor sit amet, лорем ипсум долор сит амет привет народ ё, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam"));
  oled.update();
  delay(2000);

  // --------------------------
  oled.home();
  oled.textMode(BUF_ADD);
  // BUF_ADD - наложить текст
  // BUF_SUBTRACT - вычесть текст
  // BUF_REPLACE - заменить (весь прямоугольник буквы)
  oled.home();
  oled.setScale(3);
  oled.print("KEK!");
  oled.update();
  delay(2000);

  // --------------------------
  // СЕРВИС
  //oled.setContrast(10);   // яркость 0..15
  //oled.setPower(true);    // true/false - включить/выключить дисплей
  //oled.flipH(true);       // true/false - отзеркалить по горизонтали
  //oled.flipV(true);       // true/false - отзеркалить по вертикали
  //oled.isEnd();           // возвращает true, если дисплей "кончился" - при побуквенном выводе

  // --------------------------
  oled.clear();
  oled.dot(0, 0);     // точка на x,y
  oled.dot(0, 1, 1);  // третий аргумент: 0 выкл пиксель, 1 вкл пиксель (по умолч)
  oled.line(5, 5, 10, 10);        // линия x0,y0,x1,y1
  //oled.line(5, 5, 10, 10, 0);   // пятый аргумент: 0 стереть, 1 нарисовать (по умолч)
  oled.fastLineH(0, 5, 10);       // горизонтальная линия (y, x1, x2)
  //oled.fastLineH(0, 5, 10, 0);  // четвёртый аргумент: 0 стереть, 1 нарисовать (по умолч)
  oled.fastLineV(0, 5, 10);       // аналогично верт. линия (x, y1, y2)
  oled.rect(20, 20, 30, 25);      // прямоугольник (x0,y0,x1,y1)
  oled.rect(5, 35, 35, 60, OLED_STROKE);      // прямоугольник (x0,y0,x1,y1)
  // параметры фигуры:
  // OLED_CLEAR - очистить
  // OLED_FILL - залить
  // OLED_STROKE - нарисовать рамку
  oled.roundRect(50, 5, 80, 25, OLED_STROKE);  // аналогично скруглённый прямоугольник
  oled.circle(60, 45, 15, OLED_STROKE);        // окружность с центром в (x,y, с радиусом)
  oled.circle(60, 45, 5, OLED_FILL);           // четвёртый аргумент: параметр фигуры

  // битмап
  oled.drawBitmap(90, 16, bitmap_32x32, 32, 32, BITMAP_NORMAL, BUF_ADD);
  //oled.drawBitmap(90, 16, bitmap_32x32, 32, 32);  // по умолч. нормал и BUF_ADD
  // x, y, имя, ширина, высота, BITMAP_NORMAL(0)/BITMAP_INVERT(1), BUF_ADD/BUF_SUBTRACT/BUF_REPLACE
  
  oled.update();
}

void loop() {
}

Версии

  • v0.1 (27.02.2021) - исправил непечатающуюся нижнюю строку

  • v0.2 (16.03.2021) - исправлены символы [|]~$

  • v0.3 (26.03.2021) - добавил кривую Безье

  • v0.4 (10.04.2021) - совместимость с есп

  • v0.5 (09.05.2021) - добавлена поддержка SPI и SSH1106 (только буфер)! gnd-vcc-sck-data-rst-dc-cs

  • v1.0 - релиз

  • v1.1 - улучшен перенос строк (не убирает первый символ просто так)

  • v1.2 - переделан FastIO

  • v1.3 - прямоугольники можно рисовать из любого угла

  • v1.3.1 - пофиксил линии (сломались в 1.3.0)

  • v1.3.2 - убран FastIO

  • v1.4 - пофикшены SPI дисплеи

  • v1.5 - пофикшен битый вывод после очистки без указания курсора

  • v1.6 - добавлен выбор пинов I2C для espX, исправлен clear(..) для BUFFER, добавлена возможность отключить модуль текста

  • v1.6.1 - повторный релиз для менеджера библиотек

Баги и обратная связь

При нахождении багов создавайте Issue, а лучше сразу пишите на почту [email protected]
Библиотека открыта для доработки и ваших Pull Request'ов!

При сообщении о багах или некорректной работе библиотеки нужно обязательно указывать:

  • Версия библиотеки
  • Какой используется МК
  • Версия SDK (для ESP)
  • Версия Arduino IDE
  • Корректно ли работают ли встроенные примеры, в которых используются функции и конструкции, приводящие к багу в вашем коде
  • Какой код загружался, какая работа от него ожидалась и как он работает в реальности
  • В идеале приложить минимальный код, в котором наблюдается баг. Не полотно из тысячи строк, а минимальный код

More Repositories

1

GyverPortal

Простой конструктор веб интерфейса для esp8266 и ESP32
C
298
star
2

GyverHub

Панель управления для ESP8266, ESP32 и других Arduino. Конструктор интерфейса. Интеграция в умный дом. Esp8266, esp32 and Arduino Dashboard library
C
297
star
3

FastBot

Многофункциональная быстрая библиотека для Телеграм бота на esp8266/esp32
C++
183
star
4

EncButton

Лёгкая и очень функциональная библиотека для энкодера с кнопкой, энкодера или кнопки с Arduino
C++
133
star
5

EasyHID

Библиотека программного USB клавиатуры и мыши для Arduino Nano/UNO/Mega и прочих
C
112
star
6

QuickCharge

Библиотека для управления адаптерами с поддержкой технологии QuickCharge 2.0/3.0
C++
45
star
7

microDS18B20

Легкая и удобная в обращении библиотека для работы с 1-Wire термометрами DS18B20
C++
45
star
8

GyverPID

Библиотека PID регулятора для Arduino
C++
42
star
9

GyverStepper

Производительная библиотека для управления шаговыми моторами с Arduino. Плавное движение. Многоосевое планирование траектории
C++
39
star
10

GyverOS

Библиотека лёгкого диспетчера задач для Arduino
C++
38
star
11

TimerMs

Многофункциональный программный таймер на системном таймере millis() для Arduino
C++
37
star
12

microLED

microLED - ультра-лёгкая библиотека для работы с адресной лентой/матрицей
C++
33
star
13

FastBot2

Очень быстрая и лёгкая библиотека Telegram бота для Arduino, ESP8266, ESP32
C++
32
star
14

Gyver433

Библиотека для радиомодулей 433 МГц и Arduino
C++
28
star
15

GyverLibs

27
star
16

SimplePortal

Простой менеджер WiFi для esp8266 для задания логина-пароля WiFi и режима работы
C++
26
star
17

mString

РЕЗКАЯ КАК ПОНОС И ЛЁГКАЯ КАК ПЁРЫШКО ЗАМЕНА STRING
C++
25
star
18

EEManager

Библиотека для удобной работы с EEPROM и уменьшения износа
C++
24
star
19

GRGB

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

GyverNTP

Библиотека для получения точного времени с NTP сервера для esp8266/esp32
C++
22
star
21

GyverButton

Библиотека для многофункциональной отработки нажатия кнопки
C++
22
star
22

GyverTM1637

Бибилотека для 7 сегментного дисплея на чипе TM1637 с кучей приколюх
C++
22
star
23

SunPosition

Библиотека для определения положения солнца по геолокации и времени для Arduino
C
22
star
24

GyverMAX7219

Cамая резкая библиотека для матриц MAX7219 на диком западе
C++
21
star
25

GyverFilters

Библиотека с некоторыми удобными фильтрами для Arduino
C++
21
star
26

microDS3231

Лёгкая библиотека для работы с RTC DS3231 для Arduino
C++
20
star
27

ServoSmooth

Библиотека для плавного управления сервоприводами с Arduino
C++
20
star
28

GParser

Простой и быстрый парсер строк в отдельные подстроки и числа для Arduino
C++
20
star
29

GyverBME280

Лёгкая библиотека для работы с BME280 по I2C для Arduino
C++
19
star
30

GyverNTC

Библиотека для работы с NTC термисторами по закону Стейнхарта-Харта
C++
19
star
31

GyverPWM

Библиотека для расширенной генерации ШИМ на ATmega328 (Arduino UNO/Nano/Pro Mini...)
C++
18
star
32

GyverBus

Библиотека для общения по протоколу GBUS
C++
17
star
33

GyverPower

GyverPower - библиотека для управления энергопотреблением МК AVR
C++
16
star
34

GyverTimers

Настройка и контроль прерываний по аппаратным таймерам ATmega328p, ATmega2560
C++
16
star
35

GyverGFX

Лёгкая библиотека двухмерной графики для дисплеев и матриц
C++
16
star
36

GyverINA

Лёгкая библиотека для INA219 и INA226
C++
16
star
37

NecDecoder

Лёгкая библиотека для декодирования ИК протокола NEC (Японский вариант)
C++
14
star
38

UnixTime

Конвертер unix time stamp в дату и время и наоборот для Arduino
C++
14
star
39

Tachometer

Библиотека тахометра для Arduino без привязки к железу
C++
14
star
40

VolAnalyzer

Библиотека для амплитудного анализа звука на Arduino
C++
13
star
41

GyverMotor

Библиотека для удобного управления коллекторными моторами через драйвер
C++
13
star
42

VirtualButton

Библиотека с логикой обработки кнопки (виртуальная кнопка) для Arduino
C++
13
star
43

GyverIO

Быстрые функции для работы с пинами AVR, ESP8266, ESP32
C++
13
star
44

AccelMotor

Библиотека для расширенного управления и стабилизации мотора с энкодером для Arduino
C++
13
star
45

Hamming

Библиотека для упаковки и распаковки данных по алгоритму Хэмминга (избыточные данные для восстановления)
C++
13
star
46

FFT_C

Библиотека преобразования Фурье на С (для esp8266)
C
12
star
47

Settings

Простой конструктор вебморды для настроек esp8266/esp32
C
12
star
48

GyverHC595

Библиотека для управления каскадом сдвиговых регистров 74HC595 для Arduino
C++
11
star
49

GyverUART

Лёгкая библиотека для работы с последовательным портом
C++
11
star
50

AsyncStream

Библиотека для асинхронного чтения объектов Stream (Serial итд) для Arduino
C++
11
star
51

GSON

Парсер и сборщик данных в формате JSON для Arduino
C++
11
star
52

BitPack

Библиотека для упаковки битовых флагов в байтовый массив (экономия места)
C++
11
star
53

Forecaster

Библиотека для определения прогноза погоды по давлению для Arduino
C++
11
star
54

GyverHX711

Библиотека работы с датчиками (АЦП) HX711 для Arduino
C++
10
star
55

GyverTimer

Полноценный таймер на базе системных millis() / micros()
C++
10
star
56

GyverEncoder

Библиотека для расширенной работы с энкодером и Arduino
C++
10
star
57

microWire

Лёгкая библиотека со стандартным набором инструментов для работы с аппаратным I2C
C++
10
star
58

GyverJoy

Библиотека для аналогового джойстика Arduino
C++
10
star
59

StringUtils

Набор инструментов для работы со строками
C++
10
star
60

FileData

Замена EEPROM для ESP8266/32 для хранения любых данных в файлах
C++
10
star
61

Random16

Библиотека для быстрой генерации 16 бит случайных чисел
C++
9
star
62

GyverMAX6675

Лёгкая библиотека для драйвера термопары MAX6675
C++
9
star
63

GyverDimmer

Библиотека для управления симисторным диммером с Arduino
C++
9
star
64

MicroUART

Лёгкая реализация UART для ATmega328 и подобных из этого поколения
C++
9
star
65

SoftServo

Библиотека для программного управления Servo (на базе millis/micros)
C++
9
star
66

GyverFIFO

Лёгкий универсальный кольцевой буфер для Arduino
C++
8
star
67

AnalogKey

Библиотека для работы с аналоговой клавиатурой для Arduino
C++
8
star
68

GyverHub-projects

База проектов на GyverHub
8
star
69

SevenSegmentsDisp

Набор быстрых и удобных библиотек для работы с семисегментными дисплеями совместно с Arduino
C++
8
star
70

CharDisplay

Графический движок на символах: полноценное рисование, индикаторы загрузки, графики для Arduino
C++
8
star
71

ProcessingPlotter

Простая библиотека для вывода графиков на Processing
Processing
7
star
72

GyverLBUF

Линейный буфер для Arduino
C++
7
star
73

Psychrometer

Библиотека для определения влажности по сухому и мокрому термометру для Arduino
C++
7
star
74

Approxy

Линейный аппроксиматор
C++
7
star
75

Stamp

Библиотека для хранения и манипуляции со временем
C++
7
star
76

buildTime

Парсинг и получение даты и времени компиляции из __DATE__ и __TIME__ для Arduino
C
7
star
77

EspSleep

Библиотека позволяет esp8266 уходить в сон на любой период (до ~585 миллиардов лет)
C++
7
star
78

directADC

Библиотека для расширенного ручного управления АЦП и компаратором ATmega328
C++
7
star
79

GyverRelay

Библиотека классического релейного регулятора для Arduino
C++
7
star
80

GyverWDT

Библиотека для управления WDT на AVR ATmega328p/32U4/2560 & ATtiny85/84/167
C++
7
star
81

GyverSegment

Самая мощная библиотека для работы с дисплеями на 7-сегментных индикаторах
C++
7
star
82

GyverTransfer

Библиотека для передачи данных по интерфейсу GyverTransfer (GT). Передача для Arduino по одному проводу
C++
7
star
83

PWMrelay

Библиотека для генерации низкочастотного ШИМ сигнала для реле (для ПИД регуляторов и проч.)
C++
6
star
84

directTimers

Библиотека для расширенного ручного управления таймерами ATMega2560, ATMega328, ATMega32u4
C++
6
star
85

OVS

Библиотека для повышения разрядности измерений Arduino (оверсэмплинг)
C++
6
star
86

fixed

Реализация вычислений с фиксированной точкой для Arduino
C++
5
star
87

GyverHTU21D

Лёгкая библиотека для датчика температуры и влажности HTU21D
C++
5
star
88

CRT

Библиотека с набором функций для CRT коррекции светодиодов для Arduino
C
5
star
89

Clap

Библиотека для распознавания хлопков в микрофон для Arduino
C++
4
star
90

gyverlibs.github.io

HTML
4
star
91

GyverDB

Простая база данных для Arduino
C++
4
star
92

TimeRandom

Библиотека для генерации набора случайных чисел с привязкой ко времени
C++
4
star
93

GyverDS18

Лёгкая библиотека для термометров Dallas DS18b20, обновлённая и более удобная версия библиотеки microDS18B20
C++
4
star
94

GyverBlinker

Библиотека для мигания светодиодом и планирования событий по таймеру
C++
4
star
95

GyverHub-web

Веб-приложение платформы GyverHub
HTML
4
star
96

Pairs

Лёгкая библиотека для хранения данных в текстовом виде в формате ключ:значение
C++
4
star
97

GyverBeeper

Библиотека для генерации писка по таймеру
C++
4
star
98

GTL

Набор шаблонных инструментов
C++
3
star
99

GyverHub-example

Образец репозитория с проектом
C++
3
star
100

GyverHub-plugins

База виджетов GyverHub
JavaScript
3
star