Orodha ya maudhui:

Usawazishaji wa Sura ya DS18B20 Na Arduino UNO: Hatua 3 (na Picha)
Usawazishaji wa Sura ya DS18B20 Na Arduino UNO: Hatua 3 (na Picha)

Video: Usawazishaji wa Sura ya DS18B20 Na Arduino UNO: Hatua 3 (na Picha)

Video: Usawazishaji wa Sura ya DS18B20 Na Arduino UNO: Hatua 3 (na Picha)
Video: 7 проектов. Сборка светодиодного ЖК-будильника с использованием DS1307 и Arduino | Урок 105 2024, Julai
Anonim
Upimaji wa Sensor ya DS18B20 Na Arduino UNO
Upimaji wa Sensor ya DS18B20 Na Arduino UNO
Upimaji wa Sensor ya DS18B20 Na Arduino UNO
Upimaji wa Sensor ya DS18B20 Na Arduino UNO
Upimaji wa Sensor ya DS18B20 Na Arduino UNO
Upimaji wa Sensor ya DS18B20 Na Arduino UNO

KANUSHO:

Kifaa unachoona kwenye picha kinatumika katika mradi mwingine kama Thermostat ya mchakato wa kukuza filamu. Unaweza kupata mradi huo hapa. Ili kusawazisha sensa, au zaidi ya moja, utahitaji tu kile utapata katika mradi huu, hakuna zaidi, na ni ya msingi sana, pia! Twende!

Hatua ya 1: Andaa Kifaa chako

Andaa Kifaa Chako
Andaa Kifaa Chako

Hapa kuna orodha ya kile unahitaji:

  1. Arduino UNO (au MEGA)
  2. Sensor (s) za DS18B20
  3. 4kOhm - 5kOhm upinzani (nilitumia 5k1Ohm)
  4. Skrini ya LCD kusoma maadili (unaweza pia kutumia kompyuta ndogo na usome tu kwenye mfuatiliaji wa serial)
  5. Mchoro unaotumia sensa na kuonyesha kwa namna fulani maadili

Kwanza kabisa lazima uunganishe moduli na sensorer yako kwa kidhibiti chako. Nitaacha sehemu ngumu ya LCD ili utafute wavuti, na nitakuambia tu jinsi ya kuunganisha sensa.

Kawaida sensorer hizo huja na waya tatu zenye rangi: Nyeusi, Nyekundu, Njano. Mbili za kwanza ni za nishati na ya tatu ni ya data. Unganisha nyeusi kwa GNN, nyekundu kwa Vcc (5V) na manjano kwenye pembejeo ya analog, wacha tuseme A0.

Sasa unganisha upinzani kati ya manjano na nyekundu ili kumaliza unganisho.

Chomeka pia LCD (napendekeza LCD rahisi 16x2 na unganisho la i2c kutumia waya 4 tu) na umemaliza na waya na nyaya.

Sasa mchoro ambao ni rahisi sana:

# pamoja na "OneWire.h"

# pamoja na "Joto la Dallas.h" #fafanua ON_WIRE_BUS_1 A0 MojaWireWire1 yetu Sensor ya Joto la Dallas1 (& ourWire1); # pamoja na "LiquidCrystal_I2C.h"

LiquidCrystal_I2C LCD (0x27, 16, 2); kuelea RawValue = 0;

kuanzisha batili () {lcd.init (); lcd taa ya nyuma (); sensor1.anza (); sensor1.setResolution (11); } kitanzi batili () {sensor1.requestTemperatures (); kuelea RawValue = sensor1.getTempCByIndex (0); lcd.setCursor (0, 0); lcd.print ("Sens. 1"); lcd.print (RawValue, 1); }

Kama unavyoona tunatumia maktaba ya Joto la Dallas na skrini ya LCD na unganisho la i2c.

Katika usanidi tunasumbua LCD na sensor na kwenye kitanzi tunaomba tu joto na kuhifadhi thamani ndani ya RawValue inayobadilika kuionyesha kwenye LCD.

Ikiwa unataka kuifanya iwe rahisi zaidi, tumia tu mfuatiliaji wa serial na mchoro ufuatao

# pamoja na "Wire.h" # pamoja na "OneWire.h" # pamoja na "Joto la Dallas.h" #fafanua ON_WIRE_BUS_1 A0 OneWire ourWire1 (ONE_WIRE_BUS_1); Sensor ya Joto la Dallas1 (& ourWire1);

kuelea RawValue = 0;

usanidi batili () {

kuchelewesha (1000); Serial. Kuanza (9600); sensor1.anza (); sensor1.setResolution (11);

}

kitanzi batili () {sensor1.requestTemperatures (); kuelea RawValue = sensor1.getTempCByIndex (0); Serial.print ("Sens. 1"); Serial.println (RawValue, 1); }

Sasa nifuate katika msingi wa mradi wa kurekebisha sensa.

Hatua ya 2: Usawazishaji wa Ncha mbili

