je me permet de vous contacter aujourd'hui suite a un problème qui me trotte dans la tête depuis quelques moi, alors voici le topo:
je dois programmer un moteur CC pour mon projet, contrôler la vitesse , le faire tourner dans les 2 sens.
Pour l'instant je sais comment gérer la vitesse sans problème dans un sens mais le faire tourner dans l'autre sens j'ai plus de mal que prévue ,j'ai fais pas mal de recherche je sais que je dois utiliser un pont en H L293D pour faire changer le courant de sens (désoler pour cette définition pas très claire) j'ai fais pas mal de test mais rien ne fonctionne peut être que c'est mon incompétence étant un débutant j'espère que vous pourrez m'aider a résoudre mon problème pour programmer ce L293D sur de l'arduino.
merci cordialement et veuillez excuser mon orthographe.
Il devrait y avoir une entrée dédiée à la direction. Un coup de gogole "L293D" et ça sort des centaines de shémas et de tutos, il fallait commencer par là.
je pense que tu veux faire varier l'intensité de ton moteur et le sens du coup je connais un site pas mal qui t'explique tout (comment marche un moteur a comment programmer) effectivement tu aura besoin de
const int enable = 3; //la PWM
const int in1 = 2; //les broches de signal
const int in2 = 4;
const int potar = 0; //la broche pour régler la vitesse
void setup()
{
pinMode(enable, OUTPUT);
pinMode(in1, OUTPUT);
pinMode(in2, OUTPUT);
Serial.begin(115200);
//on démarre moteur en avant et en roue libre
analogWrite(enable, 0);
digitalWrite(in1, LOW);
digitalWrite(in2, HIGH);
}
void loop()
{
int vitesse = analogRead(potar);
//dans le sens positif
if(vitesse > 512)
{
//on décale l'origine de 512
vitesse -= 512;
//le moteur va dans un sens
digitalWrite(in1, LOW);
digitalWrite(in2, HIGH);
Serial.print("+");
}
else //dans l'autre sens
{
//de même on décale pour que la vitesse augmente en s'éloignant de 512
vitesse = 512-vitesse;
//le moteur va dans l'autre sens
digitalWrite(in1, HIGH);
digitalWrite(in2, LOW);
Serial.print("-");
}
//pour rester dans l'intervalle [0;255] (sinon on est dans [0;512])
vitesse /= 2;
//envoie la vitesse
analogWrite(enable, vitesse);
//et l'affiche
Serial.println(vitesse);
delay(50);
}
voila en esperant t'avoir aider
apres ceci est un code non complet apres tu l'adapte
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Bonhomme !! | Jeu de plateforme : Prototype.
Le meilleur moyen de prédire l'avenir, c'est de l'inventer | N'oubliez pas [résolu] et +1 | Excusez mon ôrtograffe, j'essaie de l'améliorer...