Map(value, fromLow, fromHigh, toLow, toHigh) 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Map(value, fromLow, fromHigh, toLow, toHigh)



Описание:

Переводит число из одного диапазона в другой. Не проверяет принадленость чисел диапазону. Возможно использование constrain() до или после использования этой функции, если имеются какие-либо ограничесния по диапазону.

Полезно знать, что "нижнее значение", может быть как меньше так и больше "верхнего значения". Таким образом функция map() может использоваться для реверсирования, например:

y = map(x, 1, 50, 50, 1);

Функция может работать также и с отрицательными числами, например:

y = map(x, 1, 50, 50, -100);

Параметры:

value:число для ремаппинга

fromLow: нижняя граница текущего диапазона

fromHigh: верзняя граница текущего диапазона

toLow: нижняя граница желаемого диапазона

toHigh: верхняя граница желаемого диапазона

 

Pow(base, exponent)

Описание:

Возвращает число, возведенное в соответствующую степень

параметры:

base: число(float)

exponent: степень, в которую следует возвести (float)


Sqrt(x)

Описание:

Вычисляет квадратный корень числа

Парметры:

x: число, любой тип данных

Возвращает

double, квадратный корень

 

Тригонометрические функции

 

sin(rad)

Описание:

Вычисляет синус угла в радианах. Результат будет между -1 и 1

параметры:

rad: угол в радианах (float)

Возвращает:

синус угла (double)

 

cos(rad)

Описание:

Вычисляет косинус угла в радианах. Результат будет между -1 и 1

параметры:

rad:угол в радианах (float)

Возвращает:

косинус угла (double)

 

tan(rad)

Описание:

Вычисляет тангенс угла в радианах. Результат будет между минус бесконечностью и плюс бесконечностью.

параметры:

rad:угол в радианах (float)

Возвращает:

Тангенс угла(double)

 

Следует помнить, что Serial.print() и Serial.println() некорректно работают с переменными типа float.

 

Функции случайных чисел

 

randomSeed(seed)

Описание:

randomSeed() инициализует генератор псевдо-случайных чисел, запуская его в произвольной точке случайной последовательности. Эта очень длинная и случайная последовательность всегда одинакова.

Если важно использовать действительо случайную последовательность, используйте randomSeed() для инициализации генератора случайных числе от произвольного выхода, например через analogRead() на неподключенный пин.

Наоборот, иногда необходима точно повторяющаяся последовательность. Это можно реализовать вызовом randomSeed() с фиксированным числовым параметром.

Параметры:

long, int - число для генерации последовательности

 

Random()

Описание:

Генерирует псевдо-случайное число

Синтаксис:

long random(max)

long random(min, max)

параметры:

min - нижняя граница диапазона случайных чисел(опционально)

max - верхняя граница диапазона случайных чисел.

Возвращает:

long - случайное число между min и max – 1

 

Биты и байты

 

LowByte()

Описание:

Извлекает младший байт переменной.

Синтаксис:

lowByte(x)

Параметры:

x: переменная любого типа

Возвращает:

byte

 

HighByte()

Описание:

Извлекает старший байт слова (или второй младший байт больших типов данных).

Синтаксис:

highByte(x)

Параметры:

x: переменная любого типа

Возвращает:

byte

 

BitRead()

Описание:

Читайет поределенный бит переменной.

Синтаксис:

bitRead(x, n)

Параметры:

x: число, бит которого чледует прочесть

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

Возвращает:

состояние бита(0 или 1).

 


BitWrite()

Описание:

Устанавливает значение бита переменной в определенное состояние

Синтаксис:

bitWrite(x, n, b)

Параметры:

x: число, бит которого чледует прочесть

n: какой бит следует записать, начиная с правого.

b: состояние, которое слудет записать в бит(0 или 1)

 

BitSet()

Описание:

устанвливает (пишет 1) в бит числовой переменной.

Синтаксис:

bitSet(x, n)

Параметры:

x: переменная, у которой необходимо установить бит

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

 

BitClear()

Описание:

Сбрасывает (пишет 0) бит числовой переменной

Синтаксис:

bitClear(x, n)

Параметры:

x: переменная, у которой необходимо сбросить бит

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

 

Bit()

Описание:

Вычисляет значение определенного бита (бит 0 это 1, бит 1 - это 2, бит 2 - это 4 и т.д.)

Синтаксис:

bit(n)

Параметры:

n: бит, чье значение необходимо вычислить

Возвращает:

значение бита

 

Функции прерываний

AttachInterrupt(interrupt, function, mode)

Описание:

Определяет функцию, которая будет вызвана при срабатывании внешнего прерывания. Заменяет привязанную ранее функию. Большинство платформ имеют два внешних прерывания: с номерами 0 (на цифровом пине 2) и 1(на цифровом пине 3). Arduino Mega дополнительно содержит еще 4 внешних прерыванияhas: номер 2 (вывод 21), 3 (вывод 20), 4 (вывод 19), and 5 (вывод 18).

Параметры

interrupt: номер прерывания (int)

function: функция вызываемся при срабатывании прерывания. Следует учесть, что функция не должна иметь параметров и ничего не возвращать. Такая функция называется обработчиком прерывания.

 

mode определяет, на что должно срабатывать прерывание. Четыре константы устанавливают определеное действие:

LOW срабатывание прерывания, когда на выводе низкий уровень напряжения,

CHANGE срабатывание прерывания каждый раз прис менене уровня напряжения на выводе

RISING срабатывание прерывания по фронту - когда состояние вывода изменяется от LOW к HIGH,

FALLING срабатывание прерывания по спаду - когда состояние вывода изменяется от HIGH к LOW

 

Примечание:

Внутри функций прерывания delay() не работает, и значение,возвращаемое фнукцией millis() не инкрементируется. Передаваемые по последовательному порту данные могут быть потеряны. Следует объявить как volatile любые перемены, модифицируемые в обработчике прерывания.

Использование прерываний:

Прерывания отлично подходят для создания автоматических действий в программах и могут решать некоторые временные проблемы. Отличной задачей с использованием прерываний является программа управления енкодером. Чтобы быть уверенным, что ни один импульс от енкодера не будет потерян, будет сложно написать программу, выполняющую кроме слежения что-то еще. Повесив выход енкодера на внешнее прерывание можно с легкостью решить эту проблему.

 

DetachInterrupt(interrupt)

Описание:

Выключает объявленное ранее прерывание

Параметры

interrupt: номер отключаемого прерывания (0 или 1).

 

Interrupts()

Описание:

Реактивирует прерывание (после того, как оно было деактивировано функцией noInterrupts()). Прерывания обычно решают важные задачи, и по умолчанию активированы. Однако, некоторые функции не могут работать, пока прерывания активированы, и входные данные могут быть проигнорированы. Прерывания могут повлиять на времязависимые функции, вы можете деактивировать прерывания при выполнении критически-важных функций.

 

NoInterrupts()

Описание:

Деактивирует прерывания.

Disables interrupts (их можно после снова активировать функцие interrupts()). Прерывания обычно решают важные задачи, и по умолчанию активированы. Однако, некоторые функции не могут работать, пока прерывания активированы, и входные данные могут быть проигнорированы. Прерывания могут повлиять на времязависимые функции, вы можете деактивировать прерывания при выполнении критически-важных функций.

 

Коммуникации

 

Serial

Используется для связи между платформой Arduino и компьютером или другими устройствами. Все платформы Arduino имеют как минимум один последовательный порт.(называемый UART или USART): Последовательный порт использует цифровые выводы 0 (RX) и 1 (TX) например для связи с компьютером посредством USB. Если вы используете функции последовательного порта, то мы не можете использовать выводы 0 и 1 для других целей.

Вы можете использовать встроенный терминал для связи с платформой Ardino. Щелкните мышкой по кнопке serial monitor в панели задач и выберете скорость работы порта, которую вы указали в функции begin().

