commande d'une LED et supervision d'un LM35 via UART pic16f877A
Répondre à la discussion
Affichage des résultats 1 à 3 sur 3

commande d'une LED et supervision d'un LM35 via UART pic16f877A



  1. #1
    st.diyae

    commande d'une LED et supervision d'un LM35 via UART pic16f877A


    ------

    bonsoir tout le monde j'ai un problème je veux commander une LED et recevoir les temperatures de deux capteur LM35 au même temps, je recois les données de temperature mais quand je veux commander la LED elle ne repond pas voilà mon programme en Mikroc :
    // LCD module connections
    sbit LCD_RS at RB2_bit;
    sbit LCD_EN at RB3_bit;
    sbit LCD_D4 at RB4_bit;
    sbit LCD_D5 at RB5_bit;
    sbit LCD_D6 at RB6_bit;
    sbit LCD_D7 at RB7_bit;
    sbit LCD_RS_Direction at TRISB2_bit;
    sbit LCD_EN_Direction at TRISB3_bit;
    sbit LCD_D4_Direction at TRISB4_bit;
    sbit LCD_D5_Direction at TRISB5_bit;
    sbit LCD_D6_Direction at TRISB6_bit;
    sbit LCD_D7_Direction at TRISB7_bit;
    // End LCD module connections

    unsigned char text0[4] ;
    unsigned char text1[4] ;
    unsigned short int dt;
    int temp0 = 0;
    int temp1 = 0;
    // Main program
    void main ()
    {
    TRISD.F0 = 0;
    PORTD.F0 = 0;
    Lcd_Init(); // Initialize LCD
    Lcd_Cmd(_LCD_CLEAR); // Clear display
    Lcd_Cmd(_LCD_CURSOR_OFF); // Cursor off
    Lcd_Out(1,1,"ROOM1 TEMP.= C"); // writes text on line 1, column 1 of the lcd
    Lcd_Out(2,1,"ROOM2 TEMP.= C"); // writes text on line 2, column 1 of the lcd
    Uart1_Init (9600);
    do {
    if (UART1_Data_Ready ()) {
    Uart1_Write (dt); }
    switch (dt) {
    case 'a':
    PORTD.F0=1;
    break;
    case 'b':
    PORTD.F0=0;
    break;
    }
    temp0 = Adc_Read(0); // Read channel AN0 and save value in the variable temp0
    temp0 =temp0/2.05;// Convert from value to TEMPERATURE
    temp1 = Adc_Read(1); // Read channel AN1 and save value in the variable temp1
    temp1 =temp1/2.05; // Convert from value to TEMPERATURE
    ByteToStr(temp0, text0);// converts TEMP.to string
    ByteToStr(temp1, text1); // converts TEMP.to string
    Lcd_Out(1,12,text0); // Write the value to LCD
    delay_ms (200);
    Lcd_Out(2,12,text1); // Write the value to LCD
    delay_ms (200);
    UART1_Write_Text(text0); // Sent to uart
    UART1_Write_Text("C");
    Uart1_Write('\t'); // Tabe (Horizontal)
    UART1_Write_Text("ROOM2 TEMP.=");
    UART1_Write_Text(text1);
    UART1_Write_Text("C");
    Uart1_Write('\r'); // OR 13 : Carriage Return
    }
    while (1); }





    je veux quand j'ouvre hyperterminal la temperature s'affiche mais quand j'appuis sur a la LED s'allume.

    -----
    Images attachées Images attachées  

  2. #2
    luc_1049

    Re : commande d'une LED et supervision d'un LM35 via UART pic16f877A

    Bonjour

    Vérifiez :
    -l'initiatlisation du port est en sortie est elle bien faite ?,
    -le cablâge de la led est il dans le bon sens ?,
    -la sortance du port ne débite-t-il pas trop pour une led, cf avec un transistor par sécurité,
    -mettez un point d'arrêt après la commande de la led pour voir la led allumé,
    -un niveau 1 stable en sortie du port est il assez long pour être visible si vous n'avez pas d'oscilloscope, sinon ajoutez une tempo.

    cdlt

  3. #3
    jojo150393

    Wink Re : commande d'une LED et supervision d'un LM35 via UART pic16f877A

    Bonjour,
    une led bleu nécessite environ 3v pour être polarisé. Or ici (5-3)/330 = 6ma. Je ne suis pas sur qu'elle arrive à s'allumer avec si peu. Si non pour voir si votre commande marche prenez un voltmètre et regardez l'état de la pin de sortie du pic pour voir si le changement s'effectue vraiment ou pas.

    Par contre dans votre code
    "Uart1_Write(dt)" ça ne serait pas plutôt "cmd = Uart1_read()" ?
    Dernière modification par jojo150393 ; 09/05/2013 à 11h03.

Discussions similaires

  1. PFE commande et supervision a base de deltav emerson
    Par nizarov dans le forum Technologies
    Réponses: 1
    Dernier message: 25/02/2013, 05h10
  2. la commande de l'allumage d'une led
    Par inviteae5314a8 dans le forum Électronique
    Réponses: 6
    Dernier message: 22/02/2006, 07h53
  3. Commande d'une led par un micophone
    Par inviteae5314a8 dans le forum Électronique
    Réponses: 1
    Dernier message: 16/02/2006, 20h06
Découvrez nos comparatifs produits sur l'informatique et les technologies.