/*
Date:22.02.2021
Ce programme Arduino a été réalisé pour commander différentes leds de mon camion radiocommandé en fonction de la voie équipé d'un potentiomètre sur ma radiocommande.
On peux considérer que le potentiomètre se transforme en un interrupteur à 6 positions
Il me permet d'allumé dans l'ordre:
Les LEDS oranges de gabarit : broche 8 branchée sur un module MOSFET IRF520
Les LEDS phares : broche 9 brachée sur un transistor 2n2222
Les LEDS antibrouillards : broche 10 sur un transistor 2n2222
La LED blanche de la cabine : broche 11 brachée sur un transistor 2n2222
La LED de couleur de la cabine : broche 12 brachée sur un transistor 2n2222 (la LED blanche de la cabine s'éteint)
*/
Code : Tout sélectionner
// Variable:
int CH3 = 900; //variable CH3 de la voie 3 du recepteur et initialisation a 900
void setup()
{
//Broche entrée:
pinMode(4, INPUT); //Cable blanc de la voie du recepteur sur la broche 4
//Broches de sortie:
pinMode(8, OUTPUT); //LEDS oranges de gabarit
pinMode(9, OUTPUT); //LEDS phares
pinMode(10, OUTPUT); //LEDS antibrouillards
pinMode(11, OUTPUT); //LED blanche de la cabine
pinMode(12, OUTPUT); //LED de couleur de la cabine
}
// Boucle du programme:
void loop()
{
CH3 = pulseIn(4, HIGH); //mesure PWM de la durée de l'impulsion sur une périodede de la voie CH3
CH3 = map(CH3, 890, 2074, 100, -100); //Changement de la valeur en microsecondes mesurée CH3 en pourcentage
//Etats des LEDS en fonction du pourcentage de CH3 qui varie de -100 à +100
//Si CH3 est inférieur à -66, rien n'est allumé
if (CH3 > -66) // Allumage des LEDS oranges de gabarit lorsque CH3 est supérieur à -66
{
digitalWrite(8, HIGH);
}
else
{
digitalWrite(8, LOW);
}
if (CH3 > -33) // Allumage des LEDS phares lorsque CH3 est supérieur à -33
{
digitalWrite(9, HIGH);
}
else
{
digitalWrite(9, LOW);
}
if (CH3 > 0) // Allumage des LEDS antibrouillards lorsque CH3 est supérieur à 0
{
digitalWrite(10, HIGH);
}
else
{
digitalWrite(10, LOW);
}
if (CH3 >33 && CH3 <66) //Allumage de la LED blanche de la cabine lorsque CH3 est compris entre 33 et 66
{
digitalWrite(11, HIGH);
}
else
{
digitalWrite(11, LOW);
}
if (CH3 > 66) // Allumage de la LED couleur de la cabine lorsque CH3 est supérieur à 66
{
digitalWrite(12, HIGH);
}
else
{
digitalWrite(12, LOW);
}
}