Как установить библиотеку fastled arduino
Перейти к содержимому

Как установить библиотеку fastled arduino

  • автор:

Библиотека FastLED Arduino примеры, описание

Библиотека FastLed Arduino примеры, описание

Библиотека Arduino FastLED используется для создания различных эффектов на адресной светодиодной ленте ws2812 и ws2811. Эта библиотека была использована при разработке гирлянды на Ардуино и с ее помощью можно реализовать множество интересных эффектов. Для понимания функций библиотеки фаст лед следует отдельно рассмотреть описание библиотеки FastLED.h с примерами программ и описанием команд.

Необходимые компоненты:

  • Arduino Uno / Arduino Nano / Arduino Mega
  • адресная лента ws2812 / ws2811
  • источник питания 5 / 12 Вольт
  • резистор
  • коннекторы
  • библиотека FastLED.h
  1. Гирлянда на Ардуино с библиотекой FastLED
  2. Описание библиотеки Adafruit NeoPixel Arduino
  3. Часы на адресной ленте WS2812B c Bluethoot

Далее следует пошаговое описание команд библиотеки FastLED Arduino. Первое, что нужно сделать, это включить библиотеку в программе с помощью команды #include и задать константы #define для удобства программирования ws2812. Следует указать количество пикселей в светодиодной ленте и порт для подключения адресной LED ленты. В следующем скетче видно, что тип адресной ленты также определяется константами.

Описание библиотеки FastLED.h Arduino

Описание библиотеки FastLED.h для Arduino

Для управления адресной лентой используются три популярные библиотеки: FastLED, AdafruitNeoPixel и LightWS2812. Все библиотеки можно скачать с нашего сайта. Библиотеки FastLED.h и Adafruit_NeoPixel.h просты при программировании гирлянды на Arduino, но отличаются по функциональности и занимаемой памяти. После сборки этой простой схемы и установки библиотеки загрузите программу для адресной светодиодной ленты.

#include «FastLED.h» #define NUM_LEDS 100 // количество пикселей #define PIN 4 // порт для подключения ws2812b CRGB leds[NUM_LEDS]; void setup() < FastLED.addLeds (leds, NUM_LEDS).setCorrection(TypicalLEDStrip); FastLED.setBrightness(50); > void loop()

Библиотека FastLED.h примеры эффектов

Команды и функции FastLED.h для Arduino

После загрузки предыдущего кода вы сможете изменить цвета пикселей на адресной ленте. Далее мы рассмотрим более сложные эффекты с помощью популярной библиотеки fastled, которая использует цикл for Arduino для быстрой отправки информации на адресную ленту ws2812b / ws2811b. В дополнение к предложенным вариантам попробуйте загрузить в микроконтроллер Arduino примеры программ из этой библиотеки.

FastLED пример эффекта «Конфетти»

#include «FastLED.h» byte bright = 50; // яркость светодиодов byte baza = 0; #define NUM_LEDS 100 // количество пикселей #define PIN 4 // порт для подключения ws2812b CRGB leds[NUM_LEDS]; void setup() < FastLED.addLeds (leds, NUM_LEDS).setCorrection(TypicalLEDStrip); FastLED.setBrightness(bright); > void loop()

FastLED пример эффекта «Бегущий огонь»

#include «FastLED.h» byte bright = 50; // яркость светодиодов byte baza = 0; #define NUM_LEDS 100 // количество пикселей #define PIN 4 // порт для подключения ws2812b CRGB leds[NUM_LEDS]; void setup() < FastLED.addLeds (leds, NUM_LEDS).setCorrection(TypicalLEDStrip); FastLED.setBrightness(bright); > void loop()

FastLED пример эффекта «Фокус»

#include "FastLED.h" byte bright = 50; // яркость светодиодов byte baza = 0; #define NUM_LEDS 100 // количество пикселей #define PIN 4 // порт для подключения ws2812b CRGB leds[NUM_LEDS]; void setup() < FastLED.addLeds (leds, NUM_LEDS).setCorrection(TypicalLEDStrip); FastLED.setBrightness(bright); > void loop() < fadeToBlackBy(leds, NUM_LEDS, 2); for (int i = 0; i < 8; i++) < leds[beatsin16(i + 7, 0, NUM_LEDS - 1)] |= CHSV(baza+=16, 200, 255); >FastLED.setBrightness(bright); FastLED.show(); delay(20); >

Ошибка «FastLED.h no such file or directory»

Библиотека FastLed Arduino примеры, описание

