Ошибка include fastled h на ардуино нано

Он немаленький. Надеюсь, меня не забанят…
/*
Скетч к проекту «Адресная матрица»
Гайд по постройке матрицы: https://alexgyver.ru/matrix_guide/
Страница проекта (схемы, описания): https://alexgyver.ru/GyverMatrixBT/
Подробное описание прошивки: https://alexgyver.ru/gyvermatrixos-guide/
Исходники на GitHub: https://github.com/AlexGyver/GyverMatrixBT/
Нравится, как написан код? Поддержи автора! https://alexgyver.ru/support_alex/
Автор: AlexGyver Technologies, 2018
https://AlexGyver.ru/
*/

// GyverMatrixOS
// Версия прошивки 1.12, совместима с приложением GyverMatrixBT версии 1.12 и выше
// 1.12 — поправлен косяк с кнопкой SET на wemos/nodemcu

// ************************ МАТРИЦА *************************
// если прошивка не лезет в Arduino NANO — отключай режимы! Строка 60 и ниже

#define BRIGHTNESS 150 // стандартная маскимальная яркость (0-255)
#define CURRENT_LIMIT 4000 // лимит по току в миллиамперах, автоматически управляет яркостью (пожалей свой блок питания!) 0 — выключить лимит

#define WIDTH 30 // ширина матрицы
#define HEIGHT 15 // высота матрицы
#define SEGMENTS 1 // диодов в одном «пикселе» (для создания матрицы из кусков ленты)

#define COLOR_ORDER GRB // порядок цветов на ленте. Если цвет отображается некорректно — меняйте. Начать можно с RGB

#define MATRIX_TYPE 0 // тип матрицы: 0 — зигзаг, 1 — параллельная
#define CONNECTION_ANGLE 0 // угол подключения: 0 — левый нижний, 1 — левый верхний, 2 — правый верхний, 3 — правый нижний
#define STRIP_DIRECTION 1 // направление ленты из угла: 0 — вправо, 1 — вверх, 2 — влево, 3 — вниз
// при неправильной настрйоке матрицы вы получите предупреждение «Wrong matrix parameters! Set to default»
// шпаргалка по настройке матрицы здесь! https://alexgyver.ru/matrix_guide/

#define MCU_TYPE 1 // микроконтроллер:
// 0 — AVR (Arduino NANO/MEGA/UNO)
// 1 — ESP8266 (NodeMCU, Wemos D1)
// 2 — STM32 (Blue Pill)

// ******************** ЭФФЕКТЫ И РЕЖИМЫ ********************
#define D_TEXT_SPEED 100 // скорость бегущего текста по умолчанию (мс)
#define D_EFFECT_SPEED 80 // скорость эффектов по умолчанию (мс)
#define D_GAME_SPEED 250 // скорость игр по умолчанию (мс)
#define D_GIF_SPEED 80 // скорость гифок (мс)
#define DEMO_GAME_SPEED 60 // скорость игр в демо режиме (мс)

boolean AUTOPLAY = 1; // 0 выкл / 1 вкл автоматическую смену режимов (откл. можно со смартфона)
int AUTOPLAY_PERIOD = 10; // время между авто сменой режимов (секунды)
#define IDLE_TIME 10 // время бездействия кнопок или Bluetooth (в секундах) после которого запускается автосмена режимов и демо в играх

// о поддерживаемых цветах читай тут https://alexgyver.ru/gyvermatrixos-guide/
#define GLOBAL_COLOR_1 CRGB::Green // основной цвет №1 для игр
#define GLOBAL_COLOR_2 CRGB::Orange // основной цвет №2 для игр

#define SCORE_SIZE 0 // размер символов счёта в игре. 0 — маленький для 8х8 (шрифт 3х5), 1 — большой (шрифт 5х7)
#define FONT_TYPE 1 // (0 / 1) два вида маленького шрифта в выводе игрового счёта

// ************** ОТКЛЮЧЕНИЕ КОМПОНЕНТОВ СИСТЕМЫ (для экономии памяти) *************
// внимание! отключение модуля НЕ УБИРАЕТ его эффекты из списка воспроизведения!
// Это нужно сделать вручную во вкладке custom, удалив ненужные функции

