СОДЕРЖАНИЕ ►
- 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 или вы хотите предложить свои варианты эффектов для адресных светодиодов — оставляйте их в комментариях к записи.
Библиотека FastLED Ардуино описание на русском

Библиотека для 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 ) для удобства программирования — количество пикселей и пин для подключения адресной ленты. В примерах можно встретить вариант, что тип адресной ленты и ее цветовой режим тоже задаются с помощью констант.
Кроме основных настроек в процедуре void setup() еще указывается яркость для светодиодов с помощью команды FastLED.setBrightness() — максимальное значение 255. Яркость можно поменять в любом месте программы, в том числе и в процедуре void loop(). В основном цикле будем включать последовательно пиксели разными цветами, которые задаются с помощью RGB палитры (объединим код для платы).
После загрузки прошивки вы можете поменять цвета пикселей на ленте. Как вы уже поняли из примера, цвета можно задавать двумя способами. А далее мы рассмотрим более сложные эффекты с библиотекой фастлед, которые в основе используют цикл for для быстрой отправки информации на ws2812b. Кроме предложенных вариантов, попробуйте загрузить в Ардуино скетчи из примеров для данной библиотеки.
Источник
Arduino.ru
exit status 1 Ошибка компиляции для платы Arduino Nano.Задолбало
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
После долгих мучений все заработало . Пришлось несколько раз ардуино иде искать и скачивать , проблемма в ней оказалась .
ну если не в состоянии прочитать текст сообщения #67 — то только и остается по кругу ИДЕ переставлять. Сказано же четко — автор проекта неправильно описал библиотеку. ее нужно не устанавливать средствами Ардуино ИДЕ, а вручную положить в папку со скетчем. Неужели это так трудно понять?
Хотя некоторые и при отстуствии драйверов на флешку первым делом бегут всю винду переставлять.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Какраз в иде проблемма была . весь форум перелопатил , что только не делал и по подсказкам форума и по своему , все равно ни чег не шло . Переставил стал другую ошибку выдавать , пока не нашел нормальную иде . Вссе сделал , как и до переустановки и сразу все пошло и скетч и русский язык и все ,что мне нужно с ним делать.Теперь думаю , как эту ид на флешку или диск сбросить вместе с библиотеками , чтоб потом не искать .
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Может мне кто поможет. Правда у меня Arduino UNO
Есть скетч для Nano, пытаюсь залить в UNO — выдает ошибку при заливке. Я начинающий и только на первых шагах.
Библиотеки лежат в папке со скетчем
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
«fatal error: LiquidCrystal_I2C.h: No such file or directory» — первод требуется?
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Да разобрался поставил другие библиотеки и пошло.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
И у меня такая же проблема. Заливаю скетч и он выдаёт ошибку, говоря что ожидается деконструктор, конструктор или ещё что-то, указывая на строку в коде: digitalWrite(CS, HIGH);
Подключал светодиодную плату. (Просто написал, а то мало ли) в начале кода объявил константу, так что не подумайте.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
И у меня такая же проблема. Заливаю скетч и он выдаёт ошибку, говоря что ожидается деконструктор, конструктор или ещё что-то, указывая на строку в коде: digitalWrite(CS, HIGH);
какая же это нафик «такая же проблема», если ошибка совсем другая? Или вы не вникаете и для вас любая ошибка при компиляции — «такая же»?
По делу — приведите текст скетча и скопируйте сюда лог компиляции с ошибками. Только не надо вставлять скриншоты Ардуино ИДЕ или видео компиляции — это никому не интересно.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
извините, если сильно многонаписал
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
И у меня такая же проблема. Заливаю скетч и он выдаёт ошибку, говоря что ожидается деконструктор, конструктор или ещё что-то, указывая на строку в коде: digitalWrite(CS, HIGH);
какая же это нафик «такая же проблема», если ошибка совсем другая? Или вы не вникаете и для вас любая ошибка при компиляции — «такая же»?
По делу — приведите текст скетча и скопируйте сюда лог компиляции с ошибками. Только не надо вставлять скриншоты Ардуино ИДЕ или видео компиляции — это никому не интересно.
на счёт того ,что я писал «такая же проблема», я имел ввиду, что у менятоже в ошибке написано «exit status1». не удивляйтесь, я новичок.
Источник
Ошибка include fastled h на ардуино нано
![]()
ZuBaKa
![]()
![]()
Alex_w0lf
При компиляции выдаёт ошибку (https://github.com/AlexGyver/LEDstairs):
/root/arduino/LEDstairs-master/firmware/LEDstairs_v1.0/LEDstairs_v1.0.ino:184:25: warning: invalid conversion from ‘byte ‘ to ‘ ‘ [-fpermissive]
curEffect = effectCounter;
В чём может быть проблема?
bort707
body747
при компиляции любого скетча (перепробывал несколько )
Arduino: 1.8.13 (Windows 10), Плата:»Arduino Pro or Pro Mini, ATmega328P (5V, 16 MHz)»
ArdBir_2_6_70b10:103:10: fatal error: Pcb_Brauduin original.h: No such file or directory
#include «Pcb_Brauduin original.h»
Pcb_Brauduin original.h: No such file or directory
подскажите пожалуйста в чем проблема ?
![]()
Crazy
при компиляции любого скетча (перепробывал несколько )
Arduino: 1.8.13 (Windows 10), Плата:»Arduino Pro or Pro Mini, ATmega328P (5V, 16 MHz)»
ArdBir_2_6_70b10:103:10: fatal error: Pcb_Brauduin original.h: No such file or directory
#include «Pcb_Brauduin original.h»
Pcb_Brauduin original.h: No such file or directory
body747
![]()
Crazy
body747
на разных сайтах пишут ,что все работает(мне один раз удалось залить скетч, но появились обновленные ,начал ставить и ошибки)
![]()
Crazy
![]()
Александр Симонов
при компиляции любого скетча (перепробывал несколько )
Arduino: 1.8.13 (Windows 10), Плата:»Arduino Pro or Pro Mini, ATmega328P (5V, 16 MHz)»
ArdBir_2_6_70b10:103:10: fatal error: Pcb_Brauduin original.h: No such file or directory
#include «Pcb_Brauduin original.h»
Pcb_Brauduin original.h: No such file or directory
подскажите пожалуйста в чем проблема ?
dfv74
![]()
Александр Симонов
dfv74
![]()
Александр Симонов
anton_b
C:Program Files (x86)ArduinolibrariesLCD_1602_RUS-masterLCD_1602_RUS.cpp: In member function ‘void LCD_1602_RUS: rint(const wchar_t*)’:
C:Program Files (x86)ArduinolibrariesLCD_1602_RUS-masterLCD_1602_RUS.cpp:62:23: warning: NULL used in arithmetic [-Wpointer-arith]
while(_str[size] != NULL)
^
Прошивка после этого загружается, но на дисплейне не выводится текст, только подсвечивается. Вся схема запаяна правильно
![]()
Александр Симонов
C:Program Files (x86)ArduinolibrariesLCD_1602_RUS-masterLCD_1602_RUS.cpp: In member function ‘void LCD_1602_RUS: rint(const wchar_t*)’:
C:Program Files (x86)ArduinolibrariesLCD_1602_RUS-masterLCD_1602_RUS.cpp:62:23: warning: NULL used in arithmetic [-Wpointer-arith]
while(_str[size] != NULL)
^
Прошивка после этого загружается, но на дисплейне не выводится текст, только подсвечивается. Вся схема запаяна правильно
![]()
lgw250120
![]()
Александр Симонов
Arhat109
![]()
Старик Похабыч
byters
Arduino ProMicro, IDE 1.8.13
![]()
Александр Симонов
Arduino ProMicro, IDE 1.8.13
JUKKIO
Доброго времени суток. Собрал проект гирлянда, залил программу все отлично работает от одной кнопки управляется. Решил подключить IR приемник для управления от пульта, прописал в скетче единичку и все ошибка компиляции. ничего не могу сделать.
При компиляции выдает ошибку
collect2.exe: error: ld returned 1 exit status
exit status 1
Ошибка компиляции для платы Arduino Nano328 

Arduino: 1.8.13 (Windows 7), Плата:»Arduino Nano, ATmega328P (Old Bootloader)»
In file included from C:Program FilesArduinolibrariesFastLED-3.2.9/bitswap.h:4:0,
from E:Копия файлов СChristmasLights-masterChristmasLights-masterfirmwarenotamesh4_gyver_naunotamesh4_gyver_nau.ino:1:
C:Program FilesArduinolibrariesFastLED-3.2.9/FastLED.h:14:21: note: #pragma message: FastLED version 3.002.009
# pragma message «FastLED version 3.002.009»
1AppDataLocalTempccWehXug.ltrans0.ltrans.o: In function `global constructors keyed to 65535_0_notamesh4_gyver_nau.ino.cpp.o.3883′:
.text.startup+0x38): undefined reference to `IRrecv::IRrecv(int)’
C:UsersA4F7
1AppDataLocalTempccWehXug.ltrans0.ltrans.o: In function `setup’:
E:Копия файлов СChristmasLights-masterChristmasLights-masterfirmwarenotamesh4_gyver_nau/1main.ino:192: undefined reference to `IRrecv::enableIRIn()’
1AppDataLocalTempccWehXug.ltrans0.ltrans.o: In function `loop’:
E:Копия файлов СChristmasLights-masterChristmasLights-masterfirmwarenotamesh4_gyver_nau/1main.ino:490: undefined reference to `IRrecv::isIdle()’
E:Копия файлов СChristmasLights-masterChristmasLights-masterfirmwarenotamesh4_gyver_nau/1main.ino:492: undefined reference to `IRrecv::decode(decode_results*)’
E:Копия файлов СChristmasLights-masterChristmasLights-masterfirmwarenotamesh4_gyver_nau/1main.ino:506: undefined reference to `IRrecv::resume()’
collect2.exe: error: ld returned 1 exit status
Ошибка компиляции для платы Arduino Nano.
Этот отчёт будет иметь больше информации с
включенной опцией Файл -> Настройки ->
«Показать подробный вывод во время компиляции»
Источник
Ошибка include fastled h на ардуино нано
berlingos
Ребят, подскажите, что не так делаю. Плата от Михаила с подсветкой адресными светодиодами. Есть в этой теме в сообщении 219 скетч для ардуинки, для часов с такой подсветкой. Как его правильно прислонить, чтоб заработало?))
Есть все для прошивки Алекса Никсиклок 1.3, ардуинку прошил, все получилось. Пытаюсь открыть этот скетч — при проверке ошибка
(автор библиотек не оставил во вложении)
Arduino: 1.8.10 (Windows 7), Плата:»Arduino Nano, ATmega328P (Old Bootloader)»
timeVersion:43:10: error: Adafruit_NeoPixel.h: No such file or directory
exit status 1
Adafruit_NeoPixel.h: No such file or directory
serg92319
Добрый день!
Сперва при проверке писала, что нет библиотеки, когда подгрузи пишет:
Arduino: 1.8.10 (Windows 10), Плата:»Arduino/Genuino Uno»
In file included from D:sketch_jan28asketch_jan28a.ino:1:0:
Несколько библиотек найдено для «SoftwareServo.h»
C:Users������DocumentsArduinolibrariesSoftwareServo/SoftwareServo.h:4:10: fatal error: WProgram.h: No such file or directory
Используется: C:UsersСергейDocumentsArduinolibrariesSoftwareServo
compilation terminated.
exit status 1
Ошибка компиляции для платы Arduino/Genuino Uno.
Этот отчёт будет иметь больше информации с
включенной опцией Файл -> Настройки ->
«Показать подробный вывод во время компиляции»
раиль
Вложения


