68 lines
1.7 KiB
C++
68 lines
1.7 KiB
C++
/* YourDuinoStarter Example: nRF24L01 Transmit Joystick values
|
|
- WHAT IT DOES: Reads Analog values on A0, A1 and transmits
|
|
them over a nRF24L01 Radio Link to another transceiver.
|
|
- SEE the comments after "//" on each line below
|
|
- CONNECTIONS: nRF24L01 Modules See:
|
|
http://arduino-info.wikispaces.com/Nrf24L01-2.4GHz-HowTo
|
|
1 - GND
|
|
2 - VCC 3.3V !!! NOT 5V
|
|
3 - CE to Arduino pin 9
|
|
4 - CSN to Arduino pin 10
|
|
5 - SCK to Arduino pin 13
|
|
6 - MOSI to Arduino pin 11
|
|
7 - MISO to Arduino pin 12
|
|
8 - UNUSED
|
|
-
|
|
Analog Joystick or two 10K potentiometers:
|
|
GND to Arduino GND
|
|
VCC to Arduino +5V
|
|
X Pot to Arduino A0
|
|
Y Pot to Arduino A1
|
|
|
|
- V1.00 11/26/13
|
|
Based on examples at http://www.bajdi.com/
|
|
Questions: terry@yourduino.com */
|
|
|
|
/*-----( Import needed libraries )-----*/
|
|
#include <SPI.h>
|
|
#include <nRF24L01.h>
|
|
#include <RF24.h>
|
|
/*-----( Declare Constants and Pin Numbers )-----*/
|
|
#define CE_PIN 9
|
|
#define CSN_PIN 10
|
|
#define JOYSTICK_X A0
|
|
#define JOYSTICK_Y A1
|
|
|
|
// NOTE: the "LL" at the end of the constant is "LongLong" type
|
|
const uint64_t pipe = 0xE8E8F0F0E1LL; // Define the transmit pipe
|
|
|
|
|
|
/*-----( Declare objects )-----*/
|
|
RF24 radio(CE_PIN, CSN_PIN); // Create a Radio
|
|
/*-----( Declare Variables )-----*/
|
|
int joystick[2]; // 2 element array holding Joystick readings
|
|
|
|
void setup() /****** SETUP: RUNS ONCE ******/
|
|
{
|
|
Serial.begin(9600);
|
|
radio.begin();
|
|
radio.openWritingPipe(pipe);
|
|
}//--(end setup )---
|
|
|
|
|
|
void loop() /****** LOOP: RUNS CONSTANTLY ******/
|
|
{
|
|
joystick[0] = analogRead(JOYSTICK_X);
|
|
joystick[1] = analogRead(JOYSTICK_Y);
|
|
|
|
radio.write( joystick, sizeof(joystick) );
|
|
|
|
}//--(end main loop )---
|
|
|
|
/*-----( Declare User-written Functions )-----*/
|
|
|
|
//NONE
|
|
//*********( THE END )***********
|
|
|
|
|