#define USE_BUTTONS 0 // использовать физические кнопки управления играми (0 нет, 1 да)
#define BT_MODE 1 // использовать блютус (0 нет, 1 да)
#define USE_NOISE_EFFECTS 1 // крутые полноэкранные эффекты (0 нет, 1 да) СИЛЬНО ЖРУТ ПАМЯТЬ!!!11
#define USE_FONTS 1 // использовать буквы (бегущая строка) (0 нет, 1 да)
#define USE_CLOCK 0 // использовать часы (0 нет, 1 да)

// игры
#define USE_SNAKE 1 // игра змейка (0 нет, 1 да)
#define USE_TETRIS 1 // игра тетрис (0 нет, 1 да)
#define USE_MAZE 1 // игра лабиринт (0 нет, 1 да)
#define USE_RUNNER 1 // игра бегалка-прыгалка (0 нет, 1 да)
#define USE_FLAPPY 1 // игра flappy bird
#define USE_ARKAN 1 // игра арканоид

// ****************** ПИНЫ ПОДКЛЮЧЕНИЯ *******************
// Arduino (Nano, Mega)
#if (MCU_TYPE == 0)
#define LED_PIN 6 // пин ленты
#define BUTT_UP 3 // кнопка вверх
#define BUTT_DOWN 5 // кнопка вниз
#define BUTT_LEFT 2 // кнопка влево
#define BUTT_RIGHT 4 // кнопка вправо
#define BUTT_SET 7 // кнопка выбор/игра

// пины подписаны согласно pinout платы, а не надписям на пинах!
// esp8266 — плату выбирал Wemos D1 R1
#elif (MCU_TYPE == 1)
#define LED_PIN 2 // пин ленты
#define BUTT_UP 14 // кнопка вверх
#define BUTT_DOWN 13 // кнопка вниз
#define BUTT_LEFT 0 // кнопка влево
#define BUTT_RIGHT 12 // кнопка вправо
#define BUTT_SET 15 // кнопка выбор/игра

// STM32 (BluePill) — плату выбирал STM32F103C
#elif (MCU_TYPE == 2)
#define LED_PIN PB12 // пин ленты
#define BUTT_UP PA1 // кнопка вверх
#define BUTT_DOWN PA3 // кнопка вниз
#define BUTT_LEFT PA0 // кнопка влево
#define BUTT_RIGHT PA2 // кнопка вправо
#define BUTT_SET PA4 // кнопка выбор/игра
#endif

// ******************************** ДЛЯ РАЗРАБОТЧИКОВ ********************************
#define DEBUG 0
#define NUM_LEDS WIDTH * HEIGHT * SEGMENTS

#define RUNNING_STRING 0
#define CLOCK_MODE 1
#define GAME_MODE 2
#define MADNESS_NOISE 3
#define CLOUD_NOISE 4
#define LAVA_NOISE 5
#define PLASMA_NOISE 6
#define RAINBOW_NOISE 7
#define RAINBOWSTRIPE_NOISE 8
#define ZEBRA_NOISE 9
#define FOREST_NOISE 10
#define OCEAN_NOISE 11
#define SNOW_ROUTINE 12
#define SPARKLES_ROUTINE 13
#define MATRIX_ROUTINE 14
#define STARFALL_ROUTINE 15
#define BALL_ROUTINE 16
#define BALLS_ROUTINE 17
#define RAINBOW_ROUTINE 18
#define RAINBOWDIAGONAL_ROUTINE 19
#define FIRE_ROUTINE 20
#define IMAGE_MODE 21

#if (MCU_TYPE == 1)
#define FASTLED_INTERRUPT_RETRY_COUNT 0
#define FASTLED_ALLOW_INTERRUPTS 0
#include <ESP8266WiFi.h>
#endif

#include «FastLED.h»
CRGB leds[NUM_LEDS];
String runningText = «»;

static const byte maxDim = max(WIDTH, HEIGHT);
byte buttons = 4; // 0 — верх, 1 — право, 2 — низ, 3 — лево, 4 — не нажата
int globalBrightness = BRIGHTNESS;
byte globalSpeed = 200;
uint32_t globalColor = 0x00ff00; // цвет при запуске зелёный
byte breathBrightness;
boolean loadingFlag = true;
byte frameNum;
int gameSpeed = DEMO_GAME_SPEED;
boolean gameDemo = true;
boolean idleState = true; // флаг холостого режима работы
boolean BTcontrol = false; // флаг контроля с блютус. Если false — управление с кнопок
int8_t thisMode = 0;
boolean controlFlag = false;
boolean gamemodeFlag = false;
boolean mazeMode = false;
int effects_speed = D_EFFECT_SPEED;
int8_t hrs = 10, mins = 25, secs;
boolean dotFlag;
byte modeCode; // 0 бегущая, 1 часы, 2 игры, 3 нойс маднесс и далее, 21 гифка или картинка,
boolean fullTextFlag = false;
boolean clockSet = false;

#if (USE_FONTS == 1)
#include «fonts.h»
#endif

uint32_t autoplayTime = ((long)AUTOPLAY_PERIOD * 1000);
uint32_t autoplayTimer;

#include «timerMinim.h»
timerMinim effectTimer(D_EFFECT_SPEED);
timerMinim gameTimer(DEMO_GAME_SPEED);
timerMinim scrollTimer(D_TEXT_SPEED);
timerMinim idleTimer((long)IDLE_TIME * 1000);
timerMinim changeTimer(70);
timerMinim halfsecTimer(500);

#if (USE_CLOCK == 1 && (MCU_TYPE == 0 || MCU_TYPE == 1))
#include <Wire.h>
#include «RTClib.h»

RTC_DS3231 rtc;
// RTC_DS1307 rtc;
#endif

void setup() {
#if (BT_MODE == 1)
Serial.begin(9600);
#endif

#if (MCU_TYPE == 1)
WiFi.setSleepMode(WIFI_NONE_SLEEP);
#endif

#if (USE_CLOCK == 1 && (MCU_TYPE == 0 || MCU_TYPE == 1))
rtc.begin();
if (rtc.lostPower()) {
rtc.adjust(DateTime(F(DATE), F(TIME)));
}
DateTime now = rtc.now();
secs = now.second();
mins = now.minute();
hrs = now.hour();
#endif

// настройки ленты
FastLED.addLeds<WS2812, LED_PIN, COLOR_ORDER>(leds, NUM_LEDS).setCorrection( TypicalLEDStrip );
FastLED.setBrightness(BRIGHTNESS);
if (CURRENT_LIMIT > 0) FastLED.setMaxPowerInVoltsAndMilliamps(5, CURRENT_LIMIT);
FastLED.clear();
FastLED.show();
randomSeed(analogRead(0) + analogRead(1)); // пинаем генератор случайных чисел
}

void loop() {
customRoutine();
bluetoothRoutine();
}

СОДЕРЖАНИЕ ►

  • FastLED описание библиотеки на русском
    • Ошибка скетча ‘fastled h no such file or directory’
    • Описание команд библиотеки FastLED.h на русском
    • Скетчи с примерами FastLED Arduino и WS2812B
  • FastLED скачать библиотеку для Arduino

Библиотека для Arduino FastLED применяется для создания различных эффектов на адресной светодиодной ленте WS2812B. При разработке гирлянды на Ардуино использовалась именно эта библиотека, с помощью которой было сделано множество интересных эффектов. Чтобы разобраться в коде, необходимо отдельно рассмотреть описание библиотеки FastLED.h на русском с примерами программ.

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

Скачать библиотеку можно на нашем сайте, на странице — Библиотеки для Ардуино, также ссылку для скачивания Фастлед мы разместили в конце этой записи. В архиве, как и в прочих популярных библиотеках для управления лентой ws2812b Ардуино, имеется несколько примеров скетчей, с помощью которых можно самостоятельно разобраться, как правильно использовать команды библиотеки FastLED.

