Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
SetFirmwareVersion(byte major, byte minor)Содержание книги Поиск на нашем сайте
установить имя прошивки используя имя скетча без расширения
Отправка сообщений: sendAnalog(byte pin, int value) послать аналоговое сообщение sendDigitalPorts(byte pin, byte firstPort, byte secondPort) послать цифровое сообщение как отдельные байты sendDigitalPortPair(byte pin, int value) послать int на цифровой порт sendSysex(byte command, byte bytec, byte* bytev) послать комманду с аттрибутами в виде массива байт sendString(const char* string) послать строку на компьютер sendString(byte command, const char* string) послать строку на компьютер использя параметры командной строки
Получение сообщений: available() проверить наличие сообщений в буфере processInput() прочесть сообщение, находящееся в буфере attach(byte command, callbackFunction myFunction) подключить функцию к определенному типу сообщений detach(byte command) отключить функцию от определенного типа сообщений
Вызываемые функции Чтобы подключить вашу функцию к типу сообщений она должна соответствовать стандартным функциям обратного вызова. Существует три основных типа функций Firmata: generic, string, and sysex. generic void callbackFunction(byte pin, int value); system_reset void systemResetCallbackFunction(void); string void stringCallbackFunction(char *myString); sysex void sysexCallbackFunction(byte pin, byte byteCount, byte *arrayPointer);
Типы сообщений Представлены различные типы сообщений, к которым можно подключить нашу функциюh ANALOG_MESSAGE аналоговое значение пина DIGITAL_MESSAGE 8-бит цифровых данных (1 порт) REPORT_ANALOG включить/отключить отчет об аналоговом пине REPORT_DIGITAL включить/отключить отчет о цифровом пине SET_PIN_MODE установить режим пина INPUT/OUTPUT/PWM/и.т.д. FIRMATA_STRING строки C-стиля использующие stringCallbackFunction как типовую функцию SYSEX_START generic, сообщения (с MIDI SysEx протоколом), использует sysexCallbackFunction как типовую функцию SYSTEM_RESET сообщение для перезагрузки прошивки,используется systemResetCallbackFunction как типовая функция
Пример: Этот пример показывает, как можно передавать и получать аналоговые данные используя Firmata. #include <Firmata.h> byte analogPin;
void analogWriteCallback(byte pin, int value) { pinMode(pin,OUTPUT); analogWrite(pin, value); }
void setup() { Firmata.setFirmwareVersion(0, 1); Firmata.attach(ANALOG_MESSAGE, analogWriteCallback); Firmata.begin(); }
void loop() { while(Firmata.available()) { Firmata.processInput(); } for(analogPin = 0; analogPin < TOTAL_ANALOG_PINS; analogPin++) { Firmata.sendAnalog(analogPin, analogRead(analogPin)); } } LiquidCrystal Library
Данная библиотека позволяет Arduino работать с ЖКИ, основанными на чипах Hitachi HD44780 (или совместимыми), которые можно встретить в большинстве текстовых ЖКИ. Библиотека работает в 4-х и 8 битовом режиме. При этом используется 4 или 8 линий данных плюс линия RS, Enable, и, опционально, RW.
LiquidCrystal()
Описание: Создает переменную типа LiquidCrystal. Дисплей может быть подключен, используя 4 или 8 линий данных. В первом случае пины d0 - d3 остаются неподключенными. RW может быть подтянут на землю если он неподключен Синтаксис: LiquidCrystal(rs, enable, d4, d5, d6, d7) LiquidCrystal(rs, rw, enable, d4, d5, d6, d7) LiquidCrystal(rs, enable, d0, d1, d2, d3, d4, d5, d6, d7) LiquidCrystal(rs, rw, enable, d0, d1, d2, d3, d4, d5, d6, d7) Параметры: rs: номер пина Arduino который подключен к RS ЖКИ. rw: номер пина Arduino который подключен к RW ЖКИ(опционально). enable: номер пина Arduino который подключен к разрешающему пину ЖКИ. d0, d1, d2, d3, d4, d5, d6, d7: номера пинов Arduino которые подключены к соответствующим пинам LCD. d0, d1, d2, и d3 опциональны;
Пример: #include <LiquidCrystal.h> LiquidCrystal lcd(12, 11, 10, 5, 4, 3, 2); void setup() { lcd.print("hello, world!"); } void loop() {}
Begin() Описание: Устанавливает количество символов дисплея (кол-во строк, символов в строке). Синтаксис: lcd.begin(cols, rows) Параметры: lcd: переменная типа LiquidCrystal cols: количество символов в строке дисплея. rows: количество строк дисплея.
Clear() Описание: Очищает экран и устанавливает курсор в левый верхний угол. Синтаксис: lcd.clear() Параметры: lcd: переменная типа LiquidCrystal
Home() Описание: Устанавливает курсор в левый верхний угол дисплея. Новый текст будет заменять уже имеющийся. Синтаксис: lcd.home() Параметры: lcd: переменная типа LiquidCrystal
SetCursor() Описание: Устанавливает курсор в определенную позицию. Синтаксис: lcd.setCursor(col, row) Параметры: lcd: переменная типа LiquidCrystal col: номер символа, начиная с 0. row: номер строки, начиная с 0
Write() Описание: Печатает символ на ЖКИ. Синтаксис: lcd.write(data) Параметры: lcd: переменная типа LiquidCrystal data: символ, который необходимо отобразить.
Print() Описание: Печатает текст на ЖКИ. Синтаксис: lcd.print(data) lcd.print(data, BASE) Параметры: lcd: переменная типа LiquidCrystal data:данные для печати(char, byte, int, long, or string) BASE (опционально): основание, в котором передавать числа: BIN для двоичной (основание 2), DEC для десятиричной (основание 10), OCT для восьмеричной (основание 8), HEX для шестнадцатеричной (основание 16).
Cursor() Описание: Отображает курсор на экране ЖКи в том месте, где будет напечатан следующий символ. Синтаксис: lcd.cursor() Параметры: lcd: переменная типа LiquidCrystal
NoCursor() Описание: Скрывает курсор Синтаксис: lcd.noCursor() Параметры: lcd: переменная типа LiquidCrystal
Blink() Описание: Отображает мигающий курсор на экране ЖКИ. В случае использования вместе с функцией cursor(), результат будет зависеть от конкретного дисплея. Синтаксис: lcd.blink() Параметры: lcd: переменная типа LiquidCrystal
NoBlink() Описание: Выключает мигающий курсор. Синтаксис: lcd.noBlink() Параметры: lcd: переменная типа LiquidCrystal
Display() Описание: Включает дисплей после выключения функцией noDisplay(). восстанавливает текст и положение курсора, что были на дисплеее ранее. Синтаксис: lcd.display() Параметры: lcd: переменная типа LiquidCrystal NoDisplay() Описание: Выключает дисплей без потери информации на нем. Синтаксис: lcd.noDisplay() Параметры: lcd: переменная типа LiquidCrystal
ScrollDisplayLeft() Описание: Сдвигает содержимое дисплея влево Синтаксис: lcd.scrollDisplayLeft() Параметры: lcd: переменная типа LiquidCrystal
ScrollDisplayRight() Описание: Сдвигает содержимое дисплея вправо Синтаксис: lcd.scrollDisplayRight() Параметры: lcd: переменная типа LiquidCrystal
Autoscroll() Описание: Включает актоматический скроллинг дисплея. Это значит, что каждый последующий символ отправленный на дисплей, сдвигает имеющиеся на экране на одно положение, в зависимости от выбранного направления текста. Синтаксис: lcd.autoscroll() Параметры: lcd: переменная типа LiquidCrystal
NoAutoscroll() Описание: Выключает автоматический скроллинг дисплея. Синтаксис: lcd.noAutoscroll() Параметры: lcd: переменная типа LiquidCrystal
LeftToRight() Описание: Устанавливает направление набора текста слева-на-право, по умолчанию. Это значит, что каждый новый символ будет появляться справа от предыдущего. Синтаксис: lcd.leftTorRight() Параметры: lcd: переменная типа LiquidCrystal
RightToLeft() Описание: Устанавливает направление набора текста справа-на-лево. Это значит, что каждый новый символ будет появляться слева от предыдущего. Синтаксис: lcd.rightToLeft() Параметры: lcd: переменная типа LiquidCrystal
CreateChar() Описание: Создает новый символ для его отображения на ЖКИ. ПОддерживается 8 дополнительных символово 5x8 пикселов (с номерами от 0 до 7). Каждый символ представляет собой массив из 8 байт, по одному байту на каждую строку символа, занимая младшие 5 бит. Для создания специального символа используйте функцию write() с номером символа. Синтаксис: lcd.createChar(num, data) Параметры: lcd: переменная типа LiquidCrystal num: номер создаваемого символа (0 to 7) data: информация о пикселях символа
Servo Library
Библиотека позволяет платформе управлять сервомоторами от радиоуправляемых моделей (RC). Сервомоторы имеют встроенный редуктор и контролируемый вал. Стандартные сервомоторы позволяют поворачивать вал на определенный угол, обычно в пределах от 0 до 180 градусов. Сервомоторы непрерывного вращения позволяют изменять скорость вращения вала. В Arduino 0017 библиотеа Сервомотора поддерживает до 12 машинок для большинства платформ, и до 48 машинок на платформе Arduino Mega. На платформах (кроме Mega) использование библиотеки не позволяет использовать функциональные возможности команды analogWrite() (ШИМ) на выводах 9 и 10 независимо от того, подключен к ним сервомотор или нет. На платформе Mega могут быть использованы до 12 машинок без вмешательства в функционирования ШИМ; при использовании от 12 до 23 моторов функция ШИМ на выводах 11 и 12 будет недоступна В Arduino 0016 и более ранных библиотека использует встроенную аппаратную функциональность и может работать только на выводах 9 и 10 (не работает совсем на Arduino Mega). В этом случае, если используется одно серво, другой вывод не ножет быть использован как нормальный ШИМ вывод для analogWrite(). Схема. Сервомотор имеет три провода: питание, земля и управляющий вывод. Провод питания обычно красного цвета, подключается к выводу +5В на платформе Arduino. Провод Земля, обычно черного или коричневого цвета, подключется подключается к Земле платформы Arduino. Управляющий провод обычно желтого, оранжевого или белого цвет подключается к цифровому выводу платформы. Следует иметь ввиду, что сервомоторы достаточно мощные устройства, и при использовании более чем одного или двух следует подключить их к отдельному внешнему источнику питания (а не к выводу +5В на платформе). При этом нужно соединить Землю платформы с Землей внешнего источника питания.
Attach() Описание: Связывает переменную и вывод. Заметьте, что в Arduino 0016 и более ранних версиях библиотека Сервомотора поддерживает подключение сервомоторов только к выводам 9 и 10. Синтаксис: servo.attach(pin) servo.attach(pin, min, max) Параметры: servo: переменная типа Серво pin: номер вывода, к которому подключен сервомотор min (дополнительно): ширина импульса, в микросекундах, соответствущего минимальному углу (0 градусов) на сервомоторе (стандартное значение 544) max (дополнительно): ширина импульса, в микросекундах, соответствующего максимальному углу (180 градусов) на сервомоторе (стандартное значение 2400) Пример: #include Servo myservo; void setup() { myservo.attach(9); }
void loop() {}
Write() Описание Передает значение сервомотору, управляет валом сервомотора. В стандартных сервомоторах устанавливает вал на определенный угол (в градусах), перемещая его на определенную позицию. На сервомоторах непрерывного вращения устанавливает скорость вращения вала (значение 0 соответствует максимальной скорости при вращении в прямом направлении, 180 - максимальной скорости при вращении в обратном направлении, 90 - вал неподвижен) Синтаксис servo.write(angle) Параметры servo: переменная типа Серво angle: величина управляющего воздействия. Пример #include Servo myservo; void setup() { myservo.attach(9); myservo.write(90); // set servo to mid-point }
void loop() {}
writeMicroseconds () Описание Передает значение сервомотору (в микросекундах), управляет валом сервомотора. На стандартных сервомоторах значение 1000 соответствует полному повороту против часовой стрелке, 2000 - полному повороту по часовой стрелке и 1500 - среднее положение. Некоторые производители не соблюдают этот стандарт в точности, поэтому сервомоторы часто реагируют на величину от 700 до 2300. Можно увеличивать конечные точки до тех пор, пока сервомотор не перестанет изменять положение вала. Отметьте, что попытка управлять сервомотором за пределами конечных точек (часто сопровождается гудением) приводит к большому потреблению тока сервомотором, что следует избегать. Сервомоторы непрерывного вращения реагируют на команду writeMicrosecond аналогично команде write. Синтаксис: servo: переменная типа Серво uS: значение параметра (в микросекундах) (int) Пример: #include Servo myservo; void setup() { myservo.attach(9); myservo.writeMicroseconds(1500); // set servo to mid-point }
void loop() {}
read() Описаие Считывает положение вала сервомотора (величина соответствует последнему обращению к команде write()) Синтаксис: servo.read() Параметры: servo: переменная типа Серво Значения Угол поворота Серво (от 0 до 180 градусов)
Attached() Проверяет, привязан ли серво к выводу или нет. Синтаксис: servo.attached() Параметры: servo: переменная типа серво Возвращает: true если серво привязана к выводу и false в другом случае
Detach() Описание Отвязывает переменную Серво от вывода. Если все переменные Серво отвязаны, то выводы 9 и 10 могут быть использованы для ШИМ с функцией analogWrite(). Синтаксис: servo.detach () Параметры servo: переменная типа Серво
SoftwareSerial Library
Оборудование Arduino имеет встроенную поддержку коммуникационного последовательного порта на выводах 0 и 1. Железная поддержка обеспечивается встроенным в чип модулем UART. Этот модуль позволяет передавать и принимать данные во время других дел, используя входной буфер данных. Библиотека SoftwareSerial разработана для возможности последовательной коммуникации на других портах, используя программную поддержу функциональности Ограничения: Поскольку отсутсвует встроенная поддержrа библиотека имеет следующие ограничения: Работа на скорости до 9600 бод Serial.available() не работает Serial.read() будет ждать пока данные не придут Только данные, переданные во время выполнения функции Serial.read() будут приняты. Все остальные - потеряны.
|
||||
Последнее изменение этой страницы: 2016-08-15; просмотров: 252; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 13.59.112.169 (0.01 с.) |