se

Dependencies:   mbed nRF24L01P

Fork of nRF24L01P_Project by Michiel Van Endert

Committer:
ninoderkinderen
Date:
Tue May 19 17:25:21 2015 +0000
Revision:
5:87f98ed1ee9a
Parent:
4:25a500ef61fc
sens

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Owen 0:a51a6e7da590 1 #include "mbed.h"
Owen 0:a51a6e7da590 2 #include "nRF24L01P.h"
Owen 0:a51a6e7da590 3
Owen 0:a51a6e7da590 4 Serial pc(USBTX, USBRX); // tx, rx
Owen 0:a51a6e7da590 5
Owen 0:a51a6e7da590 6 nRF24L01P my_nrf24l01p(p5, p6, p7, p8, p9, p10); // mosi, miso, sck, csn, ce, irq
Owen 0:a51a6e7da590 7
Owen 0:a51a6e7da590 8 DigitalOut myled1(LED1);
Owen 0:a51a6e7da590 9 DigitalOut myled2(LED2);
mvanendert 4:25a500ef61fc 10 AnalogIn LM35(p20);
mvanendert 4:25a500ef61fc 11 AnalogIn LDR(p19);
mvanendert 3:1f92895432d2 12
ninoderkinderen 5:87f98ed1ee9a 13 #define TRANSFER_SIZE 6
mvanendert 3:1f92895432d2 14
mvanendert 3:1f92895432d2 15 char txData[TRANSFER_SIZE], rxData[TRANSFER_SIZE];
mvanendert 3:1f92895432d2 16
ninoderkinderen 5:87f98ed1ee9a 17 int txDataCnt = 6;
mvanendert 3:1f92895432d2 18 int rxDataCnt = 0;
mvanendert 3:1f92895432d2 19
mvanendert 4:25a500ef61fc 20 float Light = 0;
mvanendert 3:1f92895432d2 21 float TemperatureC = 0;
ninoderkinderen 5:87f98ed1ee9a 22 char a[6]; //temp
ninoderkinderen 5:87f98ed1ee9a 23 char b[6];//licht
ninoderkinderen 5:87f98ed1ee9a 24 float i = 0;//temp
ninoderkinderen 5:87f98ed1ee9a 25 float j = 0;//licht
Owen 0:a51a6e7da590 26
Owen 0:a51a6e7da590 27 int main() {
Owen 0:a51a6e7da590 28
Owen 0:a51a6e7da590 29 // The nRF24L01+ supports transfers from 1 to 32 bytes, but Sparkfun's
mvanendert 3:1f92895432d2 30 // "Nordic Serial Interface Board" (http://www.sparkfun.com/products/9019)
mvanendert 3:1f92895432d2 31 // Only handles 4 byte transfers in the ATMega code.
Owen 0:a51a6e7da590 32 my_nrf24l01p.powerUp();
mvanendert 4:25a500ef61fc 33 my_nrf24l01p.setTxAddress(0xE7E7E7E7E7,5);
ninoderkinderen 2:178e089b3ce9 34 my_nrf24l01p.setRfFrequency(2450);
mvanendert 3:1f92895432d2 35 my_nrf24l01p.setRfOutputPower(0);
mvanendert 3:1f92895432d2 36
mvanendert 3:1f92895432d2 37
Owen 0:a51a6e7da590 38 // Display the (default) setup of the nRF24L01+ chip
mvanendert 3:1f92895432d2 39 pc.printf( "nRF24L01+ Frequency : %d MHz\r\n", my_nrf24l01p.getRfFrequency() );
Owen 0:a51a6e7da590 40 pc.printf( "nRF24L01+ Output power : %d dBm\r\n", my_nrf24l01p.getRfOutputPower() );
mvanendert 3:1f92895432d2 41 pc.printf( "nRF24L01+ Data Rate : %d kbps\r\n", my_nrf24l01p.getAirDataRate() );
mvanendert 3:1f92895432d2 42 pc.printf( "nRF24L01+ TX Address : 0x%010llX\r\n", my_nrf24l01p.getTxAddress() );
mvanendert 3:1f92895432d2 43 pc.printf( "nRF24L01+ RX Address : 0x%010llX\r\n", my_nrf24l01p.getRxAddress(0) );
Owen 0:a51a6e7da590 44
Owen 0:a51a6e7da590 45 pc.printf( "Type keys to test transfers:\r\n (transfers are grouped into %d characters)\r\n", TRANSFER_SIZE );
Owen 0:a51a6e7da590 46
Owen 0:a51a6e7da590 47 my_nrf24l01p.setTransferSize( TRANSFER_SIZE );
Owen 0:a51a6e7da590 48
ninoderkinderen 5:87f98ed1ee9a 49 //Put device in receivemode
mvanendert 4:25a500ef61fc 50 my_nrf24l01p.setReceiveMode();
Owen 0:a51a6e7da590 51 my_nrf24l01p.enable();
mvanendert 4:25a500ef61fc 52
Owen 0:a51a6e7da590 53
Owen 0:a51a6e7da590 54 while (1) {
ninoderkinderen 5:87f98ed1ee9a 55 wait(0.2);
mvanendert 4:25a500ef61fc 56 i = 0;
mvanendert 4:25a500ef61fc 57 j = 0;
ninoderkinderen 5:87f98ed1ee9a 58 txDataCnt = 6;
mvanendert 3:1f92895432d2 59
mvanendert 4:25a500ef61fc 60 for (int t = 0; t < 100; t++)
mvanendert 4:25a500ef61fc 61 {
mvanendert 4:25a500ef61fc 62 i = i + LM35.read();
mvanendert 4:25a500ef61fc 63 }
ninoderkinderen 5:87f98ed1ee9a 64 for (int y = 0; y < 100; y++)
ninoderkinderen 5:87f98ed1ee9a 65 {
ninoderkinderen 5:87f98ed1ee9a 66 j = j + LDR.read();
ninoderkinderen 5:87f98ed1ee9a 67 }
ninoderkinderen 5:87f98ed1ee9a 68 pc.printf("Temperatuur in %4.1f graden C \n\r", i * 3.3);
ninoderkinderen 5:87f98ed1ee9a 69 pc.printf("Lichtsterkte in %4.1f procent \n\r", j);
ninoderkinderen 5:87f98ed1ee9a 70
ninoderkinderen 5:87f98ed1ee9a 71 sprintf(a, "%f", i * 3.3); //float to char
ninoderkinderen 5:87f98ed1ee9a 72 sprintf(b, "%f", j); //float to char
ninoderkinderen 5:87f98ed1ee9a 73 /*
mvanendert 4:25a500ef61fc 74 pc.printf("a %f \n\r", a);
mvanendert 4:25a500ef61fc 75 pc.printf("a1 %c \n\r", a[0]);
mvanendert 4:25a500ef61fc 76 pc.printf("a2 %c \n\r", a[1]);
mvanendert 4:25a500ef61fc 77 pc.printf("a3 %c \n\r", a[2]);
mvanendert 4:25a500ef61fc 78 pc.printf("a4 %c \n\r", a[3]);
mvanendert 4:25a500ef61fc 79 pc.printf("a5 %c \n\r", a[4]);
ninoderkinderen 5:87f98ed1ee9a 80 */
mvanendert 4:25a500ef61fc 81
mvanendert 4:25a500ef61fc 82
mvanendert 4:25a500ef61fc 83 for(int x = 0; x <=5; x++)
mvanendert 4:25a500ef61fc 84 {
mvanendert 4:25a500ef61fc 85 txData[x] = a[x];
ninoderkinderen 5:87f98ed1ee9a 86 /*pc.printf("txData[0] %c \n\r", txData[0]);
mvanendert 4:25a500ef61fc 87 pc.printf("txData[1] %c \n\r", txData[1]);
mvanendert 4:25a500ef61fc 88 pc.printf("txData[2] %c \n\r", txData[2]);
mvanendert 4:25a500ef61fc 89 pc.printf("txData[3] %c \n\r", txData[3]);
ninoderkinderen 5:87f98ed1ee9a 90 pc.printf("txData[4] %c \n\r", txData[4]); */
mvanendert 4:25a500ef61fc 91 }
ninoderkinderen 5:87f98ed1ee9a 92 txData[5] = 'T';
ninoderkinderen 5:87f98ed1ee9a 93 // Toggle LED1 debug(Temperatuur)
ninoderkinderen 5:87f98ed1ee9a 94 myled1 = !myled1;
mvanendert 4:25a500ef61fc 95 my_nrf24l01p.write( NRF24L01P_PIPE_P0, txData, txDataCnt );
ninoderkinderen 5:87f98ed1ee9a 96 pc.printf("Ik heb mijn temperatuur verzonden\r\n");
ninoderkinderen 5:87f98ed1ee9a 97 wait(0.3);
ninoderkinderen 5:87f98ed1ee9a 98 for(int x = 0; x <=5; x++)
ninoderkinderen 5:87f98ed1ee9a 99 {
ninoderkinderen 5:87f98ed1ee9a 100 txData[x] = b[x];
ninoderkinderen 5:87f98ed1ee9a 101 /*pc.printf("txData[0] %c \n\r", txData[0]);
ninoderkinderen 5:87f98ed1ee9a 102 pc.printf("txData[1] %c \n\r", txData[1]);
ninoderkinderen 5:87f98ed1ee9a 103 pc.printf("txData[2] %c \n\r", txData[2]);
ninoderkinderen 5:87f98ed1ee9a 104 pc.printf("txData[3] %c \n\r", txData[3]);
ninoderkinderen 5:87f98ed1ee9a 105 pc.printf("txData[4] %c \n\r", txData[4]); */
ninoderkinderen 5:87f98ed1ee9a 106 }
ninoderkinderen 5:87f98ed1ee9a 107 txData[5] = 'L';
ninoderkinderen 5:87f98ed1ee9a 108 my_nrf24l01p.write( NRF24L01P_PIPE_P0, txData, txDataCnt );
ninoderkinderen 5:87f98ed1ee9a 109 pc.printf("Ik heb mijn lichtwaarde verzonden\r\n");
ninoderkinderen 5:87f98ed1ee9a 110 // Toggle LED2 debug(lichtwaarde)
ninoderkinderen 5:87f98ed1ee9a 111 myled2 = !myled2;
Owen 0:a51a6e7da590 112 }
Owen 0:a51a6e7da590 113 }
mvanendert 4:25a500ef61fc 114