![]()
technotrasher
Вложения
раиль
Вложения

berlingos
![]()
san100
cudesnica
Добрый вечер.Подскажите как убрать ошибку. Win 7,32-битная, arduino nano
upd^ нашла решение на другом форуме-«Заходишь в инструменты, где нужно выбрать процессор ATmega 328Р- выбираешь: ATmega 328Р(Old Bootloader) и будет тебе счастье. Расскажи другим.»(c)parikmaher72
Вложения

Настя
При компиляции скетча, видимо, что то пошло не так, и выдаёт мне ошибку » java.io.IOException: Отказано в доступе «
Для полноты картины: вчера переустанавливала ардуино с более старой версии, на новую. Быть может, я сделала что-то не так?
Вложения

![]()
Александр Симонов
При компиляции скетча, видимо, что то пошло не так, и выдаёт мне ошибку » java.io.IOException: Отказано в доступе «
Для полноты картины: вчера переустанавливала ардуино с более старой версии, на новую. Быть может, я сделала что-то не так?
![]()
Подвох
In file included from C:UsersUserDownloadsStairs_FinalStairs_Final.ino:1:0:
C:UsersUserDocumentsArduinolibrariesUltrasonic/Ultrasonic.h:11:10: fatal error: WProgram.h: No such file or directory
exit status 1
Ошибка компиляции для платы Arduino Nano.
![]()
Parovozzzzzzzzz
Первый опыт!
А здеся такое.
Уже мозг кипит((((
:Program FilesArduinofirmwareGyverDrink_v1.3GyverDrink_v1.3.ino:67:0: warning: «COLOR_DEBTH» redefined
#define COLOR_DEBTH 2 // цветовая глубина: 1, 2, 3 (в байтах)
In file included from C:Program FilesArduinolibrariesmicroLED/microLED.h:40:0,
from C:Program FilesArduinofirmwareGyverDrink_v1.3GyverDrink_v1.3.ino:60:
C:Program FilesArduinolibrariesmicroLED/ws2812_send.h:37:0: note: this is the location of the previous definition
#define COLOR_DEBTH 3
In file included from C:Program FilesArduinofirmwareGyverDrink_v1.3GyverDrink_v1.3.ino:60:0:
C:Program FilesArduinolibrariesmicroLED/microLED.h:58:1: warning: ‘typedef’ was ignored in this declaration
typedef struct LEDdata <
Евгений Иркутск
redxxx
@AlexGyver,
Arduino: 1.8.5 (Windows 7), Плата:»Arduino Nano, ATmega328P (Old Bootloader)»
gyverLight_v1.4:39: error: ‘HIGH_PULL’ was not declared in this scope
GButton touch(BTN_PIN, HIGH_PULL, NORM_OPEN);
gyverLight_v1.4:39: error: ‘NORM_OPEN’ was not declared in this scope
GButton touch(BTN_PIN, HIGH_PULL, NORM_OPEN);
In file included from C:UsersRedxxxDesktopGyverLight-masterfirmwaregyverLight_v1.4gyverLight_v1.4.ino:41:0:
C:Program Files (x86)ArduinolibrariesFastLED/FastLED.h:17:21: note: #pragma message: FastLED version 3.001.005
# pragma message «FastLED version 3.001.005»
C:UsersRedxxxDesktopGyverLight-masterfirmwaregyverLight_v1.4gyverLight_v1.4.ino: In function ‘void setup()’:
gyverLight_v1.4:86: error: ‘class GButton’ has no member named ‘setStepTimeout’
C:UsersRedxxxDesktopGyverLight-masterfirmwaregyverLight_v1.4gyverLight_v1.4.ino: In function ‘void loop()’:
gyverLight_v1.4:126: error: ‘class GButton’ has no member named ‘isStep’
Несколько библиотек найдено для «FastLED.h»
Используется: C:Program Files (x86)ArduinolibrariesFastLED
Не используется: C:Program Files (x86)ArduinolibrariesFastLED-stm32patch
Не используется: C:Program Files (x86)ArduinolibrariesFastLED-3.2.9
exit status 1
‘HIGH_PULL’ was not declared in this scope
Этот отчёт будет иметь больше информации с
включенной опцией Файл -> Настройки ->
«Показать подробный вывод во время компиляции»
Что это за ошибка?
Источник
I’m trying to compile FastLED library for my STM32F103C using Arduino 1.8.5 IDE, but getting this error:
In file included from C:Program Files
(x86)ArduinolibrariesFastLED/led_sysdefs.h:32:0,
from C:Program Files
(x86)ArduinolibrariesFastLED/FastLED.h:44,
from
C:ProjectsioSmartHomearduinoColorPalette_stm32ColorPalette_stm32.ino:1:
C:Program Files
(x86)ArduinolibrariesFastLED/platforms/avr/led_sysdefs_avr.h:12:20: fatal
error: avr/io.h: No such file or directory
#include <avr/io.h>
^
compilation terminated.
exit status 1
Error compiling for board Generic STM32F103C series.
I just have no idea why it’s trying to include this file which isn’t existed for this platform. Any idea?
asked Nov 29, 2017 at 7:51
1
More specifically, for a variety of historical reasons, if FastLED can’t determine the hardware platform/board being built for, it falls back to avr — and this particular STM chipset isn’t directly supported in FastLED at the moment — there’s a fork running around that has added support for it, but I haven’t had a chance to pull it back into the main library.
answered Nov 30, 2017 at 3:44
<avr/io.h> is a header file used to interface the IO registers of the AVR micro-controllers. Most Arduinos are AVR-based, and some Arduino libraries assume an AVR core. This seems to bee the case with the FastLED library you are trying to use.
Your microcontroller, however, is an STM32, with an ARM core. It is not an AVR, and it will not work with code that assumes you have an AVR core.
answered Nov 29, 2017 at 8:16
![]()
Edgar BonetEdgar Bonet
39.1k4 gold badges35 silver badges72 bronze badges
It’s 11 PM on a Wednesday. You’ve just spent three hours toiling on your next Arduino project, and FINALLY, you’re ready to give your sketch a whirl. You hit upload, palms sweaty with anticipation to see all your hard work come to fruition. It’s then you see the error:
No such file or directory.
Surely this is a chance aberration. “Nothing to worry about,” you mutter, sleep-starved and semi-delirious as you hit upload again. And once more, those maddening words, “no such file or directory,” stare back at you in hostile gaslighting mockery.
Have you been here?
If you’re trying to run an Arduino sketch but keep coming across the “no such file or directory” error, don’t worry. This is actually a pretty common problem, and there are two easy fixes that almost always work.
Keep on reading. We’ll show you what they are.
No such file error!
Error messages can be such a pain. They do, however, serve a useful purpose by telling us something about what went wrong. At first glance, the no such file or directory error is particularly maddening because it seems to break that useful purpose rule. Of course there’s a file or directory! You just made the thing, and it’s right there, tucked inside a directory.
But hold up, let’s take a closer look. If you look at the bottom portion of the Arduino IDE where the error message shows up, there’s this handy little button that says “copy error messages.”

Click on that now. You probably won’t fall off your chair to learn that by clicking that button, you just copied the error message from the little window at the bottom of The Serial Monitor’s UI to the clipboard of your computer.
This copy feature is ridiculously useful. You could, for example, paste the error message into Google and learn more about the error. Or you could take advantage of the active Arduino community by asking for help in a forum. For this situation, however, we can be a bit more basic. All we’re going to do is take a closer look at what the message is actually saying. To do that, just fire up your PC’s text editor and paste it into the blank screen.
Decoding the no such file error
Here it is, that pesky error in all its freshly pasted glory.

I’ll break it down for you line by line.
- The first line is easy. It’s just describing the Arduino version in use, what operating system is running, and which board you have selected.
- Line 2 begins to zero in on the problem.
- The first bit, “knob,” is referring to the name of the program. This is your sketch, basically.
- The second bit is what usually begins to confuse people, but it’s easy once you know. The “10” in this example is telling you the error occurred on line 10 of your sketch. The “19” is telling you the length of the line of code in spaces and characters. The first number is usually the more helpful of the two because you can use it to locate the error in your sketch.
- Then we get to the smoking gun of the error. It says, “servo.h: No such file or directory”.
So this thing, “Servo.h.” That’s the thing we need to fix, and thanks to line 2, we know where to find it. Line 10. It’s always line 10.
Now that we know what’s going on a bit better, let’s get down to the business of implementing a fix.
The error of our ways
Let’s lay down some scrutiny on this accursed line 10.
It says “#include <servo.h>”
When we verify this code, this line is telling the Arduino IDE compiler, “Hey, for this program to work, you need to go get this file called servo.h”.
Let’s say you had a label-making machine, and you wanted to use it to print some cool motivational labels, like “Success!” and “Keep Trying!” and “Look, Nachos!” To make that happen, you’ll first have to load in a roll of labels. No roll of labels? Well, then the label maker isn’t gonna work.
The sketch you’re trying to upload is like the label maker. The file (in our example, the file named “servo.h”) is the roll of labels.

So the error message actually is saying something useful. It’s saying, “Hey programmer, you said I needed this other file. Well, I looked for it and it’s not there. What gives?”
Now we know the error message isn’t complete gibberish, let’s look at the two most common scenarios that cause it.
Scenario 1 – Fat fingers
This sketch is one that you’ve written. You’re actually the one who wrote the “#include” line. The first thing you should check is your spelling and capitalization. Maybe you spelled the name of the library incorrectly? Or (as with the example below) perhaps you capitalized the wrong letters.

So “servo.h” should actually have a capital “S.” In full and with correct capitalization, it should read, “Servo.h.” You’ll notice above that the word servo changes color when it’s correctly capitalized. That color change signifies that the library name “Servo” is recognized as a “keyword” in the Arduino IDE.
Keep in mind that might not be the case for all the libraries you’re using. In other words, the color change won’t always indicate you’re using the right spelling or capitalization, but it’s often a helpful visual reminder.
Oh, and it’s probably good to mention that everyone in the history of Arduino programming has misspelled or incorrectly capitalized a word at some point. It’s amazing how long you can stare at a line of code and miss something like that.
So don’t sweat it.
Scenario 2 – Missing files
This brings us to the next common scenario for the “no such file or directory” error.
So often, working with Arduinos involves taking code that someone else has developed and shared online and then tailoring it to your project. That’s part of what makes it so easy to get stuff done with Arduino. One problem that frequently happens when we do that, however, is we accidentally introduce code without a matching file.
An easy way to check to see if you have the file a sketch is looking for is to navigate to Sketch > Include Library from within the Arduino IDE. Then look for the name of that library.

Whatever library the #include statement was calling for, you want to look through this big long list for a library with the exact same name. If you don’t see the file name there, this means the library isn’t installed. You’ll have to add that library before the sketch will compile without errors.
So, how do you add that library?
The easiest way is to go to Sketch > Include Library > Manage Libraries. The Arduino IDE will open up a dialogue box from which you can search for the library you need.

Make sure you type the exact word that matches the #include line. Once you find the missing library, go ahead and click Install. The Arduino IDE will let you know that it’s installing the library you requested and updating the software accordingly.
Next, just double-check that the library has been successfully installed by going to Sketch > Include Library. You should see your new library in the dropdown list.
Good news! If the library is there, you should now be able to compile your sketch error-free.
Other library locations
OK, there’s one little fly in the ointment. How do these dang ointment flies always manage to complicate things so?
Here’s the thing. Not all libraries live in this convenient pop-up window inside the Arduino IDE. The Arduino community is bubbling with clever ideas, but cleverness (unlike processed cheese) doesn’t always come in conveniently standardized, individually wrapped slices. There are tons of different ways to find Arduino libraries on the web.
If you’re downloading or copying a program from the internet, just go to the page where you got that program and take a close look at the library the author is referencing. They may, for example, have a link to GitHub, which is a place where people keep a lot of code libraries.

Wherever you find it, usually the library will be included in a .zip file package. Once you’ve downloaded the .zip file, fire up the Arduino IDE and go to Sketch > Include Library > Add .ZIP library. Then navigate to the location you downloaded the file and select it. Assuming no additional ointment flies invade your workflow, the Arduino IDE will pop up the message “Library added to your libraries” just above the dark area where the original “no such file or directory” error appeared.
Now it’s business as usual! Just go to Sketch > Include Library, and the new library will appear in the drop-down list.
As the dyslexic Frenchman once said to the oversized violinist: “Viola!”
You now know not one but two ways to add a new library. What a time to be alive!
Review
A quick recap, then.
We’ve looked at the two main scenarios that cause the “no such file or directory” error to appear after you compile your sketch:
- The fat fingers phenomenon: Check your spelling and capitalization! If you wrote the sketch, there’s a mighty good chance you introduced a tiny error. And don’t beat yourself up over it! Literally every coder has done this.
- The missing files mixup: Failing that, if you copied code from someone else check that you have the correct libraries installed. Don’t see your library? Install it using the method described above, and you should be good to go.
There may be no such thing as a free lunch, a coincidence, or a luck dragon. But rest assured. Your files and directories? They’re alive and well.