ORIENTATION_NRF

Dependencies:   MMA8451Q mbed nRF24L01P

Committer:
tanvividushi
Date:
Tue Apr 04 05:09:48 2017 +0000
Revision:
0:e16df03be291
transmitter code

Who changed what in which revision?

UserRevisionLine numberNew contents of line
tanvividushi 0:e16df03be291 1 #include "mbed.h"
tanvividushi 0:e16df03be291 2 #include "nRF24L01P.h"
tanvividushi 0:e16df03be291 3 #define Address (0x1d<<1)
tanvividushi 0:e16df03be291 4 #include "MMA8451Q.h"
tanvividushi 0:e16df03be291 5
tanvividushi 0:e16df03be291 6 BusOut rgbled(PTA5,PTA12,PTC8);
tanvividushi 0:e16df03be291 7 MMA8451Q acc(PTE25,PTE24,Address);
tanvividushi 0:e16df03be291 8 Serial pc(USBTX, USBRX); // tx, rx
tanvividushi 0:e16df03be291 9
tanvividushi 0:e16df03be291 10 nRF24L01P my_nrf24l01p(PTD2, PTD3, PTD1, PTD0, PTD5, PTD4); // mosi, miso, sck, csn, ce, irq
tanvividushi 0:e16df03be291 11 DigitalOut RedLED(PTA5);
tanvividushi 0:e16df03be291 12 float xaxis ,yaxis;
tanvividushi 0:e16df03be291 13
tanvividushi 0:e16df03be291 14 int main()
tanvividushi 0:e16df03be291 15 {
tanvividushi 0:e16df03be291 16 char count[1];
tanvividushi 0:e16df03be291 17 char TxDataCnt;
tanvividushi 0:e16df03be291 18 char temp;
tanvividushi 0:e16df03be291 19
tanvividushi 0:e16df03be291 20
tanvividushi 0:e16df03be291 21 my_nrf24l01p.powerUp();
tanvividushi 0:e16df03be291 22 my_nrf24l01p.setRfFrequency(2445);
tanvividushi 0:e16df03be291 23
tanvividushi 0:e16df03be291 24 // Display the (default) setup of the nRF24L01+ chip
tanvividushi 0:e16df03be291 25 pc.printf( "nRF24L01+ Frequency : %d MHz\r\n", my_nrf24l01p.getRfFrequency() );
tanvividushi 0:e16df03be291 26 pc.printf( "nRF24L01+ Output power : %d dBm\r\n", my_nrf24l01p.getRfOutputPower() );
tanvividushi 0:e16df03be291 27 pc.printf( "nRF24L01+ Data Rate : %d kbps\r\n", my_nrf24l01p.getAirDataRate() );
tanvividushi 0:e16df03be291 28 pc.printf( "nRF24L01+ TX Address : 0x%010llX\r\n", my_nrf24l01p.getTxAddress() );
tanvividushi 0:e16df03be291 29 pc.printf( "nRF24L01+ RX Address : 0x%010llX\r\n", my_nrf24l01p.getRxAddress() );
tanvividushi 0:e16df03be291 30
tanvividushi 0:e16df03be291 31 pc.printf( "Simple Transmitter (0 - 9 Counter) \r\n");
tanvividushi 0:e16df03be291 32
tanvividushi 0:e16df03be291 33 TxDataCnt = 1;
tanvividushi 0:e16df03be291 34 my_nrf24l01p.setTransferSize(TxDataCnt);
tanvividushi 0:e16df03be291 35
tanvividushi 0:e16df03be291 36 my_nrf24l01p.enable();
tanvividushi 0:e16df03be291 37
tanvividushi 0:e16df03be291 38
tanvividushi 0:e16df03be291 39 while (1) {
tanvividushi 0:e16df03be291 40
tanvividushi 0:e16df03be291 41 // Send the Transmit buffer via the nRF24L01+
tanvividushi 0:e16df03be291 42 temp = my_nrf24l01p.write( NRF24L01P_PIPE_P0,count, TxDataCnt );
tanvividushi 0:e16df03be291 43
tanvividushi 0:e16df03be291 44 xaxis=acc.getAccX();
tanvividushi 0:e16df03be291 45 yaxis=acc.getAccY();
tanvividushi 0:e16df03be291 46 if((xaxis>=-0.2 && xaxis<=0.2) && (yaxis>=-0.2 && yaxis<=0.2))
tanvividushi 0:e16df03be291 47 {
tanvividushi 0:e16df03be291 48
tanvividushi 0:e16df03be291 49 rgbled=0x06;
tanvividushi 0:e16df03be291 50 count[0]=0;
tanvividushi 0:e16df03be291 51 pc.printf("ok\n\r");
tanvividushi 0:e16df03be291 52 wait(0.5);
tanvividushi 0:e16df03be291 53 }
tanvividushi 0:e16df03be291 54
tanvividushi 0:e16df03be291 55 else if((xaxis>-0.6 && xaxis<-0.2) || (xaxis>0.2 && xaxis<0.6 ) || (yaxis>-0.6 && yaxis<-0.2) || (yaxis>0.2 && yaxis<0.6 ) )
tanvividushi 0:e16df03be291 56 {
tanvividushi 0:e16df03be291 57 rgbled=0x05;
tanvividushi 0:e16df03be291 58 count[0]=1;
tanvividushi 0:e16df03be291 59 pc.printf("not ok\n\r");
tanvividushi 0:e16df03be291 60 wait(0.5);
tanvividushi 0:e16df03be291 61 }
tanvividushi 0:e16df03be291 62
tanvividushi 0:e16df03be291 63 else
tanvividushi 0:e16df03be291 64 {
tanvividushi 0:e16df03be291 65 rgbled=0x03;
tanvividushi 0:e16df03be291 66 count[0]=2;
tanvividushi 0:e16df03be291 67 pc.printf("emergency!!!!\n\r");
tanvividushi 0:e16df03be291 68 wait(0.5);
tanvividushi 0:e16df03be291 69 }
tanvividushi 0:e16df03be291 70 pc.printf( "orientation data - %d\r\n",count[0]);
tanvividushi 0:e16df03be291 71 pc.printf( "Sending %d - %d \r\n",temp,count[0]);
tanvividushi 0:e16df03be291 72 RedLED = !RedLED;
tanvividushi 0:e16df03be291 73 }
tanvividushi 0:e16df03be291 74
tanvividushi 0:e16df03be291 75 // Toggle LED1 (to help debug Host -> nRF24L01+ communication)
tanvividushi 0:e16df03be291 76 // RedLED = !RedLED;
tanvividushi 0:e16df03be291 77
tanvividushi 0:e16df03be291 78
tanvividushi 0:e16df03be291 79
tanvividushi 0:e16df03be291 80 // wait(0.01);
tanvividushi 0:e16df03be291 81 }
tanvividushi 0:e16df03be291 82