Pages: 1 2 3 [4] 5   Go Down
Author Topic: PROGRAMME URGENT  (Read 4776 times)
0 Members and 1 Guest are viewing this topic.
Forum Moderator
Geneva
Offline Offline
Faraday Member
*****
Karma: 30
Posts: 3230
Yoplait... le pt'it suisse
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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.....  smiley-lol
« 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<br/> eMac PPc G4  os X Leopard 10.5<br/>powerbook G4 os X Leopard 10.5
imac PPC G3 os X Pa

Offline Offline
Full Member
***
Karma: 0
Posts: 154
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Les portes ont été rajoutés:

Code:
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 Offline
Faraday Member
*****
Karma: 30
Posts: 3230
Yoplait... le pt'it suisse
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ton compteur va fonctionner qu'un fois  smiley-mr-green

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  smiley-lol

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  smiley-lol
Logged

MacBook intel core 2 duo  os X snow Leopard 10.6<br/> eMac PPc G4  os X Leopard 10.5<br/>powerbook G4 os X Leopard 10.5
imac PPC G3 os X Pa

Forum Moderator
Geneva
Offline Offline
Faraday Member
*****
Karma: 30
Posts: 3230
Yoplait... le pt'it suisse
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Il manque encore la partie qui arrête le moteur....
Logged

MacBook intel core 2 duo  os X snow Leopard 10.6<br/> eMac PPc G4  os X Leopard 10.5<br/>powerbook G4 os X Leopard 10.5
imac PPC G3 os X Pa

Offline Offline
Full Member
***
Karma: 0
Posts: 154
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
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:

Code:
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:

Code:
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 Offline
Faraday Member
*****
Karma: 30
Posts: 3230
Yoplait... le pt'it suisse
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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....  smiley-mr-green

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<br/> eMac PPc G4  os X Leopard 10.5<br/>powerbook G4 os X Leopard 10.5
imac PPC G3 os X Pa

Offline Offline
Full Member
***
Karma: 0
Posts: 154
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

oui mai si jamais je veux mettre un while à 3, il vaut mieux mettre la deuxième proposition, non?
Logged

Forum Moderator
Geneva
Offline Offline
Faraday Member
*****
Karma: 30
Posts: 3230
Yoplait... le pt'it suisse
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Et comme ça ton moteur ne s'arrêtera plus  smiley-mr-green mais bon... voilà  smiley-lol

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  ? smiley-lol
« 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<br/> eMac PPc G4  os X Leopard 10.5<br/>powerbook G4 os X Leopard 10.5
imac PPC G3 os X Pa

Offline Offline
Full Member
***
Karma: 0
Posts: 154
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Donc quelle moyen je dois utiliser pour que mon moteur s'arrête?
Logged

Forum Moderator
Geneva
Offline Offline
Faraday Member
*****
Karma: 30
Posts: 3230
Yoplait... le pt'it suisse
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

tu mets simplement ta pin_vitesse à 0 en dehors du while.
Logged

MacBook intel core 2 duo  os X snow Leopard 10.6<br/> eMac PPc G4  os X Leopard 10.5<br/>powerbook G4 os X Leopard 10.5
imac PPC G3 os X Pa

Offline Offline
Full Member
***
Karma: 0
Posts: 154
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ce qui donnerai ça:


Code:
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 Offline
Faraday Member
*****
Karma: 30
Posts: 3230
Yoplait... le pt'it suisse
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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<br/> eMac PPc G4  os X Leopard 10.5<br/>powerbook G4 os X Leopard 10.5
imac PPC G3 os X Pa

Offline Offline
Full Member
***
Karma: 0
Posts: 154
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

C'est à dire?
Logged

Forum Moderator
Geneva
Offline Offline
Faraday Member
*****
Karma: 30
Posts: 3230
Yoplait... le pt'it suisse
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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<br/> eMac PPc G4  os X Leopard 10.5<br/>powerbook G4 os X Leopard 10.5
imac PPC G3 os X Pa

Offline Offline
Full Member
***
Karma: 0
Posts: 154
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

En dehors du void loop() alors?
Logged

Pages: 1 2 3 [4] 5   Go Up
Jump to: