ዝርዝር ሁኔታ:
- ደረጃ 1: I2c እንዴት እንደሚሰራ
- ደረጃ 2 ቤተ -መጽሐፍት
- ደረጃ 3 - ባህርይ
- ደረጃ 4: I2c አጠቃቀም
- ደረጃ 5 - አንድ ሽቦ አጠቃቀም
- ደረጃ 6 - ግልጽ ያልሆነ ንባብ
- ደረጃ 7 ቀላል ንባብ
- ደረጃ 8: ሙሉ ንባብ
- ደረጃ 9 የግንኙነት ንድፍ
- ደረጃ 10 አርዱinoኖ OneWire
- ደረጃ 11 አርዱinoኖ I2c
- ደረጃ 12 Esp8266 (D1Mini) OneWire
- ደረጃ 13 Esp8266 (D1Mini) I2c
- ደረጃ 14: አመሰግናለሁ
ቪዲዮ: DHT12 (i2c ርካሽ እርጥበት እና የሙቀት ዳሳሽ) ፣ ፈጣን ቀላል አጠቃቀም 14 ደረጃዎች
2024 ደራሲ ደራሲ: John Day | [email protected]. ለመጨረሻ ጊዜ የተሻሻለው: 2024-01-30 07:31
በጣቢያዬ ላይ ዝማኔ እና ሌላ ማግኘት ይችላሉ
በ 2 ሽቦ (i2c ፕሮቶኮል) ሊያገለግል የሚችል ዳሳሽ እወዳለሁ ፣ ግን ርካሽ የሆነውን እወዳለሁ።
ይህ ከ i2c ወይም ከአንድ ሽቦ ግንኙነት ጋር ለሚሰሩ በጣም ዝቅተኛ ዋጋ የሙቀት/እርጥበት ዳሳሾች (ከ 1 ዶላር በታች) ለ DHT12 ተከታታይ ይህ አርዱዲኖ እና esp8266 ቤተ -መጽሐፍት ነው።
እርጥበት እና ሙቀትን ለማንበብ እና በ i2c LCD ላይ ለማሳየት esp01 ን (ተከታታይን የሚጠቀሙ ከሆነ 2 ፒን ብቻ አለዎት) ለመጠቀም ከፈለጉ በጣም ጠቃሚ።
አይአይ አንዳንድ ጊዜ መለካት የሚፈልግ ይመስላል ፣ ግን እኔ የዚህ ዛፍ አለኝ እና ከ DHT22 ጋር በጣም ተመሳሳይ እሆናለሁ። ይህንን ችግር መለካት ካለዎት በ github ላይ ጉዳዩን ይክፈቱ እና እኔ ትግበራ እጨምራለሁ።
ደረጃ 1: I2c እንዴት እንደሚሰራ
I2C በሁለት ገመዶች ማለትም SDA (የውሂብ መስመር) እና SCL (የሰዓት መስመር) ጋር አብሮ ይሰራል።
ሁለቱም እነዚህ መስመሮች ክፍት-ፍሳሽ ናቸው ፣ ግን ከተቃዋሚዎች ጋር ተጎተቱ።
ብዙውን ጊዜ በመስመሩ ላይ አንድ ጌታ እና አንድ ወይም ብዙ ባሮች አሉ ፣ ምንም እንኳን ብዙ ጌቶች ሊኖሩ ይችላሉ ፣ ግን ስለዚያ በኋላ እንነጋገራለን።
ሁለቱም ጌቶች እና ባሮች መረጃን ሊያስተላልፉ ወይም ሊቀበሉ ይችላሉ ፣ ስለሆነም አንድ መሣሪያ ከእነዚህ አራት ግዛቶች በአንዱ ሊሆን ይችላል -ማስተር ማስተላለፍ ፣ ማስተር መቀበል ፣ ባሪያ ማስተላለፍ ፣ ባሪያ መቀበል።
ደረጃ 2 ቤተ -መጽሐፍት
የእኔን ቤተ -መጽሐፍት እዚህ ማግኘት ይችላሉ።
ለማውረድ
በላይኛው ቀኝ ጥግ ላይ ያለውን የወረደውን ቁልፍ ጠቅ ያድርጉ ፣ ያልታሸገ አቃፊውን DHT12 እንደገና ይሰይሙ።
የ DHT አቃፊው DHT12.cpp እና DHT12.h የያዘ መሆኑን ያረጋግጡ።
የ DHT ቤተ -መጽሐፍት አቃፊ / ቤተ -መጽሐፍት / አቃፊዎን ያስቀምጡ።
የመጀመሪያ ቤተ -መጽሐፍትዎ ከሆነ የቤተ -መጻህፍት ንዑስ አቃፊን መፍጠር ሊያስፈልግዎት ይችላል።
IDE ን እንደገና ያስጀምሩ።
ደረጃ 3 - ባህርይ
ይህ ሊብራራ የመደበኛ የ DHT ቤተ መፃህፍት ዳሳሾችን (እና ብዙ ኮድ ለመቅዳት) ባህሪን ለመምሰል ይሞክራል ፣ እና i2c olso ን በተመሳሳይ ሁኔታ ለማስተዳደር ኮዱን እጨምራለሁ።
ዘዴው እንደ DHT ቤተ -መጽሐፍት ዳሳሽ ተመሳሳይ ነው ፣ አንዳንዶቹ እንደ ጠል ነጥብ ተግባር ይጨምራሉ።
ደረጃ 4: I2c አጠቃቀም
በ i2c (ነባሪ አድራሻ እና ነባሪ SDA SCL ፒን) ለመጠቀም ገንቢው የሚከተለው ነው
DHT12 dht12;
እና ለ SDA SCL ፒን ነባሪውን እሴት ይውሰዱ።
(ለ ESP-01 አስፈላጊ በሆነው esp8266 በተገለጸው ተቆጣጣሪ እንደገና መወሰን ይቻላል)። ወይም
DHT12 dht12 (uint8_t addressOrPin)
addressOrPin -> አድራሻ
አድራሻ ለመለወጥ።
ደረጃ 5 - አንድ ሽቦ አጠቃቀም
አንድ ሽቦ ለመጠቀም -
DHT12 dht12 (uint8_t addressOrPin ፣ እውነት)
addressOrPin -> ፒን
የቦሊያን እሴት የአንድWire ወይም i2c ሞድ ምርጫ ነው።
ደረጃ 6 - ግልጽ ያልሆነ ንባብ
“በተዘዋዋሪ” ፣ “በቀላል ንባብ” ወይም በ “ሙሉ ንባብ” ሊጠቀሙበት ይችላሉ - ግልፅ ያልሆነ ፣ የመጀመሪያው ንባብ የአነፍናፊውን ትክክለኛ ንባብ ሲያደርግ ብቻ ፣ ሁለተኛው በ 2 ሰከንዶች ውስጥ ይነበባል። ክፍተት የመጀመሪያ ንባብ የተከማቸ እሴት ነው።
// የኃይል መለኪያን እስካልተላለፉ ድረስ የዳሳሽ ንባቡ 2 ሰከንድ ያለፈው ጊዜ አለው
// የሙቀት መጠንን እንደ ሴልሺየስ (ነባሪው) ተንሳፋፊ t12 = dht12.readTemperature (); // የሙቀት መጠንን እንደ ፋራናይት (isFahrenheit = true) ተንሳፋፊ f12 = dht12.readTemperature (እውነተኛ); // የዳሳሽ ንባቦች እንዲሁ እስከ 2 ሰከንዶች ያረጁ (በጣም ቀርፋፋ ዳሳሽ) ተንሳፋፊ h12 = dht12.readHumidity (); // በፋራናይት (ነባሪው) ተንሳፋፊ hif12 = dht12.computeHeatIndex (f12 ፣ h12) ውስጥ የሙቀት መረጃ ጠቋሚውን ያስሉ ፤ // በሴልሲየስ (isFahreheit = false) ተንሳፋፊ hic12 = dht12.computeHeatIndex (t12 ፣ h12 ፣ ሐሰት) // በፋራናይት (ነባሪው) ተንሳፋፊ dpf12 = dht12.dewPoint (f12 ፣ h12) ውስጥ የጤዛ ነጥብ ያስሉ። // በሴልሲየስ ውስጥ የጤዛ ነጥብን ያስሉ (isFahreheit = false) float dpc12 = dht12.dewPoint (t12 ፣ h12 ፣ ሐሰት);
ደረጃ 7 ቀላል ንባብ
የንባብ ሁኔታን ለማግኘት ቀላል ንባብ።
// የኃይል መለኪያን እስካልተላለፉ ድረስ የዳሳሽ ንባቡ 2 ሰከንድ ያለፈው ጊዜ አለው
bool chk = dht12. ማንበብ (); // እውነተኛ ንባብ ደህና ነው ፣ የሐሰት ንባብ ችግር
// ሙቀትን እንደ ሴልሺየስ ያንብቡ (ነባሪው)
ተንሳፋፊ t12 = dht12.readTemperature (); // የሙቀት መጠንን እንደ ፋራናይት (isFahrenheit = true) ተንሳፋፊ f12 = dht12.readTemperature (እውነተኛ); // የዳሳሽ ንባቦች እንዲሁ እስከ 2 ሰከንዶች ዕድሜ ድረስ (በጣም ቀርፋፋ ዳሳሽ) ተንሳፋፊ h12 = dht12.readHumidity (); // በፋራናይት (ነባሪው) ተንሳፋፊ hif12 = dht12.computeHeatIndex (f12 ፣ h12) ውስጥ የሙቀት መረጃ ጠቋሚውን ያስሉ ፤ // በሴልሲየስ (isFahreheit = false) ተንሳፋፊ hic12 = dht12.computeHeatIndex (t12 ፣ h12 ፣ ሐሰት) // በፋራናይት (ነባሪው) ተንሳፋፊ dpf12 = dht12.dewPoint (f12 ፣ h12) ውስጥ የጤዛ ነጥብ ያስሉ። // በሴልሲየስ ውስጥ የጤዛ ነጥብን ያስሉ (isFahreheit = false) float dpc12 = dht12.dewPoint (t12 ፣ h12 ፣ ሐሰት);
ደረጃ 8: ሙሉ ንባብ
አንድ የተወሰነ ሁኔታ ለማግኘት ሙሉ ንባብ።
// የኃይል መለኪያን እስካልተላለፉ ድረስ የዳሳሽ ንባቡ 2 ሰከንድ ያለፈው ጊዜ አለው
DHT12:: ReadStatus chk = dht12.readStatus (); Serial.print (ኤፍ ("\ n አንባቢ ዳሳሽ:")); ማብሪያ (chk) {ጉዳይ DHT12:: እሺ: Serial.println (F («እሺ»)); ሰበር; ጉዳይ DHT12:: ERROR_CHECKSUM: Serial.println (F ("Checksum ስህተት")); ሰበር; ጉዳይ DHT12:: ERROR_TIMEOUT: Serial.println (F ("የጊዜ ማብቂያ ስህተት")); ሰበር; ጉዳይ DHT12:: ERROR_TIMEOUT_LOW: Serial.println (F (“በዝቅተኛ ምልክት ላይ የጊዜ ማብቂያ ስህተት ፣ ከፍተኛ የ pullup resistance ን ለመጫን ይሞክሩ”)); ሰበር; ጉዳይ DHT12:: ERROR_TIMEOUT_HIGH: Serial.println (F (“በዝቅተኛ ምልክት ላይ የጊዜ ማብቂያ ስህተት ፣ ዝቅተኛ pullup resistance ን ለማስቀመጥ ይሞክሩ”)); ሰበር; ጉዳይ DHT12:: ERROR_CONNECT: Serial.println (F (“የግንኙነት ስህተት”)); ሰበር; ጉዳይ DHT12:: ERROR_ACK_L: Serial.println (F ("AckL ስህተት")); ሰበር; ጉዳይ DHT12:: ERROR_ACK_H: Serial.println (F ("AckH ስህተት")); ሰበር; ጉዳይ DHT12:: ERROR_UNKNOWN: Serial.println (F ("ያልታወቀ ስህተት ተለይቶ")); ሰበር; ጉዳይ DHT12:: የለም: Serial.println (F ("ምንም ውጤት የለም")); ሰበር; ነባሪ: Serial.println (F ("ያልታወቀ ስህተት")); ሰበር; }
// ሙቀትን እንደ ሴልሺየስ ያንብቡ (ነባሪው)
ተንሳፋፊ t12 = dht12.readTemperature (); // የሙቀት መጠን እንደ ፋራናይት (isFahrenheit = true) ተንሳፋፊ f12 = dht12.readTemperature (እውነት); // የዳሳሽ ንባቦች እንዲሁ እስከ 2 ሰከንዶች ያረጁ (በጣም ቀርፋፋ ዳሳሽ) ተንሳፋፊ h12 = dht12.readHumidity (); // በፋራናይት (ነባሪው) ተንሳፋፊ hif12 = dht12.computeHeatIndex (f12 ፣ h12) ውስጥ የሙቀት መረጃ ጠቋሚውን ያስሉ ፤ // በሴልሲየስ (isFahreheit = false) ተንሳፋፊ hic12 = dht12.computeHeatIndex (t12 ፣ h12 ፣ ሐሰት) // በፋራናይት (ነባሪው) ተንሳፋፊ dpf12 = dht12.dewPoint (f12 ፣ h12) ውስጥ የጤዛ ነጥብ ያስሉ። // በሴልሲየስ ውስጥ የጤዛ ነጥብን ያስሉ (isFahreheit = false) float dpc12 = dht12.dewPoint (t12 ፣ h12 ፣ ሐሰት);
ደረጃ 9 የግንኙነት ንድፍ
በምሳሌዎች ፣ የግንኙነት ዲያግራም አለ ፣ ትክክለኛውን pullup resistor መጠቀም አስፈላጊ ነው።
በጊትቡብ ውስጥ (አንዳንድ ኮድ እና ሀሳቦችን የምወስድበት) ለቦባዳስ ፣ ለዲፕላሳ እና ለአዳፍ ፍሬ ምስጋና ይግባው።
ደረጃ 10 አርዱinoኖ OneWire
ደረጃ 11 አርዱinoኖ I2c
ደረጃ 12 Esp8266 (D1Mini) OneWire
ደረጃ 13 Esp8266 (D1Mini) I2c
ደረጃ 14: አመሰግናለሁ
የአርዱዲኖ መጫወቻ ስፍራ (https://playground.arduino.cc/Main/DHT12SensorLibrary)
i2c ፕሮጀክት ተከታታይ (ስብስብ):
- የሙቀት እርጥበት ዳሳሽ
- የአናሎግ ማስፋፊያ
- ዲጂታል ማስፋፊያ
- ኤልሲዲ ማሳያ
የሚመከር:
የ DHT12 I2C እርጥበት እና የሙቀት ዳሳሽ ከአርዱዲኖ ጋር እንዴት መጠቀም እንደሚቻል - 7 ደረጃዎች
የ DHT12 I2C እርጥበት እና የሙቀት ዳሳሽ ከአርዱዲኖ ጋር እንዴት እንደሚጠቀሙ - በዚህ መማሪያ ውስጥ DHT12 I2C እርጥበት እና የሙቀት ዳሳሽ ከአርዱዲኖ ጋር እንዴት እንደሚጠቀሙ እንማራለን እና እሴቶቹን በ OLED ማሳያ ላይ ያሳዩ። ቪዲዮውን ይመልከቱ
ክትትል-የሙቀት-እና-እርጥበት-አጠቃቀም-AWS-ESP32: 8 ደረጃዎች
Monitoring-Temp-and-Humidity-using-AWS-ESP32: በዚህ መማሪያ ውስጥ ቴምፕ እና እርጥበት ዳሳሽ በመጠቀም የተለያዩ የሙቀት እና የእርጥበት መረጃዎችን እንለካለን። እንዲሁም ይህንን ውሂብ ወደ AWS እንዴት እንደሚልኩ ይማራሉ
ESP8266 NodeMCU የመድረሻ ነጥብ (ኤፒ) ለድር አገልጋይ በ DT11 የሙቀት ዳሳሽ እና በአሳሹ ውስጥ የሙቀት መጠን እና እርጥበት ማተም 5 ደረጃዎች
ESP8266 NodeMCU የመድረሻ ነጥብ (ኤፒ) ለድር አገልጋይ በ DT11 የሙቀት ዳሳሽ እና የማተሚያ ሙቀት እና እርጥበት በአሳሽ ውስጥ - ሠላም ወንዶች በአብዛኛዎቹ ፕሮጄክቶች ውስጥ ESP8266 ን እንጠቀማለን እና በአብዛኛዎቹ ፕሮጄክቶች ውስጥ ESP8266 ን እንደ ድር አገልጋይ እንጠቀማለን ፣ ስለዚህ መረጃ በ በ ESP8266 የተስተናገደውን ዌብሳይቨርን በመድረስ በ wifi ላይ ያለ ማንኛውም መሣሪያ ግን ብቸኛው ችግር ለሥራ የሚሰራ ራውተር ያስፈልገናል
የ DHT11 የሙቀት ዳሳሽ በአርዱዲኖ እንዴት እንደሚጠቀም እና የሙቀት ሙቀት እና እርጥበት ማተም -5 ደረጃዎች
የ DHT11 የሙቀት ዳሳሽ በአርዱዲኖ እና በሕትመት የሙቀት መጠን እና እርጥበት እንዴት እንደሚጠቀሙ - የ DHT11 ዳሳሽ የሙቀት መጠንን እና እርጥበት ለመለካት ጥቅም ላይ ይውላል። እነሱ በጣም ተወዳጅ የኤሌክትሮኒክስ የትርፍ ጊዜ ማሳለፊያዎች ናቸው። የ DHT11 እርጥበት እና የሙቀት ዳሳሽ በእራስዎ የኤሌክትሮኒክስ ፕሮጄክቶች ላይ የእርጥበት እና የሙቀት መጠን መረጃን በእውነቱ ማከል ቀላል ያደርገዋል። በየ
PCF8591 (i2c አናሎግ I/O Expander) ፈጣን ቀላል አጠቃቀም 9 ደረጃዎች
PCF8591 (i2c አናሎግ I/O Expander) ፈጣን ቀላል አጠቃቀም -ቤተ -መጽሐፍት i2c pcf8591 IC ን ከአርዱዲኖ እና esp8266 ጋር ለመጠቀም። ይህ አይ.ሲ (እስከ 4) የአናሎግ ግቤትን እና/ወይም 1 የመለኪያ voltage ልቴጅ ፣ የቴርሞስተር ዋጋን ያንብቡ ወይም መሪን ሊያደበዝዝ ይችላል። የአናሎግ ዋጋን ማንበብ እና የአናሎግ ዋጋን በ 2 ሽቦ ብቻ መፃፍ ይችላል (ፍጹም