Платформа Arduino Mega имеет 3 дополнительных последовательный порта: Serial1 на выводах 19 (RX) и 18 (TX), Serial2 на выводах 17 (RX) и 16 (TX), Serial3 на выводах 15 (RX) и 14 (TX). Для использования этих портов для связи с компьютером понадобится дополнительный переходник USB-to-serial, поскольку они не подключены в адаптеру USB-to-serial на плате. Для использования их для связи со внешними устройствами, подключите вывод TX вашего устройства к выводу RX, вывод RX вашего устройства к выводу TX, и землю платформы Mega с землей вашего устройства.

 

Serial.begin(int speed)

Описание:

Устанавливает скорость обмена данными в бит в секунду (бод). Для связи с компьютером определены следующие скорости: 300, 1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600, или 115200. Для связи с устройствами можно установить любую скорость обмена данными.

Параметры:

long datarate, в бит в секунду (бод)

 

Serial.end()

Описание:

Отключает работу последовательного порта, разрешая использование выводов RX и TX для других нужд. Для повторного включения последовательного порта используется команда Serial.begin().

Синтаксис:

Serial.end()

В Arduino Mega:

Serial1.end()

Serial2.end()

Serial3.end()

 

Int Serial.available()

Описание:

Возвращает число байт(символов) доступных для чтения.

Возвращает:

Число байт доступных для чтения в буфере последовательного порта или 0 если буфер пустой. Если пришли любые данные, Serial.available() будет больше 0. Емкость буфера до 128 байт.

 

Int Serial.read()

Описание:

Читает пришедшие данные

Возвращает:

Первые байт имеющейся очереди (или -1 если данных нет) int

 

Serial.flush()

Описание:

Очищает очередь данных. т.е. любой вызов Serial.read() или Serial.available() будет возвращать данные, полученные только после применения Serial.flush().

 

Serial.print(data)

Описание:

Печатает данные в порт

Параметр:

data: целочислительные переменные, включая char, floats

Печать чисел с плавающей точкой поддерживается только до двух знаков после запятой.

Это может скоро измениться

Синтаксис:

Команда может принимать множество форм

Serial.print(b) без форматирования, напечатает b как номер символа из таблицы ASCIInumber. Для примера

int b = 79;

Serial.print(b);

Serial.print(b, DEC) печатает b как десятичное число - номер символа таблицы ASCII. Напрример,

int b = 79;

Serial.print(b, DEC);

prints the string "79".

Serial.print(b, HEX) печатает b как шестнадцатеричное число - номер символа таблицы ASCII. Напрример,

int b = 79;

Serial.print(b, HEX);

prints the string "4F".

Serial.print(b, OCT) печатает b как восьмеричное число - номер символа таблицы ASCII. Напрример,

int b = 79;

Serial.print(b, OCT);

prints the string "117".

Serial.print(b, BIN) печатает b как двоичное число - номер символа таблицы ASCII. Напрример,

int b = 79;

Serial.print(b, BIN);

prints the string "1001111".

Serial.print(b, BYTE) печатает b как байт. Напрример,

int b = 79;

Serial.print(b, BYTE);

Serial.print(str) если используется массив символов ASCII. Например,

Serial.print("Hello World!");

Напечатает строку "Hello World!".

Обновлено в 0018:

Второй параметр может указывать количество точек после запятой для вывода, либо тип выводимых данных, к примеру:

Serial.print(78, BYTE) выведет "N"

Serial.print(78, BIN) выведет "1001110"

Serial.print(78, OCT) выведет "116"

Serial.print(78, DEC) выведет "78"

Serial.print(78, HEX) выведет "4E"

Serial.println(1.23456, 0) выведет "1"

Serial.println(1.23456, 2) выведет "1.23"

Serial.println(1.23456, 4) выведет "1.2346"

Параметры:

b: байт для печати

str: строка для печати

 

Serial.println(data)

Описание:

Печатает данные в порт завершая их символом возврата каретки и переноса строки (ASCII 13, или '\r') (ASCII 10, или '\n'). Эта команда имеет те же формы что и Serial.print():

