Satura rādītājs:
- 1. darbība. Kā darbojas I2c
- 2. darbība: bibliotēka
- 3. darbība: uzvedība
- 4. darbība: I2c lietošana
- 5. darbība: viena stieples izmantošana
- 6. darbība: netieša lasīšana
- 7. darbība: vienkārša lasīšana
- 8. solis: pilna lasīšana
- 9. darbība. Savienojuma shēma
- 10. darbība: Arduino: OneWire
- 11. darbība: Arduino: I2c
- 12. darbība: Esp8266 (D1Mini) OneWire
- 13. darbība: Esp8266 (D1Mini) I2c
- 14. solis: Paldies
Video: DHT12 (i2c lēts mitruma un temperatūras sensors), ātra un vienkārša lietošana: 14 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:54
Atjauninājumus un citu informāciju varat atrast manā vietnē
Man patīk sensors, ko var izmantot ar 2 vadiem (i2c protokols), bet man patīk lēts.
Šī ir Arduino un esp8266 bibliotēka DHT12 sērijai ļoti zemu izmaksu temperatūras/mitruma sensoriem (mazāk nekā 1 USD), kas darbojas ar i2c vai vienu vadu savienojumu.
Ļoti noderīgi, ja vēlaties izmantot esp01 (ja izmantojat seriālo, jums ir tikai 2 tapas), lai nolasītu mitrumu un temperatūru un parādītu to i2c LCD.
AI lasīja, ka dažkārt šķiet, ka tas ir jākalibrē, bet man ir šis koks un iegūstu vērtību, kas ir ļoti līdzīga DHT22. Ja jums ir šīs problēmas kalibrēšana, atveriet problēmu vietnē github, un es pievienoju ieviešanu.
1. darbība. Kā darbojas I2c
I2C darbojas ar diviem vadiem - SDA (datu līnija) un SCL (pulksteņa līnija).
Abas šīs līnijas ir atvērtas kanalizācijas, bet ir uzvilktas ar rezistoriem.
Parasti uz līnijas ir viens saimnieks un viens vai vairāki vergi, lai gan var būt vairāki saimnieki, bet mēs par to runāsim vēlāk.
Gan kapteiņi, gan vergi var pārsūtīt vai saņemt datus, tāpēc ierīce var būt vienā no šiem četriem stāvokļiem: galvenā pārraide, galvenā saņemšana, vergu pārraide, vergu saņemšana.
2. darbība: bibliotēka
Manu bibliotēku varat atrast šeit.
Lai lejupielādētu
Augšējā labajā stūrī noklikšķiniet uz pogas LEJUPIELĀDĒT, pārdēvējiet nesaspiesto mapi DHT12.
Pārbaudiet, vai DHT mapē ir DHT12.cpp un DHT12.h.
Ievietojiet DHT bibliotēkas mapi savā / libraries / mapē.
Jums var būt jāizveido bibliotēku apakšmape, ja tā ir jūsu pirmā bibliotēka.
Restartējiet IDE.
3. darbība: uzvedība
Šī libray mēģina līdzināties standarta DHT bibliotēkas sensoru uzvedībai (un kopē daudz koda), un es pievienoju kodu, lai tādā pašā veidā pārvaldītu i2c olso.
Metode ir tāda pati kā DHT bibliotēkas sensoram, dažiem pievienojot rasas punkta funkciju.
4. darbība: I2c lietošana
Lai izmantotu ar i2c (noklusējuma adrese un noklusējuma SDA SCL tapa), konstruktors ir:
DHT12 dht12;
un ņemiet SDA SCL tapas noklusējuma vērtību.
(Ir iespējams no jauna definēt ar norādīto esp8266 kontrolieri, kas nepieciešams ESP-01). vai
DHT12 dht12 (uint8_t addressOrPin)
addressOrPin -> adrese
lai mainītu adresi.
5. darbība: viena stieples izmantošana
Lai izmantotu vienu vadu:
DHT12 dht12 (uint8_t addressOrPin, true)
addressOrPin -> pin
Būla vērtība ir oneWire vai i2c režīma izvēle.
6. darbība: netieša lasīšana
Varat to izmantot ar "netiešu", "vienkāršu lasīšanu" vai "pilnu lasīšanu": netieši, tikai pirmais lasījums, kas nolasa patiesi sensoru, otrs lasījums, kas kļūst 2 sek. intervāls ir pirmā lasījuma saglabātā vērtība.
// Sensora nolasījumam ir pagājušas 2 sekundes, ja vien nenododat spēka parametru
// Temperatūras lasīšana pēc Celsija (noklusējuma) float t12 = dht12.readTemperature (); // Temperatūras lasīšana pēc Fārenheita (isFahrenheit = true) float f12 = dht12.readTemperature (true); // Sensora rādījumi var būt arī līdz 2 sekundēm veci (tas ir ļoti lēns sensors) pludiņš h12 = dht12.readHumidity (); // Aprēķināt siltuma indeksu pēc Fārenheita (noklusējums) float hif12 = dht12.computeHeatIndex (f12, h12); // Aprēķināt siltuma indeksu pēc Celsija (isFahreheit = false) float hic12 = dht12.computeHeatIndex (t12, h12, false); // Rasas punkta aprēķināšana pēc Fārenheita (noklusējuma) pludiņš dpf12 = dht12.dewPoint (f12, h12); // Rasas punkta aprēķināšana pēc Celsija (isFahreheit = false) float dpc12 = dht12.dewPoint (t12, h12, false);
7. darbība: vienkārša lasīšana
Vienkārša lasīšana, lai iegūtu lasīšanas statusu.
// Sensora nolasījumam ir pagājušas 2 sekundes, ja vien nenododat spēka parametru
bool chk = dht12. lasīt (); // patiesa lasīšana ir ok, nepatiesa lasīšanas problēma
// Temperatūras lasīšana pēc Celsija (noklusējums)
pludiņš t12 = dht12.readTemperature (); // Temperatūras lasīšana pēc Fārenheita (isFahrenheit = true) float f12 = dht12.readTemperature (true); // Sensora rādījumi var būt arī līdz 2 sekundēm veci (tas ir ļoti lēns sensors) pludiņš h12 = dht12.readHumidity (); // Aprēķināt siltuma indeksu pēc Fārenheita (noklusējums) float hif12 = dht12.computeHeatIndex (f12, h12); // Aprēķināt siltuma indeksu pēc Celsija (isFahreheit = false) float hic12 = dht12.computeHeatIndex (t12, h12, false); // Rasas punkta aprēķināšana pēc Fārenheita (noklusējuma) pludiņš dpf12 = dht12.dewPoint (f12, h12); // Rasas punkta aprēķināšana pēc Celsija (isFahreheit = false) float dpc12 = dht12.dewPoint (t12, h12, false);
8. solis: pilna lasīšana
Pilns lasījums, lai iegūtu noteiktu statusu.
// Sensora nolasījumam ir pagājušas 2 sekundes, ja vien nenododat spēka parametru
DHT12:: Lasīšanas statuss chk = dht12.readStatus (); Serial.print (F ("\ nLasīt sensoru:")); switch (chk) {case DHT12:: OK: Serial.println (F ("OK")); pārtraukums; gadījums DHT12:: ERROR_CHECKSUM: Serial.println (F ("Kontrolsummas kļūda")); pārtraukums; gadījums DHT12:: ERROR_TIMEOUT: Serial.println (F ("Timeout error")); pārtraukums; gadījums DHT12:: ERROR_TIMEOUT_LOW: Serial.println (F ("Taimauta kļūda zemam signālam, mēģiniet uzlikt lielu pievilkšanas pretestību")); pārtraukums; gadījums DHT12:: ERROR_TIMEOUT_HIGH: Serial.println (F ("Noildzes kļūda zemam signālam, mēģiniet likt zemu pievilkšanas pretestību")); pārtraukums; gadījums DHT12:: ERROR_CONNECT: Serial.println (F ("Savienojuma kļūda")); pārtraukums; gadījums DHT12:: ERROR_ACK_L: Serial.println (F ("AckL kļūda")); pārtraukums; gadījums DHT12:: ERROR_ACK_H: Serial.println (F ("AckH kļūda")); pārtraukums; gadījums DHT12:: ERROR_UNKNOWN: Serial.println (F ("NEZINĀTA kļūda DETECTED")); pārtraukums; gadījums DHT12:: NAV: Serial.println (F ("Nav rezultāta")); pārtraukums; noklusējums: Serial.println (F ("Nezināma kļūda")); pārtraukums; }
// Temperatūras lasīšana pēc Celsija (noklusējums)
pludiņš t12 = dht12.readTemperature (); // Temperatūras lasīšana pēc Fārenheita (isFahrenheit = true) float f12 = dht12.readTemperature (true); // Sensora rādījumi var būt arī līdz 2 sekundēm veci (tas ir ļoti lēns sensors) pludiņš h12 = dht12.readHumidity (); // Aprēķināt siltuma indeksu pēc Fārenheita (noklusējums) float hif12 = dht12.computeHeatIndex (f12, h12); // Aprēķināt siltuma indeksu pēc Celsija (isFahreheit = false) float hic12 = dht12.computeHeatIndex (t12, h12, false); // Rasas punkta aprēķināšana pēc Fārenheita (noklusējuma) pludiņš dpf12 = dht12.dewPoint (f12, h12); // Rasas punkta aprēķināšana pēc Celsija (isFahreheit = false) float dpc12 = dht12.dewPoint (t12, h12, false);
9. darbība. Savienojuma shēma
Izmantojot piemērus, ir pievienošanas shēma, ir svarīgi izmantot pareizo pievilkšanas rezistoru.
Paldies Bobadas, dplasa un adafruit, lai kopīgotu kodu github (kur es ņemu dažus kodus un idejas).
10. darbība: Arduino: OneWire
11. darbība: Arduino: I2c
12. darbība: Esp8266 (D1Mini) OneWire
13. darbība: Esp8266 (D1Mini) I2c
14. solis: Paldies
Arduino rotaļu laukums (https://playground.arduino.cc/Main/DHT12SensorLibrary)
i2c projektu sērija (kolekcija):
- Temperatūras mitruma sensors
- Analogais paplašinātājs
- Digitālais paplašinātājs
- LCD displejs
Ieteicams:
NodeMCU Lua lēts 6 $ dēlis ar MicroPython temperatūras un mitruma reģistrēšanu, Wifi un mobilā statistika: 4 soļi
NodeMCU Lua Cheap 6 $ dēlis ar MicroPython temperatūras un mitruma reģistrēšanu, Wifi un mobilo statistiku: šī būtībā ir mākoņa laika stacija, jūs varat pārbaudīt datus savā tālrunī vai izmantot kādu tālruni kā tiešraides displeju Ar NodeMCU ierīci jūs varat reģistrēt temperatūras un mitruma datus ārpusē , telpā, siltumnīcā, laboratorijā, dzesēšanas telpā vai jebkurā citā vietā
Kā lietot DHT12 I2C mitruma un temperatūras sensoru ar Arduino: 7 soļi
Kā lietot DHT12 I2C mitruma un temperatūras sensoru ar Arduino: Šajā apmācībā mēs iemācīsimies izmantot DHT12 I2C mitruma un temperatūras sensoru ar Arduino un parādīt vērtības OLED displejā. Noskatieties video
Arduino saules enerģijas temperatūras un mitruma sensors kā 433 MHz Oregon sensors: 6 soļi
Arduino saules enerģijas temperatūras un mitruma sensors kā 433 MHz Oregon sensors: tas ir saules enerģijas temperatūras un mitruma sensora konstrukcija. Sensors atdarina 433 MHz Oregon sensoru un ir redzams Telldus Net vārtejā. Kas jums nepieciešams: 1x "10-LED Saules enerģijas kustības sensors " no ebay. Pārliecinieties, ka ir rakstīts 3.7v mīkla
Raspberry Pi - HIH6130 I2C mitruma un temperatūras sensors Java apmācība: 4 soļi
Raspberry Pi - HIH6130 I2C mitruma un temperatūras sensors Java apmācība: HIH6130 ir mitruma un temperatūras sensors ar digitālo izeju. Šie sensori nodrošina precizitātes līmeni ± 4% RH. Ar nozarē vadošo ilgtermiņa stabilitāti, patiesu temperatūras kompensētu digitālo I2C, nozares vadošo uzticamību, energoefektivitāti
PCF8591 (i2c analogais I/O paplašinātājs) Ātra ērta lietošana: 9 soļi
PCF8591 (i2c analogais I/O paplašinātājs) Ātra vienkārša lietošana: bibliotēka, lai izmantotu i2c pcf8591 IC ar arduino un esp8266. Šis IC var kontrolēt (līdz 4) analogo ieeju un/vai 1 analogo izeju, piemēram, izmērīt spriegumu, nolasīt termistora vērtību vai izbalināt gaismas diodi. Var nolasīt analogo vērtību un ierakstīt analogo vērtību tikai ar 2 vadiem (perfekts