Создаёте в директории %Sketchbook%\Arduino\libraries папочку с названием вашей библиотеки (название состоит только из латинских букв и цифр, не может начинаться с цифры). Пусть это будет circleArea заходим в %Sketchbook%\Arduino\libraries\circleArea и создаём там два файла: circleArea.h - заголовочный файл circleArea.cpp - файл непосредственно с кодом. Открываем circleArea.h и пишем там: Код (C): #include <inttypes.h> // пригодится, мы будем использовать числовые типы #define PI 3.14 //куча знаков нам ни к чему //Объявляем нашу библиотечную функцию, ради которой все и затевалось float circleArea(float radius); сохраняем, закрываем. Отрываем circleArea.cpp и пишем там: Код (C): #include <inttypes.h> // пригодится, мы будем использовать числовые типы #include <Arduino.h> // ЕМНИП pow() отсюда #include <circleArea.h> // тут наши дефайны и объявления //Реализуем нашу библиотечную функцию, ради которой все и затевалось float circleArea(float radius) { return PI*pow(radius, 2); } сохраняем. Открываем Arduino и пишем Код (C): #include <circleArea.h> void setup() { // put your setup code here, to run once: Serial.begin(9600); } void loop() { // put your main code here, to run repeatedly: for (int i=1; i<5; ++i ) { Serial.print("circle area with radius "); Serial.print(i); Serial.print(" = "); Serial.println(circleArea(i)); } } Как-то так. Ну ещё можно зайти в C:\Program Files (x86)\Arduino\libraries (не знаю где это в маках) и посмотреть - как там реализованы библиотеки. можно найти много интересного
Ребят я вроде создал библиотеку. При запуске Arduino.IDE(1.0.3) мне всплывают следующие сообщения: . Что не так? Имя вроде подходит. Я сейчас лазял по сайтам, книгам и заметил что везде говорят "фаилы", а я при создание использовал. Это имеет значение или нет?
Ребят я уже долго пытаюсь создать библиотеку. В этой библиотеке должна содержаться программа по управлению 2-ух колёсным роботом вот сам код: Код (C++): int leftDirPin = 4; int leftSpeedPin = 5; int rightDirPin = 7; int rightSpeedPin = 6; int runSpeed = 50; void setupMotorShield() { pinMode(leftDirPin, OUTPUT); pinMode(leftSpeedPin, OUTPUT); pinMode(rightDirPin, OUTPUT); pinMode(rightSpeedPin, OUTPUT); } void go() { analogWrite(leftSpeedPin, runSpeed); analogWrite(rightSpeedPin, runSpeed); } void stop() { analogWrite(leftSpeedPin, 0); analogWrite(rightSpeedPin, 0); } void goForward() { digitalWrite(leftDirPin, HIGH); digitalWrite(rightDirPin, HIGH); go(); } void turnLeft() { digitalWrite(leftDirPin, LOW); digitalWrite(rightDirPin, HIGH); go(); } void turnRight() { digitalWrite(leftDirPin, HIGH); digitalWrite(rightDirPin, LOW); go(); } Везде по сайтам лазял. Везде одно и тоже. Я уже очень долго пытаюсь создать библиотеку.ПОМОГИТЕ и ОБЪЯСНИТЕ КАК ЕЁ ДЕЛАТЬ!!!
http://forum.amperka.ru/threads/Библеотека.3398/#post-27105 См. сообщение №8 - там просто, но подробно изложено. Как еще объяснять? Создаете h-файл, содержащий объявления функций библиотеки, далее создаете c-файл, в котором находятся сами функции. В общем то - ВСЕ!
Оба файла библиотеки .h и .cpp нужно поместить в папку и дать ей имя без точки. Саму папку загрузить в папку library Ардуино, где остальные.
Упрощенная альтернатива: сохранить эти функции в текстовом файле (например, с расширением .h), копировать этот файл в папку со скетчем и в его начале подключать упомянутый файл при помощи: Код (C++): #include "XXXXX.h" По сути та же библиотека, только на ее создание потратите 5 минут. Для личного пользования (и не только) вполне пригодно.