Код товара: ENS-00940
Плата расширения для Arduino NANO v.3 подключения модуля беспроводной связи X-Bee
|
|
Новый продукт от компании Robotdyn – Nano V3.0 I/O & Wireless Shield – это шилд для платы Arduino Nano.
Выведенные на плату разъёмы типа "мама" с шагом 1 дюйм позволяют произвести подключение к ней платы Arduino Nano по модульному принципу, что значительно экономит место.
По периметру установлены тройки контактов SVG. Они соединены с линиями управляющей платы (14 цифровых и 8 аналоговых) следующим образом:
- S — с соответствующим цифровым или аналоговым пином;
- V — с рабочим напряжением;
- G — с землёй.
Имеются отдельные выводы для подключения устройств, работающих по протоколам I2C и UART.
Плата имеет контакты для подключения следующих беспроводных модулей: xBee, nRF24, ESP2866, APC. Для включение/отключения беспроводных модулей на плате установлены перемычки.
Плата имеет гнездо стандартного соединителя для подключения питания (6-18 В) и кнопку выключения питания.
Размеры платы – 74.4 x 50.3 мм.
Рассмотрим подключение к плате радимодуля nRF24L01. Беспроводные радимодули nRF24L01 работают на частоте 2.4 ГГц и поддерживают скорость передачи до 2Mbps. Радиоканал на данных модулях может обмениваться информацией в оба направления. Радиосеть может состоять из нескольких устройств на базе nRF24L01+ илиNRF24LE1.
В качестве примера рассмотрим создание недорогого датчика, передающего показания влажности и температуры с датчикаDHT11на сервер по радиоканалу.
Радиомодуль nRF24L01 при подключении к плате использует следующие контакты контроллера Arduino Nano:
Arduino PIN | nRF24L01+ |
D2 | IRQ |
D9 | CE |
D10 | CSn |
D11 | MOSI |
D12 | MISO |
D13 | SCK |
Для работы с радио модулями nRF24L01 нам потребуется Arduino-библиотекаRF24, для работы с датчиком влажности и температуры DHT11 – библиотекаDHT.
Схема соединений:
Скетч для передачи данных:
// Подключаем библиотеку для работы с шиной SPI
#include
// Подключаем файл настроек из библиотеки RF24
#include
// Подключаем библиотеку для работы с nRF24L01
#include
// Создаём объект radio для работы с библиотекой RF24,
// указывая номера выводов nRF24L01+(CE, CSN)
RF24 radio(9, 10);
// Создаём массив для отправки данных
int data[2];
// Подключение библиотеки DHT
#include "DHT.h"
// номер пина, к которому подсоединен датчик
#define DHTPIN 2
// Инициируем датчик
DHT dht(DHTPIN, DHT11);
void setup() {
// Инициируем работу nRF24L01
radio.begin();
// Указываем канал передачи данных (от 0 до 127),
// 5 - значит передача данных осуществляется
// (на частоте 2,405 ГГц на одном канале
// может быть только 1 приёмник и до 6 передатчиков)
radio.setChannel(5);
// Указываем скорость передачи данных
// (RF24_250KBPS, RF24_1MBPS, RF24_2MBPS),
// RF24_1MBPS - 1Мбит/сек
radio.setDataRate (RF24_1MBPS);
// Указываем мощность передатчика
// (RF24_PA_MIN=-18dBm, RF24_PA_LOW=-12dBm,
// RF24_PA_HIGH=-6dBm, RF24_PA_MAX=0dBm)
radio.setPALevel (RF24_PA_HIGH);
// Открываем трубу с идентификатором 0x1234567890
// для передачи данных (на одном канале может быть
// открыто до 6 разных труб, которые должны
// отличаться только последним байтом идентификатора)
radio.openWritingPipe (0x1234567890LL);
// запуск датчика DHT
dht.begin();
}
void loop() {
// считываем показания влажности
// и записываем их в 0 элемент массива data
data[0] = dht.readHumidity();
// считываем показания температуры
// и записываем их в 1 элемент массива data
data[1] = dht.readTemperature();
// отправляем данные из массива data указывая
// сколько байт массива мы хотим отправить
radio.write(&data, sizeof(data));
}
------------------
УТЫ-00940:500