Первое, с чем сталкивается любой начинающий программист и на поиск причины уходит много времени — это ошибка компилятора для платы Arduino Uno при загрузке программы. Ошибка FastLED.h no such file or directory означает, что на компьютере не установлена библиотека FastLED.h в Arduino IDE. Проблема решается установкой библиотеки фаст лед. Это правило применяется, когда у вас ошибка возникает с другими библиотеками.

Заключение. Помимо основных параметров, в процедуре void setup также задается яркость свечения светодиодов с помощью команды FastLED.setBrightness() — максимальное значение 255. Яркость можно изменить в любом месте программы, в том числе в цикле void loop. В основном цикле мы последовательно подсвечиваем пиксели на адресной ленте разными цветами, которые определяются с помощью палитры RGB.

Библиотека FastLED для Ардуино

FastLED — Библиотека для простого управления широким списком адресных светодиодов.

Поддерживаемые адресные светодиоды

  • Adafruit’s DotStars — (APA102)
  • Neopixel от Adafruit — он же WS2812B (WS2811 / WS2812 / WS2813), TM1809, TM1803, UCS1903, GW6205, LPD8806, LPD6803, WS2801, SM16716, APA102, P9813.
  • Arduino DMX
  • Панели SmartMatrix — Требуется библиотека SmartMatrix

Поддерживаемые контроллеры

  • Платы Arduino & аналоги и реплики — UNO, Duo, Leonardo, Mega, Nano, Mini, Micro и т.д.
  • Arduino Yún
  • Adafruit Trinket & Gemma
  • Teensy 2, Teensy++ 2, Teensy 3.0, Teensy 3.1/3.2, Teensy LC, Teensy 3.5, Teensy 3.6 и Teensy 4.0
  • Arduino Due и DigiX
  • RFDuino
  • SparkCore
  • Arduino Zero
  • ESP8266
  • Платы Wino
  • ESP32

Attached Files

Файл Действие
FastLED-3.3.3.zip Скачать
FastLED-3.3.2.zip Скачать
FastLED-3.3.1.zip Скачать
FastLED-3.3.0.zip Скачать
FastLED-3.2.10.zip Скачать
FastLED-3.2.9.zip Скачать
FastLED-3.2.8.zip Скачать
FastLED-3.2.7.zip Скачать
FastLED-3.2.6.zip Скачать
FastLED-3.2.5.zip Скачать
FastLED-3.2.0.zip Скачать
FastLED-3.1.8.zip Скачать
FastLED-3.1.6.zip Скачать
FastLED-3.1.3.zip Скачать
FastLED-3.1.0.zip Скачать
FastLED-3.0.3.zip Скачать
FastLED-3.0.2.zip Скачать
FastLED-3.0.1.zip Скачать
FastLED-3.0.0.zip Скачать
FastLED-2-final.zip Скачать

Файлы и библиотеки и другое для Arduino

1 Установка/настройка Arduino IDE — Для написания программ для контроллеров семейства Arduino/Piranha необходимо установить однаименную программу Arduino IDE.

2 Включаем поддержку контроллеров Piranha в Arduino IDE.

3 Установка библиотек в Arduino IDE — Библиотека облегчает работу с определённым модулем или одним из типов модулей.

4 Как выбрать Arduino Данный вопрос возникает у всех, кто впервые решился создать проект с использованием Arduino

Библиотеки для Arduino IDE

Инструкиция по установке библиотек в среде Arduno IDE подробнее

Расширенные возможности библиотек iarduino для шины i2c подробнее

★ Обновлено: 18:35 21.05.2019

Библиотека «iarduino_HC_SR04»

★ Обновлено: 18:35 21.05.2019

Библиотека UTFT для цветных TFT дисплеев к arduino

★ Обновлено: 18:35 21.05.2019

Библиотека iarduino_MultiServo

★ Обновлено: 18:35 21.05.2019

Универсальная библиотека для DHT11 и DHT22, iarduino_DHT, полностью на русском языке

★ Обновлено: 18:35 21.05.2019

Библиотека iarduino_Pressure_BMP для датчиков давления и температуры BMP180 / BMP280

★ Обновлено: 18:35 21.05.2019

Универсальная библиотека iarduino_RTC для RTC DS1302, DS1307, DS3231 к Arduino

★ Обновлено: 18:35 21.05.2019

Библиотека iarduino_I2C_connect

★ Обновлено: 18:35 21.05.2019

Библиотека iarduino_KB для работы arduino с матричной клавиатурой

★ Обновлено: 18:35 21.05.2019

Библиотека iarduino_IR для работы с ИК-приёмопередатчиками

