Arduino сайт

ардуино.su

Передача данных между микроконтроллерами Arduino через последовательный интерфейс



Обмен данными между двумя платами Arduino очень полезен. В больших проектах можно назначить несколько микроконтроллеров для управления техническими процессами.

Реализовать обмен данными между двумя микроконтроллерами Arduino можно с использованием последовательного интерфейса передачи данных. Для этого будут использоваться контакты RX-0 и TX-1.

Схема подключения микроконтроллеров Arduino UNO



Контакт Arduino UNO -1 RX-0 подключается к контакту TX-1 Arduino UNO -2 и на оборот контакт TX-1 Arduino UNO -1 подключается к контакту RX-0 Arduino UNO -2.

Обратите внимание, что необходимо обязательно подключить контакты GND. В противном случае обмен данными происходить не будет!

Код C++ для микроконтроллера Arduino UNO -1
Микроконтроллер Arduino UNO -1 будет отправлять целочисленные данные через последовательный интерфейс на микроконтроллер Arduino UNO -2.

// C++ code

void setup()
{
// скорость передачи данных через последовательный интерфейс 9600 бит/сек
Serial.begin(9600);
}

int thisByte = 33; // целочисленная переменная

void loop() {
// передаём значение переменной в последовательный интерфейс передачи данных
Serial.write(thisByte);
// если целочисленная переменная равняется 126, прекратить передачу данных
if (thisByte == 126)
{
while (true)
{
continue;
}
}
// увеличиваем значение целочисленной переменной
thisByte ++;
// пауза 1000 миллисекунд
delay(1000);
}


Код C++ для микроконтроллера Arduino UNO -2
Микроконтроллер Arduino UNO -2 будет получать целочисленные данные через последовательный интерфейс от микроконтроллера Arduino UNO -1.


// C++ code
// объявляем и инициализируем целочисленную переменную
int incomingByte = 0;

void setup()
{
Serial.begin(9600);
}
void loop() {
// если в последовательном интерфейсе присутствуют данные передать их в консоль
if (Serial.available() > 0) {
// читаем даннные из последовательного интерфейса и присваиваем целочисленной переменнной
incomingByte = Serial.read();
// выводи переменную в консоль
Serial.print("Received: ");
Serial.write(incomingByte);
// выводим переменную в консоль в разных кодировках
Serial.print(" INT: ");
Serial.print(incomingByte);
Serial.print(" DEC: ");
Serial.print(incomingByte, DEC);
Serial.print(" HEX: ");
Serial.print(incomingByte, HEX);
Serial.print(" OCT: ");
Serial.print(incomingByte, OCT);
Serial.print(" BIN: ");
Serial.print(incomingByte, BIN);
Serial.println(" ");
}
}


Результат работы в консоли микроконтроллера Arduino UNO -1



Результат работы в консоли микроконтроллера Arduino UNO -2



Более подробную инструкцию вы можете получить посмотрев видео "Связь между двумя платами Arduino" по ссылке на ютубе

https://m.youtube.com/watch?time_continue=7&v=-BayqDGd0yQ&embeds_euri=https%3A%2F%2Fembedd.srv.habr.com%2F&source_ve_path=Mjg2NjM&feature=emb_logo
Источник

19.01.2023 в 22:56, Просмотров: 420
Опубликовал: ak167

обмен данными

ID: 6


Предложить пост

Вход








Регистрация | Забыли пароль?

Поиск



По всему сайту
По тэгам
По тэгам и заголовкам

Рубрики

  • Новости
  • Проекты и статьи
  • Рейтинг

  • 1. Arduino представляет плату NANO ESP32.
  • 2. Arduino выпустила новые платы UNO R4: теперь с USB Type-C и дисплеем
  • Облако тэгов

    часы, трэкбол, обмен данными, квантовый компьютер, iot

    Ссылки

  • RSS-канал
  • Карта сайта
  • Обратная связь
  • Пользователи
  • Архивы

    Top.Mail.Ru