Рис. 11.5. Возможность возникновения коллизий в линиях UART
Обратите внимание на надпись "Коллизии" на рис. 11.5. Подумайте, что произойдет, если модуль ХВее и ваш компьютер будут одновременно передавать данные на плату Arduino. Как Arduino узнать, откуда приходят данные? Если данные будут передаваться одновременно, произойдет так называемая коллизия, и информация исказится. Значит, плата Arduino не сможет одновременно общаться с компьютером и модулем ХВее по последовательному порту. Решить эту проблему можно двумя способами:
• отсоединять переходник ХВее при программировании платы Arduino;
• установить на переходнике ХВее перемычку или переключатель для подключения к плате Arduino.
Теперь при необходимости запрограммировать плату Arduino нужно либо отсоединить переходник ХВее, либо установить в требуемое положение переключатель (перемычку).
Программная или аппаратная реализация UART
Для соединения платы Arduino с модулями ХВее служит аппаратный UART-интерфейс (контакты 0 и 1 на плате Arduino). Эти выводы также используются для
- 228 -
подключения к компьютеру по USB. Большинство переходников также осуществляет соединение между ХВее и платой Arduino через аппаратный последовательный порт. Можно не отсоединять переходник ХВее при программировании платы Arduino, если воспользоваться библиотекой SoftwareSerial. Эта библиотека позволяет определить два произвольных цифровых контакта платы Arduino в качестве выводов Rx и Тх при соединении с переходником ХВее-. Но на переходнике ХВее обязательно должен быть переключатель для выбора контактов платы Arduino в качестве Rx и Тх. На переходнике Sparkfun ХВее установлен такой переключатель, коммутирующий контакты 2 и 3 платы Arduino в качестве линий Rx и Тх. Если на вашем переходнике есть такой переключатель, можно организовать взаимодействие с радиомодулями ХВее с помощью библиотеки SoftwareSerial.
11.2. Настройка модулей ХВее
Прежде чем использовать модули ХВее, их необходимо настроить для обмена информацией друг с другом. На заводе-изготовителе модули ХВее по умолчанию настраивают на определенный канал и режим работы. При включении они сразу могут принимать или отправлять данные на другой совместимый модуль ХВее. Иногда требуется внести изменения в стандартные настройки и далее вы узнаете, как это сделать.
Модули ХВее можно запрограммировать так же, как и плату Arduino, через интерфейс USB. Существуют два способа: с помощью платы Arduino и преобразователя
USB ( см. главу 6) или через специальный адаптер ХВее USB. Для программирования модулей ХВее я настоятельно рекомендую приобрести адаптер ХВее USB, например, популярный SparkFun ХВее USB Explorer (рис. 11.6).
Рис. 11.6. Адаптер SparkFun ХВее USB Explorer
- 229 -
Первый вариант программирования (не рекомендуется)
Я не рекомендую программировать модули ХВее с помощью платы Arduino Uno, т. к. при неосторожности можно повредить плату. Если вы все же хотите запрограммировать модули ХВее с использованием платы Arduino, то возникнет проблема коллизии данных, которую мы упоминали ранее. Чтобы предотвратить коллизии, следует удалить с платы микросхему процессора ATmega, присоединить модуль к плате через переходник ХВее и подключить Arduino к компьютеру USB-кабелем. После этого все команды с компьютера будут приходить на ХВее.
ПРИМЕЧАНИЕ
Удалить можно только микросхему, вставленную в панельку. Изъять процессор с платы Uno SMD или другой с припаянным чипом ATmega невозможно.
Второй вариант программирования (рекомендуется)
Использовать SparkFun USB ХВее Explorer очень просто: вставьте ХВее-модуль в гнездо на адаптере, подключите SparkFun USB ХВее Explorer к компьютеру с помощью USB-кабеля, и можно программировать. Адаптер SparkFun USB ХВее Explorer реализует USB-интерфейс с помощью тех же контроллеров FTDI, что и последние платы Arduino. Далее в этой главе применим адаптер для установки беспроводной связи между компьютером и Arduino с подключенным модулем ХВее.
Параметров настройки модулей ХВее очень много и на описание всех понадобится отдельная книга. Здесь мы рассмотрим наиболее важные (рис. 11. 7):
• ID (идентификатор PAN-сети)- все модули ХВее, которые будут обмениваться данными друг с другом, должны быть отнесены к одной сети.
• МУ ( собственный адрес) - уникальный адрес идентификации каждого модуля ХВее в пределах определенной персональной сети.
• DL (адрес назначения)- уникальный адрес модуля ХВее, с которым вы хотите обмениваться данными.
Рис. 11.7. Параметры настройки сети ХВее с конфигурацией "точка-точка"
- 230 -
BD ( скорость передачи данных) -скорость обмена данными для модулей ХВее.
Мы будем использовать значение по умолчанию (9600 бод).
Обратите внимание, что значения параметров МУ и DL для каждого модуля ХВее меняются местами, т. к. собственный адрес одного модуля является адресом назначения для другого, и наоборот. Идентификатор сети PAN в наших примерах равен
Вильям Л Саймон , Вильям Саймон , Наталья Владимировна Макеева , Нора Робертс , Юрий Викторович Щербатых
Зарубежная компьютерная, околокомпьютерная литература / ОС и Сети, интернет / Короткие любовные романы / Психология / Прочая справочная литература / Образование и наука / Книги по IT / Словари и Энциклопедии