Herunterladen Inhalt Inhalt Diese Seite drucken

SunFounder Da Vinci Kit Bedienungsanleitung Seite 238

Für den raspberry pi 4 modell b, 3 modell a +, 3 modell b +, 3 modell b, 2 modell b, 1 modell b +, 1 modell a +, zero w and zero
Inhaltsverzeichnis

Werbung

SunFounder Da Vinci Kit
}
laststate
=
if
(counter
// ignore first 3 transitions
if
((i
>=
4)
// shove each bit into the storage bytes
dht11_dat[j/8]
if
(counter
dht11_dat[j/8]
j++;
}
}
Die Schleife speichert die erkannten Daten im Array dht11_dat []. DHT11 überträgt Daten von jeweils 40 Bit. Die
ersten 16 Bits beziehen sich auf die Luftfeuchtigkeit, die mittleren 16 Bits auf die Temperatur und die letzten acht Bits
werden zur Überprüfung verwendet. Das Datenformat ist:
8-Bit-Feuchtigkeits-Integer-Daten + 8-Bit-Feuchtigkeits-Dezimaldaten + 8-Bit-Temperatur-Integer-Daten + 8-
Bit-Temperatur-Dezimaldaten + 8-Bit-Prüfbit.
3. Luftfeuchtigkeit und Temperatur drucken.
// check we read 40 bits (8bit x 5 ) + verify checksum in the last byte
// print it out if data is good
if
((j
>=
40)
&&
(dht11_dat[4]
&
0xFF)) ) {
Fah
=
dht11_dat[2]
printf("Humidity = %d.%d %% Temperature = %d.%d * C (%.1f *
dht11_dat[0], dht11_dat[1], dht11_dat[2], dht11_dat[3], Fah);
}
Wenn der Datenspeicher bis zu 40 Bit beträgt, überprüfen Sie die Gültigkeit der Daten über das Prüfbit (dht11_dat[4])
und drucken Sie dann Temperatur und Luftfeuchtigkeit aus.
Wenn die empfangenen Daten beispielsweise 00101011 (8-Bit-Wert der Feuchtigkeits-Ganzzahl) 00000000 (8-Bit-
Wert der Feuchtigkeits-Dezimalzahl) 00111100 (8-Bit-Wert der Temperatur-Ganzzahl) 00000000 (8-Bit-Wert der
Temperatur-Dezimalzahl) 01100111 ( Bit prüfen)
Berechnung:
00101011+00000000+00111100+00000000=01100111.
Das Endergebnis ist gleich mit den Prüfbitdaten, dann sind die empfangenen Daten korrekt:
Luftfeuchtigkeit = 43% Temperatur = 60 * C.
Wenn es nicht gleich mit den Prüfbitdaten ist, ist die Datenübertragung nicht normal und die Daten werden erneut
empfangen.
234
digitalRead(dhtPin);
==
255) break;
&&
(i%2
==
0)) {
<<=
1;
>
50)
|=
1;
==
((dht11_dat[0]
9.
/
5.
+
32;
*
+
dht11_dat[1]
+
dht11_dat[2]
(Fortsetzung der vorherigen Seite)
+
dht11_dat[3])
F)\n",
Kapitel 1. Über das Da Vinci Kit

Werbung

Inhaltsverzeichnis
loading

Verwandte Produkte für SunFounder Da Vinci Kit

Diese Anleitung auch für:

Davinci-kit-for-raspberry-pi

Inhaltsverzeichnis