Escolar Documentos
Profissional Documentos
Cultura Documentos
4GHz
That can connect directly to the receiver up to 3 led devices or low consumption 5 v
buzzer
Transmisssor e Receptor 7 canais Arduino + Modulo NRF24L01 2.4GHz
Que pode ligar directamente no receptor ate 3 dispositivos tipo led ou buzzer de
baixo consumo 5 v
Transmitter
Receiver
Obs: Copy and past exactly like here, if not, need be organized line by line.
Transmiter Code:
// Transmissor RC de 7 Canais
#include <nRF24L01.h>
#include <RF24.h>
const uint64_t pipeOut = 0xE8E8F0F0E1LL; //Este codigo 0xE8E8F0F0E1LL deve ser igual ao do Receptor
RF24 radio(9, 10); // Os pinos de radio devem ser indicado neste caso usei o 9 e o 10
};
Signal data;
void ResetData()
void setup()
radio.setAutoAck(false);
radio.setPALevel(RF24_PA_HIGH); // Quanto mais alto mais longo o alcance e mais bateria consome
ResetData();
}
// Comando do Joystick
int mapJoystickValues(int val, int baixo, int medio, int alto, bool retaguarda)
else
void loop()
// Valores de calibracao
data.canal1 = mapJoystickValues( analogRead(A3), 12, 524, 1020, false ); // "true" or "false" direccao do sinal | Acelerador
data.canal2 = mapJoystickValues( analogRead(A0), 12, 524, 1020, false ); // "true" or "false" direccao do servo | Leme 0
data.canal3 = mapJoystickValues( analogRead(A1), 12, 524, 1020, false ); // "true" or "false" direccao do servo | Elevador
data.canal4 = mapJoystickValues( analogRead(A4), 12, 524, 1020, true ); // "true" or "false" direccao do servo | Flaps
data.canal5 = mapJoystickValues( analogRead(A6), 12, 524, 1020, false ); // "true" or "false" direccao do servo | Axiliar 1
data.canal6 = mapJoystickValues( analogRead(A7), 12, 524, 1020, true ); // "true" or "false" direccao do servo | Auxiliar 2
data.canal7 = mapJoystickValues( analogRead(A2), 12, 524, 1020, true ); // "true" or "false" direccao do servo | Auxiliar 3
radio.write(&data, sizeof(Signal));
// finish code
// tipo LED
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
#include <Servo.h>
int ch_width_1 = 0;
int ch_width_2 = 0;
int ch_width_3 = 0;
int ch_width_4 = 0;
int ch_width_5 = 0;
int ch_width_6 = 0;
int ch_width_7 = 0;
struct Signal {
};
Signal data;
void ResetData()
void setup()
//nnn
canal1.attach(4);
canal2.attach(3);
canal3.attach(2);
canal4.attach(5);
canal5.attach(6);
canal6.attach(7);
canal7.attach(19);
pinMode(16, OUTPUT);
pinMode(17, OUTPUT);
pinMode(18, OUTPUT);
ResetData();
radio.begin();
radio.openReadingPipe(1,pipeIn);
radio.setAutoAck(false);
radio.setDataRate(RF24_250KBPS);
radio.setPALevel(RF24_PA_HIGH);
radio.startListening();
pinMode(6,OUTPUT);
void recvData()
while ( radio.available() ) {
radio.read(&data, sizeof(Signal));
lastRecvTime = millis();
void loop()
// Led intermitente()
if( LEDState ==HIGH )
else
// LED blink
recvData();
ResetData();
ch_width_3 = map(data.canal3, 0, 160, 950, 2000); // different angle replace 160 by 255 and 950 by 1000
analogWrite(16, data.canal5);
analogWrite(17, data.canal6);
analogWrite(18, data.canal7);
canal1.writeMicroseconds(ch_width_1);
canal2.writeMicroseconds(ch_width_2);
canal3.writeMicroseconds(ch_width_3);
canal4.writeMicroseconds(ch_width_4);
canal5.writeMicroseconds(ch_width_5);
canal6.writeMicroseconds(ch_width_6);
canal7.writeMicroseconds(ch_width_7);
// finish code