Serial.println(b) печатает b как номер символа таблицы ASCII, завершая символом конца строки и возврата каретки.

Serial.println(b, DEC) печатает b как десятичное исло - номер символа таблицы ASCII, завершая символом конца строки и возврата каретки.

Serial.println(b, HEX) печатает b как шестнадцатеричное число - номер символа таблицы ASCII, завершая символом конца строки и возврата каретки.

Serial.println(b, OCT) печатает b как восьмеричное число - номер символа таблицы ASCII, завершая символом конца строки и возврата каретки..

Serial.println(b, BIN) печатает b как двоичное число - номер символа таблицы ASCII, завершая символом конца строки и возврата каретки..

Serial.println(str) печатает массив символов.

Serial.println() просто переводит строку и возвращает каретку.

Параметры:

типы данных: целочислительные, включая char, строки(массивы символов) & floats

Печать чисел с плавающей точкой поддерживается только до двух знаков после запятой.

Это может скоро измениться

 

Serial.write()

Описание:

Пишет бинарные данные в последовательный порт. Эти данные будут посланы как байт или серия байт; для передачи символов используйте функцию print().

Синтаксис:

serial.write(val)

serial.write(str)

serial.write(buf, len)

Параметры:

val: посылаемое значение single byte

str: посылаемая строка как последовательность байт

buf: посылаемый массив как последовательность байт

len: длина буфера

Библиотеки

 

Чтобы пользоваться библиотекой в скетче откройте меню Sketch, выберите "Import Library", и щелкните по необходимой библиотеке. Это поместит одну или несколько директив препроцессора #include в начало скетча и позволит использовать данные библиотеки.

 

Поскольку библиотеки увеличивают объем конечного HEX-кода, зашиваемого в контроллер, может случиться нехватка места. Поэтому, если какая-то библиотеке более не используется в проекте, удалите ее объявление из вашего кода.

 

Стандартные библиотеки

 

Serial - чтение и запись в последовательный порт

EEPROM - чтение и запись во внутреннюю память данных.

Ethernet - для подключения к интернету, используя Arduino Ethernet Shield

Firmata - для связи с компьютерными приложениями, использующими стандартный последовательный протокол.

LiquidCrystal - для работы с ЖКИ

Servo - для работы с сервоприводами

SoftwareSerial - для последовательной коммуникации используя любые порты

Stepper - для работы с шаговыми электродвигателями.

Wire - Двух-проводной интерфейс (TWI/I2C) для обмена данных между сетью устройств и датчиков.

 

Эти библиотеки являются совместимыми с Wiring и ссылки ведут на документацию Wiring.

Matrix - управление светодиодными матрицами

Sprite - Создание анимаций используя светодиодные матрицы

 

Сторонние библиотеки

 

Коммуникации (сеть и протоколы):

Messenger - for processing text-based messages from the computer

NewSoftSerial - an improved version of the SoftwareSerial library

OneWire - control devices (from Dallas Semiconductor) that use the One Wire protocol.

PS2Keyboard - read characters from a PS2 keyboard.

Simple Message System - send messages between Arduino and the computer

SSerial2Mobile - send text messages or emails using a cell phone (via AT commands over software serial)

Webduino - extensible web server library (for use with the Arduino Ethernet Shield)

X10 - Sending X10 signals over AC power lines

XBee - for communicating with XBees in API mode

SerialControl - Remote control other Arduinos over a serial connection

 

Датчики:

Capacitive Sensing - turn two or more pins into capacitive sensors

Debounce - for reading noisy digital inputs (e.g. from buttons)

 

Дисплеи и светодиоды:

Improved LCD library fixes LCD initialization bugs in official Arduino LCD library

GLCD - graphics routines for LCD based on the KS0108 or equivalent chipset.

LedControl - for controlling LED matrices or seven-segment displays with a MAX7221 or MAX7219.

LedControl - an alternative to the Matrix library for driving multiple LEDs with Maxim chips.

LedDisplay - control of a HCMS-29xx scrolling LED display.

 

Генераторы частоты и Audio:

