module éclairage par Arduino

Modérateur : Anim'Elec

Répondre
Avatar du membre
SCANIA 14
Chauffeur
Chauffeur
Messages : 327
Enregistré le : 08 sept. 2013, 21:10
Pays : F
A été remercié : 10 fois

module éclairage par Arduino

Message par SCANIA 14 »

Bonjour,

depuis le début de la semaine je travail sur un projet de module d'éclaire pour le moment

pour le moment j'ai réussi à avoir les fonction comme :

voie 1 = neutre = feux de stop
vers le bas = feux de recul

voie 2 = manche vers la gauche = clignotant gauche
manche vers la droite = clignotant droit

mais pour l'allumage des feux par implusion je n'y arrive pas mal-grès des recherche sur le forum et sur google :x :depite:

pouvez vous m'aider ?

voici mon code pour le moment

int ch1; // Nos deux canaux de RC
int ch2;
int ch3;
int ch4;



void setup() {
//Relier les masses du récepteur et de l'arduino, et
pinMode(7, INPUT); // signal récepteur ch1 sur Arduino pin7 Aile
pinMode(8, INPUT); // signal récepteur ch2 sur Arduino pin8 THrottle
pinMode(6, INPUT); // signal récepteur ch3 sur Arduino pin6 Elev
pinMode(4, INPUT); // signal récepteur ch4 sur Arduino pin6 Rudd
pinMode(13, OUTPUT); // initialise la broche 13 en sortie numérique (stop)
pinMode(12, OUTPUT); // initialise la broche 12 en sortie numérique (arrière)
pinMode(10, OUTPUT); // initialise la broche 10 en sortie numérique (gauche)
pinMode(9, OUTPUT); // initialise la broche 9 en sortie numérique (droite)
pinMode(3, OUTPUT); // initialise la broche 3 en sortie numérique (code)
pinMode(2, OUTPUT); // initialise la broche 2 en sortie numérique (appel de phare)

}

void loop() {
//Pulsin n'est pas très optimisé mais ça fonctionne
//Signaux de largeur modulée (1ms à 2ms) sur cycle 20ms
//Donc 1000 microsec = zéro, 2000 micsec = max et 1500 = neutre
ch1 = pulseIn(7, HIGH, 25000); // Lire ch1 (25 ms)
ch2 = pulseIn(8, HIGH, 25000); // Lire ch2
ch3 = pulseIn(6, HIGH, 25000); // Lire ch3
ch4 = pulseIn(4, HIGH, 25000); // Lire ch4

if (ch1 > 1600 or ch1 <1400){ // gère le feu stop
digitalWrite(13, LOW); // allume la LED
}
else {
digitalWrite(13, HIGH); // éteint la LED
}

if (ch1 <1400){ // gère le feu arrière
digitalWrite(12, HIGH); // allume la LED
}
else {
digitalWrite(12, LOW); // éteint la LED
}

if (ch2 <1300){ // gère le feu gauche
digitalWrite(10, HIGH); // allume la LED
delay(200); // ne fait rien pendant 0.5 seconde (programme arrêté, donc rien d'autre ne fonctionne)
digitalWrite(10, LOW); // éteint la LED
delay(200); // ne fait rien pendant 0.5 seconde
}
else {
digitalWrite(10, LOW); // éteint la LED
}

if (ch2 >1600){ // gère le feu droite
digitalWrite(9, HIGH); // allume la LED
delay(200); // ne fait rien pendant 0.5 seconde
digitalWrite(9, LOW); // éteint la LED
delay(200); // ne fait rien pendant 0.5 seconde
}
else {
digitalWrite(9, LOW); // éteint la LED
}

if (ch3 >1600){ // gère les codes
digitalWrite(3, HIGH); // allume la LED


}
else {
digitalWrite(3, LOW); // éteint la LED
}

if (ch4 >1600){ // gère le appel de phare
digitalWrite(2, HIGH); // allume la LED


}
else {
digitalWrite(2, LOW); // éteint la LED
}
}
https://www.shapeways.com/shops/th-modeltruckparts

verkerk-modelbouw.nl/

scaleparts.nl/index.php/nl/webshop
http://ivans-modellbauwerkstatt.de/
Répondre

Retourner vers « le fabuleux destin de l'Arduino »