Davide Rosa Hack
In questo articolo spiego come creare una radioricevente a 2,4 gHz da utilizzare con un radiocomando che verrà illustrata in un'altro articolo.
Per il progetto e stato utilizzata l'Arduino Pro Mini 328 (3.3V/8MHz)
e la scheda nRF24L01+Module (Modulo radio TX/RX) con la libreria RF24
La ricevente può essere collegata direttamente a dei servo motori oppure ad un UAV.
Schema elettrico
Sketch Arduino :
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
#include <Servo.h>
#define CE_PIN 7
#define CSN_PIN 8
const uint64_t pipe = 0xE8E8F0F0E1LL;
RF24 radio(CE_PIN, CSN_PIN);
byte joystick[8];
Servo CH1;
Servo CH2;
Servo CH3;
Servo CH4;
Servo CH5;
void setup() {
CH1.attach(3, 1000, 2000);
CH2.attach(5, 1000, 2000);
CH3.attach(6, 1000, 2000);
CH4.attach(9, 1000, 2000);
CH5.attach(10, 1000, 2000);
radio.begin();
radio.setPayloadSize(sizeof(joystick));
radio.openReadingPipe(1,pipe);
radio.startListening();
}
void loop() {
if (radio.available()) {
// OLD RF24 Library
//bool done = false;
//while (!done) {
// done = radio.read( joystick, sizeof(joystick) );
// if(!done) {
// delay(20);
// }
//}
radio.read(joystick, sizeof(joystick));
radio.stopListening();
CH1.write(joystick[0]);
CH2.write(joystick[1]);
CH3.write(joystick[2]);
CH4.write(joystick[3]);
CH5.write(joystick[4]);
radio.startListening();
}
}
Galleria Immagini