Tone - generate audio frequency square waves in the background on any microcontroller pin

 

Двигатели и ШИМ:

TLC5940 - 16 channel 12 bit PWM controller.

 

Время:

DateTime - a library for keeping track of the current date and time in software.

Metro - help you time actions at regular intervals

MsTimer2 - uses the timer 2 interrupt to trigger an action every N milliseconds.

 

Утилиты:

TextString aka String - handle strings

PString - a lightweight class for printing to buffers

Streaming - a method to simplify print statements

 

EEPROM Library

 

Микроконтроллер платформы Arduino имеет 512 байт EEPROM: память, данные в которой сохраняются если выключить МК.(что-то наподобие маленького жесткого диска). Данная библиотека позволяет читать и писать эти байты.

Функции:

read()

write()

 

byte EEPROM.read(address)

Описание

Читает данные из EEPROM.

Параметр:

address:номер ячейки от 0 до 511 (int)

Возвращает:

значение, хранящееся в этой ячейке (byte)

Пример:

#include <EEPROM.h>

int a = 0;

int value;

void setup()

{

Serial.begin(9600);

}

void loop()

{

value = EEPROM.read(a);

Serial.print(a);

Serial.print("\t");

Serial.print(value);

Serial.println();

a = a + 1;

if (a == 512)

a = 0;

delay(500);

}

 

EEPROM.write(address, value)

Описание:

Пишет данные в EEPROM.

Параметры:

address: номер ячейки от 0 до 511 (int)

value: значение ячейки от 0 до 255 (byte)

Датащит на Atmega 168 указывает, что память EEPROM выдерживает 100000 циклов чтения/записи. Это тот лимит как много раз вы можете писать информацию в память данных. Учтите это при разработке долго-живущих проектов или быстрой работой с данными.

Датащит также указывает, что запись данных происходит за 3.3 мс. Другие операции чтения/записи вылетят с ошибкой, если они будут выполняться в это время. Эта задержка интегрирована в библиотеку EEPROM и каждый раз происходит принудительная задержка в 3,3мс.

Поэтому вам не нужно самостоятельно беспокоиться об этой задержке.

Пример:

#include <EEPROM.h>

void setup()

{

for (int i = 0; i < 512; i++)

EEPROM.write(i, i);

}

void loop()

{

}

 

Ethernet library

 

Используя Arduino Ethernet Shield, эта библиотека позволяет Arduino подключаться к интернету. Она может создавать соединения на как на вход, так и на выход, причем максимальное количество конкурентных соединенией 4.

 

Ethernet class

Ethernet class инициализирует библиотеку и подключается к интернету.

begin()

 

Server class

Server class создает сервера, способные обмениваться данными с клиентами. (программами, запущенными на других компьютерах).

Server()

begin()

available()

write()

print()

println()

 

Server()

Описание

Создает сервер, слушающий подключения к конкретному порту

Синтаксис

Server(port);

Параметры

port: Порт, который слушаем (int)

 

Begin()

Описание:

Говорит серверу начать слушать подключения.

Syntax

server.begin()

 

Available()

Описание:

Дает возможность клиенту, подключенному к серверу читать данные. Соединение сохраняется, когда клиент уходит из области видимости; вы можете закрыть соединение, вызвав client.stop()

Синтаксис:

server.available()

 

Write()

Описание:

Отправляет данные всем клиентам, подключенным к серверу.

Синтаксис:

server.write(data)

Параметры:

data: данные на запись (byte или char)

 

Print()

Описание:

Печатает данные всем клиентам, подключенным к серверу. Передает набор символов ASCII (т.е. число 123 будет передано как три символа '1', '2', '3').

Синтаксис:

server.print(data)

server.print(data, BASE)

Параметры:

data: данные на запись (char, byte, int, long, or string)

BASE (опционально): основание, в котором передавать числа: BIN для двоичной (основание 2), DEC для десятиричной (основание 10), OCT для восьмеричной (основание 8), HEX для шестнадцатеричной (основание 16).

 

Println()

Описание:

