Forum Moderator
Geneva
Offline
Faraday Member
Karma: 22
Posts: 2879
Yoplait... le pt'it suisse
|
 |
« Reply #45 on: December 09, 2012, 01:49:00 pm » |
C'est mieux. Maintenant ta boite de nuit, il faut lui mettre des portes : - les accolades. C'est marrant dès qu'on parle de s'envoyer en l'air, on comprend mieux..... 
|
|
|
|
« Last Edit: December 09, 2012, 01:50:51 pm by Jean-François »
|
Logged
|
MacBook intel core 2 duo os X snow Leopard 10.6 eMac PPc G4 os X Leopard 10.5 powerbook G4 os X Leopard 10.5 imac PPC G3 os X Panther 10.3.9 Arduino Diecimila Arduino Mega Arduino Standalone Arduino 1307.04 
|
|
|
|
Offline
Full Member
Karma: 0
Posts: 137
|
 |
« Reply #46 on: December 09, 2012, 01:57:30 pm » |
Les portes ont été rajoutés: const byte PIN_VITESSE = 3; // Broche de contrôle du moteur par PWM int compteur = 0;
// Fonction d'initialisation hardware void setup() { pinMode(PIN_VITESSE, OUTPUT); // Mise en sortie de la broche connecté au moteur } void loop() { while(compteur < 1) { analogWrite(PIN_VITESSE, 12); // Génération d'un signal PWM contrôlant la vitesse du moteur a 300t/mins delay(300000); // le moteur reste allumé 5mins compteur++; } }
|
|
|
|
|
Logged
|
|
|
|
|
Forum Moderator
Geneva
Offline
Faraday Member
Karma: 22
Posts: 2879
Yoplait... le pt'it suisse
|
 |
« Reply #47 on: December 09, 2012, 02:06:46 pm » |
Ton compteur va fonctionner qu'un fois  Le reste devrait fonctionner. Ensuite si tu utilises un while, autant utiliser millis() plutôt que delay(), mais c'est un peu plus compliqué à utiliser  En utilisant millis(), le programme ne se fige pas comme avec delay(), mais continue et peut traiter d'autres choses..... mais c'est pour plus tard 
|
|
|
|
|
Logged
|
MacBook intel core 2 duo os X snow Leopard 10.6 eMac PPc G4 os X Leopard 10.5 powerbook G4 os X Leopard 10.5 imac PPC G3 os X Panther 10.3.9 Arduino Diecimila Arduino Mega Arduino Standalone Arduino 1307.04 
|
|
|
|
Forum Moderator
Geneva
Offline
Faraday Member
Karma: 22
Posts: 2879
Yoplait... le pt'it suisse
|
 |
« Reply #48 on: December 09, 2012, 02:26:05 pm » |
Il manque encore la partie qui arrête le moteur....
|
|
|
|
|
Logged
|
MacBook intel core 2 duo os X snow Leopard 10.6 eMac PPc G4 os X Leopard 10.5 powerbook G4 os X Leopard 10.5 imac PPC G3 os X Panther 10.3.9 Arduino Diecimila Arduino Mega Arduino Standalone Arduino 1307.04 
|
|
|
|
Offline
Full Member
Karma: 0
Posts: 137
|
 |
« Reply #49 on: December 09, 2012, 02:53:55 pm » |
Ton compteur va fonctionner qu'un fois
Le reste devrait fonctionner.
Coment ca, il devrait fonctionner le nombre de fois que j'aurais mis dans while? Pour l'arrêt du moteur: const byte PIN_VITESSE = 3; // Broche de contrôle du moteur par PWM int compteur = 0;
// Fonction d'initialisation hardware void setup() { pinMode(PIN_VITESSE, OUTPUT); // Mise en sortie de la broche connecté au moteur } void loop() { while(compteur < 1) { analogWrite(PIN_VITESSE, 12); // Génération d'un signal PWM contrôlant la vitesse du moteur a 300t/mins delay(300000); // le moteur reste allumé 5mins compteur++; if (compteur == 1) { analogWrite(PIN_VITESSE, 0) } } } ou sinon: const byte PIN_VITESSE = 3; // Broche de contrôle du moteur par PWM int compteur = 0;
// Fonction d'initialisation hardware void setup() { pinMode(PIN_VITESSE, OUTPUT); // Mise en sortie de la broche connecté au moteur } void loop() { while(compteur < 1) { analogWrite(PIN_VITESSE, 12); // Génération d'un signal PWM contrôlant la vitesse du moteur a 300t/mins delay(300000); // le moteur reste allumé 5mins compteur++; if (compteur == 1) { analogWrite(PIN_VITESSE, 0) } else { while(compteur < 1) { analogWrite(PIN_VITESSE, 12); // Génération d'un signal PWM contrôlant la vitesse du moteur a 300t/mins delay(300000); // le moteur reste allumé 5mins compteur++; } } } Mais je pencherais plutôt pour le second code, qui est plus général et qui marchera beaucoup mieux.
|
|
|
|
|
Logged
|
|
|
|
|
Forum Moderator
Geneva
Offline
Faraday Member
Karma: 22
Posts: 2879
Yoplait... le pt'it suisse
|
 |
