avec un arduino nano, il est possible de decoder le signal SBus (Futaba, FrSky) et ainsi beneficier de plus de voies que sur le recepteur, d' afficher ces infos sur un ecran 0.49 pouces, et aussi de gerer les feux.
Vu qu on a le signal SBus, donc tous les cannaux, on sait aisement gerer les feux de frein, de recul, ... Par exemple, les clignotants s' arretent apres avoir tourne et que les roues reviennent au centre.
J' ai publie le code comme une librairie Arduino, pour que ce soit le plus simple possible.
https://www.arduino.cc/reference/en/lib ... modelisme/
Cette librairie contient meme un exemple de pcb qu on peut faire imprimer pour quelques euros.
Par exemple, pour gerer 11 canaux supplementaires aux 8 du recepteur, plus les feux et un ecran de mesure, le code Arduino se resume a
Code : Tout sélectionner
#include <Modelisme.h>
#include <ReceiverDisplay.h>
Receiver rec;
LightManager lm;
ReceiverDisplay screen("MT 1042", 24);
void setup(void) {
//Manage lights
lm.setup(2, 3, 4, 5, 6, 7, 8);
//Screen
screen.setup(&rec, &lm);
//Sbus Decoder
rec.setup(19);
//Servos
rec.servoPins[0] = 9; rec.servoChannels[0] = 6;
rec.servoPins[1] = 10;rec.servoChannels[1] = 7;
rec.servoPins[2] = 11;rec.servoChannels[2] = 8;
rec.servoPins[3] = 12;rec.servoChannels[3] = 9;
rec.servoPins[4] = 13;rec.servoChannels[4] = 10;
rec.servoPins[5] = A0;rec.servoChannels[5] = 12;
rec.servoPins[6] = A1;rec.servoChannels[6] = 13;
rec.servoPins[7] = A2;rec.servoChannels[7] = 14;
rec.servoPins[8] = A3;rec.servoChannels[8] = 15;
rec.servoPins[9] = A6;rec.servoChannels[9] = 16;
rec.servoPins[10]= A7;rec.servoChannels[10]= 17;
}
void loop()
{
delay(50);
rec.read();
//Manage ligths
lm.checkLights(rec.channels[11].angle, rec.channels[2].angle, rec.channels[4].angle, rec.channels[1].angle);
//Manage screen
screen.loop();
}
