Stap 4: Programing draadloze controller
(Transmeter)
/*
-WAT het doet: leest
Analoge waarden op A0, A1 en stuurt
ze over een nRF24L01 Radio-Link naar een andere transceiver.
1 - GND
2 - VCC 3.3V!!! NIET 5V
3 - CE tot Arduino pin 9
4 - CSN om Arduino pin 10
5 - SCK Arduino pin 13
6 - MOSI aan Arduino pin 11 Transmeter
7 - MISO op Arduino pin 12
8 - ONGEBRUIKTE
-Analoge Joystick:
GND met Arduino GND
VCC Arduino + 5V
X Pot aan Arduino A0
Y Pot aan Arduino A1
*
*---(Invoer nodig bibliotheken)---* /
#include
#include
#include
/ *---(Verklaar constanten en Pin nummers)---* /
#define CE_PIN 9
#define CSN_PIN 10
#define JOYSTICK_X A0
#define JOYSTICK_Y A1
Opmerking: de "LL" aan het einde van de constante is "LongLong" type
Const uint64_t pijp = 0xE8E8F0F0E1LL; Definiëren van de transmit pijp
/ *---(Objecten declareren)---* /
RF24 radio (CE_PIN, CSN_PIN); Een Radio maken
/ *---(Declareer variabelen)---* /
int joystick [2]; 2 element array dat Joystick lezingen
void setup / *** SETUP: loopt eenmaal *** /
{
Serial.begin(9600);
Radio.begin();
radio.openWritingPipe(pipe);
} //--(end setup)---
void loop / *** lus: loopt voortdurend *** /
{
joystick [0] = analogRead(JOYSTICK_X);
joystick [1] = analogRead(JOYSTICK_Y);
Radio.write (joystick, sizeof(joystick));
} //--(end hoofdlus)--
(Recever)
/*
-WAT het doet: Gegevens worden ontvangen van een ander
transceiver met
2 analoge waarden uit een Joystick
Hiermee ontvangen waarden op seriële Monitor
Recever
1 - GND
2 - VCC 3.3V!!! NIET 5V
3 - CE tot Arduino pin 9
4 - CSN om Arduino pin 10
5 - SCK Arduino pin 13
6 - MOSI Arduino PIN 11
7 - MISO op Arduino pin 12
8 - ONGEBRUIKTE
/ *---(Invoer nodig bibliotheken)---* /
#include
#include
#include
/ *---(Verklaar constanten en Pin nummers)---* /
#define CE_PIN 9
#define CSN_PIN 10
Opmerking: de "LL" aan het einde van de constante is "LongLong" type
Const uint64_t pijp = 0xE8E8F0F0E1LL; Definiëren van de transmit pijp
/ *---(Objecten declareren)---* /
RF24 radio (CE_PIN, CSN_PIN); Een Radio maken
/ *---(Declareer variabelen)---* /
int joystick [2]; 2 element array dat Joystick lezingen
void setup / *** SETUP: loopt eenmaal *** /
{
Serial.begin(9600);
delay(1000);
Serial.println ("Nrf24L01-Receiver starten");
Radio.begin();
radio.openReadingPipe(1,pipe);
radio.startListening();
} //--(end setup)---
void loop / *** lus: loopt voortdurend *** /
{
Als (radio.available())
{/ / De nettolading aan gegevens lezen totdat we hebben alles ontvangen
BOOL = false;
terwijl (! gedaan)
{/ / Haal de nettolading aan gegevens
= radio.read (joystick, sizeof(joystick));
Serial.Print ("X =");
Serial.Print(joystick[0]);
Serial.Print ("Y =");
Serial.println(joystick[1]);
}
}
anders
{
Serial.println ("geen radio beschikbaar");
}
} //--(end hoofdlus)---