Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of nRF24L01P_Project by
main.cpp@5:87f98ed1ee9a, 2015-05-19 (annotated)
- Committer:
- ninoderkinderen
- Date:
- Tue May 19 17:25:21 2015 +0000
- Revision:
- 5:87f98ed1ee9a
- Parent:
- 4:25a500ef61fc
sens
Who changed what in which revision?
| User | Revision | Line number | New 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 |