Ошибка ‘FastLED.h no such file or directory’

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

Описание команд библиотеки FastLED на русском

Далее пошагово разберем способ работы с библиотекой FastLED. Первым делом необходимо подключить библиотеку в скетче через команду #include. Затем следует задать константы (#define) для удобства программирования — количество пикселей и пин для подключения адресной ленты. В примерах можно встретить вариант, что тип адресной ленты и ее цветовой режим тоже задаются с помощью констант.

#include <FastLED.h> // подключаем библиотеку

#define NUM_LEDS 100 // указываем количество светодиодов на ленте
#define PIN 4                    // указываем пин для подключения ленты

CRGB leds[NUM_LEDS];

void setup() {
   // основные настройки для адресной ленты
   FastLED.addLeds <WS2812, PIN, GRB>(leds, NUM_LEDS).setCorrection(TypicalLEDStrip);
   FastLED.setBrightness(50);
}

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

#include <FastLED.h> // подключаем библиотеку

#define NUM_LEDS 100 // указываем количество светодиодов на ленте
#define PIN 4                    // указываем пин для подключения ленты

CRGB leds[NUM_LEDS];

void setup() {
   // основные настройки для адресной ленты
   FastLED.addLeds <WS2812, PIN, GRB>(leds, NUM_LEDS).setCorrection(TypicalLEDStrip);
   FastLED.setBrightness(50);
}

void loop() {
   leds[0] = CHSV(0, 0, 255); // задаем для первого пикселя синий цвет
   FastLED.show(); // отправляем информацию на ленту
   delay(500);

   leds[1] = CHSV(0, 255, 0); // задаем для второго пикселя зеленый цвет
   FastLED.show(); // отправляем информацию на ленту
   delay(500);

   leds[2] = CRGB::Red; // задаем для третьего пикселя красный цвет
   FastLED.show(); // отправляем информацию на ленту
   delay(500);

   leds[3] = CRGB::White; // задаем для четвертого пикселя белый цвет
   FastLED.show(); // отправляем информацию на ленту
   delay(500);
}

После загрузки прошивки вы можете поменять цвета пикселей на ленте. Как вы уже поняли из примера, цвета можно задавать двумя способами. А далее мы рассмотрим более сложные эффекты с библиотекой фастлед, которые в основе используют цикл for для быстрой отправки информации на ws2812b. Кроме предложенных вариантов, попробуйте загрузить в Ардуино скетчи из примеров для данной библиотеки.

FastLED примеры эффектов для WS2812B

Скетч для FastLed с эффектом «радуга»

#include "FastLED.h" // подключаем библиотеку фастлед

byte bright = 50; // яркость LED светодиодов
byte baza = 0;     // изменение оттенка LED

#define NUM_LEDS 100
#define PIN 4
CRGB leds[NUM_LEDS];

void setup() {
  FastLED.addLeds <WS2812, PIN, GRB>(leds, NUM_LEDS).setCorrection(TypicalLEDStrip);
  FastLED.setBrightness(bright);
}

void loop() {
    for (int i = 0; i < NUM_LEDS; i++) {
      leds[i] = CHSV(baza+ i * 5, 255, 255);
    }
    baza++;
    FastLED.setBrightness(bright);
    FastLED.show();
    delay(20);
}

Скетч для FastLed с эффектом «конфетти»

#include "FastLED.h" // подключаем библиотеку фастлед

byte bright = 50; // яркость LED светодиодов
byte baza = 0;     // изменение оттенка LED

#define NUM_LEDS 100
#define PIN 4
CRGB leds[NUM_LEDS];

void setup() {
  FastLED.addLeds <WS2812, PIN, GRB>(leds, NUM_LEDS).setCorrection(TypicalLEDStrip);
  FastLED.setBrightness(bright);
}

void loop() {
    fadeToBlackBy(leds, NUM_LEDS, 2);
    int pos = random16(NUM_LEDS);
    leds[pos] += CHSV(baza++ + random8(64), 200, 255);
    FastLED.setBrightness(bright);
    FastLED.show();
}

