Wireless sensor network to log LDR and Potentiometer values on Serial terminal. Wireless module used is NRF24L01P. This is the transmitter code.
Fork of kl25Z_nRF_TX by
Revision 1:52659fc8b32a, committed 2016-05-24
- Comitter:
- janhavi
- Date:
- Tue May 24 10:11:04 2016 +0000
- Parent:
- 0:19a03658bf70
- Commit message:
- WSN logging LDR and POT data over NRF.
Changed in this revision
Transmitter.cpp | Show annotated file Show diff for this revision Revisions of this file |
diff -r 19a03658bf70 -r 52659fc8b32a Transmitter.cpp --- a/Transmitter.cpp Mon Jun 01 05:20:18 2015 +0000 +++ b/Transmitter.cpp Tue May 24 10:11:04 2016 +0000 @@ -1,50 +1,55 @@ #include "mbed.h" #include "nRF24L01P.h" - + Serial pc(USBTX, USBRX); // tx, rx - -nRF24L01P my_nrf24l01p(PTD6, PTE3, PTE2, PTB8, PTB9, PTD0); // mosi, miso, sck, csn, ce, irq + +nRF24L01P my_nrf24l01p(PTD2, PTD3, PTD1, PTD0, PTD5, PTD4); // mosi, miso, sck, csn, ce, irq DigitalOut RedLED(LED1); - +AnalogIn ldr(A1); +AnalogIn pot(A0); + int main() { char count[2]; char TxDataCnt; char temp; - - + my_nrf24l01p.powerUp(); my_nrf24l01p.setRfFrequency(2410); - + // Display the (default) setup of the nRF24L01+ chip pc.printf( "nRF24L01+ Frequency : %d MHz\r\n", my_nrf24l01p.getRfFrequency() ); pc.printf( "nRF24L01+ Output power : %d dBm\r\n", my_nrf24l01p.getRfOutputPower() ); pc.printf( "nRF24L01+ Data Rate : %d kbps\r\n", my_nrf24l01p.getAirDataRate() ); pc.printf( "nRF24L01+ TX Address : 0x%010llX\r\n", my_nrf24l01p.getTxAddress() ); pc.printf( "nRF24L01+ RX Address : 0x%010llX\r\n", my_nrf24l01p.getRxAddress() ); - - pc.printf( "Simple Transmitter (0 - 9 Counter) \r\n"); - + + pc.printf( "Wirelesss sensor network \r\n"); + TxDataCnt = 2; my_nrf24l01p.setTransferSize(TxDataCnt); - + my_nrf24l01p.enable(); - - count[0] = 0x01; - count[1] = 0x01; - + + char ldr_val, pot_val; + while (1) { - + + //adjusting data to 0-255 with char data type + ldr_val = 255*(ldr.read()); + pot_val = 255*(pot.read()); + + count[0] = ldr_val; + count[1] = pot_val; + // Send the Transmit buffer via the nRF24L01+ temp = my_nrf24l01p.write( NRF24L01P_PIPE_P0,count, TxDataCnt ); - - pc.printf( "Sending %d - %d %d\r\n",temp,count[0],count[1]); - + + pc.printf( "Sending %d bytes; LDR=%d, POT=%d\r\n",temp,count[0], count[1]); + // Toggle LED1 (to help debug Host -> nRF24L01+ communication) RedLED = !RedLED; - - count[1]++; - + wait(1); } -} +} \ No newline at end of file