★ Обновлено: 18:35 21.05.2019

Библиотека iarduino_Hexapod для управления роботом Hexapod

★ Обновлено: 18:35 21.05.2019

Библиотека iarduino_SensorPulse для работы с датчиком пульса

★ Обновлено: 18:35 21.05.2019

Библиотека iarduino_AM2320 для работы с датчиком AM2320

★ Обновлено: 18:35 21.05.2019

Библиотека iarduino_Encoder_tmr для работы с энкодерами

★ Обновлено: 18:35 21.05.2019

Библиотека iarduino_4LED для работы с четырёхразрядным индикатором

★ Обновлено: 18:35 21.05.2019

Библиотека iarduino_Bluetooth_HC05 для работы с Trema Bluetooth модулем HC-05

★ Обновлено: 18:35 21.05.2019

Библиотека iarduino_RF433 для работы с радио модулями на 433 МГц

★ Обновлено: 18:35 21.05.2019

Библиотека «iarduino_HC_SR04_int»

★ Обновлено: 18:35 21.05.2019

Библиотека iarduino_NeoPixel для работы с адресными светодиодами WS2812B

★ Обновлено: 18:35 21.05.2019

Библиотека iarduino_I2C_IO для работы с I2C модулями расширения выводов

★ Обновлено: 18:35 21.05.2019

Библиотека iarduino_Position_BMX055 для работы с Trema-модулем IMU 9 DOF

★ Обновлено: 18:35 21.05.2019

Библиотека iarduino_ACS712 для работы с Trema датчиком тока

★ Обновлено: 18:35 21.05.2019

Библиотека iarduino_OLED для работы с OLED дисплеями

★ Обновлено: 18:35 21.05.2019

Библиотека iarduino_OLED_txt для работы с OLED дисплеями

★ Обновлено: 18:35 21.05.2019

Библиотека Battery_Shield для работы с источником автономного питания

★ Обновлено: 18:35 21.05.2019

Библиотека iarduino_GSM для работы с GSM/GPRS Shield A6

★ Обновлено: 18:35 21.05.2019

Библиотека iarduino_Metro для модулей Metro

★ Обновлено: 18:35 21.05.2019

Библиотека iarduino_I2C_Matrix_8x8 для работы с Trema-модулем I2C LED матрица 8×8

★ Обновлено: 18:35 21.05.2019

Библиотека iarduino_APDS9930 для датчика освещенности и приближения

★ Обновлено: 18:35 21.05.2019

ПО для лазерного радара на 360 градусов, лидар Delta2B

★ Обновлено: 18:35 21.05.2019

Библиотека iarduino_I2C_Relay для I2C Flash силовых ключей и реле

★ Обновлено: 18:35 21.05.2019

Библиотека iarduino_I2C_Encoder для Trema модуля — Энкодер, потенциометр, I2C-flash

★ Обновлено: 18:35 21.05.2019

Библиотека iarduino_I2C_DSL для Trema модуля — Датчик освещенности, люксметр, I2C-flash

★ Обновлено: 18:35 21.05.2019

Библиотека iarduino_I2C_SHT для Trema модуля — Датчик температуры и влажности, I2C-flash

★ Обновлено: 18:35 21.05.2019

Библиотека iarduino_I2C_Bumper для модуля — Бампер с 9 датчиками линий, I2C-flash

★ Обновлено: 18:35 21.05.2019

Библиотека iarduino_I2C_Expander для Trema модуля — Расширитель выводов, I2C-flash

★ Обновлено: 18:35 21.05.2019

Библиотека iarduino_I2C_Joystick для Trema модуля — Джойстик, I2C-flash

★ Обновлено: 18:35 21.05.2019

Библиотека iatduino_GPS_NMEA для получения данных из сообщений NMEA

★ Обновлено: 18:35 21.05.2019

Библиотека (модуль Python) pyiArduinoI2Cencoder для работы с модулем Энкодер I2C на Raspberry Pi

★ Обновлено: 18:35 21.05.2019

Библиотека iarduino_I2C_Motor для модулей — Драйвер моторов, I2C-flash

★ Обновлено: 18:35 21.05.2019

Библиотека iarduino_I2C_4LED для Trema модуля — Четырехразрядный LED индикатор, I2C-flash

★ Обновлено: 18:35 21.05.2019

Библиотека iarduino_GPS_ATGM336 для Trema GPS модуля ATGM336

★ Обновлено: 18:35 21.05.2019

Библиотека pyiArduinoI2Cjoystick для Trema модуля — Джойстик, I2C-flash (Raspberry)

