Programme d'un tachymètre, mikroBasic
Répondre à la discussion
Affichage des résultats 1 à 2 sur 2

Programme d'un tachymètre, mikroBasic



  1. #1
    Hamza_ap

    Programme d'un tachymètre, mikroBasic


    ------

    Bonjour à tous !
    je suis élève en 1ere S sciences de l'ingénieur, et pour mon projet on doit, mon camarade et moi s'occuper de programmer un écran LCD capable d'afficher la vitesse instantanée en m/s et
    la distance parcourue d'un vélo, utilisant un capteur à effet Hall, c'est à dire sensible aux champs magnétiques, pour cela on met un aimant sur un rayon de la roue arrière. (fonctions d'un tachymètre)

    On dispose d'une carte électronique, avec un microcontrôleur PIC18F4520, d'un afficheur LCD, de leds, d'un buzzer,de multiples connecteurs... enfin bref, elle est vraiment complète.
    Elle fonctionne sur du 15 V pour info.

    Venons au problème. Au niveau de la programmation, on a appris à programmer l'écran LCD.

    En gros, pour le capteur c'est simple, s'il ne reçoit rien, en sortie il n'y rien. Or quand il reçoit un champ magnétique, (quand l'aimant passe devant ce capteur), il fait un retour +5V, c'est à dire en sortie il y aura un signal = 5V

    Voilà notre programme pour le moment :

    program tachymetre
    dim tours as byte
    RB0avf, RB0apf as boolean ' c'est à dire la conversion analogique / numérique
    txt as string[5] ' texte variable au cours du temps

    main:

    '(Interrupteur Inter_RB0 et RB, Afficheur LCD):
    TRISB = %00000011 ' PORTB en entrée de RB0 à RB1 : Inter_RB0 et Inter_RB1
    ' PORTB en sortie de RB2 à RB7 : Afficheur LCD

    tours = 0

    Lcd_Init(PORTB)
    ADCON1 = 0x0F

    Debut:
    Lcd_Out(1,1, "tours") ' Ecriture du texte sur la ligne 1 et la colonne 1
    byteToStr(tours, txt)
    Lcd_Out(2,1, txt) ' Ecriture du texte sur la ligne 2 et la colonne 1

    do
    RB0avf = PORTB.1 'Contrôle de l'état de RB1
    delay_ms(100)
    RB0apf = PORTB.1 'Contrôle de l'état de RB1 100 ms après, ce qui rend le compteur précis avec un petit rafraîchissement.
    delay_ms(100)
    loop until (not(RB0avf) and (RB0apf))

    tours = tours + 1 ' Incrémentation compteur

    goto debut
    end.



    Donc le voilà, à quoi ça ressemblais. Mais le seul problème, c'est qu'on a jugé bon de rajouter 3 autres aimants pour avoir la mesure la plus précise possible, ce qui corresponds à 4 signaux reçus = 1 tour.

    Bon voilà en gros c'est pas l'application électronique qui m'intéresse, je voudrais juste obtenir de l'aide concernant la programmation d'un tachymètre, en gros les boucles que vous aurez utilisé, ou un indice n'importe quelle aide serait la bienvenue.

    merci d'avance,
    Hamza.

    -----

  2. #2
    vincent66

    Re : Programme d'un tachymètre, mikroBasic

    Bonsoir et bienvenue sur futura !
    Vous nous dites d'abord vouloir mesurer une vitesse en m/s puis une distance parcourue...
    Votre soft de compte-tours avec un seul aimant doit fonctionner mais je ne vois pas de déclaration de constante de la distance parcourue par tour de roue ni de calcul de la distance parcourue par intégration..?
    Avec quatre aimants il vous faut je crois définir une constante de distance parcourue par quart de tour...

    Vincent
    Leonardo était ingénieur "sans papier", et moi diplômé juste...technicien...

Discussions similaires

  1. tachymétre :s
    Par invite7b97d97d dans le forum Électronique
    Réponses: 3
    Dernier message: 17/12/2010, 09h40
  2. tachymètre..help please
    Par invite6be5cfc3 dans le forum Électronique
    Réponses: 4
    Dernier message: 09/02/2010, 18h53
  3. [Divers] tachymètre
    Par invite74771e95 dans le forum Dépannage
    Réponses: 0
    Dernier message: 25/05/2009, 06h46
  4. LCD et mikrobasic
    Par KHEOPS1982 dans le forum Électronique
    Réponses: 1
    Dernier message: 06/02/2008, 20h55
  5. Tachymètre analogique
    Par eavan dans le forum Électronique
    Réponses: 4
    Dernier message: 15/12/2007, 15h32
Découvrez nos comparatifs produits sur l'informatique et les technologies.