J'ai commencé à utiliser arduino il n'y a pas très longtemps donc mes connaissances sont assez limitées.
Je fais de la moto en compétition et j'essaye de réaliser un projet pour que les vitesses de la moto passe toute seul.
J'ai plusieurs condition à respecter:
J'ai un compteur qui m'envoi un signal quand je dois passer les vitesses en fonction du régime moteur.
La deuxième condition est que ma poignée d'embrayage doit être relâché. Pour cela j'utilise un switch qui fonctionne comme un interrupteur et me laisse passer du courant quand il est activé.
Mon programme doit me permettre de piloter mon électrovanne quand mes deux conditions sont activés.
De plus je voudrais que mon programme s'active seulement 5 fois et que l’électrovanne soit activé seulement 25 millisecondes.
Pour cela j'ai écris un programme mais le problème est que l’électrovanne reste constamment activéee quand mon compteur et mon switch sont actifs.
voila mon programme:
const int poignee =10;
const int EV1 =9;
const int compteur=15;
int compteurstate=0;
int poigneestate=0;
void setup() {
// put your setup code here, to run once:
pinMode(poignee,INPUT);
pinMode(EV1,OUTPUT);
pinMode (compteur,INPUT);
}
void loop() {
for (int i=0; i= 5; i++){
// put your main code here, to run repeatedly:
poigneestate=digitalRead(poignee);
compteurstate=digitalRead(compteur);
if ( compteurstate==HIGH && poigneestate == HIGH){
digitalWrite(EV1,HIGH);
delay(2000);
}
else {
digitalWrite(EV1,LOW);
}
}
}
J'aimerai savoir comment faire pour avoir une tempo sur mon electrovanne et comment faire pour que le programme ne s'active que 5 fois
Tu n'es pas sans savoir qu'il est interdit de modifier un véhicule sans le repasser aux Mines pour une nouvelle homologation.
Et tu crois qu'après ces modifs la moto passera aux mines ?
C'est hyper dangereux de modifier une moto, tu n'es pas seul sur la route, il y a aussi des innocents.
La société Arduino interdit l'usage de ses cartes lorsque la sécurité des personnes est concerné.
Que veux tu dire par " pour que mon programme ne fonctionne que 5 fois" ?
Si tu veux actionner ton EV que 5 fois, à chaque action de l'EV tu incrémentes une variable et quand cette variable arrive à 5 tu empêches l'action de l'EV.
pour les 25 millisecondes, dans ton code tu mets un delay(2000) qui bloque ton programme pendant deux secondes.
Regarde la fonction millis() qui n'est pas bloquante.
hello
tu veux faire un shifter?
pourquoi une electrovanne?
je pensais qu'il fallait couper l'allumage quelques millisecondes lorsque ton pied actionne le sélecteur de rapports.
"Si tu veux actionner ton EV que 5 fois, à chaque action de l'EV tu incrémentes une variable et quand cette variable arrive à 5 tu empêches l'action de l'EV."
Quel fonction je peux utiliser pour faire cela ?
J'ai essayé avec une boucle for mais cela ne fonctionne pas
Ce sont peut être des questions simple mais je débute