Печатает данные всем клиентам, подключенным к серверу, завершая их переносом строки. Передает набор символов ASCII (т.е. число 123 будет передано как три символа '1', '2', '3').

Синтаксис:

server.println()

server.println(data)

server.println(data, BASE)

Параметры:

data: данные на запись (char, byte, int, long, or string)

BASE (опционально): основание, в котором передавать числа: BIN для двоичной (основание 2), DEC для десятиричной (основание 10), OCT для восьмеричной (основание 8), HEX для шестнадцатеричной (основание 16).

Client class

 

Client class создает клиентов, способных подключаться к серверам и обмениваться с ними данными.

Client()

connected()

connect()

write()

print()

println()

available()

read()

flush()

stop()

Client()

Описание:

Создает клиента, который может подключиться к определенному IP и порту.

Синтаксис:

Client(ip, port)

Параметры:

ip: IP адрес сервера, к которому хотим подключиться (массив из 4 байт)

port: порт, к которому хотим подключиться (int)

 

Connected()

Описание:

Подключен или не подключен клиент. Учтите, что клиент считается подключенным, если закрыто соединение, но осталис непрочитанные данные.

Синтаксис:

client.connected()

Возвращает:

TRUE если клиент подключен, и FALSE - если нет.

 

Connect()

Описание:

Подключается к IP адресу и порту, указанных ранее. Возвращет значение, означающее успешность подключения.

Синтаксис:

client.connect()

Возвращает:

 

TRUE если подключение установлено, FALSE - если нет.

 

Write()

Описание:

Отправляет данные на сервер, к которому подключен клиент.

Синтаксис:

client.write(data)

Параметры:

 

data: byte или char для записи

 

Print()

Описание:

Пишет данные на сервер, подключенный к клиенту. Передает набор символов ASCII (т.е. число 123 будет передано как три символа '1', '2', '3').

Синтаксис:

client.print(data)

client.print(data, BASE)

Параметры:

data:данные для печати(char, byte, int, long, или string)

BASE (опционально): основание, в котором передавать числа: BIN для двоичной (основание 2), DEC для десятиричной (основание 10), OCT для восьмеричной (основание 8), HEX для шестнадцатеричной (основание 16).

 

Println()

Описание:

Пишет данные на сервер, подключенный к клиенту, завершая их переносом строки. Передает набор символов ASCII (т.е. число 123 будет передано как три символа '1', '2', '3').

Синтаксис:

client.println()

client.println(data)

client.print(data, BASE)

Параметры:

data (опциональноl): данные для печати (char, byte, int, long, или string)

BASE (опционально): основание, в котором передавать числа: BIN для двоичной (основание 2), DEC для десятиричной (основание 10), OCT для восьмеричной (основание 8), HEX для шестнадцатеричной (основание 16).

 

Available()

Описание:

Возвращает число байт, доступных для чтения.(т.е. объем данных для клиента, которые отправил сервер).

Синтаксис:

client.available()

Возвращает:

Число доступных байт

 

Read()

Описание:

Читает следующий переданный сервером байт после последнего вызова read().

Синтаксис:

client.read()

Возвращает:

Следующий байт или символ, или -1 если больше ничего нет.

 

Flush()

Описание:

Сбросить все отправленные, но не прочтенные клиентом байты.

Синтаксис:

client.flush()

 

 


Stop()

Описание:

Разрывает соединение с сервером.

Синтаксис:

client.stop()

Firmata Library

 

Данная библиотека позволяет использовать протокол Firmata для связи с программным обеспечением компьютера. Это позволяет вам написать собственную прошивку, протокол и объекты для программирования используемой среды.

 

Методы

Begin()

Начать использовать библиотеку

Begin(long)

Начать использовать библиотеку на отличной от дефолтной скорости данных

PrintVersion()

Отправить версию протокола на компьютер

PrintFirmwareVersion()

отправить имя прошивки и ее версию на компьютер.



Поделиться:


Последнее изменение этой страницы: 2016-08-15; просмотров: 320; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 100.26.140.179 (0.469 с.)