Orodha ya maudhui:
- Hatua ya 1: Jinsi I2c inavyofanya kazi
- Hatua ya 2: Maktaba
- Hatua ya 3: Mhudumu
- Hatua ya 4: Matumizi ya I2c
- Hatua ya 5: Matumizi Moja ya waya
- Hatua ya 6: Soma wazi
- Hatua ya 7: Soma Rahisi
- Hatua ya 8: Soma kamili
- Hatua ya 9: Mchoro wa Uunganisho
- Hatua ya 10: Arduino: OneWire
- Hatua ya 11: Arduino: I2c
- Hatua ya 12: Esp8266 (D1Mini) OneWire
- Hatua ya 13: Esp8266 (D1Mini) I2c
- Hatua ya 14: Asante
Video: DHT12 (i2c Unyevu Nafuu na Sensorer ya Joto), Matumizi rahisi ya haraka: Hatua 14
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:51
Unaweza kupata sasisho na zingine kwenye wavuti yangu
Napenda sensa inayoweza kutumiwa na waya 2 (itifaki ya i2c), lakini nampenda yule wa bei rahisi.
Hii ni maktaba ya Arduino na esp8266 ya safu ya DHT12 ya sensorer ya joto / unyevu wa gharama ya chini sana (chini ya $ 1) ambayo inafanya kazi na i2c au unganisho moja la waya.
Inatumika sana ikiwa unataka kutumia esp01 (ikiwa unatumia serial una pini 2 tu) kusoma unyevu na joto na kuionyesha kwenye LCD ya i2c.
AI ilisoma kwamba wakati mwingine inaonekana kuwa inahitaji usawa, lakini nina mti wa hii na napata thamani sawa na DHT22. Ikiwa una hesabu ya shida hii, fungua suala kwenye github na ninaongeza utekelezaji.
Hatua ya 1: Jinsi I2c inavyofanya kazi
I2C inafanya kazi na waya zake mbili, SDA (laini ya data) na SCL (laini ya saa).
Mistari yote miwili iko wazi, lakini imevutwa na vizuia.
Kawaida kuna bwana mmoja na mtumwa mmoja au wengi kwenye mstari, ingawa kunaweza kuwa na mabwana wengi, lakini tutazungumza juu yake baadaye.
Wote mabwana na watumwa wanaweza kusambaza au kupokea data, kwa hivyo, kifaa kinaweza kuwa katika moja ya majimbo haya manne: kusambaza bwana, kupokea bwana, kusambaza watumwa, kupokea watumwa.
Hatua ya 2: Maktaba
Unaweza kupata maktaba yangu hapa.
Ili kupakua
Bonyeza kitufe cha DOWNLOADS kwenye kona ya juu kulia, badilisha jina folda isiyofinywa ya DHT12.
Angalia kuwa folda ya DHT ina DHT12.cpp na DHT12.h.
Weka folda ya maktaba ya DHT yako / maktaba / folda.
Unaweza kuhitaji kuunda folda ndogo ya maktaba ikiwa ni maktaba yako ya kwanza.
Anzisha tena IDE.
Hatua ya 3: Mhudumu
Ibra hii inajaribu kuiga tabia ya sensorer ya kiwango cha maktaba ya DHT (na nakili nambari nyingi), na ninaongeza nambari ya kusimamia i2c olso kwa njia ile ile.
Njia hiyo ni sawa na sensorer ya maktaba ya DHT, na zingine zikiongeza kama kazi ya mahali pa umande.
Hatua ya 4: Matumizi ya I2c
Kutumia na i2c (anwani chaguomsingi na pini chaguomsingi ya SDA SCL) mjenzi ni:
DHT12 dht12;
na uchukue thamani chaguomsingi ya pini ya SDA SCL.
(Inawezekana kufafanua upya na mtangazaji maalum wa esp8266, inahitajika kwa ESP-01). au
DHT12 dht12 (anwani ya uint8_tOrPin)
anwaniOrPin -> anwani
kubadilisha anwani.
Hatua ya 5: Matumizi Moja ya waya
Kutumia waya moja:
DHT12 dht12 (anwani ya uint8_tOrPin, kweli)
anwaniOrPin -> pini
Thamani ya boolean ni uteuzi wa mode OneWire au i2c.
Hatua ya 6: Soma wazi
Unaweza kuitumia kwa "wazi", "kusoma rahisi" au "kusoma kamili": Imetumika, ni kusoma tu ya kwanza ikisoma kweli ya sensa, nyingine kusoma ambayo inakuwa katika 2secs. muda ni thamani iliyohifadhiwa ya kusoma kwanza.
// Kusoma kwa sensa kuna sekunde 2 za muda uliopita, isipokuwa unapitisha parameta ya nguvu
// Soma joto kama Celsius (chaguo-msingi) kuelea t12 = dht12.readTemperature (); // Soma joto kama Fahrenheit (isFahrenheit = kweli) kuelea f12 = dht12.readTemperature (kweli); Kusoma kwa sensorer pia kunaweza kuwa hadi sekunde 2 'zamani' (ni sensorer polepole sana) kuelea h12 = dht12.readHumidity (); // Fanya fahirisi ya joto katika Fahrenheit (chaguo-msingi) kuelea hif12 = dht12.computeHeatIndex (f12, h12); // Fanya faharisi ya joto katika Celsius (isFahreheit = uwongo) kuelea hic12 = dht12.computeHeatIndex (t12, h12, uwongo); // Fanya alama ya umande katika Fahrenheit (chaguo-msingi) kuelea dpf12 = dht12.dewPoint (f12, h12); // Sehemu ya umande wa hesabu katika Celsius (isFahreheit = uwongo) kuelea dpc12 = dht12.dewPoint (t12, h12, uwongo);
Hatua ya 7: Soma Rahisi
Kusoma rahisi kupata hadhi ya kusoma.
// Kusoma kwa sensa kuna sekunde 2 za muda uliopita, isipokuwa unapitisha parameta ya nguvu
bool chk = dht12.read (); // kusoma kweli ni sawa, shida ya kusoma ya uwongo
// Soma joto kama Celsius (chaguomsingi)
kuelea t12 = dht12.readTemperature (); // Soma joto kama Fahrenheit (isFahrenheit = kweli) kuelea f12 = dht12.readTemperature (kweli); Kusoma kwa sensorer pia kunaweza kuwa hadi sekunde 2 'zamani' (ni sensorer polepole sana) kuelea h12 = dht12.readHumidity (); // Fanya fahirisi ya joto katika Fahrenheit (chaguo-msingi) kuelea hif12 = dht12.computeHeatIndex (f12, h12); // Fanya hesabu ya joto katika Celsius (isFahreheit = uwongo) kuelea hic12 = dht12.computeHeatIndex (t12, h12, uwongo); // Fanya alama ya umande katika Fahrenheit (chaguo-msingi) kuelea dpf12 = dht12.dewPoint (f12, h12); // Sehemu ya umande wa hesabu katika Celsius (isFahreheit = uwongo) kuelea dpc12 = dht12.dewPoint (t12, h12, uwongo);
Hatua ya 8: Soma kamili
Kusoma kamili kupata hali maalum.
// Kusoma kwa sensa kuna sekunde 2 za muda uliopita, isipokuwa unapitisha parameta ya nguvu
DHT12:: ReadStatus chk = dht12. StatStatus (); Serial.print (F ("\ nSensa ya kusoma:")); kubadili (chk) {kesi DHT12:: OK: Serial.println (F ("OK")); kuvunja; kesi DHT12:: ERROR_CHECKSUM: Serial.println (F ("Hitilafu ya Checksum")); kuvunja; kesi DHT12:: ERROR_TIMEOUT: Serial.println (F ("Hitilafu ya kumaliza muda")); kuvunja; kesi DHT12:: ERROR_TIMEOUT_LOW: Serial.println (F ("Hitilafu ya kumaliza muda kwenye ishara ya chini, jaribu kuweka upinzani mkubwa wa pullup")); kuvunja; kesi DHT12:: ERROR_TIMEOUT_HIGH: Serial.println (F ("Hitilafu ya kumaliza muda kwenye ishara ya chini, jaribu kuweka upinzani mdogo wa pullup")); kuvunja; kesi DHT12:: ERROR_CONNECT: Serial.println (F ("Unganisha kosa")); kuvunja; kesi DHT12:: ERROR_ACK_L: Serial.println (F ("AckL error")); kuvunja; kesi DHT12:: ERROR_ACK_H: Serial.println (F ("AckH makosa")); kuvunja; kesi DHT12:: ERROR_UNKNOWN: Serial.println (F ("Kosa lisilofahamika DETECTED")); kuvunja; kesi DHT12:: HAKUNA: Serial.println (F ("Hakuna matokeo")); kuvunja; chaguo-msingi: Serial.println (F ("Hitilafu isiyojulikana")); kuvunja; }
// Soma joto kama Celsius (chaguomsingi)
kuelea t12 = dht12.readTemperature (); // Soma joto kama Fahrenheit (isFahrenheit = kweli) kuelea f12 = dht12.readTemperature (kweli); Kusoma kwa sensorer pia kunaweza kuwa hadi sekunde 2 'zamani' (ni sensorer polepole sana) kuelea h12 = dht12.readHumidity (); // Fanya fahirisi ya joto katika Fahrenheit (chaguo-msingi) kuelea hif12 = dht12.computeHeatIndex (f12, h12); // Fanya hesabu ya joto katika Celsius (isFahreheit = uwongo) kuelea hic12 = dht12.computeHeatIndex (t12, h12, uwongo); // Fanya alama ya umande katika Fahrenheit (chaguo-msingi) kuelea dpf12 = dht12.dewPoint (f12, h12); // Sehemu ya umande wa hesabu katika Celsius (isFahreheit = uwongo) kuelea dpc12 = dht12.dewPoint (t12, h12, uwongo);
Hatua ya 9: Mchoro wa Uunganisho
Kwa mifano, kuna mchoro wa unganisho, ni muhimu kutumia kontena sahihi la pullup.
Shukrani kwa Bobadas, dplasa na adafruit, kushiriki nambari huko github (ambapo ninachukua nambari na maoni).
Hatua ya 10: Arduino: OneWire
Hatua ya 11: Arduino: I2c
Hatua ya 12: Esp8266 (D1Mini) OneWire
Hatua ya 13: Esp8266 (D1Mini) I2c
Hatua ya 14: Asante
Uwanja wa michezo wa Arduino (https://playground.arduino.cc/Main/DHT12SensorLibrary)
Mfululizo wa mradi wa i2c (Ukusanyaji):
- Sensor ya unyevu wa joto
- Analog ya kupanua
- Kupanua kwa dijiti
- Uonyesho wa LCD
Ilipendekeza:
Jinsi ya kutumia DHT22 Unyevu wa unyevu na joto la joto na Arduino: Hatua 6
Jinsi ya kutumia unyevu wa DHT22 na sensorer ya joto na Arduino: Katika mafunzo haya tutajifunza jinsi ya kutumia unyevu wa DHT22 na Sensor ya Joto na Arduino na kuonyesha maadili kwenye OLED Onyesha video
Kuendesha gari chafu na LoRa! (Sehemu ya 1) -- Sensorer (Joto, Unyevu, Unyevu wa Udongo): Hatua 5
Kuendesha gari chafu na LoRa! (Sehemu ya 1) || Sensorer (Joto, Unyevu, Unyevu wa Udongo): Katika mradi huu nitakuonyesha jinsi nilivyotengeneza chafu. Hiyo inamaanisha nitakuonyesha jinsi nilivyojenga chafu na jinsi nilivyoweka umeme na umeme wa kiotomatiki. Pia nitakuonyesha jinsi ya kupanga bodi ya Arduino inayotumia L
Joto linalotumiwa na jua la Arduino na sensorer ya unyevu kama 433mhz Sensorer ya Oregon: Hatua 6
Joto la jua na umeme wa Arduino na Sura ya unyevu kama 433mhz Oregon Sensor: Huu ni ujenzi wa hali ya joto ya jua na sensorer ya unyevu. Sensor hutengeneza sensor ya Oregon ya 433mhz, na inaonekana katika lango la Telldus Net. Unachohitaji: 1x " 10-LED Sura ya Mwendo wa Nguvu ya jua " kutoka Ebay. Hakikisha inasema kugonga 3.7v
Jinsi ya kutumia Sensor ya Joto la DHT11 na Arduino na Joto la Uchapishaji wa Joto na Unyevu: Hatua 5
Jinsi ya Kutumia Sensorer ya Joto la DHT11 Na Arduino na Joto la Uchapishaji Joto na Unyevu: Sura ya DHT11 hutumiwa kupima joto na unyevu. Unyevu wa DHT11 na sensorer ya joto hufanya iwe rahisi sana kuongeza data ya unyevu na joto kwenye miradi yako ya elektroniki ya DIY. Ni kwa kila
Mabadiliko ya Haraka na Rahisi Rahisi (kwa Utengenezaji Haraka): Hatua 5
Mabadiliko ya Haraka na Rahisi Rahisi (kwa Prototyping Haraka): hizi ni njia nyingi tofauti za kufanya swichi laini. Hii inafundisha inaonyesha chaguo jingine la mfano wa haraka sana kwa swichi laini, kwa kutumia mkanda wa alumini badala ya kitambaa cha kusonga, na waya thabiti badala ya uzi wa kusonga, ambao