Professional Documents
Culture Documents
BIBLIOMAN
www.aquihayapuntes.com
Rango de radiofrecuencia en la cual trabaja (2.4 2.5 GHz), antena integrada en la placa. Comunicacin SPI. (Max. Velocidad 8Mhz). 128 canales de transmisin seleccionables por el bus SPI. Implementacin capas OSI por hardware. Tensin de alimentacin (1.9 a 3.6 V). Mxima velocidad de transferencia en radiofrecuencia 2Mbps. Pines de entrada con tolerancia a 5V (Niveles TTL).
Descripcin de la demo
El ejemplo consiste en transmitir va radio el estado del puerto D de un PIC (16F877) que hace las funciones de PIC transmisor, dicho puerto ser configurado como entrada y en sus pines conectaremos unos micro-interruptores para poder variar manualmente el valor de la entrada, el estado del puerto ser ledo cada segundo y su valor ser enviado al mdulo transceptor conectado a l y configurado como transmisor a travs del puerto SPI, los datos sern recibidos por otro transceptor el cual los enviar al PIC receptor (otro PIC 16F877) que mostrar su valor en el puerto D configurado esta vez
Biblioman
www.AquiHayApuntes.com
Pgina 2
Biblioman
www.AquiHayApuntes.com
Pgina 3
Cdigo fuente: El ejemplo utiliza la librera lib_rf2gh4_10.h desarrollada por la empresa Bizintek Innova, S.L. y utilizada en su proyecto del robot mOway es fcil de utilizar, est bien documentada y adems es Open Source por lo que se puede distribuir y/o modificar bajo los trminos de la licencia GNU.
Biblioman
www.AquiHayApuntes.com
Pgina 4
//////////////////////////////////////////////////////////////// // Ejemplo Mdulos transceptores NRF24L01 basado en la // // librera lib_rf2gh4_10.h // // Modulo transmisor // // Autor: Biblioman // // Web: www.aquihayapuntes.com // //////////////////////////////////////////////////////////////// #include <16F877.h> #device ICD=TRUE #FUSES NOWDT #FUSES XT #FUSES PUT #FUSES NOPROTECT #FUSES NODEBUG #FUSES NOBROWNOUT #FUSES NOLVP #FUSES NOCPD #FUSES NOWRT #use delay(clock=4000000) #include "lib_rf2gh4_10.h" //Mapeado de registros #BYTE PORTD=0X08 //Variables auxiliares para el programa principal int8 ret; //Programa principal void main() { //Configurar mdulos SPI del PIC RF_CONFIG_SPI(); //Configurar mdulo RF (canal y direccin) RF_CONFIG(0x40,0x01); //Activacin mdulo RF RF_ON(); //------------------------------------------------------------------------------
Biblioman
www.AquiHayApuntes.com
Pgina 5
Biblioman
www.AquiHayApuntes.com
Pgina 6
//////////////////////////////////////////////////////////////// // Ejemplo Mdulos transceptores NRF24L01 basado en la // // librera lib_rf2gh4_10.h // // Modulo Receptor // // Autor: Biblioman // //Web: www.aquihayapuntes.com // //////////////////////////////////////////////////////////////// #include <16F877.h> #device ICD=TRUE #FUSES NOWDT #FUSES XT #FUSES PUT #FUSES NOPROTECT #FUSES NODEBUG #FUSES NOBROWNOUT #FUSES NOLVP #FUSES NOCPD #FUSES NOWRT #use delay(clock=4000000) #include "lib_rf2gh4_10.h" //Mapeo de registros #BYTE PORTD=0x08 //Variables auxiliares para el programa principal int8 ret; //--------------[Rutina de recepcin con interrupcin]-------------------------//Interrupcin del mdulo RF #int_ext void int_externo() { //Recepcion de los datos ret = RF_RECEIVE(); if (ret == 0) //recepcin nica { //tratar datos PORTD=RF_DATA[0];
Biblioman
www.AquiHayApuntes.com
Pgina 7
Biblioman
www.AquiHayApuntes.com
Pgina 8
De igual forma la funcin RF_RECEIVE() tambin devuelve tres valores: Un 0 si solo se ha recibido un byte y no hay ms datos en la pila de recepcin. Un 1 si se ha recibido una trama de datos. En este caso se debe de crear un bucle que llame a la funcin RF_RECEIVE() mientras queden datos en la pila de recepcin. Un 2 si los datos no se han recibido correctamente.
En el caso de nuestro ejemplo si se reciben datos sern solo de un byte por tanto solo se chequea la primera opcin. La librera tambin permite la recepcin de datos sin el uso de interrupciones la explicacin de cmo hacerlo viene incluida tambin en la documentacin de la librera, as como las precauciones que hay que tener para evitar interferencias entre canales.
Biblioman
www.AquiHayApuntes.com
Pgina 9
http://www.youtube.com/watch?v=WwU7jFgxn6I
Descargas
Podis descargar la librera lib_rf2gh4_10.h + Manual librera + ejemplos + versin del artculo en .pdf desde aqu. Fuentes de informacin http://www.moway-robot.com/index.php http://blog.diyembedded.com/ http://www.ccsinfo.com/
Marcas registradas Las marcas citadas en este artculo as como algunas de las imgenes procedentes de capturas de pantallas pertenecen a sus respectivos propietarios, su utilizacin en este artculo es con fines educativos y sin nimo de lucro.
Biblioman
www.AquiHayApuntes.com
Pgina 10
Biblioman
www.AquiHayApuntes.com
Pgina 11