Найти
Пн-Сб 10:00 - 17:30
Вс Выходной
Найти
Предыдущий товар
Светодиодная матрица с драйвером MAX7219
Следующий товар
Датчик веса (тензодатчик) 10 кг

Радиомодуль NRF24L01 2.4 ГГц (Mini)

Купить Радиомодуль NRF24L01 2.4 ГГц (Mini)
Добавить в избранное
 В наличии
160 c
Позволяет передавать данные на расстоянии ~ 100м
  • Обзор
    Модель: NRF24l01
    Напряжение: 3.3V
    Частота: 2.4GHz
    Расстояние: 100м на скорости 250кбит/с
    Скорость: от 250кбит до 2Мбит
    Что можно сделать?
    - Управлять роботом, машинкой, сервами и моторами с помощью пульта управления (без компьютера).
    - Возможна телеметрия. Сбор данных с удаленных объектов: температура, влажность, данные счетчиков и многое другое.
    - Двусторонняя связь между модулями - можно не только принимать данные, но и отправлять команды.


    Схема подключения


    Рассмотрим скетчи на примере передачи данных от Ультразвукового дальномера (Как подключить Ультразвуковой дальномер HC-SR04 к Arduino UNO) к Компьютеру.

    Что понадобится?
    1. Две платы Arduino UNO (можно использовать любые другие платы Arduino)

    Описание
    Один модуль подключенный к плате Arduino UNO (схема выше) будет подключен к компьютеру, другой же, после заливки скетча может быть отключен от компьютера и запитан от батареи.
    Скетчи
    Передатчик
    /*
    Передатчик
    */
    #include <SPI.h>
    #include <Mirf.h>
    #include <nRF24L01.h>
    #include <MirfHardwareSpiDriver.h>
    #include "Ultrasonic.h"
    #define MAX_BUFF 32
    Ultrasonic ultrasonic(4,3); //Trig - 4, Echo - 3
    void setup(){
    Serial.begin(9600);
    Mirf.cePin = 7;
    Mirf.csnPin = 8;
    Mirf.spi = &MirfHardwareSpi;
    Mirf.init();
    Mirf.setRADDR((byte *)"app1");
    Mirf.payload = sizeof(unsigned int);
    // Mirf.channel = 10;
    Mirf.config();
    Serial.println("Beginning ... ");
    }
    void loop(){
    unsigned int range;
    //отправка данных
    Mirf.setTADDR((byte *)"app2");
    range = ultrasonic.Ranging(CM);
    Mirf.send((uint8_t *)&range);
    while(Mirf.isSending()){
    }
    Serial.println(range);
    delay(100);
    }

    Приемник
    /*
    Приемник
    */
    #include <SPI.h>
    #include <Mirf.h>
    #include <nRF24L01.h>
    #include <MirfHardwareSpiDriver.h>
    #define MAX_BUFF 32
    void setup(){
    Serial.begin(9600);
    Mirf.cePin = 7;
    Mirf.csnPin = 8;
    Mirf.spi = &MirfHardwareSpi;
    Mirf.init();
    Mirf.setRADDR((byte *)"app2");
    Mirf.payload = sizeof(unsigned int);
    // Mirf.channel = 10;
    Mirf.config();
    Serial.println("Beginning ... ");
    }
    uint8_t buff[4];
    int c_count = 0;
    void loop(){
    int i;
    //прием данных
    while(!Mirf.dataReady()) {
    }
    Mirf.getData(buff);
    Serial.println((unsigned int)*buff);
    delay(100);
    }