Bonjour, actuellement en terminal S, les professeurs nous ont proposé un ppe à moi et mes camarades qui consiste à programmer un microcontrolleur ATMEGA 16 8bits dans le but de temporiser l' extinction de lampe du plafond de la voiture. Après quelques semaines, nous avons réussi à boucler une partie du ppe cependant ils nous restent à faire la programmation avec CodeVision avr, ce que nous avons commencer à faire en rentrant le programme que nous avons petit à petit recherché.
Lorsque l' on rentre notre programme en langage C dans CodeVision et que l' on regarde si il comporte des erreurs, le logiciel nous informe qu' il y a aucunes erreurs.
Mais lorsque l' on teste sur une maquette, la temporisation n' est pas pris en compte.
VOILA NOTRE PRESENTATION AINSI QUE NOTRE PROG:
En fait, ce que l' on veut c' est lorque la porte de la voiture est ouverte, la lampe s allume et lorsque l' on ferme la porte la lampe reste allumé 5 secondes puis s' eteigne.
LED=LAMPE
IT1=CAPTEUR DE PORTE 0:porte ouverte 1:porte fermée
PROG EN LANGUAGE C:
While(1)
{ if (IT1==0)
{ LED=1;
do
LED=1
while (IT1==1)
delay_ms(5000);
LED=0;
}
}
lampeplafonnier de voiture
Modérateur : Modérateur
-
- Administrateur
- Messages : 2323
- Inscription : 23 sept. 2003 18:14
- Localisation : Strasbourg
- Contact :
Bonjour,
LED=1 il manque le ;
Sinon delay_ms(5000); est exécuté à chaque (IT1==0) , il n'est pas soumit à la condition IT1==1.
Il y a la balise code pour mettre ton programme un peu en forme :
a+
JP
Ca j'en doute :le logiciel nous informe qu' il y a aucunes erreurs.
LED=1 il manque le ;
Sinon delay_ms(5000); est exécuté à chaque (IT1==0) , il n'est pas soumit à la condition IT1==1.
Il y a la balise code pour mettre ton programme un peu en forme :
Code : Tout sélectionner
While(1)
{
if (IT1==0)
{
LED=1;
do
LED=1
while (IT1==1)
delay_ms(5000);
LED=0;
}
}
JP
Dernière modification par JP le 03 avr. 2006 11:50, modifié 1 fois.
Ca clignote !!!!
-
- Administrateur
- Messages : 2323
- Inscription : 23 sept. 2003 18:14
- Localisation : Strasbourg
- Contact :
Moi j'aurais plutôt vu quelque chose du genre :
Code : Tout sélectionner
While(1)
{
if (IT1==0) // Si la portière est ouverte
{
LED=1; // On allume le plafonnier
if (IT1==1) // Si la portière se referme
{
delay_ms(5000); // On attend 5s
LED=0; // et on éteint le plafonnier
}
}
}
Ca clignote !!!!
Voire même avec un else.
Un atmega8 pour 5 secondes ils sont ambitieux tes prof.
Un atmega8 pour 5 secondes ils sont ambitieux tes prof.
Vince
http://anyedit.free.fr/
http://electropol.free.fr/
Les amis, ça va, ça vient, mais les ennemis, ça s’accumule.
http://anyedit.free.fr/
http://electropol.free.fr/
Les amis, ça va, ça vient, mais les ennemis, ça s’accumule.