Как мне установить файл библиотеки в Arduino IDE?

#arduino

#arduino

Вопрос:

Я пытаюсь установить библиотеку (pitches.h) в Arduino IDE, выбрав «Эскиз» > «Включить библиотеку» > «Добавить.ZIPLibrary». Затем я получил сообщение об ошибке, показанное ниже:

 /Users/tomo/Desktop/passive_buzzer/passive_buzzer.ino
A library named pitches already exists
  

Но я не вижу библиотеку «pitches» в выпадающем меню, которое появляется при выборе «Включить библиотеку». И затем, когда я скомпилировал эскиз, я получил следующее сообщение об ошибке:

 passive_buzzer:4:10: fatal error: pitches.h: No such file or directory
 #include <pitches.h>
          ^~~~~~~~~~~
compilation terminated.
exit status 1
pitches.h: No such file or directory
  

Поэтому я думаю, что библиотека установлена неправильно. Кто-нибудь может помочь мне установить его правильно, пожалуйста?

Имя файла библиотеки правильное, поскольку я скопировал и вставил имя файла из файла в эскиз.

Я думаю, что структура папок библиотеки также должна быть правильной. Когда я разархивировал «pitches.zip «, Я получил файл «pitches.h» в папке с именем «pitches». Я заархивировал только файл «pitches.h», а затем попытался установить его, выбрав «Эскиз» > «Включить библиотеку» > «Добавить.ZIPLibrary». Я получил следующее сообщение:

 java.io.IOException: Zip doesn't contain a library
    at processing.app.Base.handleAddLibrary(Base.java:2417)
    at processing.app.Base$6.actionPerformed(Base.java:1124)
    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
    at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
    at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
    at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
    at javax.swing.AbstractButton.doClick(AbstractButton.java:376)
    at com.apple.laf.ScreenMenuItem.actionPerformed(ScreenMenuItem.java:125)
    at java.awt.MenuItem.processActionEvent(MenuItem.java:669)
    at java.awt.MenuItem.processEvent(MenuItem.java:628)
    at java.awt.MenuComponent.dispatchEventImpl(MenuComponent.java:357)
    at java.awt.MenuComponent.dispatchEvent(MenuComponent.java:345)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:763)
    at java.awt.EventQueue.access$500(EventQueue.java:97)
    at java.awt.EventQueue$3.run(EventQueue.java:709)
    at java.awt.EventQueue$3.run(EventQueue.java:703)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84)
    at java.awt.EventQueue$4.run(EventQueue.java:733)
    at java.awt.EventQueue$4.run(EventQueue.java:731)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:730)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
Zip doesn't contain a library
  

Окружающая среда
Arduino: 1.8.13 (Mac OS X), Плата: «Arduino Mega или Mega 2560, ATmega2560 (Mega 2560)»
macOS Mojave версии 10.14.6

Заранее благодарю тебя, Томо

Комментарии:

1. загляните в libraries папку в папке sketchbook. папка sketchbook настраивается в настройках IDE

2. Сработало! Большое вам спасибо!!! Я узнал, что 1) файл библиотеки должен храниться в папке с именем «библиотеки» и 2) папка «библиотеки» должна находиться в «расположении sketchbook», которое определено в "Arduino" > "Preferences" .

Ответ №1:

Благодаря Juraj я нашел способ установить и включить библиотеку:

  1. Сохраните файл sketchbook и файл библиотеки в «Расположении Sketchbook».
  2. Откройте файл sketchbook в «Расположении Sketchbook». (Автоматически создается папка, и файл sketchbook перемещается в папку, после чего sketchbook откроется.)
  3. Через открытый альбом для рисования установите файл библиотеки в «Расположение альбома для рисования» и включите его.

«Местоположение Sketchbook» может быть подтверждено / определено "Arduino" > "Preference" . Этот способ был применим к другим файлам sketchbook и связанным с ними библиотечным файлам, предоставленным Arduino.