Плата расширения для Arduino NANO v.3 подключения модуля беспроводной связи X-Bee

Код:00940
Артикул:SAN-xB
В наличии:есть
250 руб
1
Плата расширения для Arduino NANO v.3 подключения модуля беспроводной связи X-Bee

Новый продукт от компании Robotdyn – Nano V3.0 I/O & Wireless Shield – это шилд для платы Arduino Nano.
Nano V3.0 I/O & Wireless Shield
Выведенные на плату разъёмы типа "мама" с шагом 1 дюйм позволяют произвести подключение к ней платы Arduino Nano по модульному принципу, что значительно экономит место.
По периметру установлены тройки контактов SVG. Они соединены с линиями управляющей платы (14 цифровых и 8 аналоговых) следующим образом:
  • S — с соответствующим цифровым или аналоговым пином;
  • V — с рабочим напряжением;
  • G — с землёй.
Это позволяет подключать большое количество устройств через стандартные 3-проводные шлейфы (аналоговые датчики, сервоприводы и пр.).
Имеются отдельные выводы для подключения устройств, работающих по протоколам 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
 
Nano V3.0 I/O & Wireless Shield
 
Для работы с радио модулями 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));                    
}
 
 
 
 
 
 
 
Вверх