Bonjour à toutes et tous, j'espère que vous allez bien
voici mon souci je n'arrive pas a faire varier la vitesse du ventilo à 4 fils
2 fils pour l'alimentation , un fil pour mesurer la vitesse et l'autre je suppose pour faire varier la vitesse
voici mon code qui permet de voir le nombre de tours par minute
// Définition des broches utilisé et du timeout
#define PULSE_PIN 7
#define PULSE_TIMEOUT 1000000
// Variable contenant la vitesse du moteur en rotations par minute
unsigned long rpm;
// setup()
void setup () {
// Initialisation du port série
Serial.begin(9600);
// Place la broche de la sonde en entrée
pinMode(PULSE_PIN, INPUT);
// Sonde à collecteur ouvert -> pull-up obligatoire
digitalWrite(PULSE_PIN, HIGH);
}
// loop()
void loop () {
// Mesure de la durée du temps bas en us
rpm = pulseIn(PULSE_PIN, LOW, PULSE_TIMEOUT);
// Calcul de la vitesse en RPM à partir du temps bas en us
rpm = 150 / (rpm / 1000000.0);
// Affichage sur le port série
Serial.println(rpm, DEC);
// Délai no-flood
delay(500);
}
excusez moi pour la présentation du code mais je ne l'ai pas trouve dans la liste mais pour revenir à mon petit problème que dois-je faire pour faire varier la vitesse du ventilo?
merci pour votre aide toujours précieuse!
a+++
- Edité par têkitoi 12 décembre 2013 à 12:28:47
"there is no path to peace, Peace is the path " Mahatma Gandhi
#define PULSE_PIN 7
#define PULSE_TIMEOUT 1000000
// Variable contenant la vitesse du moteur en rotations par minute
unsigned long rpm;
int variateur = 8;//affectation sur le pin 8
// setup()
void setup () {
// Initialisation du port série
Serial.begin(9600);
// Place la broche de la sonde en entrée
pinMode(PULSE_PIN, INPUT);
pinMode(variateur, OUTPUT);
// Sonde à collecteur ouvert -> pull-up obligatoire
digitalWrite(PULSE_PIN, HIGH);
}
// loop()
void loop () {
// Mesure de la durée du temps bas en us
rpm = pulseIn(PULSE_PIN, LOW, PULSE_TIMEOUT);
// Calcul de la vitesse en RPM à partir du temps bas en us
rpm = 150 / (rpm / 1000000.0);
// Affichage sur le port série
Serial.println(rpm, DEC);
digitalWrite(variateur, HIGH); //met le ventilo sur high
delay(1000); //attendre une seconde
digitalWrite(variateur,LOW); // met le ventilo sur low (éteind)
delay(1000);
// Délai no-flood
delay(500);
}
cette fois ci j'ai bien le ventilo qui diminue de vitesse mais je n'ai aucun contrôle sur celle -ci alors je ne vois pas comment la faire varier autrement et de manière plus précise....
merci pour votre aide et à bientôt!!!
"there is no path to peace, Peace is the path " Mahatma Gandhi
merci mille fois #abuche effectivement c'est ce qu'il fallait faire....
je peux mettre en résolu maintenant et grâce à toi!
"there is no path to peace, Peace is the path " Mahatma Gandhi
varier la vitesse d'un ventilo
× 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.