Ulinganishaji wa Ncha mbili
Ulinganishaji wa Ncha mbili
Ulinganishaji wa Ncha mbili
Ulinganishaji wa Ncha mbili
Ulinganishaji wa Ncha mbili
Ulinganishaji wa Ncha mbili

Kitu cha kujua kwanza

Ili kupima sensa ya thermo, lazima upime kitu ambacho unajua joto. Njia rahisi ya kuifanya nyumbani ni kutumia maji ya kuchemsha na umwagaji wa barafu inayoyeyuka, pia inaitwa umwagaji wa "hatua tatu". Katika visa hivyo tunajua kuwa maji huchemka kwa 100 ° C kwenye usawa wa bahari. Kumbuka kwamba ili kufanya kipimo sahihi unapaswa kujua urefu wako na uhesabu joto linalofaa la kuchemsha hapo.

Unaweza kuangalia hapa!

Kuwa waaminifu unapaswa kuangalia shinikizo la anga na sio urefu. Lakini njia hiyo ni sahihi vya kutosha.

Umwagaji wa ncha tatu, au umwagaji wa barafu, ni hali ya joto ambayo maji yapo katika majimbo matatu magumu, kioevu na gesi, joto hilo ni 0, 01 ° C. Tutatumia, kurahisisha, 0 ° C.

Kujua thamani ambayo sensa ilisoma na thamani inayopaswa kuwa, tunaweza kubadilisha dhamana ghafi ya DS18B20 kuwa kitu sahihi zaidi.

KUMBUKA: unaweza kutumia joto zaidi kusuluhisha kitambuzi tu kukiweka kwenye dutu nyingine ambayo unajua mahali pa kuchemsha kama Ether (35 ° C), Pentane (36, 1 ° C), Acetone (56 ° C) au Ethanoli (78, 37 ° C), lakini vitu hivyo vya kuchemsha hutoa gesi nyingi zinazoweza kuwaka! Kwa hivyo usifanye!

Maji ya kuchemsha:

Weka maji kwenye sufuria na uipate moto hadi ichemke (Bubbles za gesi zinaendelea na maji yanajisumbua yenyewe). Imisha kihisi chako ambapo haigusi chochote isipokuwa maji. Subiri kwa dakika kadhaa na usome LCD au mfuatiliaji wa serial

Joto linapaswa kubaki sawa kwa angalau dakika moja. Ikiwa ndivyo, andika thamani hiyo chini. Hiyo ni yako: Thamani ya RawHigh.

Umwagaji wa ncha tatu:

Sasa chukua glasi kubwa (hauitaji chochote kikubwa wala sufuria) na ujaze mpaka na cubes za barafu. Jaribu kutumia cubes ndogo za barafu. Sasa jaza glasi 80% na maji baridi. Jaza tena barafu ikiwa lever itajaribu kwenda chini.

Sasa weka sensorer yako ndani ya kitu cha maji / barafu na subiri dakika moja na nusu. Soma joto ambalo linapaswa kubaki sawa kwa sekunde 30 angalau. Ikiwa ni hivyo, iandike, kuwa ni thamani yako ya RawLow.

Hatua ya 3: Tumia Maadili Unayopata Katika Njia Sawa

Kwa hivyo, sasa una maadili muhimu:

  • RawHigh
  • RawLow
  • RejeaKubwa
  • Rejea ya chini

Thamani ya marejeleo ni dhahiri 99.9 ° C kwa maji yanayochemka (kwa urefu wa 22m), na 0 ° C kwa bafu ya barafu inayoyeyuka. Sasa hesabu masafa ya maadili hayo:

  • RawRange = RawHigh - RawLow
  • ReferenceRange = ReferenceHigh - ReferenceLow

Sasa uko tayari kutumia sensor hiyo katika mradi mwingine wowote kuwa na hakika kuwa itakupa kipimo sahihi. Vipi? Kutumia thamani uliyopata hapa katika mradi utaunda na kihisi hicho.

Katika mradi wako wa baadaye itabidi utumie maadili uliyosoma katika hii na ninashauri kuifanya kwa kutumia majina yale yale niliyotumia hapa.

Tangaza vigeuzi kabla ya sehemu batili ya kuanzisha () kama hii:

kuelea RawHigh = 99.6; kuelea RawLow = 0.5; kuelea ReferenceHigh = 99.9; kuelea ReferenceLow = 0; kuelea RawRange = RawHigh - RawLow; kuelea ReferenceRange = ReferenceHigh - ReferenceLow;

Kuliko, kila wakati utatumia kitambuzi, unaweza kutumia fomula ifuatayo kuhesabu Value Iliyorekebishwa:

kuelea CorrectedValue = (((RawValue - RawLow) * ReferenceRange) / RawRange) + ReferenceLow;

RawValue ni wazi usomaji wa sensa.

Hiyo ndio!

Sasa unajua jinsi ya kusawazisha sensa yako ya DS18B20 au sensorer nyingine yoyote ambayo utatumia! Furahiya!

Ilipendekeza: