Je me présente, je suis en prépa aux écoles d'ingénieur et je prépare un genre d'exposé sur un système que l'on a créé ou amélioré.
Mon objectif est de créer un régulateur de vitesse (l'arduino) sur un scooter électrique. Cependant, le "language" arduino nous a été très peu approfondis, on a plus mis l'accent sur du Python.
J'aurais alors besoin de votre assistance afin de mener à bien mon projet.
Voici le début de mon programme :
/* Active un moteur, puis s'éteint. */
/* Le Pin 11 de l'arduino est connecté au moteur on le donne un nom : */
int moteur = 11;
// après appui sur reset :
void setup() {
int input(VitesseRequise)
int input(VitesseObservée)
// initialiser la broche en tant que sortie numérique.
pinMode(moteur, OUTPUT); }
//analyser l'entrée analogique et comparer la vitesse celle fixée:
analogRead(broche)
if (VitesseObservée > VitesseRequise) :
if (VitesseObservée < VitesseRequise) :
if (VitesseObservée = VitesseRequise) :
Je sais que ce n'est pas grand chose et qu'ill manque des choses en plus.. :
mais j'aurais juste besoin de votre opinion vu que pour c'est nouveau pour moi
Merci d'avoir pris la peine de me lire, merci à vous @+
déclare tes entrées comme ceci plutôt ^^
int vitesse observee = 8 //par exemple 8, le numéro de l'entrée
pinMode(vitesse observee, INPUT);
après tu peut choisir soit de le mettre en pull up ou pull down, a toi de voir
et quand tu lit une valeur avec analogread il faut que la valeur que la fonction renvoie soit stocker dans une variable
double vitesse = analogRead(vitesse observee); //soit lecture de la broche vitesse observee
bonjour,
commence a lire un peu les exemples de l'ide arduino.
tu auras les bases pour ordonner ton programme
pour s'y retrouver plus facilement
1 définir les pin et donner un nom de variable
2 setup définir input ouput pour chaque nom de variable
3 loop
lire les données
comparer par if
faire ce qu'il faut dans les if
ca pourrait donner ca en très simple
int led = 13;
int X = 10;
void setup(){
pinMode(led, OUTPUT);
}
void loop(){
if (X>100){
digitalWrite (led, HIGH);
X=0;
}
else if(X<50){
digitalWrite(led, HIGH);
delay(500);
digitalWrite(led, LOW);
}
else{
digitalWrite(led, LOW);
}
X++;
}
Je vous remercie pour vos réponses, je corrige actuellement mon programme sous vos conseils.
J'editerais ce post pour vous montrer quelle tête il aura.
Merci encore !
Salut, voici une nouvelle version
Il y a des choses que je ne sais pas encore traduire par les bonnes fonctions ( en rouge et entre points d'exclamation dans le programme).
J'aimerais avoirs vos avis ou conseils
Merci à vous
/* Active un moteur, en ajustant sa vitesse à la vitesse requise puis s'éteint sur demande de l'utilisateur */
/* Le Pin 11 de l'arduino est connecté au moteur on le donne un nom : */
int moteur = 11;
VariableMot = 1
// après appui sur reset :
void setup() {
// initialiser la broche en tant que sortie analogique et allumage moteur :
analogWrite(2,255)
pinMode(moteur, OUTPUT); }
}
//Le Pin 12 associé au capteur de vitesse :
int vitesse = 12
Variabvitesse = 2
//Le pin 13 associé à l'entrée de la vitesse consigne :
int vitconsignne = 13
Variabconsigne = 3
//Mise en route du régulateur par rapport à la vitesse consigne :
if press ON
read vitesse
!!ajuster vitconsigne sur vitesse!!
//Comparaison de la vitesse requise et celle observée
if vitconsigne == vitesse !!ne rien faire!!
if vitconsigne < vitesse !!augmenter vitesse jusqua arriver comme vitesse!!
if vitconsigne > vitesse !!supprimer alimention du moteur!!
// Boucle jusqu'a appui sur reset:
void loop() {
digitalWrite(moteur, HIGH); // Allume moteur au voltage maximum
if press reset digitalWrite(moteur, LOW) break;
}