Problème urgent avec mikrobasic
Répondre à la discussion
Affichage des résultats 1 à 24 sur 24

Problème urgent avec mikrobasic



  1. #1
    invite818ab403

    Problème urgent avec mikrobasic


    ------

    Bonjour, je suis actuellement en Terminale SSI et nous avons une épreuve pour le bac nous demandant de réaliser un projet. Mon choix s'est porté sur la réalisation d'un éthylotest capable d’empêcher une voiture de démarrer si son conducteur a bu. Le problème vient du pic 16F628 que nous avons utilisé, malgré un programme qui me semble juste, les tests pratique ne sont pas concluant. Je vous serai très reconnaissant de m'aider, la date de passage a l'oral est ce lundi et je n'ai plus aucune possibilité d'aide...

    1: program ethy
    2 :
    3 : main :
    4 : TRISA = $06
    entrées
    5 : TRISB = 0
    sorties
    6 : CMCON = $04
    7 :
    8 :
    9 : if PORTA.0 = 1 then
    10 : PORTB.6 = 1
    11 :
    12 : cas ou le conducteur est a jeun
    13 :
    14 : while PORTA.1 <=1
    ne détécte pas d'alcool
    15 : delay_ms (1000)
    16 : PORTB.5 = 1
    verte
    17 : PORTB.3 = 1
    simule le contacteur
    18 : delay_ms (20000)
    secondes le temps que le conducteur démarre
    19 : wend
    20 :
    21 : Cas ou le conducteur est alcoolisé
    22 :
    23 : while PORTA.1>=4
    détécte de l'alcool
    24 : delay_ms (1000)
    25 : PORTB.4 = 1
    rouge
    26 : PORTB.3 = 0
    led qui simule le contacteur
    27 : delay_ms (20000)
    secondes le temps que le systeme se remette en place
    28 : wend
    29 :
    30 : end if
    31 : goto main
    32 : end.


    J'ai recopié ce programme intégralement à la main, il se peut que j'ai fais une faute de frappe, n'hésitez pas à demander des renseignements supplémentaires concernant le fonctionnement. Merci d'avance. Charles.

    -----

  2. #2
    Gérard

    Re : Problème urgent avec mikrobasic

    PORTA.1>=4 est impossible, PORTA.4 est le 5e bit du registre PORTA et un bit ne prend que les valeurs 0 et 1.

  3. #3
    invite387e6e7e

    Re : Problème urgent avec mikrobasic

    program éthy

    main: 'début du programme principal
    TRISA = $06
    TRISB = 0 'Les ports B sont dorénavant les sorties
    CMCON = $04

    if PORTA.0 = 1 then 'SI le microrupteur s'enclenche
    PORTB.6 = 1 'ALORS la LED bleue s'allume

    'Cas où le conducteur est agen

    while PORTA.1 = 0 'ALORS TANT QUE que le capteur ne détecte pas d'alcool
    delay_ms (1000) 'FAIRE une tempo d'1 seconde
    PORTB.5 = 1 'FAIRE s'allumer la LED verte
    PORTB.3 = 1 'FAIRE s'allumer la LED qui simule le contacteur
    delay_ms(20000) 'FAIRE une tempo de 20 secondes le temps que le conducteur démarre
    wend 'TANT QUE FIN

    'Cas où le conducteur est alcoolisé

    while PORTA.1 = 1 'ALORS TANT QUE que le capteur détecte de l'alcool
    delay_ms (1000) 'FAIRE une tempo d'1 seconde
    PORTB.4 = 1 'FAIRE s'allumer la LED rouge
    PORTB.3 = 0 'FAIRE rester éteinte la LED qui simule le contacteur
    delay_ms(20000) 'FAIRE une tempo de 20 secondes le temps que tout le système se remette en place
    wend 'TANT QUE FIN

    end if 'FIN SI
    goto main
    end. 'FIN du programme
    Je suis un des membres du groupes pour le projet. Voici le programme. Alors tu me dis que le port A.1 prend en compte que les bits 0 et 1. Mais le datasheet ne dis pas que ce port est un port analogique ? Parce que sur ce port est branché un capteur à résistance variable. Et nous on veut que le PIC puisse prendre en compte une valeur précise.
    Est-ce possible ?

  4. #4
    DAUDET78

    Re : Problème urgent avec mikrobasic

    la vie est assez compliquée les gars ..... n'utilisez qu'un seul pseudo pour l'interlocuteur !
    J'aime pas le Grec

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

    Re : Problème urgent avec mikrobasic

    salut

    en fait pour lire une valeur analogique on ne test pas les bits du porta car tu ne peut avoir que 1 ou 0

    pour faire une lecture analogique il faut utiliser L'ADC du pic

    -il faut configurer le porta en analogique

    TRISA = %111111
    ADCON1 = %10001111

    -choisir les parametres de conversion ,VREF+ ,VREF- , ...

    -il faut ensuite lancer laquisition analogique avec l'instruction "TaVarriable = ADC_read(N°du port analogique)


    a toi de definir la valeur a metre dans ADCON1 ... tu regarde la partie "Analog to digital converter" dans la doc du pic

  7. #6
    invite387e6e7e

    Re : Problème urgent avec mikrobasic

    Donc en gros je dois dire que mon PORT A.1 est en analogique et définir à l'aide de l'instruction ADCON la valeur de référence que reçoit mon PORT A.1. Bien sur, je dois définir sur quelle patte je dois prendre ma valeur.

  8. #7
    Gérard

    Re : Problème urgent avec mikrobasic

    Quelle est la sortie du capteur ?
    Logique ou analogique, en fonction de la réponse, tu auras besoin d'une entrée logique ou une entrée analogique.

  9. #8
    invite387e6e7e

    Re : Problème urgent avec mikrobasic

    La sortie du capteur est analogique donc j'ai besoin d'une entrée analogique sur mon PORTA.1.

  10. #9
    MorpheusPic

    Re : Problème urgent avec mikrobasic

    bon sinon je pense que tu devrais revoir ton algorithme

    car il est facilement violable le systeme
    il faut tassurer que quand tu mesure le taux d'alchol la personne soufle en permanence depuis au moin 2 secondes ou plus (le temp que le capteur mesure)

    car la comme c'est presenter si le conducteur souffle un dixieme de seconde seulement le microrupeut va etre actionner ,pui la mesure au bout de 1 seconde va etre erronée puisque le conducteur soufflera plus ...

    donc tu devrais plutot faire un truc du genre

    boucle:

    tu coupe ici ton contact pour demmarer

    for index = 0 to 30
    if microrupteur = 0 then index = 0
    pause 100 (milisecondes)
    next

    donc on arrive ici seulement quand le conduteur a souffler pendant 3 secondes sans interruption

    tu fait la mesure ...
    if capteur alchol > 20 (ex...)then
    tu affiche comme quoi on peut pas demmarer
    else
    tu autorise de demmarer et tu allume ta led
    end if

    pause 20 secondes
    goto boucle

    voila a+

  11. #10
    invite387e6e7e

    Re : Problème urgent avec mikrobasic

    Merci de l'info mais pour éviter cela, on a fait un système avec un vérin. Comme ça, il pourra pas souffler plus que le volume du corps du vérin. Donc la mesure sera toujours la même

  12. #11
    MorpheusPic

    Re : Problème urgent avec mikrobasic

    ok je penser que tu avait un contact quand la personne etait en train de souffler

    d'apres ce que tu dit tu a un contact quand la personne a souffler un certain volume ?

  13. #12
    invite387e6e7e

    Re : Problème urgent avec mikrobasic

    Oui c'est ça

  14. #13
    invite387e6e7e

    Re : Problème urgent avec mikrobasic

    Lorsque le piston du vérin arrive a une certaine position, il déclenche un contacteur. Est ce que quelqu'un aurait une solution de programme qui marcherait car mes connaissance en programmation ne sont pas énorme et nous commençons a manquer de temps?

  15. #14
    MorpheusPic

    Re : Problème urgent avec mikrobasic

    aie aie jais bien peur que ton projet n'aboutisse par la meme occasion ton diplome ...

    aller au travaill ,sa motive hein ?

    si tu pouvais nou faire un ptit shemas de ou est brancher ci et ca sa aiderais

  16. #15
    invite387e6e7e

    Re : Problème urgent avec mikrobasic

    Nom : 250025_2024670185508_1506611676_32225200_1180467_n.jpg
