Site Language

Translate

Russian Albanian Arabic Armenian Azerbaijani Belarusian Bulgarian Catalan Croatian Czech Danish Dutch English Estonian Filipino Finnish French Galician Georgian German Greek Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian Persian Polish Portuguese Romanian Serbian Slovak Slovenian Spanish Swedish Turkish Ukrainian Yiddish

CashBack Реальный возврат при покупках в интернете

Основные версии плат Arduino

Due — плата на базе 32-битного ARM микропроцессора Cortex-M3 ARM SAM3U4E;

Leonardo — плата на микроконтроллере ATmega32U4;

Uno — самая популярная версия базовой платформы Arduino;

Duemilanove — плата на микроконтроллере ATmega168 или ATmega328;

Diecimila — версия базовой платформы Arduino USB;

Nano — компактная платформа, используемая как макет. Nano подключается к компьютеру при помощи кабеля USB Mini-B;

Mega ADK — версия платы Mega 2560 с поддержкой интерфейса USB-host для связи с телефонами на Android и другими устройствами с интерфейсом USB;

Mega2560 — плата на базе микроконтроллера ATmega2560 с использованием чипа ATMega8U2 для последовательного соединения по USB-порту;

Mega — версия серии Mega на базе микроконтроллера ATmega1280;

Arduino BT — платформа с модулем Bluetooth для беспроводной связи и программирования;

LilyPad — платформа, разработанная для переноски, может зашиваться в ткань;

Fio — платформа разработана для беспроводных применений. Fio содержит разъем для радио XBee, разъем для батареи LiPo и встроенную схему подзарядки;

Mini — самая маленькая платформа Arduino;

Pro — платформа, разработанная для опытных пользователей, может являться частью большего проекта;

Pro Mini — как и платформа Pro, разработана для опытных пользователей, которым требуется низкая цена, меньшие размеры и дополнительная функциональность.

 

Это информационный ресурс с лучшими инструкциями и туториалами по использованию контроллеров Arduino

 Карта сайта Arduino, Mega ADK, Cubieboard Cubietech, Arduino Uno, Arduino Mega2560, Карта сайта, Arduino Fio, Cubietruck, Arduino Ethernet, Esplora, Arduino Robot, Raspberry, Arduino Leonardo, Arduino Due, Arduino Micro, Banana, Intel Galileo Gen 2, Arduino Duemilanove, Beaglebone, BananaPro, Arduino Usb, Intel, Intel Galileo, Intel, Intel Galileo, Intel Edison, Intel Edison, Intel Galileo Gen 2, Карта сайта, Arduino Duemilanove, Mega ADK, Arduino Duemilanove, Arduino Nano, Arduino Leonardo, Arduino Due, Arduino Micro, Arduino Lilypad, Arduino Uno, Arduino Uno, Arduino Mega2560, Cubietruck, Raspberry, Banana, Arduino Leonardo, Arduino Due, Lilypad Arduino Simple, Lilypad, Arduino Usb, Arduino Micro, Lilypad, Arduino Simple Snap, Lilypad Arduino Simple, Intel, Lilypad, Arduino Cubieboard, Arduino Usb, BananaPro, Arduino Gemma, Arduino EthernetArduino Yin, Arduino Zero, Mega ADK, Arduino 101 Genuino 101, Arduino mini, Lilypad Arduino Simple, Lilypad, Arduino Pro, Intel, Arduino Fio, Arduino Gemma, Arduino BT, Arduino Fio, Arduino Mega, Arduino NanoMega ADK, Arduino Uno, Arduino Diecimila, BananaPro, Intel, Intel Galileo, Arduino Ethernet, Arduino BT, Arduino Mega, Arduino Duemilanove, Arduino Nano, Esplora, Raspberry, Banana, Arduino Robot

Arduino и набор функций Serial

 

Набор функций Serial служит для связи устройства Arduino с компьютером или другими устройствами, поддерживающими последовательный интерфейс обмена данными. Все платы Arduino имеют хотя бы один последовательный порт UART. Для обмена данными Serial служат цифровые порты ввода/вывода 0 (RX) и 1 (TX), а также порт USB. Важно учитывать, что если вы используете функции Serial, то нельзя одновременно с этим задействовать порты 0 и 1 для других целей.

Среда разработки Arduino имеет встроенный монитор последовательного интерфейса (Serial monitor), показанный на рисунке. Для начала обмена данными необходимо запустить монитор нажатием кнопки Serial monitor и выставить ту же скорость связи (baud rate), с которой вызвана функция begin().

 Монитор последовательного порта

