[elektro] DHT22
Nemeth Tibor
nemeth.tibor798 at t-online.hu
Sun Mar 2 19:47:41 CET 2014
Hali!
2014.03.02. 3:10 keltezéssel, charles hoss írta:
> Csak most ebredtem, igy nem biztos hogy jo, de amit leirtal, az alapjan
> azonos a para es a hofok kodolasa.
> Mindegy hogy mikent forditom, ha olvasom az adatot es a szenzor ala teszem
>
> a kezem, akkor elkezd majd emelkedni es elobb utobb egy egesz fokot no.
> Ezalatt latom a beosztast es a lepteket is. Latni fogom hogy ugrik-e tized
>
> vagy harmincketted utan.
Az ötlet jó, bár előbb kommunikálni kellett, de már megy.
A megfejtés amúgy az lett, hogy 16 biten jön egy szó, ami binárisan a
páratartalom 0.1% egységben majd újabb 16 biten a hőmérséklet 0.1°C
egységekben. Semmi egész vagy törtrész.
mindez a doksiban így volt:
"DATA=8 bit integral RH data+8 bit decimal RH data+8 bit integral T
data+8 bit decimal T data+8 bit check-sum"
, nyilván nem olvasni elég jól angol.
Ha már billentyűt ragadtam, az egyéb kérdéseimre is leírom a
tapasztalatokat.
Felhúzó ellenállás nem kell, esetleg hosszú, nagy kapacitású kábel
esetére. Szkópon látszik, hogy felfutó élek kicsit lassabbak.
Az indító impulzus (min 500us low) után tartósan felhúzni nem szabad,
mert összecsapnak a kimenetek. Szkópon hibás logikai szint jelent meg.
Ez a programrész így alakult Pic16F690-en,4M9152Hz-en .
#DEFINE DHTPIN PORTB,4
.
.
;indító low impulzus ideje lejárt, Bank0
BSF DHTPIN
; GOTO $+1
; GOTO $+1
BSF STATUS,RP0
BSF DHTPIN ;TRISB, Input
BCF STATUS,RP0
Mint látszik, az időhúzó lépések végük kikommenteződtek, már eggyel is
látszott a szkópon az összecsapás. Nullával nem, ezért a felhúzást benne
hagytam, bár működik úgy is, hogy egyszerűen csak bemeneti módba
állítom. Mindebből úgy tűnik, a szenzor gyorsan válaszol, kb. 3us alatt.
Ez az adatlap szerint 20..40us lenne.
Leginkább ezzel vesződtem, elsőre tisztán iterruptosra próbáltam
megírni, TMR0 és IOCH mexakításokra, de ez utóbbi nem mindig működött
korrektül.
Most az van, hogy főprogramban pollozok és TMR0 csak időt mér, ha
megszakít az már timeout, sőt ha bármilyen mexakítás közbejön, akkor meg
eldobom, majd a következő jó lesz.
Üdv.
Németh Tibor
More information about the Elektro
mailing list