NRF24LE1 fotoРадиомодуль nRF24LE1 - это интегрирование решение nRF24L01 и микроконтроллера совместимого 8051 с низким потреблением.К радиомодулю можно сразу подключить датчики ,  реле и другие устройства.Программирование осуществляется через интерфейс SPI.

Цена устройства примерно от $ 5 на торговой площадке Ebay.

 

 

NRF24LE1

Технические характеристики

Характеристики самого радиомодуля наследуются от nRF24L01:

Поддерживаемые скорости передачи:250kbps, 1Mbps и 2Mbps.

Количество каналов: 125.

Характеристики микроконтроллера:

Существуют 3 разновидности корпуса микросхемы :  QFN24 (4×4 mm) , QFN32 (5×5 mm) ,  QFN48 (7×7 mm).У каждой версии расположение интерфейсов I2C , UART, SPI отличается (см. 131 страницу даташита) ! На данной справочной страничке размещены фото и основные параметры для версии корпуса QFN32.

Тактовая частота 16мгц.

Доступная flash память для программы 16кб.

ОЗУ (RAM) память 1 кб.

7  выводов поддерживают 6..12 битных АЦП .

2 PWM - ШИМ выводы.

А так же имеются интерфейсы : I2C , UART, SPI.

Напряжение питания 1,9В...3,6В.

Ток потребления: в рабочем режиме 5..6мА, в спящем режиме 1мкА.

Даташит на устройство nRF24LE1_OTP_Product_Specification_rev1_2.pdf.

Программирование радиомодуля

Подключение программатора осуществляется к данным выводам для каждой версии корпуса:

 spi slave nrf

Так же для заливки прошивки используется вывод PROG.На его необходимо подать высокий уровень для загрузки прошивки и для выгрузки прошивки.RESET как и при работе должен подтянут на плюс.

Загрузить программу в устройство возможно несколькими  способами:

- Программатор NRF24LE1 Downloader mPro (такое название встречается на Ebay.) .Его примерная цена от $ 30.

- C помощью Raspberry PI.

- C помощью USBasp.

Среда разработки

Для разработки прошивки используется компилятор SDCC http://sdcc.sourceforge.net/ 

Используя SDK ,в которой имеется масса готовых функций для работы с модулем,можно реализовывать например управление радиомодулем,GPIO и другими возможностями не вникая сильно в архетектуру микроконтроллера.

 
#include <stdint.h>
#include <stdio.h>

//подключение необходимых функций:

#include "src/gpio/src/gpio_pin_configure.c"
#include "src/gpio/src/gpio_pin_val_clear.c"
#include "src/gpio/src/gpio_pin_val_set.c"

#include "delay.h"
#include "src/delay/src/delay_us.c"
#include "src/delay/src/delay_s.c"
#include "src/delay/src/delay_ms.c"


void main()
{
 // мигаем портом P0_0
	gpio_pin_configure(GPIO_PIN_ID_P0_0, // укажем необходимые параметры
			GPIO_PIN_CONFIG_OPTION_DIR_OUTPUT |
			GPIO_PIN_CONFIG_OPTION_OUTPUT_VAL_CLEAR |
			GPIO_PIN_CONFIG_OPTION_PIN_MODE_OUTPUT_BUFFER_NORMAL_DRIVE_STRENGTH);
	
		while(1)
	{
gpio_pin_val_set(GPIO_PIN_ID_P0_0); //установка 1
	 delay_ms(500); 
gpio_pin_val_clear(GPIO_PIN_ID_P0_0); //установка 0
	 delay_ms(500); 
	 
	}

}


 

Скачать пример можно тут.

Ниже будут публиковаться библиотеки для работы с радиомодулем:

millisNrf.zip - Попытка реализовать функцию millis() аналогично arduino , использует нулевой таймер микроконтроллера.

Библиотека для работы с приемо-передающей частью nRF24LE1. Настройка и управление в ней почти все аналогично библиотеке Arduino RF24.

Так же разработан конструктор беспроводного клиента на базе nRF24LE1, в котором можно создать и скачать готовую прошивку для беспроводных датчиков и удаленного управления устройствами.

Home`s Smart © 2013-2016. г.Киров.
Цитирование материалов возможно только со ссылкой на сайт. Использование фотоматериалов только с разрешения авторов.