Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Emisor/Receptor Wireless nRF24L01+
- #include <SPI.h>
- #include <Mirf.h>
- #include <nRF24L01.h>
- #include <MirfHardwareSpiDriver.h>
- char cadena[10]; //Cadena de caracteres para enviar
- String inputstring = ""; //Cadena recibida desde el PC
- boolean input_stringcomplete = false; //Cadena recibida completamente desde el PC
- void setup()
- {
- Mirf.spi = &MirfHardwareSpi; //Inicializa controlador de SPI
- Mirf.init(); //Inicializa PINES del SPI
- Mirf.payload = 1; //Define el payload, cantidad de bytes que enviara el NRF
- Mirf.channel = 90; //Seleccion de canal
- Mirf.config();
- Mirf.configRegister(RF_SETUP,0x06); // 1MHz
- Mirf.setTADDR((byte *)"TX_01"); // Seleccion de Direccion
- Serial.begin(57600); //Inicializa Serial a 57600 baudios
- Serial.println("Iniciando ...");
- }
- // ENVIO DE CADENA
- void transmit(const char *string)
- {
- byte c;
- for( int i=0 ; cadena[i]!=0x00 ; i++ ){
- c = cadena[i];
- Mirf.send(&c);
- while( Mirf.isSending() ) ;
- }
- }
- // ENVIO DE CR/LF
- void transmitlf(void)
- {
- byte c;
- c = '\r';
- Mirf.send(&c);
- while( Mirf.isSending() ) ;
- c = '\n';
- Mirf.send(&c);
- while( Mirf.isSending() ) ;
- }
- //Recepcion de caracteres desde serial
- void serialEvent() {
- char inchar = (char)Serial.read();
- // Concatena caracter ingresado
- inputstring += inchar;
- // Fin de la cadena, recibido <CR>
- if(inchar == '\r') {input_stringcomplete = true;}
- }
- void loop()
- {
- // Condicion para enviar datos
- if (input_stringcomplete) {
- inputstring.toCharArray(cadena, 10); //Conversion de String a arreglo de caracteres
- transmit(cadena); //Transmite cadena ingresada
- transmitlf(); //Transmite CR/LF
- Serial.println("YO: ");
- Serial.println(inputstring);
- input_stringcomplete = false;
- inputstring = "";
- }
- byte c;
- int ascii;
- //Condicion de Recepcion de datos
- if( Mirf.dataReady() )
- {
- Mirf.getData(&c); //Funcion de libreria MIRF que recibe Byte
- ascii=c; //
- char caracter= (char)ascii; //Casting de char para convertir de int a char
- Serial.print(caracter);
- }
- }
Add Comment
Please, Sign In to add comment