Скетч для FastLed с эффектом «бегущий огонек»

#include "FastLED.h" // подключаем библиотеку фастлед

byte bright = 50; // яркость LED светодиодов
byte baza = 0;     // изменение оттенка LED

#define NUM_LEDS 100
#define PIN 4
CRGB leds[NUM_LEDS];

void setup() {
  FastLED.addLeds <WS2812, PIN, GRB>(leds, NUM_LEDS).setCorrection(TypicalLEDStrip);
  FastLED.setBrightness(bright);
}

void loop() {
    fadeToBlackBy(leds, NUM_LEDS, 2);
    int pos = beatsin16(13, 0, NUM_LEDS - 1);
    leds[pos] += CHSV(baza++, 255, 192);
    FastLED.setBrightness(bright);
    FastLED.show();
}

Скетч для FastLed с эффектом «циклон»

#include "FastLED.h" // подключаем библиотеку фастлед

byte bright = 50; // яркость LED светодиодов
byte baza = 0;     // изменение оттенка LED

#define NUM_LEDS 100
#define PIN 4
CRGB leds[NUM_LEDS];

void setup() {
  FastLED.addLeds <WS2812, PIN, GRB>(leds, NUM_LEDS).setCorrection(TypicalLEDStrip);
  FastLED.setBrightness(bright);
}

void loop() {
for (int i = 0; i < NUM_LEDS; i++) {
      leds[i].nscale8(250);
      }
    for (int i = 0; i < NUM_LEDS; i++) {
      leds[i] = CHSV(baza++, 255, 255);
      FastLED.setBrightness(bright);
      FastLED.show();
      delay(20);
    }
}

Скетч для FastLed с эффектом «фокус»

#include "FastLED.h" // подключаем библиотеку фастлед

byte bright = 50; // яркость LED светодиодов
byte baza = 0;     // изменение оттенка LED

#define NUM_LEDS 100
#define PIN 4
CRGB leds[NUM_LEDS];

void setup() {
  FastLED.addLeds <WS2812, PIN, GRB>(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 с эффектом «радуга с мерцанием»

#include "FastLED.h" // подключаем библиотеку фастлед

byte bright = 50; // яркость LED светодиодов
byte baza = 0;     // изменение оттенка LED

#define NUM_LEDS 100
#define PIN 4
CRGB leds[NUM_LEDS];

void setup() {
  FastLED.addLeds <WS2812, PIN, GRB>(leds, NUM_LEDS).setCorrection(TypicalLEDStrip);
  FastLED.setBrightness(bright);
}

void loop() {
    fill_rainbow( leds, NUM_LEDS, baza++, 7);
    if (random8() < 80) { leds[ random16(NUM_LEDS) ] += CRGB::White; }
    FastLED.setBrightness(bright);
    FastLED.show();
    delay(20);
}

Скачать библиотеку FastLED для Ардуино

Скачать библиотеку FastLED Arduino можно по ссылке: скачать FastLED.h. Кроме того, скачать все популярные библиотеки для программирования Arduino Uno или Nano с адресной лентой можно на странице — Библиотеки Ардуино. Если у вас остались вопросы по командам библиотеки Fast LED или вы хотите предложить свои варианты эффектов для адресных светодиодов — оставляйте их в комментариях к записи.

Arduino Forum

Loading

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

СОДЕРЖАНИЕ

  • Описание библиотеки FastLED для Arduino IDE
  • Примеры эффектов библиотеки FastLED Arduino
  • Ошибка «FastLED.h no such file or directory»

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

  • Arduino Uno / Arduino Nano / Arduino Mega
  • адресная лента ws2812 / ws2811
  • источник питания 5 / 12 Вольт
  • резистор
  • коннекторы
  • скачать библиотеку FastLED.h

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

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

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

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

#include "FastLED.h"

#define NUM_LEDS 100 // количество пикселей
#define PIN 4 // порт для подключения ws2812b

CRGB leds[NUM_LEDS];

void setup() {
   FastLED.addLeds <WS2812, PIN, GRB>(leds, NUM_LEDS).setCorrection(TypicalLEDStrip);
   FastLED.setBrightness(50);
}

void loop() {
   leds[0] = CHSV(0, 0, 255);
   FastLED.show();
   delay(500);

   leds[1] = CHSV(0, 255, 0);
   FastLED.show();
   delay(500);

   leds[1] = CHSV(255, 0, 0);
   FastLED.show();
   delay(500);
}

Библиотека 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 <WS2812, PIN, GRB>(leds, NUM_LEDS).setCorrection(TypicalLEDStrip);
  FastLED.setBrightness(bright);
}

void loop() {
    fadeToBlackBy(leds, NUM_LEDS, 2);
    int pos = random16(NUM_LEDS);
    leds[pos] += CHSV(baza++ + random8(64), 200, 255);
    FastLED.setBrightness(bright);
    FastLED.show();
}

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 <WS2812, PIN, GRB>(leds, NUM_LEDS).setCorrection(TypicalLEDStrip);
  FastLED.setBrightness(bright);
}

