begin process at 2012 05 30 14:25:55
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Divers

 > 

Débutant(e)

 > 

Programme sur un At908535 et une carte stk200


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Programme sur un At908535 et une carte stk200

dimanche 13 avril 2008 à 22:27:07 | Programme sur un At908535 et une carte stk200

amo41

Bonjour, alors voila je souhaite réaliser un programme pour mon PPE (projet pluritechnique encadré) mais ayant peu de connaissance dans ce domaine, je tiens à faire appel à vous. Je vous explique le déroulement. Admettons qu'un bébé se réveille la nuit, bien notre sytème doit detecter cela avec un detecteur infrarouge(que l'on trouve habituellement sous les lampes extrieures) et actionner un moteur qui fait bercer le berceau,avec une berceuse et une musique. Voila où j'en suis, j'ai créé un algo pour voir ce que cela donnait ici . Puis en français:

debut

variable

initialisation des prériphérique
moteur=0 // moteur a 0 <=> moteur a l'arret
musique=0 // musique a 0 <=> pas de musique
lumiere=0 // musique a 0 <=> pas de musique
comteur_mouvement=0 // comteur de mouvement
compteur_temps_1=0; // un compteur de temps en seconde
compteur_temps_2=0; // un compteur de temps en seconde

 


tant que (1=1) // boucle infini a modifier si il y a un bouton on/off
{
 tant que(compteur_mouvement<12)// quand on sort de cette boucle le bébé a fait 12 mouvements en moins de 180 seconde
 {
  compteur_mouvement=0
  compteur_temps_1=0
  tant que(compteur_mouvement<12 ET compteur_temps_1<180) // a la sorti de cette boucle soit il se serra écouler 180 sconde , soit le bébé aurra bouger 12 fois
  {
   si(mouvement!=0)
   {
    compteur_mouvement++
   }
   sinon
   {
    attendre(3seconde)
   }
   fin si
  }
  moteur=1
  musique=1
  lumiere=1
  attendre(600seconde)
  
}
 
} // fin du programme ( bouton off)


Voila, donc j'aurai besoin de savoir quels fonction réalise ceci? Merci d'avance

dimanche 13 avril 2008 à 22:29:57 | Re : Programme sur un At908535 et une carte stk200

amo41

l'image [url=http://www.casimages.com/img.php?i=0804131029022941814.jpg][img]http://nsa01.casimages.com/img/2008/04/13/mini_0804131029022941814.jpg[/img][/url]
dimanche 13 avril 2008 à 22:43:00 | Re : Programme sur un At908535 et une carte stk200

amo41

[ Lien ]
lundi 14 avril 2008 à 00:15:32 | Re : Programme sur un At908535 et une carte stk200

amo41

Il me faut une une fonction en C qui permet d'attendre un certain nombre de seconde et savoir comment dire au moteur/lumière/musique de s'allumer.merci
lundi 14 avril 2008 à 11:26:46 | Re : Programme sur un At908535 et une carte stk200

amo41

je suis dans la bonne section?
mardi 15 avril 2008 à 20:58:03 | Re : Programme sur un At908535 et une carte stk200
lundi 12 mai 2008 à 14:50:05 | Re : Programme sur un At908535 et une carte stk200

amo41

 1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
 														//programme : mouvement bebe 														#define F_CPU 4000000UL	 														#include <avr/io.h>          														#include <stdlib.h> 														#include <avr/delay.h> 														//entrees 														#define mouvement PINA 														//variable 														int 														compteur_mouvement 														; 														//initialisation des périphériques 														void 														Init_Periph 														( 														void 														) 														{ 														compteur_mouvement 														= 														0 														; 														DDRA 														= 														0xFD 														; 														/* port A en sortie sauf PA1 en entrée*/ 														PORTA 														= 														0x02 														; 														} 														/********************************************************** 														                       Programme                                 														***********************************************************/ 														void 														main 														( 														void 														) 														{ 														Init_Periph 														(); 														while 														( 														1 														) 														// boucle infinie a modifier si il y a un bouton on/off 														{ 														compteur_mouvement 														= 														0 														; 														while 														( 														compteur_mouvement 														< 														5 														) 														//quand on sort de cette boucle le bébé a fait 12 mouvements en moins de 180 seconde 														{ 														if 														( 														mouvement 														== 														0x02 														) 														{ 														compteur_mouvement 														++ 														; 														} 														_delay_ms 														( 														10000 														); 														} 														PORTA 														= 														0x0C 														; 														_delay_ms 														( 														60000 														); 														_delay_ms 														( 														60000 														); 														PORTA 														= 														0x00 														; 														} 														//fin while et fin du programme ( bouton off) 														} 														//fin du main 												
Le while de la ligne 35, while (compteur_mouvement<5; j'aimerai que si on dépasse un temps de 180s, ce while ne doit pas continuer, il doit recommencer. Comment puis-je faire? Merci
lundi 12 mai 2008 à 14:54:08 | Re : Programme sur un At908535 et une carte stk200

amo41

désolée, je ne sais pas pourquoi cela c'est mal affiché,

//programme : mouvement bebe
#define F_CPU 4000000UL 
#include <avr/io.h>        
#include <stdlib.h>
#include <avr/delay.h>

//entrees
#define mouvement PINA
//variable

int compteur_mouvement;
//initialisation des périphériques

void Init_Periph(void)
 {
 compteur_mouvement=0;
  
 DDRA = 0xFD;/* port A en sortie sauf PA1 en entrée*/
 PORTA = 0x02;
 }

/**********************************************************
                       Programme                               
***********************************************************/


void main(void)
{
 Init_Periph();

 while(1)// boucle infinie a modifier si il y a un bouton on/off
  {
   compteur_mouvement=0;
   
   while (compteur_mouvement<5) //quand on sort de cette boucle le bébé a fait 12 mouvements en moins de 180 seconde
   {
    if (mouvement == 0x02) 
    {
    compteur_mouvement++;
    }
   _delay_ms(3000);
   }
    PORTA=0x0C;
    _delay_ms(3000);
    _delay_ms(3000);
    _delay_ms(3000);
    _delay_ms(3000);
    PORTA=0x00;
    
        
 }//fin while et fin du programme ( bouton off)
}//fin du main

Pour ce while la: while (compteur_mouvement<5; j'aimerai que si on dépasse un temps de 180s, ce while ne doit pas continuer, il doit recommencer. Comment puis-je faire? Merci



Cette discussion est classée dans : programme, compteur, temps, moteur, mouvement


Répondre à ce message

Sujets en rapport avec ce message

temps d'execution d'un programme [ par asnow ] Je voudrais savoir en combien de temps mon programme (tri de tableau) s'execute, quel code dois-je rajouter en C svp ?merci comment gérer un sleep() et une siasie de touche en même temps? [ par capunk ] bonjour, j'ai un programme a faire dont le but est de simuler le fonctionnement d'une mémoire vive.Donc mon soucis c'est qu'il faut que je simule auss opérations matrice /temps exécution prg [ par 0wil0 ] Bonjour, J'effectue dans mon programme des opérations relativement simples sur des matrices (additions, soustractions, moyenne des éléments de matrice Console et fenêtre en meme temps [ par brosse_adan ] Bonjour!Une question qui a peut-être déjà été posé, mais dont je trouve pas la réponse: est-il possible de faire un programme qui nous affiche à la fo gestion des IT en C++ [ par superteta2003 ] je dois développer en C++ un programme gérant les interruptions. j'ai récupéré des sources d'une application qui devrait remplacer la routine d'interr compteur de lettre [ par cobra176 ] Bonjour je sais qui exister sur ce site un programme qui compte le nombre de lettre de symbole en C mais voila 2 heures que je le recherche . quelqu' Probleme de temps. [ par Eldros ] Bon, voila, on peux me considerer comme un developpeur ave peu d'experience. Par consequent, je iens chercher conseil.J'aimerais pouvoir faire defiler interrompre un programme de calcul en temps réel [ par koaber ] Bonjour, je souhaiterais utiliser une fonction qui interrompt le progamme en cours et renvoie au menu principal si on appuie sur 'm' (comme menu) ; c' probleme de (gros) newbee [ par bucheron96 ] salut a tous! deja, j'ai eu le temps de me balader sur le site...site super bravo!! ca fait un bon moment que je veut apprendre la programmation, Création d'un compteur de temps dans visual c++ [ par Djule01 ] Bonjour, Je voudrais incrémenter un compteur (de temps) dans un jeu de casse brique. C'est a dire que lorsque je clique sur la barre d'espace pour co


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,560 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales