Ошибка компиляции для платы Arduino Uno

Я относительно новичок в Arduino, и я пытаюсь закодировать некоторые неопиксели, и каждый раз, когда я пытаюсь проверить свой код, появляется эта ошибка:

Arduino: 1.8.12 (Mac OS X), плата: "Arduino Uno"

загрузка библиотек из /Users/erinshankland/Documents/Arduino/libraries: чтение каталога >/Users/erinshankland/Documents/Arduino/libraries: open >/Users/erinshankland/Documents/Arduino/libraries: операция не разрешена

Ошибка компиляции для платы Arduino Uno.

В этом отчете будет больше информации с "Показывать подробный вывод во время компиляции" опция включена в Файл -> Настройки.

это мой код:

#include <Adafruit_NeoPixel.h>

#define PIN        6

 

#define NUMPIXELS 15

Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_GRBW + NEO_KHZ800);

 

// эта константа не изменится:

const int  btnRed = 2;  // контакт, к которому прикреплена кнопка

const int  btnBlue = 3;  // контакт, к которому прикреплена кнопка

const int  btnGreen = 4;  // контакт, к которому прикреплена кнопка

const int  btnPurple = 5;  // контакт, к которому прикреплена кнопка

 

 

void setup() {

  randomSeed(analogRead(A0));

  // поместите сюда код установки для однократного запуска:

  pinMode(btnRed, INPUT);

  pinMode(btnBlue, INPUT);

  pinMode(btnGreen, INPUT);

  pinMode(btnPurple, INPUT);

 

  // инициализируем светодиод как выход:

  // инициализируем последовательную связь:

  Serial.begin(9600);

  pixels.begin(); // ИНИЦИАЛИЗАЦИЯ объекта полосы NeoPixel (ОБЯЗАТЕЛЬНО)

    pixels.clear(); // Отключаем все цвета пикселей

    pixels.show();

    delay(1000);

 

}

 

void loop() {

if (digitalRead(btnRed)==HIGH){

    rndRed();

  delay(100);

}

 

if (digitalRead(btnBlue)==HIGH){

    rndBlue();

  delay(100);

}

if (digitalRead(btnGreen)==HIGH){

    rndGreen();

  delay(100);

}

 

if (digitalRead(btnPurple)==HIGH){

    rndPurple();

  delay(100);

}

}

 

 

void rndRed() {

  int led = random(0, 15);

  pixels.setPixelColor(led, pixels.Color(255, 0, 0,0));

  pixels.show();   // Отправляем обновленные цвета пикселей на оборудование.

  delay(500);

}

 

void rndBlue() {

  int led = random(0, 9);

  pixels.setPixelColor(led, pixels.Color(0, 0, 255,0));

  pixels.show();   // Отправляем обновленные цвета пикселей на оборудование.

  delay(500);

 

}

 

void rndGreen() {

  int led = random(0, 9);

  pixels.setPixelColor(led, pixels.Color(0, 255, 0,0));

  pixels.show();   // Отправляем обновленные цвета пикселей на оборудование.

  delay(500);

 

}

 

void rndPurple() {

  int led = random(0, 9);

  pixels.setPixelColor(led, pixels.Color(171, 0, 255, 0));

  pixels.show();   // Отправляем обновленные цвета пикселей на оборудование.

  delay(500);

}

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

, 👍0


1 ответ


1

загрузка библиотек из /Users/erinshankland/Documents/Arduino/libraries: чтение каталога /Пользователи/erinshankland/Документы/Arduino/библиотеки: открыть /Users/erinshankland/Documents/Arduino/libraries: операция не разрешена

Это не проблема Arduino, а проблема ОС.

Либо ваш /Users/erinshankland/Documents/Arduino/libraries недоступен для вашего пользователя (проверьте разрешения), либо это не каталог.

Вы можете попробовать с терминала:

sudo chown -R erinshankland /Users/erinshankland/Documents/Arduino/libraries
chmod -R 755 /Users/erinshankland/Documents/Arduino/libraries

что сбросит владельца и права доступа к файлам для каталога и всего, что под ним.

Если нет, удалите папку с библиотеками (которая на самом деле может быть файлом, а не папкой), заново создайте ее и заполните нужными библиотеками.

,

Спасибо, это сработало! похоже, это была проблема с моими библиотеками!, @Erin Shankland