Indholdsfortegnelse:
- Trin 1: Sådan fungerer I2c
- Trin 2: Bibliotek
- Trin 3: Behaivor
- Trin 4: I2c -brug
- Trin 5: Brug af én tråd
- Trin 6: Implicit læsning
- Trin 7: Enkel læsning
- Trin 8: Fuld læsning
- Trin 9: Tilslutningsdiagram
- Trin 10: Arduino: OneWire
- Trin 11: Arduino: I2c
- Trin 12: Esp8266 (D1Mini) OneWire
- Trin 13: Esp8266 (D1Mini) I2c
- Trin 14: Tak
![DHT12 (i2c billig fugtigheds- og temperatursensor), hurtig let brug: 14 trin DHT12 (i2c billig fugtigheds- og temperatursensor), hurtig let brug: 14 trin](https://i.howwhatproduce.com/images/001/image-1509-29-j.webp)
Video: DHT12 (i2c billig fugtigheds- og temperatursensor), hurtig let brug: 14 trin
![Video: DHT12 (i2c billig fugtigheds- og temperatursensor), hurtig let brug: 14 trin Video: DHT12 (i2c billig fugtigheds- og temperatursensor), hurtig let brug: 14 trin](https://i.ytimg.com/vi/YLP7ArRl0OA/hqdefault.jpg)
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:27
![DHT12 (i2c billig luftfugtigheds- og temperatursensor), hurtig let brug DHT12 (i2c billig luftfugtigheds- og temperatursensor), hurtig let brug](https://i.howwhatproduce.com/images/001/image-1509-30-j.webp)
Du kan finde opdatering og andet på mit websted
Jeg kan godt lide sensor, der kan bruges med 2 -leder (i2c -protokol), men jeg elsker den billige.
Dette er et Arduino- og esp8266 -bibliotek til DHT12 -serien med meget billige temperatur-/fugtighedsfølere (mindre end 1 $), der fungerer med i2c eller en ledningsforbindelse.
Meget nyttigt, hvis du vil bruge esp01 (hvis du bruger seriel har du kun 2 ben) til at aflæse fugtighed og temperatur og vise det på i2c LCD.
AI læser, at det engang ser ud til, at der er brug for kalibrering, men jeg har træ af dette og får værdi, der meget ligner DHT22. Hvis du har kalibrering af dette problem, skal du åbne problemet på github, og jeg tilføjer implementering.
Trin 1: Sådan fungerer I2c
![Sådan fungerer I2c Sådan fungerer I2c](https://i.howwhatproduce.com/images/001/image-1509-31-j.webp)
I2C fungerer med sine to ledninger, SDA (datalinje) og SCL (urlinje).
Begge disse linjer er åbne-afløb, men er trukket op med modstande.
Normalt er der en mester og en eller flere slaver på linjen, selvom der kan være flere mestre, men vi taler om det senere.
Både mestre og slaver kan overføre eller modtage data, derfor kan en enhed befinde sig i en af disse fire tilstande: masteroverførsel, mastermodtagelse, slaveoverførsel, slavemodtagelse.
Trin 2: Bibliotek
Du kan finde mit bibliotek her.
At downloade
Klik på knappen DOWNLOADS i øverste højre hjørne, omdøb den ukomprimerede mappe DHT12.
Kontroller, at DHT -mappen indeholder DHT12.cpp og DHT12.h.
Placer DHT -biblioteksmappen din / biblioteker / mappe.
Du skal muligvis oprette bibliotekernes undermappe, hvis det er dit første bibliotek.
Genstart IDE.
Trin 3: Behaivor
Denne bibliotek forsøger at efterligne adfærden for standard DHT -bibliotekssensorer (og kopiere en masse kode), og jeg tilføjer koden til at styre i2c olso på samme måde.
Metoden er den samme som DHT -bibliotekssensor, med nogle tilføjelser som dugpunktsfunktion.
Trin 4: I2c -brug
For at bruge med i2c (standardadresse og standard SDA SCL -pin) er konstruktøren:
DHT12 dht12;
og tag standardværdien for SDA SCL -pin.
(Det er muligt at redefinere med specificeret konstruktor til esp8266, nødvendig for ESP-01). eller
DHT12 dht12 (uint8_t addressOrPin)
addressOrPin -> adresse
at ændre adresse.
Trin 5: Brug af én tråd
Sådan bruges en ledning:
DHT12 dht12 (uint8_t addressOrPin, true)
addressOrPin -> pin
boolsk værdi er valget af oneWire- eller i2c -tilstand.
Trin 6: Implicit læsning
Du kan bruge den med "implicit", "simple read" eller "fullread": Implicit, kun den første læsning gør en sand læsning af sensoren, den anden læsning, der bliver i 2sek. interval er den lagrede værdi for første læsning.
// Sensorens aflæsning har 2 sekunder af den forløbne tid, medmindre du overfører kraftparameteren
// Læs temperaturen som Celsius (standard) float t12 = dht12.readTemperature (); // Læs temperaturen som Fahrenheit (isFahrenheit = true) float f12 = dht12.readTemperature (true); // Sensoraflæsninger kan også være op til 2 sekunder 'gamle' (det er en meget langsom sensor) float h12 = dht12.readHumidity (); // Beregn varmeindeks i Fahrenheit (standard) float hif12 = dht12.computeHeatIndex (f12, h12); // Beregn varmeindeks i Celsius (isFahreheit = false) float hic12 = dht12.computeHeatIndex (t12, h12, false); // Beregn dugpunkt i Fahrenheit (standard) float dpf12 = dht12.dewPoint (f12, h12); // Beregn dugpunkt i Celsius (isFahreheit = false) float dpc12 = dht12.dewPoint (t12, h12, false);
Trin 7: Enkel læsning
Enkel læsning for at få status som læst.
// Sensorens aflæsning har 2 sekunder af den forløbne tid, medmindre du overfører kraftparameteren
bool chk = dht12.read (); // sand læsning er ok, falsk læsning problem
// Læs temperaturen som Celsius (standard)
float t12 = dht12.readTemperature (); // Læs temperaturen som Fahrenheit (isFahrenheit = true) float f12 = dht12.readTemperature (true); // Sensoraflæsninger kan også være op til 2 sekunder 'gamle' (det er en meget langsom sensor) float h12 = dht12.readHumidity (); // Beregn varmeindeks i Fahrenheit (standard) float hif12 = dht12.computeHeatIndex (f12, h12); // Beregn varmeindeks i Celsius (isFahreheit = false) float hic12 = dht12.computeHeatIndex (t12, h12, false); // Beregn dugpunkt i Fahrenheit (standard) float dpf12 = dht12.dewPoint (f12, h12); // Beregn dugpunkt i Celsius (isFahreheit = false) float dpc12 = dht12.dewPoint (t12, h12, false);
Trin 8: Fuld læsning
Fuld læsning for at få en specificeret status.
// Sensorens aflæsning har 2 sekunder af den forløbne tid, medmindre du overfører kraftparameteren
DHT12:: ReadStatus chk = dht12.readStatus (); Serial.print (F ("\ nLæs sensor:")); switch (chk) {case DHT12:: OK: Serial.println (F ("OK")); pause; case DHT12:: ERROR_CHECKSUM: Serial.println (F ("Checksum fejl")); pause; sag DHT12:: ERROR_TIMEOUT: Serial.println (F ("Timeout -fejl")); pause; case DHT12:: ERROR_TIMEOUT_LOW: Serial.println (F ("Timeout -fejl ved lavt signal, prøv at sætte høj pullup -modstand")); pause; case DHT12:: ERROR_TIMEOUT_HIGH: Serial.println (F ("Timeout error on low signal, try put low pullup resistance")); pause; case DHT12:: ERROR_CONNECT: Serial.println (F ("Connect error")); pause; sag DHT12:: ERROR_ACK_L: Serial.println (F ("AckL fejl")); pause; sag DHT12:: ERROR_ACK_H: Serial.println (F ("AckH fejl")); pause; case DHT12:: ERROR_UNKNOWN: Serial.println (F ("Ukendt fejl DETEKTERET")); pause; sag DHT12:: INGEN: Serial.println (F ("Intet resultat")); pause; standard: Serial.println (F ("Ukendt fejl")); pause; }
// Læs temperaturen som Celsius (standard)
float t12 = dht12.readTemperature (); // Læs temperaturen som Fahrenheit (isFahrenheit = true) float f12 = dht12.readTemperature (true); // Sensoraflæsninger kan også være op til 2 sekunder 'gamle' (det er en meget langsom sensor) float h12 = dht12.readHumidity (); // Beregn varmeindeks i Fahrenheit (standard) float hif12 = dht12.computeHeatIndex (f12, h12); // Beregn varmeindeks i Celsius (isFahreheit = false) float hic12 = dht12.computeHeatIndex (t12, h12, false); // Beregn dugpunkt i Fahrenheit (standard) float dpf12 = dht12.dewPoint (f12, h12); // Beregn dugpunkt i Celsius (isFahreheit = false) float dpc12 = dht12.dewPoint (t12, h12, false);
Trin 9: Tilslutningsdiagram
Med eksempler er der forbindelsesdiagrammet, det er vigtigt at bruge den korrekte pullup -modstand.
Tak til Bobadas, dplasa og adafruit, for at dele koden i github (hvor jeg tager lidt kode og ideer).
Trin 10: Arduino: OneWire
![Arduino: OneWire Arduino: OneWire](https://i.howwhatproduce.com/images/001/image-1509-32-j.webp)
Trin 11: Arduino: I2c
![Arduino: I2c Arduino: I2c](https://i.howwhatproduce.com/images/001/image-1509-33-j.webp)
Trin 12: Esp8266 (D1Mini) OneWire
![Esp8266 (D1Mini) OneWire Esp8266 (D1Mini) OneWire](https://i.howwhatproduce.com/images/001/image-1509-34-j.webp)
Trin 13: Esp8266 (D1Mini) I2c
![Esp8266 (D1Mini) I2c Esp8266 (D1Mini) I2c](https://i.howwhatproduce.com/images/001/image-1509-35-j.webp)
Trin 14: Tak
Arduino legeplads (https://playground.arduino.cc/Main/DHT12SensorLibrary)
i2c projektserie (samling):
- Temperaturfugtighedsføler
- Analog ekspander
- Digital ekspander
- LCD display
Anbefalede:
Sådan bruges DHT12 I2C fugtigheds- og temperatursensor med Arduino: 7 trin
![Sådan bruges DHT12 I2C fugtigheds- og temperatursensor med Arduino: 7 trin Sådan bruges DHT12 I2C fugtigheds- og temperatursensor med Arduino: 7 trin](https://i.howwhatproduce.com/images/001/image-1318-47-j.webp)
Sådan bruges DHT12 I2C fugtigheds- og temperatursensor med Arduino: I denne vejledning lærer vi, hvordan du bruger DHT12 I2C fugtigheds- og temperatursensor med Arduino og viser værdierne på OLED -displayet. Se videoen
Raspberry Pi - HIH6130 I2C Fugtigheds- og temperatursensor Python -tutorial: 4 trin
![Raspberry Pi - HIH6130 I2C Fugtigheds- og temperatursensor Python -tutorial: 4 trin Raspberry Pi - HIH6130 I2C Fugtigheds- og temperatursensor Python -tutorial: 4 trin](https://i.howwhatproduce.com/images/011/image-32082-j.webp)
Raspberry Pi - HIH6130 I2C Fugtigheds- og temperatursensor Python Tutorial: HIH6130 er en fugtigheds- og temperatursensor med digital udgang. Disse sensorer giver et nøjagtighedsniveau på ± 4% RF. Med brancheførende langsigtet stabilitet, ægte temperaturkompenseret digital I2C, brancheførende pålidelighed, energieffektivitet
Raspberry Pi - HIH6130 I2C Fugtigheds- og temperatursensor Java Tutorial: 4 trin
![Raspberry Pi - HIH6130 I2C Fugtigheds- og temperatursensor Java Tutorial: 4 trin Raspberry Pi - HIH6130 I2C Fugtigheds- og temperatursensor Java Tutorial: 4 trin](https://i.howwhatproduce.com/images/002/image-3156-38-j.webp)
Raspberry Pi - HIH6130 I2C Fugtigheds- og temperatursensor Java Tutorial: HIH6130 er en fugtigheds- og temperatursensor med digital udgang. Disse sensorer giver et nøjagtighedsniveau på ± 4% RF. Med brancheførende langsigtet stabilitet, ægte temperaturkompenseret digital I2C, brancheførende pålidelighed, energieffektivitet
PCF8591 (i2c Analog I/O Expander) Hurtig let brug: 9 trin
![PCF8591 (i2c Analog I/O Expander) Hurtig let brug: 9 trin PCF8591 (i2c Analog I/O Expander) Hurtig let brug: 9 trin](https://i.howwhatproduce.com/images/006/image-15622-3-j.webp)
PCF8591 (i2c Analog I/O Expander) Hurtig let brug: Bibliotek til brug i2c pcf8591 IC med arduino og esp8266. Denne IC kan styre (indtil 4) analog indgang og/eller 1 analog udgang som måle spænding, aflæse termistorværdi eller fade en LED. Kan aflæse analog værdi og skrive analog værdi med kun 2 ledninger (perfekt
Hurtig, hurtig, billig, flot LED -rumbelysning (for alle): 5 trin (med billeder)
![Hurtig, hurtig, billig, flot LED -rumbelysning (for alle): 5 trin (med billeder) Hurtig, hurtig, billig, flot LED -rumbelysning (for alle): 5 trin (med billeder)](https://i.howwhatproduce.com/preview/how-and-what-to-produce/10968772-fast-quick-cheap-good-looking-led-room-lighting-for-anyone-5-steps-with-pictures-j.webp)
Hurtig, hurtig, billig, flot LED-rumbelysning (for alle): Velkommen alle :-) Dette er min første instruerbare, så kommentarer er velkomne :-) Det jeg håber at vise dig er, hvordan du laver hurtig LED-belysning, der er på en TINY buget.Hvad har du brug for: KabelLED'erResistorer (510Ohms til 12V) StapelsSolderjernKuttere og andre bas