Последовательная связь arduino mega и D1 Wemos Mini
Может ли кто-нибудь помочь мне последовательно подключить arduino mega к D1 Wemos Mini? Пожалуйста, дайте мне знать наиболее эффективные и простые шаги для настройки связи.
Используя следующее руководство:
https://engineeringprojectshub.com/serial-communication-between-nodemcu-and- ардуино/усилитель/
Следующая схема: https://i.stack.imgur.com/oOKwL.png
@Ali Hassan Raza, 👍0
Обсуждение1 ответ
Лучший ответ:
Помимо обеспечения подключения TX -> RX и подключения всех заземлений, вы можете использовать SerialTransfer.h для автоматической пакетной передачи. и проанализируйте ваши данные для связи между Arduino без головной боли. Библиотека устанавливается через Arduino IDE и включает множество примеров.
Вот функции библиотеки:
Эта библиотека:
- можно загрузить с помощью диспетчера библиотек Arduino IDE (поиск «SerialTransfer.h»)
- работает с программными серийными библиотеками
- не блокирует
- использует разделители пакетов
- использует последовательное заполнение служебных байтов
- использует CRC-8 (многочлен 0x9B с таблицей поиска)
- позволяет использовать пакеты с динамическим размером (пакеты могут иметь длину полезной нагрузки от 1 до 254 байт)
- может передавать байты, целые числа, числа с плавающей запятой и даже структуры!!
Пример скетча TX Arduino:
#include "SerialTransfer.h"
SerialTransfer myTransfer;
void setup()
{
Serial.begin(115200);
Serial1.begin(115200);
myTransfer.begin(Serial1);
}
void loop()
{
char buff[] = "hi";
myTransfer.txObj(buff, sizeof(buff));
myTransfer.sendData(sizeof(buff));
delay(100);
}
Пример скетча RX Arduino:
#include "SerialTransfer.h"
SerialTransfer myTransfer;
void setup()
{
Serial.begin(115200);
Serial1.begin(115200);
myTransfer.begin(Serial1);
}
void loop()
{
if(myTransfer.available())
{
char buff[40];
myTransfer.rxObj(buff, sizeof(buff));
Serial.println("New Data: ");
Serial.write(buff, sizeof(buff));
Serial.println();
}
else if(myTransfer.status < 0)
{
Serial.print("ERROR: ");
if(myTransfer.status == -1)
Serial.println(F("CRC_ERROR"));
else if(myTransfer.status == -2)
Serial.println(F("PAYLOAD_ERROR"));
else if(myTransfer.status == -3)
Serial.println(F("STOP_BYTE_ERROR"));
}
}
- Как я могу получить целое число из RFID-метки от Arduino Mega до NodeMCU 1.0 по последовательной связи?
- AT-команда не отвечает на последовательный монитор
- Получить данные с сайта с помощью ESP8266 с помощью AT-команд
- Не нашел датчик отпечатков пальцев :( Arduino Mega 2560 Adafruit Fingerprint Sensor
- Программное обеспечениеSerial с ESP8266
- Как связаться с ESP8266 ESP01, отправив данные через программный сериал на Arduino Uno?
- Загрузка кода Arduino, OTA, через подключенный ESP8266-12E с запущенным Esp-Link
- Отправить строку данных из Arduino UNO в ESP8266-01
Rx к Tx3 и Tx к RX3, земля и 3,3 В. Готово. в Mega в коде используйте Serial3 для связи с esp8266., @Juraj
@Juraj Устойчив ли Wemos Mini 5V? В противном случае потребуется делитель напряжения между Mega TX и Wemos RX., @chrisl
@AliHassanRaza В чем именно у вас проблема с настройкой соединения? Последовательный (также известный как UART) имеет только 2 линии плюс заземление. В сети есть много обучающих программ. Они тебе не помогли? Что именно вы не могли понять там?, @chrisl
@chrisl, делитель напряжения ограничит скорость и усложнит устранение неполадок ... esp8266 может выдерживать логический подтягивающий ток 5 В для теста. в долгосрочной настройке я рекомендую переключатель уровня, а не делитель напряжения, @Juraj
Я ничего не получаю, когда пытаюсь последовательно их передать., @Ali Hassan Raza
Затем вам нужно показать нам свой код и проводку. Пожалуйста, отредактируйте свой вопрос и добавьте информацию туда, а не в комментарии, так как комментарии носят временный характер., @chrisl
если (особенно доступно()>0) { Serial.println("Внутри"); целочисленные данные = esp.read(); Serial.println(данные); } Он не входит в это состояние ни на стороне arduino, ни на стороне esp., @Ali Hassan Raza
Используя следующий учебник: https://engineeringprojectshub.com/serial-communication-between-nodemcu-and-arduino/amp/, @Ali Hassan Raza
что такое есп? Серийный? используйте аппаратный Serial3 (или 1 или 2). SoftwareSerial не работает на всех контактах Mega, @Juraj