★ Обновлено: 18:35 21.05.2019

iarduino_MechaClock

★ Обновлено: 18:35 21.05.2019

Библиотека FastLED для управления светодиодами на чипах WS2812 и не только

Led chip

Рассмотрим основные моменты и функции, которые предоставляет нам библиотека FastLED версии 3.6.0. Библиотека используется для управления светодиодами на различных чипах.

Установка библиотеки FastLED

Как установить библиотеку для ардуино можно прочитать здесь.

Где скачать библиотеку FastLED

Скачать файлы библиотеки FastLED можно с сайта тут или перейти на GitHub. Также вы можете установить библиотеку из менеджера библиотек Arduino IDE.

Поддерживаемые светодиодные чипы

Вот список поддерживаемых светодиодов библиотекой FastLED, согласно документации:

  • WS2812B, а также WS2811 / WS2812 / WS2813 (компания adafruit продает их под названием «neopixels») с низкой скоростью передачи данных (800 Кбит/с).
  • APA102 (компания adafruit продает их как «dotstars»). Высокая скорость передачи данных (до 24 МГц).
  • SK9822 — клон APA102.
  • LPD8806 — очень быстрые (скорость до 22 Мбит/с).
  • WS2801 — устаревшие, относительно дешевые, но медленные (до 1 Мбит/с). Склонны к сбоям на больших длинах.
  • TM1809/1804/1812 — протокол аналогичен ws2811 (микросхема 1809 управляет 3 пикселями RGB, 1804 управляет 1).
  • TM1803 — более медленная версия TM1809.
  • UCS1903 — аналогично TM1809/WS2811. Очень медленный протокол, около 400 кбит/с.
  • LPD1886 — 3-х проводной набор микросхем с разрядностью 12 бит на пиксель вместо обычных 7/8 бит на пиксель.
  • UCS1904/2903
  • SM16716
  • GW6205
  • Панели SmartMatrix (требуется библиотека SmartMatrix)
Чип Количество проводов Количество бит при передаче цвета Скорость передачи данных
APA102/DOTSTAR 4 8 ~24 Мбит/с
WS2811 3 8 800 кбит/с
WS2812B/NEOPIXEL 3 8 800 кбит/с
TM1809/TM1812 3 8 800 кбит/с
TM1803 3 8 400 кбит/с
TM1804 3 8 800 кбит/с
WS2801 4 8 1 Мбит/с
UCS1903 3 8 400 кбит/с
UCS2903 3 8 800 кбит/с
LPD8806 4 7 1-20 Мбит/с
P9813 4 8 1-15 Мбит/с
SM16716 4 8

Работа с библиотекой FastLED

Подключение библиотеки

Для подключения библиотеки используется директива #include с названием библиотеки, которую необходимо расположить вначале файла проекта:

#include "FastLED.h"

Определение количества светодиодов, пинов подключения и массива светодиодов

Создадим идентификатор NUM_LEDS , который будет хранить количество светодиодов:

NUM_LEDS 1

Теперь определим контакт платы (или контакты) для передачи данных.

Для 3-х проводных светодиодных микросхем, таких как WS2812, у которых есть линия данных, земля и питание, необходимо определить только DATA_PIN .

Для светодиодных микросхем на основе SPI (четырех проводная схема — линия данных, линия тактирования, земля и питание), например LPD8806, необходимо определить два контакта: данные — DATA_PIN , тактирование — CLOCK_PIN .

#define DATA_PIN 3 #define CLOCK_PIN 13

Определяем массив светодиодов, к которому будем обращаться для взаимодействия:

CRGB leds[NUM_LEDS];

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

При инициализации нужно передать несколько аргументов методу addLeds(). На примере ниже мы передали следующие аргументы:

  • WS2812B — микросхема светодиодов.
  • DATA_PIN — контакт для передачи данных. Мы его установили равным 3.
  • Т.к. у нас микросхема без тактирования, CLOCK_PIN мы не используем. В некоторых микросхема нужно.
  • GRB — порядок следования цветовых битов. Сначала отправляются 8 бит для зеленого цвета, за ним 8 бит для красного, а затем 8 бит для синего.
  • leds — массив светодиодов (объявлен выше).
  • NUM_LEDS — количество светодиодов (объявлен выше).
void setup() < FastLED.addLeds(leds, NUM_LEDS); >
Если неправильно отображаются цвета

Если устройство неправильно отображает цветовые оттенки, то вероятнее всего, неправильно задан порядок следования цветов. Например, для WS2812B порядок такой GRB (Green (зеленый), Red (красный), Blue (синий)).

