Thermometre PIC16F877A
Répondre à la discussion
Affichage des résultats 1 à 8 sur 8

Thermometre PIC16F877A



  1. #1
    SmoZy

    Thermometre PIC16F877A


    ------

    bonjour tout le monde j'essaye de faire un thermometre avec une resistance thermique et un pic, la valeur s'affichera sur un ecran LCD voici le materiel

    - resistance 1k
    - thermistor variable
    -une alim dc de 4V
    - un pic16f877a
    - un LCD 16x2
    - un terminal virtuel
    - un potentiometre

    voici le schema sous ISIS : XXXXXX lien supprimé

    voici le schema en marche : XXXXXX lien supprimé

    pour l'instant j'essaye de voir si la temperature est entre -30 et 60 degres on affiche temperature supportable pour un humain sinon on affiche non supportable

    mais le probleme est que j'aimerai afficher la temperature de la RT1 sur l'ecran LCD :/ merci de votre aide voici le code utiliser avec miKroC

    XXXXXX lien supprimé


    <3


    Bonsoir Smozy et tout le groupe

    Pour être conforme à l'épinglé

    http://forums.futura-sciences.com/el...ointes-pj.html

    Le lien vers l'image a été supprimé.

    Les PJ doivent être sur le serveur.

    Merci de la replacer dans une nouvelle réponse.



    .

    -----
    Dernière modification par gienas ; 17/04/2014 à 20h12. Motif: Supprimé image externes

  2. #2
    Fred_du_92

    Re : Thermometre PIC16F877A

    En première S, tu as du voir les fonctions affines, et le moyen de calculer a et b.

    Si je te réponds à moitié, c'est pour t'encourager à te creuser la tête, c'est comme ça qu'on apprend. Et en tout cas, ça fait plaisir de voir un élève qui a bossé avant de venir poser une question. Si seulement certains ici pouvaient prendre exemple.... Bon courage.

  3. #3
    SmoZy

    Re : Thermometre PIC16F877A

    je suis du 92 ^^

    que voulez vosu dire par a & b ?

    le probleme est que la temperature n'est pas proportionnel a la valeur numerique :/ la fonction ne peut etre affine mais quand on augmente la temperatue de 1 degres la valeur numerique augmente de 1 aussi :/

  4. #4
    SmoZy

    Re : Thermometre PIC16F877A

    Nom : isis.jpg
Affichages : 255
Taille : 133,2 KoNom : isis.jpg
Affichages : 255
Taille : 133,2 Ko
    Nom : isis.jpg
Affichages : 255
Taille : 133,2 Ko
    Nom : isis.jpg
Affichages : 255
Taille : 133,2 KoNom : isis.jpg
Affichages : 255
Taille : 133,2 Ko

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

    Re : Thermometre PIC16F877A

    Nom : marche.jpg
Affichages : 164
Taille : 127,6 Ko

    voici le code :


    /*

    Nom : Thermometre
    Auteur : Thomas Lounis
    Classe : 1 ere S3
    Lycée Lycée Newton
    Professeur: Mr GORCE
    PIC : PIC16F877A
    Date : 18/04/2014


    */






    sbit LCD_RS at RB4_bit; // initialisation des Pin et association a des noms réel pour ne pas s'y perdre
    sbit LCD_EN at RB5_bit;
    sbit LCD_D7 at RB3_bit;
    sbit LCD_D6 at RB2_bit;
    sbit LCD_D5 at RB1_bit;
    sbit LCD_D4 at RB0_bit;
    bit LED at RA0_bit;
    sbit LCD_RS_Direction at TRISB4_bit;
    sbit LCD_EN_Direction at TRISB5_bit;
    sbit LCD_D7_Direction at TRISB3_bit;
    sbit LCD_D6_Direction at TRISB2_bit;
    sbit LCD_D5_Direction at TRISB1_bit;
    sbit LCD_D4_Direction at TRISB0_bit;


    int valADC; // on crée une simple variable qui seras le resultat de la conv a/n
    char x[7]; // un char de 7 caractere (max)


    void main() { // fonction principale


    CMCON = 0x07; // annulation des comparateur
    Lcd_Init(); // initialisation du LCD
    Lcd_Cmd(_LCD_CURSOR_OFF); // curseur off
    ADC_Init(); // initialise le convertisseur
    UART1_Init(9600); // initialise les bauds a 9600 sur le ter


    while (1) // boucle infinie

    {

    valADC = ADC_Read(1); // convertion de la valeur entrante sur le port ra1
    IntToStr (valADC, x); // on remplace
    UART1_Write_Text("Valeur Numerique = " ); // on affiche sur le terminal le txt
    UART1_Write_Text(x); // on affiche aussi x
    strcpy (x,""); // on copie la chaine
    UART1_Write(13); //saut de ligne

    Delay_ms(200); //un delay sur l'affichage



    if (valADC < 361 || valADC > 438) // si valADC est inferieur a 361 (ce qui correponds a -30 degres) ou superieur a 438 (ce qui correspond a 60 degres) on affiche sur l'ecran non supportable


    {
    Lcd_Out (1,1, "Non Supportable "); // (temperature qui est non supportbale bien sur )
    }


    else


    {
    Lcd_Out (1,1, "Supportable");
    }



    }

    }

  7. #6
    Fred_du_92

    Re : Thermometre PIC16F877A

    Citation Envoyé par SmoZy Voir le message
    quand on augmente la temperatue de 1 degres la valeur numerique augmente de 1 aussi :/
    Donc la fonction est affine et a=1

    Dans le doute, tu as fais un relevé Tension=f(température)?

  8. #7
    Gérard

    Re : Thermometre PIC16F877A

    Mêmes remarques que ici : http://forums.futura-sciences.com/el...ml#post4817612

    pas de mot de config
    pas d'init

    coté hard : j'ai vu le schéma : pas de quartz, pas de R sur MCLR ...

  9. #8
    SmoZy

    Re : Thermometre PIC16F877A

    mais quand je fais un produit en croix et que je fais un Lcd_Out (1, 1, MaVariable); sa affiche un caractere bizzar comme des lettres russes ou d'origine égyptienne O.o

Discussions similaires

  1. Thermomètre numerique à capteur PT100 à PIC16F877A
    Par cris-abdel dans le forum Électronique
    Réponses: 16
    Dernier message: 17/03/2013, 15h37
  2. Thermomètre à mercure VS thermomètre à gaz parfait
    Par invitef1881787 dans le forum Physique
    Réponses: 7
    Dernier message: 14/08/2008, 15h21
  3. Pic16f877a!
    Par invite6ab74433 dans le forum Électronique
    Réponses: 0
    Dernier message: 24/05/2008, 17h34
  4. pic16f877A ROM
    Par inviteca539e75 dans le forum Électronique
    Réponses: 5
    Dernier message: 07/08/2007, 13h51
  5. adc + pic16F877A+LCD
    Par invite412b515c dans le forum Électronique
    Réponses: 0
    Dernier message: 29/05/2007, 22h59
Découvrez nos comparatifs produits sur l'informatique et les technologies.