Неверная библиотека найдена arduino нет заголовочных файлов 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();
}

Найдена неверная библиотека


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

Если вы являетесь активным пользователем программной среды Arduino IDE, вам наверняка встречались ошибки при запуске или настройке ПО. Одной из таких возможных неисправностей можно считать системное сообщение: «найдена неверная библиотека». Что делать в этом случае – обсуждаем сегодня в нашей статье.

Прежде чем начать с главного, коротко разберем базовую терминологию – что такое библиотеки, для чего они необходимы и где их искать (управлять ими)? Библиотека – по сути файл (набор текстовых файлов), который содержит С++ код для написания скетча. Для новичка такой инструментарий просто жизненно необходим, т.к. позволяет не писать коды вручную, а использовать уже готовую базу (написанную кем-то другим). В Ардуино имеется интегрированный менеджер библиотек, который позволяет их инсталлировать, удалять и обновлять. Мы не случайно дали подобную информацию – в дальнейшем она вам пригодится! Идем далее.

Как исправить ошибку в Arduino «Неверная библиотека найдена в…»?
Рассмотрим основные причины сбоя и способы их устранения:

  1. Библиотека ошибочно установлена не в тот директорий (по умолчанию на девайсах Windows библиотеки находятся в папке C:Program FilesArduinolibraries и в менеджере (о котором говорилось выше). Именно там их будет «искать» программное обеспечение). При ручной инсталляции файлы сохраняют тут:
    Проверьте!
  2. Неверное расширение файлов библиотек – убедитесь в правильности их написания (корректные форматы: .h, .cpp, файл keywords, папка examples).
  3. Неверно подобранная библиотека под каждый конкретный проект – если автор не посоветовал конкретное название, вы отыскали свой вариант в Интернете, не факт, что коды скомпилируются, и все заработает. Помните – пользуйтесь только рекомендованными разработчиком ссылками, точно записывайте наименование библиотеки (без кириллицы и лишних символов), читайте подробное описание (схемы, документацию к ней), не пренебрегайте советами по ее использованию.
  4. Библиотека не поддерживает вашу версию IDE – такое бывает. Следует обновить утилиту до новой версии или, наоборот, заменить на более старую.

Ошибки и сбои в программировании бывают не только у новичков, но и у «продвинутых» пользователей. Главное – понять, что перестало работать и исправить ситуацию.

Неверная библиотека найдена

Offline

Зарегистрирован: 06.03.2020

Добрый день. 

пытаюсь загрузить скетч после компиляции но выдает эту ошибку

Неверная библиотека найдена в C:UserspavtkDocumentsArduinolibrariessketch_mar05a: нет заголовочных файлов (.h), найденных в C:UserspavtkDocumentsArduinolibrariessketch_mar05a

Неверная библиотека найдена в C:UserspavtkDocumentsArduinolibrariessketch_mar05a: нет заголовочных файлов (.h), найденных в C:UserspavtkDocumentsArduinolibrariessketch_mar05a

как исравить?

Столкнулись с ошибкой Найдена неверная библиотека при работе в программной среде Arduino IDE и не знаете, что делать? В этой статье мы подробно разберем, что нужно делать в такой ситуации, чтобы решить проблему.

Тот, кто знаком с программированием прекрасно понимает, что такое библиотеки и для чего они нужны. Но, мы то с вами начинающие и в программировании мало чего понимаем, поэтому нужно понять, что это за библиотека такая, это поможет в решении нашей проблемы.

Библиотека – это файл, в котором находятся все тот же исходный код на C++, который описывает разные функции и алгоритмы. Например, функция вывода на экран LCD 1602.

Для новичка и даже любителей, эти библиотеки жизненно необходимы, при работе с Arduino, поэтому вы сейчас и читаете эту статью, т.к. столкнулись с ошибкой «Неверная библиотека найдена в…»

В Arduino есть встроенный набор библиотек, через менеджер ими можно управлять, добавлять, обновлять и удалять из программы.

Как исправить ошибку

Всего, встречается 4 пути решения данной проблемы, рассмотрим каждый из них более подробно и начнем с самой популярной, для решения проблемы, используйте описанные ниже способы по очереди:

  1. Библиотека установлена в другую папку. По умолчанию на всех устройствах операционной системы Windows библиотеки размещаются в директории C:Program FilesArduinolibraries и в менеджере (о котором упомянули выше). По умолчанию среда разработки Arduino IDE будет думать, что именно там находится библиотека и если их там нет, то она выдаст ошибку. При ручной установке файлы будут сохранены по этому пути:
    неверная библиотека ардуино
    Проверяйте по этому пути в первую очередь

    Проверяйте, это помогает решить проблему в 90% случаев.

  2. Не та библиотека. Такое часто бывает, когда по видеоуроку посмотрели пример, увидели, что автор подключал такую-то библиотеку, но при этом не давал никаких ссылок и советов, где брать библиотеку. Соответственно, поставили то, что сами нашли в интернете, а оно не работает и выдает ошибку «Неверной библиотеки». Такой способ очень опасен и им лучше вообще не пользоваться, скачивать со всяких файлообменников и непроверенных мест рискованно, можно и вирусы закачать на свой компьютер. Решение проблемы в данном случае: первое – нужно пользоваться проверенными источниками, второе – правильно записывайте название библиотеки, которую использовал автор, третье – читайте подробное описание по устанавливаемой библиотеки, обычно там очень много полезной информации.
  3. Ошибочное расширение у файлов самих библиотек. Тут все просто, нужно проверить корректность расширений у файлов. Для этого в папке examples нужно найти файл keywords, правильные расширения: *.cpp, *.h.
  4. Установленная библиотека не совместима с версией Arduino IDE. Данная ошибка встречается редко, но все-таки бывает. Тут все просто, достаточно обновить среду разработки (IDE) до последней версии или наоборот, попробовать установить предыдущую версию. В идеале, найти информацию о совместимости библиотеки с версиями Arduino IDE и установить то, что нужно.

Эти 4 способа решения ошибки неверной библиотеки в Arduino позволяют решить проблему в 99,9% случаев, главное делать все внимательно, без спешки и следовать четкому алгоритму действий. В нашей практике встречались еще пару случаев, но их было всего 2 за последние 5 лет, поэтому они скорей всего уникальные и не имеют отношения к большинству. Если у вас остались вопросы, задавайте вопрос через форму комментариев.

Видео

Рекомендуем посмотреть интересное видео о том, как правильно добавлять библиотеки в Arduino IDE. Видео короткое и понятное, автор интересно рассказывает.

Arduino Forum

Loading

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