« Reply #50 on: December 09, 2012, 03:38:05 pm » |
Mais je pencherais plutôt pour le second code, qui est plus général et qui marchera beaucoup mieux.
Effectivement, tu maitrises bien le sujet....  Ton while étant à 1 la boucle ne passera qu'un fois.... Pourquoi mettre un if tout d'un coup ?
|
|
|
|
|
Logged
|
MacBook intel core 2 duo os X snow Leopard 10.6 eMac PPc G4 os X Leopard 10.5 powerbook G4 os X Leopard 10.5 imac PPC G3 os X Panther 10.3.9 Arduino Diecimila Arduino Mega Arduino Standalone Arduino 1307.04 
|
|
|
|
Offline
Full Member
Karma: 0
Posts: 137
|
 |
« Reply #51 on: December 09, 2012, 04:05:59 pm » |
oui mai si jamais je veux mettre un while à 3, il vaut mieux mettre la deuxième proposition, non?
|
|
|
|
|
Logged
|
|
|
|
|
Forum Moderator
Geneva
Offline
Faraday Member
Karma: 22
Posts: 2879
Yoplait... le pt'it suisse
|
 |
« Reply #52 on: December 09, 2012, 04:18:32 pm » |
Et comme ça ton moteur ne s'arrêtera plus  mais bon... voilà  Edit : j'avais pas vu que tu avais rajouté un deuxième while.... tu as mis un sas à l'entrée de ta boite de nuit ?
|
|
|
|
« Last Edit: December 09, 2012, 04:21:02 pm by Jean-François »
|
Logged
|
MacBook intel core 2 duo os X snow Leopard 10.6 eMac PPc G4 os X Leopard 10.5 powerbook G4 os X Leopard 10.5 imac PPC G3 os X Panther 10.3.9 Arduino Diecimila Arduino Mega Arduino Standalone Arduino 1307.04 
|
|
|
|
Offline
Full Member
Karma: 0
Posts: 137
|
 |
« Reply #53 on: December 09, 2012, 04:20:36 pm » |
Donc quelle moyen je dois utiliser pour que mon moteur s'arrête?
|
|
|
|
|
Logged
|
|
|
|
|
Forum Moderator
Geneva
Offline
Faraday Member
Karma: 22
Posts: 2879
Yoplait... le pt'it suisse
|
 |
« Reply #54 on: December 09, 2012, 04:22:12 pm » |
tu mets simplement ta pin_vitesse à 0 en dehors du while.
|
|
|
|
|
Logged
|
MacBook intel core 2 duo os X snow Leopard 10.6 eMac PPc G4 os X Leopard 10.5 powerbook G4 os X Leopard 10.5 imac PPC G3 os X Panther 10.3.9 Arduino Diecimila Arduino Mega Arduino Standalone Arduino 1307.04 
|
|
|
|
Offline
Full Member
Karma: 0
Posts: 137
|
 |
« Reply #55 on: December 09, 2012, 04:27:51 pm » |
Ce qui donnerai ça: const byte PIN_VITESSE = 3; // Broche de contrôle du moteur par PWM int compteur = 0;
// Fonction d'initialisation hardware void setup() { pinMode(PIN_VITESSE, OUTPUT); // Mise en sortie de la broche connecté au moteur } void loop() { while(compteur < 1) { analogWrite(PIN_VITESSE, 12); // Génération d'un signal PWM contrôlant la vitesse du moteur a 300t/mins delay(300000); // le moteur reste allumé 5mins compteur++; } analogWrite(PIN_VITESSE, 0) }
|
|
|
|
|
Logged
|
|
|
|
|
Forum Moderator
Geneva
Offline
Faraday Member
Karma: 22
Posts: 2879
Yoplait... le pt'it suisse
|
 |
« Reply #56 on: December 10, 2012, 01:06:28 am » |
Ton compteur ne fonctionnera que de la valeur du while.....
|
|
|
|
« Last Edit: December 10, 2012, 01:09:21 am by Jean-François »
|
Logged
|
MacBook intel core 2 duo os X snow Leopard 10.6 eMac PPc G4 os X Leopard 10.5 powerbook G4 os X Leopard 10.5 imac PPC G3 os X Panther 10.3.9 Arduino Diecimila Arduino Mega Arduino Standalone Arduino 1307.04 
|
|
|
|
Offline
Full Member
Karma: 0
Posts: 137
|
 |
« Reply #57 on: December 10, 2012, 05:55:57 am » |
C'est à dire?
|
|
|
|
|
Logged
|
|
|
|
|
Forum Moderator
Geneva
Offline
Faraday Member
Karma: 22
Posts: 2879
Yoplait... le pt'it suisse
|
 |
« Reply #58 on: December 10, 2012, 12:22:56 pm » |
Le while dit : tant que la valeur est inférieur à ce qui est écrit dans ma configuration, ça rentre dans ma boite.... autrement ça passe tout droit.
Disons que tu mette ton while à 3, à chaque boucle ça rentre dans la boite et ça incrémente ton compteur de 1, à la troisième boucle, ton compteur est à 3, correspondant à la valeur du while.... et ça passe tout droit, sans incrémenter ton compteur, donc ton compteur ne fonctionne que 3 fois si il est dans la boucle du while.
Mets le en dehors et il continuera à fonctionner.
|
|
|
|
|
Logged
|
MacBook intel core 2 duo os X snow Leopard 10.6 eMac PPc G4 os X Leopard 10.5 powerbook G4 os X Leopard 10.5 imac PPC G3 os X Panther 10.3.9 Arduino Diecimila Arduino Mega Arduino Standalone Arduino 1307.04 
|
|
|
|
Offline
Full Member
Karma: 0
Posts: 137
|
 |
« Reply #59 on: December 10, 2012, 03:40:44 pm » |
En dehors du void loop() alors?
|
|
|
|
|
Logged
|
|
|
|
|
|