Монитор последовательного порта

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

 

Функции библиотеки Serial

Функция Serial.begin()

Функция Serial.begin() инициирует последовательное соединение и задает скорость передачи данных в бит/c (бод). Для обмена данными с компьютером используйте следующие значения: 300, 1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600 или 115200. При соединении через порты входа/выхода 0 и 1 могут быть использованы другие значения скорости, требуемые устройством, с которым будет осуществляться обмен данными.

Синтаксис функции Serial.begin(): Serial.begin(speed)

Для Arduino Mega и Arduino Due:

Serial1.begin(speed) Serial2.begin(speed) Serial3.begin(speed)

Параметр: speed — скорость в бит/c (бод) (long). Возвращаемого значения нет.

 

Функция Serial.end()

 

Функция Serial.end() закрывает последовательное соединение, порты RX и TX освобождаются и могут быть использованы для ввода/вывода.

Синтаксис функции Serial.end(): Serial.end()

Для Arduino Mega и Arduino Due:

Serial1.end() Serial2.end() Serial3.end()

Параметра нет. Возвращаемого значения нет.

 

Функция Serial.available()

 

Функция Serial.available() получает количество байтов (символов), доступных для чтения из последовательного интерфейса связи. Это те байты, которые уже поступили и записаны в буфер последовательного порта. Буфер может хранить до 128 байтов.

Синтаксис функции Serial.available(): Serial. available()

Для Arduino Mega и Arduino Due:

Serial1.available() Serial2.available() Serial3.available()

Параметра нет.

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

 

Функция Serial.read()

Функция Serial.read() cчитывает очередной доступный байт из буфера последовательного соединения.

Синтаксис функции Serial.read(): Serial.read()

 

Для Arduino Mega и Arduino Due:

Serial1.read() Serial2.read() Serial3.read()

Параметра нет.

Возвращаемое значение — cледующий доступный байт или -1, если его нет (int).

Примеры использования функций Serial.available() и Serial.read() представлены.

int in=0; // переменная для хранения полученного байта

void setup() {

Serial.begin(9600); // устанавливаем последовательное соединение

}

void loop()

{

if (Serial.available() > 0) // если есть доступные данные

{

// считываем байт in = Serial.read();

// отсылаем то, что получили Serial.println(in,DEC);

}

}

 

Функция Serial.flush()

Функция Serial.flush() ожидает окончания передачи исходящих данных (до версии Arduino 1.0 функция очищала буфер последовательного соединения).

Синтаксис функции Serial.flush(): Serial.flush()

Для Arduino Mega и Arduino Due:

Serial1.flush() Serial2.flush() Serial3.flush()

Параметра нет. Возвращаемого значения нет.

 

Функция Serial.print()

Функция Serial.print() передает данные через последовательный порт как текст ASCII. Эта функция может принимать различные типы данных. С помощью второ- го опционального параметра можно задать базис (систему счисления) для чисел.

Синтаксис функции Serial.print():

Serial.print(val) Serial.print(val, format)

Для Arduino Mega и Arduino Due: Serial1, Serial2, Serial3.

Параметры:

 val — данные для передачи через последовательное соединение;

 format — базис для целых чисел или количество знаков после запятой для вещественных:

• BYTE;

• BIN (двоичный);

• OCT (восьмеричный);

• DEC (десятеричный);

• HEX (шестнадцатеричный);

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

Возвращаемого значения нет.

 

Функция Serial.println()

Функция Serial.println() передает данные через последовательный порт как текст ASCII вместе со следующим за ним символом переноса строки (символ ASCII 13 или '\r') и символом новой строки (ASCII 10 или '\n'). Пераметры и типы данных для этой функции такие же, как и для функции Serial.print().

 

Функция Serial.write()

Функция Serial.write() передает данные как бинарный код через последовательное соединение. Данные посылаются единичным байтом или серией байтов. Для того, чтобы передать данные как символы, следует использовать другую функцию — print().

Синтаксис функции Serial.write():

Serial.write(val) Serial.write(str) Serial.print(buf, len)

Для Arduino Mega: Serial1, Serial2, Serial3. Параметры:

 val — один байт;

 str — строка как серия байтов;

 buf — массив байтов;

 len — длина массива. Возвращаемого значения нет.

 

Функция Serial.peek()

 

Функция Serial.peek() возвращает следующий доступный байт (символ) из буфера входящего последовательно соединения, не удаляя его из этого буфера. То есть успешный вызов этой фунции вернет то же значение, что и следующий за ним вызов функции read().

Синтаксис функции Serial.peek(): Serial.peek()

Для Arduino Mega и Arduino Due:

Serial1.peek() Serial2.peek() Serial3.peek()

Параметра нет.

Возвращаемое значение — cледующий доступный байт или -1, если его нет (int).

 

 

Библиотека SoftwareSerial

 

Библиотека SoftwareSerial позволяет осуществить последовательную передачу данных через другие цифровые контакты Arduino. Можно иметь несколько про- граммных последовательных портов со скоростью до 115 200 битов. Программное обеспечение SoftwareSerial копирует функциональность библиотеки Serial (отсюда и название "SoftwareSerial"), но с некоторыми ограничениями:

 при использовании нескольких программных последовательных портов только один может принимать данные одновременно;

 на платах Mega и Mega 2560 для RX могут быть использованы только следую- щие контакты: 10, 11, 12, 13, 14, 15, 50, 51, 52, 53, A8 (62), A9 ( 63), A10 (64), A11 (65), A12 (66), A13 (67), A14 (68), A15 (69);

 на плате Leonardo для RX могут быть использованы только следующие контакты: 8, 9, 10, 11, 14 (MISO), 15 (SCK), 16 (MOSI).

Библиотека SoftwareSerial включает следующие функции:

 SoftwareSerial();

 available();

 begin();

 isListening();

 overflow();

 peek();

 read();

 print();

 println();

 listen();

 write().

В целом эти функции аналогичны функциям библиотеки Serial, поэтому далее мы рассмотрим только функции, уникальные для библиотеки SoftwareSerial.

 

Функция SoftwareSerial()

 

Функция SoftwareSerial() создает экземпляр объекта последовательного порта SoftwareSerial. Для запуска последовательного порта на выводах rxPin, txPin необходимо выполнить функцию SoftwareSerial.begin().

Синтаксис функции SoftwareSerial(): SoftwareSerial(rxPin, txPin)

Параметры:

 rxPin — вывод для получения последовательных данных;

 txPin — вывод для отправки последовательных данных. Возвращаемое значение — экземпляр объекта SoftwareSerial.

 

Функция SoftwareSerial.listen()

 

Функция SoftwareSerial.listen() назначает выбранный порт в качестве "слушателя" данных, при этом только один последовательный порт программное обеспечение может слушать одновременно — данные, которые прибывают для других портов, будут отвергнуты. Любые данные, которые уже получены, во время вызова listen() отбрасываются (если данный экземпляр уже не слушает).

Синтаксис функции SoftwareSerial.listen(): SoftwareSerial.listen(port)

Параметра нет. Возвращаемого значения нет.

 

Функция SoftwareSerial.isListening()

 

Функция SoftwareSerial.isListening() проверяет, выступает ли выбранный порт в данный момент в качестве "слушателя" данных.

Синтаксис функции SoftwareSerial.isListening(): SoftwareSerial.isListening()

Параметра нет.

Возвращаемое значение — boolean: false или true.

Примеры назначения порта слушателем и проверки его состояния

#include <SoftwareSerial.h>

// software serial : TX = digital pin 10, RX = digital pin 11 SoftwareSerial portOne(10, 11);

// software serial : TX = digital pin 8, RX = digital pin 9 SoftwareSerial portTwo(8, 9);

void setup()

{

Serial.begin(9600);

// Start both software serial ports portOne.begin(9600); portTwo.begin(9600);

}

void loop()

{

portOne.listen();

if (portOne.isListening())

{Serial.println("Port One is listening!");} else

{Serial.println("Port One is not listening!");}

if (portTwo.isListening())

{Serial.println("Port Two is listening!");} else

{Serial.println("Port Two is not listening!");}

}

Функция SoftwareSerial.overflow()

 

Функция SoftwareSerial.overflow() проверяет, произошло ли переполнение буфера для данного экземпляра последовательного порта. Размер буфера 64 байта. Вызов этой функции очищает флаг переполнения.

Синтаксис функции SoftwareSerial.overflow(): SoftwareSerial.overflow()

Параметра нет.

Возвращаемое значение — boolean: false или true.

 

 

All Vintage Vinyl Records VinylSU.xyz

1.png2.png3.png4.png5.png