WS2812 Order Color

В примере Blink библиотеки FastLED можно найти примеры для инициализации светодиодов на различных микросхемах. Здесь просто раскомментировать нужный, остальные можно удалить.

void setup() < FastLED.addLeds(leds, NUM_LEDS); // FastLED.addLeds(leds, NUM_LEDS); // FastLED.addLeds(leds, NUM_LEDS); // FastLED.addLeds(leds, NUM_LEDS); // FastLED.addLeds(leds, NUM_LEDS); // FastLED.addLeds(leds, NUM_LEDS); // FastLED.addLeds(leds, NUM_LEDS); // FastLED.addLeds(leds, NUM_LEDS); // FastLED.addLeds(leds, NUM_LEDS); // FastLED.addLeds(leds, NUM_LEDS); // FastLED.addLeds(leds, NUM_LEDS); // FastLED.addLeds(leds, NUM_LEDS); // GRB ordering is typical // FastLED.addLeds(leds, NUM_LEDS); // GRB ordering is typical // FastLED.addLeds(leds, NUM_LEDS); // GRB ordering is typical // FastLED.addLeds(leds, NUM_LEDS); // FastLED.addLeds(leds, NUM_LEDS); // GRB ordering is typical // FastLED.addLeds(leds, NUM_LEDS); // FastLED.addLeds(leds, NUM_LEDS); // FastLED.addLeds(leds, NUM_LEDS); // FastLED.addLeds(leds, NUM_LEDS); // FastLED.addLeds(leds, NUM_LEDS); // FastLED.addLeds(leds, NUM_LEDS); // FastLED.addLeds(leds, NUM_LEDS); // FastLED.addLeds(leds, NUM_LEDS); // FastLED.addLeds(leds, NUM_LEDS); // FastLED.addLeds(leds, NUM_LEDS); // FastLED.addLeds(leds, NUM_LEDS); // FastLED.addLeds(leds, NUM_LEDS); // FastLED.addLeds(leds, NUM_LEDS); // ## Clocked (SPI) types ## // FastLED.addLeds(leds, NUM_LEDS); // FastLED.addLeds(leds, NUM_LEDS); // FastLED.addLeds(leds, NUM_LEDS); // FastLED.addLeds(leds, NUM_LEDS); // FastLED.addLeds(leds, NUM_LEDS); // FastLED.addLeds(leds, NUM_LEDS); // FastLED.addLeds(leds, NUM_LEDS); // FastLED.addLeds(leds, NUM_LEDS); // FastLED.addLeds(leds, NUM_LEDS); >

Как установить цвет светодиода

В библиотеке реализованы два основных объекта для работы с цветовыми моделями RGB и HSV — это CRGB и CHSV соответственно.

Цветовая модель RGB

CRGB — это объект, представляющий цвет в цветовом пространстве RGB. CRGB содержит три однобайтовых элемента данных, каждый из которых представляет один из трех цветовых каналов цвета — красный, зеленый и синий:

  • однобайтовое значение ( от 0 до 255), представляющее количество красного цвета;
  • однобайтовое значение ( от 0 до 255), представляющее количество зеленого цвета;
  • однобайтовое значение ( от 0 до 255), представляющее количество синего цвета.

Существует несколько способов доступа к данным RGB. Каждый из следующих примеров делает одно и то же, устанавливает цвет для первого светодиода.

Три значения цветового канала можно задать через точечную нотацию к свойствам red , green и blue :

leds[0].red = 40; leds[0].green = 80; leds[0].blue = 170;

Или использовать более короткие записи r , g и b :

leds[0].r = 40; leds[0].g = 80; leds[0].b = 170;

Или можно обращаться как к членам трехэлементного массива:

leds[0][0] = 40; // красный leds[0][1] = 80; // зеленый leds[0][2] = 170; // синий

Цвета CRGB можно установить, указав значения по отдельности красному, зеленому и синему цвету. Кроме того, цвета CRGB можно задать и другими способами, которые зачастую более удобны и компактны. Все примеры ниже выполняют одну и ту же функцию.

Установка цвета индивидуально для красного, зеленого и синего каналов
leds[0].red = 64; leds[0].green = 224; leds[0].blue = 208;
Изменение цвета одновременно для всех каналов
leds[0] = CRGB( 64, 224, 208);
Как задать цвета с помощью шестнадцатеричного цветового кода (0xRRGGBB)
leds[0] = 0x40E0D0;
Установка цвета с помощью именованного HTML цвета

Посмотреть все предопределенные цвета можно здесь.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *