Возможно ли использование двух модулей с последовательным интерфейсом на одном Arduino Uno?
Мне было интересно, есть ли у меня модуль Bluetooth HC-05 и модуль GPS (uBlox 7N). Возможно ли, чтобы оба они использовали последовательный интерфейс?
Я в курсе, что они не могут работать одновременно друг с другом, но если я, используя в Rx и TX пины для GPS-модуль, я могу получить местоположение, хранить его в переменной, затем завершите GPS последовательной использования и программного обеспечения через последовательный с 2 контактами мой выбор передачу данных через модуль Bluetooth, который также требует оследовательный контакт?
@Explorex, 👍1
Обсуждение1 ответ
Вы правы, что вам нужен один последовательный интерфейс для каждого модуля. Uno имеет только 1 аппаратный последовательный интерфейс (аппаратное обеспечение означает, что аппаратное обеспечение ардуино будет выполнять коммуникационную работу в фоновом режиме, и вы можете позволить ему делать другие вещи в то же время). Но вы можете добавить больше последовательных интерфейсов на другие контакты, которые работают исключительно с помощью программного обеспечения. Для этого предназначена библиотека SoftwareSerial.
SoftwareSerial
имеет некоторые ограничения, поскольку загрузка связи должна выполняться программным обеспечением, а не аппаратным обеспечением. Например, он становится нестабильным при высоких бодратах. Особенно для HC-05 вы не должны использовать скорость передачи данных 115200 бод и выше. Кроме того, поскольку для работы используются прерывания смены контакта, вы можете прослушивать только один программный материал в любой момент времени.
Поскольку у вас есть только 2 модуля, должно быть легко возможно использовать SoftwareSerial и получить доступ к обоим из них с помощью Uno. Если вы когда-нибудь захотите использовать больше последовательных модулей, вы все равно можете перейти на более крупную плату, такую как Mega.
Примечание: Перед программированием Uno по последовательному интерфейсу (USB) обязательно отсоедините модуль от аппаратного последовательного интерфейса, иначе программирование завершится ошибкой.
- последовательная передача данных на GPS-экране duinopeak
- AT-команда не отвечает на последовательный монитор
- Как отправить команду AT на sim800l с помощью SoftwareSerial
- Ардуино для чтения с преобразователя RS232 в последовательный модуль TTL
- Чтение SMS с помощью Arduino Uno и SIM800L и печать на LCD (16x2 буквенно-цифровых) с использованием последовательного соединения
- Как связаться с ESP8266 ESP01, отправив данные через программный сериал на Arduino Uno?
- myserial.available() возвращает нулевой байт
- Последовательная связь от Arduino до ESP8266 NodeMCU работает, но от NodeMCU до Arduino не работает
Нет, вы не можете сделать это на одном последовательном интерфейсе. Однако вы можете использовать программную последовательную библиотеку и "создать" второй последовательный интерфейс., @Mike Petrichenko
Да, вы можете использовать несколько портов SoftwareSerial, но прослушивать их можно только по одному. Самое простое решение - плата arduino mega 2560 с 3 дополнительными аппаратными последовательными портами., @Jot