Programmation C
Répondre à la discussion
Affichage des résultats 1 à 3 sur 3

Programmation C



  1. #1
    invite0d244b79

    Question Programmation C


    ------

    Bonjour à tous, je suis actuellement sur le projet d'un robot suiveur de ligne et détecteur d'obstacle, nous programmons un PIC 18F2550 avec le logiciel PIC C COMPILER. Le robot comporte 2 moteurs branchés en inverses.

    Mon problème c'est que je n'arrive pas à faire tourné les moteurs, Il faut 4,5V a ses bornes pour qu'ils puissent avancé, cependant j'obtiens 4,8 au + et 0.8 au - je comprend pas pourquoi... Je suis débutant en programmation de C donc je suis preneur de tous conseils.

    Je commande les moteurs sur le port A : A0 jusque A3 en analogique

    Voila mon programme :
    Code:
    void main()
    {
       init();
       output_low (Mgm);
       output_low (Mdp);
       while(1==1)
       {
       moteur();
       //detect();
       }
    }
     
    //*****************************************************************************
    void init()
     
    {  
       setup_adc_ports(AN0_TO_AN3|VSS_VDD);
       setup_adc(ADC_OFF);
     
     
       port_b_pullups (TRUE); // initialisation portB
       output_bit (Almm, 1);
       output_bit (Gndm, 0);
       // initilisation interruption externe
      // ext_int_edge( l_to_h ); //Interruption déclenchée sur un front montant
      // enable_interrupts( INT_EXT1 ); // Autorisation d'interruption par RB1
     //  enable_interrupts( GLOBAL );  //Autorisation d'interruption global
    }
    //*****************************************************************************
    //void detect()
    //{
    //output_high (CmdAlimGP2);
    //}
    //*****************************************************************************
    void moteur()
    {
       if (LM == 1)
       {
          if ((LD == 0)&&(LG == 0))
          output_high((Mdm)&&( Mgp));
           
          if ((LD == 1)&&(LG == 0))
          output_high(Mgp);
          output_low(Mdm);
       
          if ((LD == 0)&&(LG == 1))
          output_high(Mdm);
          output_low(Mgp);
       }
       if (LM == 0)
       {
          if ((LD == 0)&&(LG == 0))
          output_high((Mdm)&&( Mgp));
           
          if ((LD == 1)&&(LG == 0))
          output_high(Mgp);
          output_low(Mdm);
       
          if ((LD == 0)&&(LG == 1))
          output_high(Mdm);
          output_low(Mgp);
       }
    }
    Si vous avez des suggestions sa sera avec plaisir ! Merci d'avance.

    .

    -----
    Dernière modification par gienas ; 28/01/2010 à 09h56. Motif: Remplacé balise spoiler par code

  2. #2
    Gérard

    Re : Programmation C

    Quelle est la consommation des moteurs ,
    Qu'est ce qu'il y a entre les moteurs et le PIC ?
    Quel est le schéma ?

  3. #3
    invite0d244b79

    Re : Programmation C

    En fait le problème ne vient pas de mon programme.. C'est juste qu'il faut une carte d'interface que mon prof n'a pas.. donc je ne pourrais jamais tester mon programme..

    Désolé pour mon post..

Discussions similaires

  1. Programmation en C
    Par invitedf6fcb20 dans le forum Logiciel - Software - Open Source
    Réponses: 42
    Dernier message: 14/10/2009, 20h35
  2. Programmation C
    Par invite34aea5f7 dans le forum Électronique
    Réponses: 21
    Dernier message: 22/03/2008, 01h19
  3. Programmation
    Par invitee4eb1a4a dans le forum Internet - Réseau - Sécurité générale
    Réponses: 2
    Dernier message: 13/11/2006, 12h50
  4. programmation
    Par invited0b2ef3b dans le forum Logiciel - Software - Open Source
    Réponses: 8
    Dernier message: 09/04/2006, 15h54
  5. Programmation en C
    Par invite3c59dc04 dans le forum Logiciel - Software - Open Source
    Réponses: 2
    Dernier message: 21/02/2006, 14h23
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...