Affichages : 73
Taille : 43,7 Ko

    Voila le circuit électrique, il faut seulement rajouter une résistance après le régulateur

  17. #16
    MorpheusPic

    Re : Problème urgent avec mikrobasic

    bon si le shemas c'est sa abandonne sa marchera pas ya trop d'erreure ....

    que va dire le jury ...

    il faut tout refaire :

    -des condo de 100nF avant et apres le regulateur
    -un 220uF au piff apres le regulateur
    -le rupteur ne peut pas marcher comme il est brancher ...
    -la resistance en sortie du capteur alchool sert a rien

    si tu veut quon taide il faut quon sache quel capteur tu a utiliser, numeroter les pin sur le pic ou les connection sont faites ...

    car la t'est mal barer

  18. #17
    invite387e6e7e

    Re : Problème urgent avec mikrobasic

    Le circuit nous semblait pourtant correct, notre prof nous avait dit que le circuit était bon, cependant si il était bon je pense que tout marcherait, or ce n'est pas le cas. Est-il possible d'avoir de l'aide pour refaire un schéma éléctrique correct et un programme fonctionnant ? car je commence a etre dépassé par les événements. Il faudrait peut etre que je rééxplique en détail le fonctionnement afin que nous nous comprenions ?

  19. #18
    MorpheusPic

    Re : Problème urgent avec mikrobasic

    pour le fonctionement je pense avoir compris,

    je peut t'aider si tu me donne toutes les info necessaires (reference du capteur )

    he ben je voi le genre de (prof)

  20. #19
    invite387e6e7e

    Re : Problème urgent avec mikrobasic

    voici le capteur utilisé, il fonctionne sur le principe d'une résistance interne variable http://www.figarosensor.com/products/2620pdf.pdf

  21. #20
    MorpheusPic

    Re : Problème urgent avec mikrobasic

    voila le shemas tel quil devrais etre.

    il te faut donc relier les 2 borniers J3 et J2 en respectant les numero, car je pense que tu a pas le circuit directement sur le capteur ...

    R2 serai peut etre a modifier ...

    ainsi que les resistances pour les leds en fonction de leur courant demandé.
    Images attachées Images attachées  

  22. #21
    invite387e6e7e

    Re : Problème urgent avec mikrobasic

    Je crois que ça dépasse nos compétences.. En tout cas de ce qu'on nous as appris... De plus, nous on a un PIC16F628 pas 16F628A. Mais ça doit pas changer grand chose... A quoi sert tous ces condos et un microrupteur ne se comporte pas t-il comme un interrupteur classique ??? Comme je l'ai dit plus tot, notre prof nous avait dit que c'était bon...

  23. #22
    MorpheusPic

    Re : Problème urgent avec mikrobasic

    sa depasse vos competences ? mais pourtant c'es pas plus compliquer que ce quil faut ,je connais pas ton niveau d'etudes mais bon ...

    tout les condensateur servent a filtrer l'alimentation ,la diode sert de protection au cas ou on inverse les fils + et - et le fusible en cas de cour-circuit

    pour le micro rupteur oui il se comporte comme un inter classic mais il faut une pull-up pour avoir un '1' quand il est ouvert et un '0' quand il est fermer

    et pour le (prof) de sport ??? qui dit que c'est bon ben oubli ce quil dit

  24. #23
    invite387e6e7e

    Re : Problème urgent avec mikrobasic

    on est en terminale S. et notre prof de (sport) est un prof d'électrotech (assez incompetent) en esperant qu'il passe pas par la

  25. #24
    invite387e6e7e

    Re : Problème urgent avec mikrobasic

    donc on n'aimerais bien savoir comment ça marche pour l'oral

Discussions similaires

  1. compteur avec mikrobasic
    Par invite6770bca5 dans le forum Électronique
    Réponses: 0
    Dernier message: 09/03/2009, 09h41
  2. programmer avec mikroBasic!
    Par invite6770bca5 dans le forum Électronique
    Réponses: 4
    Dernier message: 27/02/2009, 18h22
  3. afficheur avec PIC le tout sous mikrobasic !
    Par LTHOMAS dans le forum Électronique
    Réponses: 5
    Dernier message: 09/11/2006, 19h19
  4. URGENT probleme avec Whirpool!
    Par inviteb94bbd6e dans le forum Dépannage
    Réponses: 7
    Dernier message: 23/02/2006, 15h59
  5. Urgent problème avec le C++
    Par invite06020107 dans le forum Logiciel - Software - Open Source
    Réponses: 3
    Dernier message: 13/11/2005, 15h15
Découvrez nos comparatifs produits sur l'informatique et les technologies.