Електроника и Електротехника | Electronics and Electrical Engineering > Аналогово управление | Analog Control
Arduino за стрелки
pavel75:
Гледам във всяка програмка за въртене на моторче започва със:
#include <Servo.h>
Това доколкото разбрах от ровенето из интернет е някаква готова библиотека.
Въпросите са ми:
1. Явно трябва задължително да се запише този ред в програтамата. Така ли е?
2. Какво точно прави тази библиотека? В смисъл в кода после трябва ли нещо да е съобразено с тази библиотека?
mitko0888:
Естествено че трябва кодът ти да е съобразен с тази библиотека.
В servo.h хората вече са ти написали много неща, с помощта на които ти можеш да използваш сервото. Когато ти си пишеш твоя код, ти не казваш на сервото какво да прави, а казваш на тази библиотека какво да прави със сервото. За целта в библиотеката са написани и съответните функции, с помощта на които ти да си комуникираш с нея. За това е задължително (според мен) да знаеш какво прави библиотеката.
Можеш да погледнеш в официалния сайт: https://www.arduino.cc/en/Reference/Servo. Написано си е точно какви функции има библиотеката и какво можеш да ползваш от нея. Мисля че това е достатъчно, дори и не само за начало, но и за сериозна употреба на сервото. Ако пък толкова ти е интересно, можеш да потърсиш и детайлите - как работи самата библиотека, и съответно във форумите да прочетеш какви са проблемите с нея, въпреки че и в общото описание (от линка) са дадени всички детайли, които ти трябват.
ПС: на примера, който ти дадох, се ползва три библиотеки. Можеш по същия начин да видиш за какво са и какви функции имат. Според мен ще ти трябват и те. Поне тази за бутоните.
Mixy:
1. Тази библиотека включва декларациите за класове и функции, с които се управлява сервото, защото те не са стандартни за езика C.
2. Библиотеката позволява извикване на всички функции и обекти в кода, които указват на сервото какво да прави (как да се завърти). Ако тази библиотека не е включена, всяко извикване като напр. servoServos.attach(servoPins); ще гърми с грешка при компилиране. И тогава ще трябва да се пише и доста код от по-ниско ниво.
P.S. Митко ме е изпреварил, при това с повече подробности :)
mitko0888:
--- Цитат на: Mixy link=topic=4987.msg109551#msg109551 date=1511334305 ---... servoServos.attach(servoPins); ще гърми с грешка при компилиране.
--- Край на цитат ---
Не съм сигурен в този компилатор, ама още на Servo myservo; трябва да изгърми.
pavel75:
Ето какво съм "открил" до сега:
#include <EEPROM.h> - тази библиотека пази стойностите когато платката е изключена.
#include <Servo.h> - това вече го споменахме - за управлението на машинката
#include <Bounce2.h> - за това обаче още нищо не мога да открия.
Навигация
[0] Списък на темите
Премини на пълна версия