CG

cattanimarco/grafici-gfx

Developer tools

Эта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал

20 stars Качество 60 Тренд 30Apache-2.0

Библиотека визуализации данных для дисплеев, управляемых Arduino

Обзор

Grafici-GFX отображает данные на дисплеях Arduino с поддержкой Adafruit GFX. Мы можем взять массив или функцию, выбрать заговорщик и нарисовать результат в декартовом или полярном окне. Те же источники данных работают с линиями, областями, барами и участками рассеяния. В Arduino IDE откройте Sketch > Включите библиотеку > Управляйте библиотеками, ищите Grafici и устанавливайте Grafici-GFX с его зависимостями. Установите драйвер для вашего дисплея; в приведенных ниже примерах используется Adafruit ILI9341. Для PlatformIO добавьте библиотеку и драйвер дисплея в раздел Platformio.ini: Две волны с близкими частотами иногда усиливают друг друга, а иногда отменяют. Мы можем увидеть это, добавив две функции синуса и нарисовав результат. В этом эскизе используется штифт 10 выбора чипа и штифт 9 данных / команды. Измените драйвер, контакты и инициализацию, чтобы соответствовать вашему дисплею. Колебания становятся меньше к середине, где волны отменяются. Последний в сюжете.

Обзор (машинный перевод)

Grafici-GFX отображает данные на дисплеях Arduino с поддержкой Adafruit GFX. Мы можем взять массив или функцию, выбрать заговорщик и нарисовать результат в декартовом или полярном окне. Те же источники данных работают с линиями, областями, барами и участками рассеяния.

##Установка

В Arduino IDE откройте Sketch > Include Library > Manage Libraries, найдите Grafici и установите Grafici-GFX с его зависимостями. Установите драйвер для вашего дисплея; в приведенных ниже примерах используется Adafruit ILI9341.

Для PlatformIO добавьте библиотеку и драйвер дисплея в раздел platformio.ini:

##Сделай две волны битыми

Две волны с близкими частотами иногда усиливают друг друга, а иногда отменяют. Мы можем увидеть это, добавив две функции синуса и нарисовав результат.

В этом эскизе используется штифт 10 выбора чипа и штифт 9 данных / команды. Измените драйвер, контакты и инициализацию, чтобы соответствовать вашему дисплею.

Колебания становятся меньше к середине, где волны отменяются. Последний [Т6] в [Т7] также выбирает цвет, поэтому высота и цвет рассказывают одну и ту же историю. Мы можем использовать отдельный источник для цвета или передать фиксированный цвет, такой как [8].

Эта страница переведена автоматически. Технические детали смотрите в оригинале.

README

Показан фрагмент оригинального README. Открыть оригинал.

Grafici-GFX

Grafici-GFX plots data on Arduino displays supporting Adafruit GFX. We can take an array or a function, choose a plotter, and draw the result in a Cartesian or polar window. The same data sources work with lines, areas, bars and scatter plots.

Installation

In Arduino IDE, open Sketch > Include Library > Manage Libraries, search for Grafici, and install Grafici-GFX with its dependencies. Install the driver for your display as well; the examples below use Adafruit ILI9341.

For PlatformIO, add the library and your display driver to your environment’s platformio.ini section:

lib_deps =
  https://github.com/cattanimarco/Grafici-GFX.git
  adafruit/Adafruit ILI9341

Make two waves beat

Two waves with nearby frequencies sometimes reinforce each other and sometimes cancel. We can see this by adding two sine functions and plotting the result.

This sketch uses chip-select pin 10 and data/command pin 9. Change the driver, pins and initialization to match your display.

#include 
#include 
#include 
#include 

Adafruit_ILI9341 gfx{10, 9};
Grafici plot{gfx};

constexpr size_t samples = 96;

float beat(size_t i) {
  const float t = i * (6.2831853f / (samples - 1));
  return 0.5f * (sinf(7.0f * t) + sinf(8.0f * t));
}

DataLinear x(samples);
DataFunction y(samples, beat, {-1.0f, 1.0f});

void setup() {
  gfx.begin();
  gfx.setRotation(3);
  plot.clear_screen();
  plot.set_color_map(parula);
  auto opts = plot_options.set_axis(2, 8, gunpowder).segments(4);
  plot.line(x, y, y, full_screen, opts);
}

void loop() {}

The oscillations become smaller towards the middle, where the waves cancel. The last y in plot.line(x, y, y) also chooses the color, so height and color tell the same story. We could use a separate source for color, or pass a fixed color such as white.

DataLinear supplies the sample positions. DataFunction evaluates the wave when a plotter reads it; it does not store 96 float samples. Its explicit [-1,1] range keeps the scale fixed and avoids scanning the function to discover its bounds.

Buffered display drivers also need their display-update call after drawing. Adafruit GFX supplies the graphics interface; your display driver handles initialization and transfers.

Change the plotter

Открыть полный README на GitHub

Рекомендуемые инструменты

Попробуйте другой запрос или уберите фильтр.

Установка

npx skillfish add cattanimarco/grafici-gfx
Новичок в MCP? Начните с руководства на mcpskill.org →