aide programme c sur MIKROC (suiveur de ligne)
Répondre à la discussion
Affichage des résultats 1 à 7 sur 7

aide programme c sur MIKROC (suiveur de ligne)



  1. #1
    axe-331

    aide programme c sur MIKROC (suiveur de ligne)


    ------

    je veut programme un robot suiveur de ligne avec 6 capteur dans le pic 16F84A mais je trouve des problèmes voici mon code :


    // Suiveur de ligne
    // 0=noir 1=blanc
    #define c1 PORTB.F0 //capteur
    #define c2 PORTB.F1 //capteur
    #define c3 PORTB.F2 //capteur
    #define c4 PORTB.F3 //capteur
    #define c5 PORTB.F4 //capteur
    #define c6 PORTB.F5 //capteur
    #define s1 PORTB.F6 //servo moteur
    #define s2 PORTB.F7 //servo moteur
    void A(){
    s1=1; //s1 -_______________
    s2=1; //s2 --______________
    delay_ms(1);
    s1=0;
    delay_ms(1);
    s2=0;
    delay_ms(18);
    }

    void R(){
    s1=1; // s1 --_____________
    s2=1; // s2 -______________
    delay_ms(1);
    s2=0;
    delay_ms(1);
    s1=0;
    delay_ms(18);
    }
    void TG(){
    s2=1;
    s1=0;
    delay_ms(2);
    s2=0;
    delay_ms(18);
    }
    //tourne droit
    void TD(){
    s1=1;
    s2=0;
    delay_ms(1);
    s1=0;
    delay_ms(19);
    }
    // 2 fonction stop et demi-tours
    void ST(){
    s1=0;
    s2=0;
    delay_ms(20);
    }

    void DT(){
    while(c6!=0){
    TD();
    /* s1=0;
    s2=1;
    delay_ms(20);
    */
    }
    }

    void main() {
    TRISB=0b00111111;
    //TRISA=0b00000100;
    while(1){

    if(c1==0 && c2==0 && c3==0 && c4==0 && c5==0 && c6==0) TG();
    if(c1==0 && c2==0 && c3==1 && c4==1 && c5==1 && c6==1) TG();
    if(c1==0 && c2==1 && c3==1 && c4==1 && c5==1 && c6==1) TG();
    if(c1==1 && c2==0 && c3==0 && c4==1 && c5==1 && c6==1) TG();
    if(c1==1 && c2==1 && c3==0 && c4==0 && c5==0 && c6==0) TD();
    if(c1==1 && c2==1 && c3==1 && c4==0 && c5==0 && c6==1) TD();
    if(c1==1 && c2==1 && c3==1 && c4==1 && c5==0 && c6==0) TD()
    if(c1==1 && c2==1 && c3==1 && c4==1 && c5==1 && c6==0) TD();
    if(c1==0 && c2==0 && c3==0 && c4==0 && c5==1 && c6==1) DT();
    if(c1==1 && c2==1 && c3==0 &&c4==0 && c5==0 && c6==0)) DT();
    if(c1==1 && c2==1 && c3==1 && c4==1 && c5==1 && c6==1)ST(); //fonction stop
    else
    A()
    }


    //merci

    -----

  2. #2
    remy01

    Re : aide programme c sur MIKROC (suiveur de ligne)

    BONJOUR,
    il faudrait donner plus d'informations...
    Avec le peu que tu donnes je dirais qu'un servo moteur ne marche pas en mettant un 1 ou un 0
    sur une sortie, il faut une commande en MLI (Modulation en Largeur d'Impulsion)
    A+ ....Rémy.

  3. #3
    axe-331

    Re : aide programme c sur MIKROC (suiveur de ligne)

    quel type d'information ?j'ai pas bien compris .oui le servomoteur ne marche pas

  4. #4
    Seb.26

    Re : aide programme c sur MIKROC (suiveur de ligne)

    pour utiliser un servomoteur et un pic, voir ce site

    NB: pour poster du code, utilisez la balise CODE ... c'est plus lisible.
    Dernière modification par Seb.26 ; 05/07/2013 à 10h56.
    << L'histoire nous apprend que l'on apprend rien de l'histoire. >>

  5. A voir en vidéo sur Futura
  6. #5
    Seb.26

    Re : aide programme c sur MIKROC (suiveur de ligne)

    NB: vous avez mesuré la durée des sorties vers les servomoteur avec un oscillo ?
    << L'histoire nous apprend que l'on apprend rien de l'histoire. >>

  7. #6
    paolo123

    Re : aide programme c sur MIKROC (suiveur de ligne)

    IL FAUT RENDRE ton code plus lisible! et surtout le commenter! il est pas lisible du tout et ca me donne pas envie de le comprendre, en plus tu pourrais l'optimiser bien mieux que ca

  8. #7
    Seb.26

    Re : aide programme c sur MIKROC (suiveur de ligne)

    Ton dernier "else" me fait me demander si c'est bien des if que tu voulais mettre au dessus et non des "else if" ... ? ... car dans l'état ça ne peut en effet pas marcher ...

    NB: il manque un ; dans un des "if" ...
    << L'histoire nous apprend que l'on apprend rien de l'histoire. >>

Discussions similaires

  1. aide ppe robot suiveur de ligne:fonctionement capteur CNY70
    Par invite597a3066 dans le forum TPE / TIPE et autres travaux
    Réponses: 15
    Dernier message: 18/02/2013, 22h36
  2. programme de robot suiveur de ligne (PIC asm)
    Par inviteb298d239 dans le forum Électronique
    Réponses: 12
    Dernier message: 01/05/2012, 16h35
  3. aide programme c sur MIKROC
    Par coeur noire dans le forum Électronique
    Réponses: 31
    Dernier message: 02/05/2009, 19h30
  4. robot suiveur de ligne
    Par invite9e76ef3b dans le forum Électronique
    Réponses: 1
    Dernier message: 11/03/2009, 19h57
  5. Suiveur de ligne
    Par invite5d7ada35 dans le forum TPE / TIPE et autres travaux
    Réponses: 0
    Dernier message: 16/01/2005, 12h13
Découvrez nos comparatifs produits sur l'informatique et les technologies.