Node on PIPE0 for Wireless sensor network over NRF.
Fork of WSN_Coordinator by
node0.cpp
00001 /****PIPE0 Transmitter****/ 00002 00003 #include "mbed.h" 00004 #include "nRF24L01P.h" 00005 00006 Serial pc(USBTX, USBRX); // tx, rx 00007 00008 nRF24L01P my_nrf24l01p(PTD2, PTD3, PTD1, PTD0, PTD5, PTD4); // mosi, miso, sck, csn, ce, irq 00009 DigitalOut RedLED(PTA5); 00010 AnalogIn pot(A0); 00011 00012 int main() 00013 { 00014 char count[1]; 00015 char TxDataCnt; 00016 char temp; 00017 00018 //set tx and rx address for pipe0: 5 bytes long; different for every pipe 00019 long long TxAddress_PIPE0 = 0xC2C2C2C2C2; 00020 long long RxAddress_PIPE0 = 0xC2C2C2C2C2; 00021 00022 my_nrf24l01p.powerUp(); 00023 my_nrf24l01p.setRfFrequency(2410); 00024 00025 //setting tx and rx address 00026 my_nrf24l01p.setTxAddress(TxAddress_PIPE0); 00027 00028 //set rx address with default width and pipe number 00029 my_nrf24l01p.setRxAddress(RxAddress_PIPE0, DEFAULT_NRF24L01P_ADDRESS_WIDTH, NRF24L01P_PIPE_P0); 00030 00031 // Display the (default) setup of the nRF24L01+ chip 00032 pc.printf( "nRF24L01+ Frequency : %d MHz\r\n", my_nrf24l01p.getRfFrequency() ); 00033 pc.printf( "nRF24L01+ Output power : %d dBm\r\n", my_nrf24l01p.getRfOutputPower() ); 00034 pc.printf( "nRF24L01+ Data Rate : %d kbps\r\n", my_nrf24l01p.getAirDataRate() ); 00035 pc.printf( "nRF24L01+ TX Address - PIPE0 : 0x%010llX\r\n", my_nrf24l01p.getTxAddress() ); 00036 00037 pc.printf( "Wirelesss sensor network \r\n"); 00038 00039 TxDataCnt = 1; 00040 00041 //set transfer size for specified pipe 00042 my_nrf24l01p.setTransferSize(TxDataCnt, NRF24L01P_PIPE_P0); 00043 my_nrf24l01p.enable(); 00044 00045 char pot_val; 00046 00047 while (1) { 00048 00049 //adjusting data to 0-255 with char data type 00050 pot_val = 255*(pot.read()); 00051 00052 count[0] = pot_val; 00053 00054 //transmit on specified pipe 00055 temp = my_nrf24l01p.write( NRF24L01P_PIPE_P0,count, TxDataCnt ); 00056 00057 pc.printf( "Sending %d bytes from PIPE0; POT=%d\r\n",temp,count[0]); 00058 00059 // Toggle LED1 (to help debug Host -> nRF24L01+ communication) 00060 RedLED = !RedLED; 00061 00062 wait(1); 00063 } 00064 }
Generated on Sun Aug 14 2022 09:39:41 by 1.7.2