Você está na página 1de 18

LEITURA DIGITAL SERIAL

Microcontrolador PIC16F877A
Sensor de Temperatura e Umidade Relativa do Ar
DHT22
COMUNICAÇÃO SERIAL BIDIRECIONAL

BIDIRECIONAL
FORMATO DOS DADOS

0 1
SEQUÊNCIA DE TRANSMISSÃO

0 1 ...
SEQUÊNCIA DE LEITURA

0000 0010 1111 00112 0000 0001 0000 11112 0000 01012 → 0516
02F316 → 75510 → 75,5% 010F16 → 27110 → 27,1°C [ 2 + F3 + 1 + F ]16
= 1 0000 01012

0000 0 0 1 0 1 1 1 1 00 1 1 0 00 0 0 00 1 0 00 0 1 1 1 1 0000 0 1 0 1

Umidade Relativa 16 bits Temperatura 16 bits Checksum 8 bits


VERIFICAÇÃO DE ERROS
CHECKSUM → Soma de Verificação

Umidade Relativa 0000 0010


+
0000 0010 1111 00112
1111 0011
+
Temperatura 0000 0001
+
0000 0001 0000 11112 0000 1111
=
Checksum 1 0000 0101
0000 01012
Considera-se apenas os 8 LSB
Aguarda Confirma
Aguarda Armazena
Confirma
Aguarda
o bit Armazena
Aguarda
o bitLeitura do
TRIS
BCF
Delay=de
0 18ms
DHT_PIN BSF DHT_PIN
TRIS
Delay
= 1de 160us
DHT_PIN = 0 DHT_PIN
Delay de 50us
DHT_PIN
=0 =1
Delay de 50us
0 encontrado
DHT_PIN
DHT_PIN = 0= 1 1 encontrado
DHT_PIN =próximo
0 bit
LOOP
LEITURA DOS DADOS
START BIT

Aguarda DHT_PIN
TRIS
BCF
Delay=de
0 18ms
DHT_PIN BSF DHT_PIN
TRIS =Return
1
=0
FORMATO ASCII
Cada byte com um dígito recebe o valor 3016 para ser enviado ao
LCD no formato ASCII

0000 01112
OR
0011 00002

0011 01112
0011 00002
0011 00012
0011 00102
0011 00112
0011 01002
0011 01012
0011 01102
0011 01112
0011 10002
0011 10012

Você também pode gostar