Përmbajtje:
- Hapi 1: Si funksionon I2c
- Hapi 2: Biblioteka
- Hapi 3: Sjellja
- Hapi 4: Përdorimi I2c
- Hapi 5: Përdorimi me një tela
- Hapi 6: Leximi i nënkuptuar
- Hapi 7: Lexim i thjeshtë
- Hapi 8: Lexoni të plotë
- Hapi 9: Diagrami i lidhjes
- Hapi 10: Arduino: OneWire
- Hapi 11: Arduino: I2c
- Hapi 12: Esp8266 (D1Mini) OneWire
- Hapi 13: Esp8266 (D1Mini) I2c
- Hapi 14: Faleminderit
Video: DHT12 (sensori i lirë i lagështisë dhe temperaturës i2c), përdorim i shpejtë i lehtë: 14 hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:18
Mund të gjeni përditësime dhe të tjera në faqen time
Më pëlqen sensori që mund të përdoret me 2 tela (protokoll i2c), por më pëlqen ai i lirë.
Kjo është një bibliotekë Arduino dhe esp8266 për serinë DHT12 të sensorëve me kosto shumë të ulët të temperaturës/lagështisë (më pak se 1 $) që punojnë me i2c ose një lidhje teli.
Shumë e dobishme nëse doni të përdorni esp01 (nëse përdorni serial keni vetëm 2 pin) për të lexuar lagështinë dhe temperaturën dhe për ta shfaqur atë në LCD i2c.
AI lexoi se dikur duket se ka nevojë për kalibrim, por unë kam pemë të kësaj dhe marr vlerë shumë të ngjashme me DHT22. Nëse e keni kalibrimin e këtij problemi, hapeni çështjen në github dhe unë shtoj zbatimin.
Hapi 1: Si funksionon I2c
I2C punon me dy telat e tij, SDA (linja e të dhënave) dhe SCL (linja e orës).
Të dyja këto linja janë me rrjedhje të hapur, por janë tërhequr me rezistorë.
Zakonisht ka një mjeshtër dhe një ose shumë skllevër në linjë, megjithëse mund të ketë shumë zotërinj, por ne do të flasim për këtë më vonë.
Të dy zotërit dhe skllevërit mund të transmetojnë ose marrin të dhëna, prandaj, një pajisje mund të jetë në njërën nga këto katër gjendje: transmetimi kryesor, marrja master, transmetimi skllav, marrja skllav.
Hapi 2: Biblioteka
Këtu mund të gjeni bibliotekën time.
Për të shkarkuar
Klikoni butonin DOWNLOADS në këndin e sipërm të djathtë, riemërtoni dosjen e pakompresuar DHT12.
Kontrolloni që dosja DHT të përmbajë DHT12.cpp dhe DHT12.h.
Vendosni dosjen tuaj të bibliotekës DHT / bibliotekat / dosjen tuaj.
Ju mund të keni nevojë të krijoni nën -dosjen e bibliotekave nëse është biblioteka juaj e parë.
Rinisni IDE -në.
Hapi 3: Sjellja
Kjo libray përpiqet të imitojë sjellësin e sensorëve standardë të bibliotekës DHT (dhe kopjo shumë kod), dhe unë shtoj kodin për të menaxhuar i2c olso në të njëjtën mënyrë.
Metoda është e njëjtë me sensorin e bibliotekës DHT, me disa që shtojnë funksionin e pikës së vesës.
Hapi 4: Përdorimi I2c
Për t'u përdorur me i2c (adresa e paracaktuar dhe kodi i paracaktuar SDA SCL) konstruktori është:
DHT12 dht12;
dhe merrni vlerën e paracaktuar për kunjin SDA SCL.
(Possibleshtë e mundur të ri-përkufizoni me ndërtuesin e specifikuar për esp8266, të nevojshëm për ESP-01). ose
DHT12 dht12 (uint8_t adresaOrPin)
addressOrPin -> adresa
për të ndryshuar adresën.
Hapi 5: Përdorimi me një tela
Për të përdorur një tel:
DHT12 dht12 (adresa uint8_tOrPin, e vërtetë)
addressOrPin -> pin
vlera boolean është zgjedhja e mënyrës oneWire ose i2c.
Hapi 6: Leximi i nënkuptuar
Mund ta përdorni me "të nënkuptuar", "të lexuar thjeshtë" ose "të lexuar plotësisht": I nënkuptuar, vetëm leximi i parë që bën një lexim të vërtetë të sensorit, leximi tjetër që bëhet në 2 sekonda. intervali është vlera e ruajtur e leximit të parë.
// Leximi i sensorit ka 2 sekonda kohë të kaluar, përveç nëse kaloni parametrin e forcës
// Lexoni temperaturën si Celsius (parazgjedhja) noton t12 = dht12.readTemperature (); // Lexoni temperaturën si Fahrenheit (isFahrenheit = e vërtetë) notoni f12 = dht12.readTemperature (e vërtetë); // Leximet e sensorit gjithashtu mund të jenë të vjetra deri në 2 sekonda (është një sensor shumë i ngadalshëm) noton h12 = dht12.readHumidity (); // Llogarit indeksin e nxehtësisë në Fahrenheit (parazgjedhja) noton hif12 = dht12.computeHeatIndex (f12, h12); // Llogarit indeksin e nxehtësisë në Celsius (isFahreheit = false) noton hic12 = dht12.computeHeatIndex (t12, h12, false); // Llogarit pikën e vesës në Fahrenheit (parazgjedhja) noton dpf12 = dht12.dewPoint (f12, h12); // Llogarit pikën e vesës në Celsius (isFahreheit = false) noton dpc12 = dht12.dewPoint (t12, h12, false);
Hapi 7: Lexim i thjeshtë
Lexim i thjeshtë për të marrë një status të lexuar.
// Leximi i sensorit ka 2 sekonda kohë të kaluar, përveç nëse kaloni parametrin e forcës
bool chk = dht12.read (); // leximi i vërtetë është në rregull, problemi i leximit të rremë
// Lexoni temperaturën si Celsius (e parazgjedhur)
noton t12 = dht12.readTemperature (); // Lexoni temperaturën si Fahrenheit (isFahrenheit = e vërtetë) notoni f12 = dht12.readTemperature (e vërtetë); // Leximet e sensorit gjithashtu mund të jenë të vjetra deri në 2 sekonda (është një sensor shumë i ngadalshëm) noton h12 = dht12.readHumidity (); // Llogarit indeksin e nxehtësisë në Fahrenheit (parazgjedhja) noton hif12 = dht12.computeHeatIndex (f12, h12); // Llogarit indeksin e nxehtësisë në Celsius (isFahreheit = false) noton hic12 = dht12.computeHeatIndex (t12, h12, false); // Llogarit pikën e vesës në Fahrenheit (parazgjedhja) noton dpf12 = dht12.dewPoint (f12, h12); // Llogarit pikën e vesës në Celsius (isFahreheit = false) noton dpc12 = dht12.dewPoint (t12, h12, false);
Hapi 8: Lexoni të plotë
Lexoni plotësisht për të marrë një status të caktuar.
// Leximi i sensorit ka 2 sekonda kohë të kaluar, përveç nëse kaloni parametrin e forcës
DHT12:: ReadStatus chk = dht12.readStatus (); Serial.print (F ("\ nSensori i leximit:")); switch (chk) {case DHT12:: OK: Serial.println (F ("OK")); pushim; rasti DHT12:: ERROR_CHECKSUM: Serial.println (F ("Gabimi i kontrollit")); pushim; rasti DHT12:: ERROR_TIMEOUT: Serial.println (F ("Gabim i kohës")); pushim; rasti DHT12:: ERROR_TIMEOUT_LOW: Serial.println (F ("Gabimi i afatit në sinjal të ulët, provoni të vendosni rezistencë të lartë tërheqëse")); pushim; rasti DHT12:: ERROR_TIMEOUT_HIGH: Serial.println (F ("Gabim i kohës në sinjal të ulët, provo të vendosësh rezistencë të ulët tërheqëse")); pushim; rasti DHT12:: ERROR_CONNECT: Serial.println (F ("Gabimi i lidhjes")); pushim; rasti DHT12:: ERROR_ACK_L: Serial.println (F ("Gabim AckL")); pushim; rast DHT12:: ERROR_ACK_H: Serial.println (F ("Gabim AckH")); pushim; rast DHT12:: ERROR_UNKNOWN: Serial.println (F ("Gabim i panjohur Zbuluar")); pushim; rast DHT12:: NUK: Serial.println (F ("Pa rezultat")); pushim; parazgjedhje: Serial.println (F ("Gabim i panjohur")); pushim; }
// Lexoni temperaturën si Celsius (e parazgjedhur)
noton t12 = dht12.readTemperature (); // Lexoni temperaturën si Fahrenheit (isFahrenheit = e vërtetë) notoni f12 = dht12.readTemperature (e vërtetë); // Leximet e sensorit gjithashtu mund të jenë të vjetra deri në 2 sekonda (është një sensor shumë i ngadalshëm) noton h12 = dht12.readHumidity (); // Llogarit indeksin e nxehtësisë në Fahrenheit (parazgjedhja) noton hif12 = dht12.computeHeatIndex (f12, h12); // Llogarit indeksin e nxehtësisë në Celsius (isFahreheit = false) noton hic12 = dht12.computeHeatIndex (t12, h12, false); // Llogarit pikën e vesës në Fahrenheit (parazgjedhja) noton dpf12 = dht12.dewPoint (f12, h12); // Llogarit pikën e vesës në Celsius (isFahreheit = false) noton dpc12 = dht12.dewPoint (t12, h12, false);
Hapi 9: Diagrami i lidhjes
Me shembuj, ka diagramin e lidhjes, është e rëndësishme të përdorni rezistencën e saktë të tërheqjes.
Falë Bobadas, dplasa dhe adafruit, për të ndarë kodin në github (ku marr disa kod dhe ide).
Hapi 10: Arduino: OneWire
Hapi 11: Arduino: I2c
Hapi 12: Esp8266 (D1Mini) OneWire
Hapi 13: Esp8266 (D1Mini) I2c
Hapi 14: Faleminderit
Sheshi i lojërave Arduino (https://playground.arduino.cc/Main/DHT12SensorLibrary)
seri projektesh i2c (Koleksion):
- Sensori i lagështisë së temperaturës
- Zgjerues analog
- Zgjerues dixhital
- Ekran LCD
Recommended:
Si të përdorni sensorin e lagështisë dhe temperaturës DHT12 I2C me Arduino: 7 hapa
Si të përdorni DHT12 I2C Sensori i Lagështisë dhe Temperaturës Me Arduino: Në këtë tutorial ne do të mësojmë se si të përdorim DHT12 I2C Sensori i Lagështisë dhe Temperaturës me Arduino dhe të shfaqim vlerat në Ekranin OLED. Shikoni videon
Sensori i temperaturës dhe lagështisë me LCD dhe zbulimin e zërit: 4 hapa
Sensori i temperaturës dhe lagështisë me LCD dhe zbulimin e zërit: Përshëndetje djema !!! Dakord ky projekt ishte projekti im i vitit të fundit. Qëllimi i këtij projekti ishte monitorimi i temperaturës dhe lagështisë së dhomës në punëtorinë e Universitetit tim sepse disa komponentë elektronikë nuk funksionojnë për shkak të temperaturës së pafavorshme
Raspberry Pi - HIH6130 I2C Sensori i lagështisë dhe temperaturës Python Tutorial: 4 hapa
Raspberry Pi - HIH6130 I2C Sensori i lagështisë dhe temperaturës Python Tutorial: HIH6130 është një sensor lagështie dhe temperature me dalje dixhitale. Këta sensorë ofrojnë një nivel saktësie ± 4% RH. Me stabilitet afatgjatë udhëheqës të industrisë, I2C të vërtetë dixhitale të kompensuar nga temperatura, besueshmëri udhëheqëse në industri, efikasitet energjetik
Sensori i temperaturës dhe lagështisë me ekran Arduino dhe LCD: 4 hapa
Sensori i temperaturës dhe lagështisë me ekran Arduino dhe LCD: Përshëndetje djema, Mirë se vini në Artuino. Siç e keni parë Unë kam filluar Një InstructableToday ne do të bëjmë një Temperaturë & Matës lagështie me modulin DHT11. Le të fillojmëP.S. Merrni parasysh Abonimin dhe pëlqimin e videos
E PDRDITSUAR !!!! Përforcues i lirë dhe i lehtë i sinjalit të antenave WIFI që është më i mirë dhe më i shpejtë se ata të letrës !!!: 9 hapa
E PDRDITSUAR !!!! Rritës i lirë dhe i lehtë i sinjalit të antenave WIFI që është më i mirë dhe më i shpejtë se ata të letrës !!!: Një lëvizje e re në një ide të vjetër për përmirësimin e sinjalit tuaj WIFI