blob: 854f837fa23644bb4369432fd4e273c106d2bc28 [file] [log] [blame]
Deokgyu Yang2c7e86b2020-04-28 10:56:11 +09001/*
2 * rht03.c:
3 * Driver for the MaxDetect series sensors
4 *
5 * Copyright (c) 2012-2013 Gordon Henderson. <projects@drogon.net>
6 ***********************************************************************
7 * This file is part of wiringPi:
8 * https://projects.drogon.net/raspberry-pi/wiringpi/
9 *
10 * wiringPi is free software: you can redistribute it and/or modify
11 * it under the terms of the GNU Lesser General Public License as published by
12 * the Free Software Foundation, either version 3 of the License, or
13 * (at your option) any later version.
14 *
15 * wiringPi is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU Lesser General Public License for more details.
19 *
20 * You should have received a copy of the GNU Lesser General Public License
21 * along with wiringPi. If not, see <http://www.gnu.org/licenses/>.
22 ***********************************************************************
23 */
24
25#include <stdio.h>
26
27#include <wiringPi.h>
28#include <maxdetect.h>
29
30#define RHT03_PIN 7
31
32/*
33 ***********************************************************************
34 * The main program
35 ***********************************************************************
36 */
37
38int main (void)
39{
40 int result, temp, rh ;
41 int minT, maxT, minRH, maxRH ;
42
43 int numGood, numBad ;
44
45 wiringPiSetup () ;
46 piHiPri (55) ;
47
48 minT = 1000 ;
49 maxT = -1000 ;
50
51 minRH = 1000 ;
52 maxRH = -1000 ;
53
54 numGood = numBad = 0 ;
55
56 for (;;)
57 {
58 delay (100) ;
59
60 result = readRHT03 (RHT03_PIN, &temp, &rh) ;
61
62 if (!result)
63 {
64 printf (".") ;
65 fflush (stdout) ;
66 ++numBad ;
67 continue ;
68 }
69
70 ++numGood ;
71
72 if (temp < minT) minT = temp ;
73 if (temp > maxT) maxT = temp ;
74 if (rh < minRH) minRH = rh ;
75 if (rh > maxRH) maxRH = rh ;
76
77 printf ("\r%6d, %6d: ", numGood, numBad) ;
78 printf ("Temp: %5.1f, RH: %5.1f%%", temp / 10.0, rh / 10.0) ;
79 printf (" Max/Min Temp: %5.1f:%5.1f", maxT / 10.0, minT / 10.0) ;
80 printf (" Max/Min RH: %5.1f:%5.1f", maxRH / 10.0, minRH / 10.0) ;
81
82 printf ("\n") ;
83 }
84
85 return 0 ;
86}