void loop() {
    fadeToBlackBy(leds, NUM_LEDS, 2);
    int pos = beatsin16(13, 0, NUM_LEDS - 1);
    leds[pos] += CHSV(baza++, 255, 192);
    FastLED.setBrightness(bright);
    FastLED.show();
}

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 <WS2812, PIN, GRB>(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.


13-12-2020, 16:31
7 комментариев

Даже опытные программисты-«ардуинщики» могут столкнуться с ошибками компиляции. Исправить их не сложно, а вот найти порой не так просто. Мы решили рассказать сегодня в деталях, какие системные ошибки чаще возникают на различных платах Ардуино, как их исправить и по возможности избежать. 

Для начала рассмотрим базовые, так называемые синтаксические ошибки. Они встречаются чаще всего у новичков, но и опытные электронщики с ними точно знакомы не понаслышке. Искать их обычно супер-просто – в Arduino IDE некорректный синтаксис выделяется построчно (таким образом значительно легче отыскать неточность в кодах). Обычно это: отсутствие скобки в конце команды, пропуск этой самой служебной команды или слова, нехватка важных функций, неправильное их написание и т.д.

Для быстрого поиска ошибки советуем рассмотреть строку-подсказку. Ничего не помогло? Тогда для вас наша подборка наиболее распространенных синтаксических ошибок:

С синтаксисом все понятно – вставляем пропущенные символы, убираем лишние знаки, возвращаем функции по умолчанию.
Напомним, в среде разработки Ардуино IDE можно заливать скетчи для различных микроконтроллеров. По умолчанию обычно указана плата Genuino Uno. Если вы работаете с Mega, следует выбрать именно эту платформу (меню «Сервис»), иначе вас ожидает неприятное предупреждение: “programmer is not responding”.

Ошибка компиляции для платы Arduino Uno чаще всего возникает из-за проблем, связанных с библиотеками, например, неправильно подключили, не то ПО инсталлировали. В этом случае вы увидите напоминание fatal error: … No such file or directory” (библиотека не перенесена в папку libraries) или redefinition of void setup”.


Обозначенная на скриншоте ERROR означает, что программирование завершилось некорректно (расшифровываем: внутренние проблемы с компилятором, не обновили версию IDE, сбой в библиотеке, неправильный выбор разрядности операционной системы и др.). 
Важно! Не забывайте использовать подсказки приложения – они очень помогают. Включаем тут: Файл -> Настройки -> «Показать подробный вывод во время компиляции».

Что делать, если произошла ошибка при загрузке скетча Arduino Nano. Тут могут быть те же причины, что мы описали выше. Особых отличий в компиляции плат нет, главное, их правильный выбор первоначально. Однако часто пользователи настраивают не те показатели скорости порта: 9600 вместо необходимых 57600 либо не имеют соответствующих драйверов на устройствах – все это нужно проверить и исправить!

  • Ошибка inappropriate ioctl for device
  • Ошибка in5p шкода фабия
  • Ошибка in5p опель зафира
  • Ошибка imu у коптера
  • Ошибка imsi на телефоне