PRÁTICA 6 – SENSOR DE TEMPERATURA E UMIDADE

Objetivos:

  • Aprender a usar o sensor de umidade e temperatura RHT03.
  • Colocar a temperatura no display de LCD HD44780

Introdução:

Sensores de temperatura integrados como o RHT03, são bastante práticos por serem de pequeno tamanho e  baixo consumo.  Eles possuem a pinagem abaixo, onde o pino 3 (em branco) não é usado:

rhtpinout

O pino 1 deve ser alimentado com 5V, o pino 2 é para transmissão da informação de temperatura e umidade e o pino 4 é o GND.

O sensor RHT03 envia 40 bits de dados16 bits de umidade relativa do ar, 16 bits de temperatura e 8 bits de checksum. O checksum é a soma de todos das parcelas de 8 em 8 bits.

Por exemplo, se o RHT enviar os seguintes dados -> 0000 0010 1000 1100 0000 0001 0101 1111 1110 1110:

A umidade relativa do ar será RH= (0000 0010 1000 1100)/10=65.2%
A temperatura será T=(0000 0001 0101 1111)/10=35.1°C

O checkSum poderá ser verificado para que não haja nenhum erro: checkSum = (0000 0010)+(1000 1100)+(0000 0001)+(0101 1111)=1110 1110

O RHT03 envia ZERO e UM para o PIC em um formato de largura de pulso. Depois de enviar um pulso alto de 50µs, o pulso baixo de 26 a 28µs significa o envio de ZERO lógico e um pulso baixo de 70µs significa UM lógico. Há necessidade do microprocessador enviar um pulso low inicial de 1ms para que o RHT03 inicie a transmissão de dados.

Tarefa:

  • Compilar o programa 1 (abaixo) em C usando o MikroC e gerar o arquivo HEX.
  • Enviar o arquivo HEX para o pic usando o pickit2.
  • Montar o circuito e verificar o funcionamento.
  • Configurações para o projeto (em project -> edit project)
    • OSCILLATOR SELECTION: INTOSC
    • MASTER CLEAR: DISABLE
    • POWER-UP TIMER: ENABLE
    • Todas as outras opções: DISABLE

Programa 1 – Semáforo (PROGRAMA CORRIGIDO EM 24/10/2019)

Circuito 1 – Sensor RHT03 e LCD:

temperaturapiclcd

Barra lateral