ዝርዝር ሁኔታ:

የ DS18B20 ዳሳሽ መለካት ከአርዱዲኖ UNO ጋር: 3 ደረጃዎች (ከስዕሎች ጋር)
የ DS18B20 ዳሳሽ መለካት ከአርዱዲኖ UNO ጋር: 3 ደረጃዎች (ከስዕሎች ጋር)

ቪዲዮ: የ DS18B20 ዳሳሽ መለካት ከአርዱዲኖ UNO ጋር: 3 ደረጃዎች (ከስዕሎች ጋር)

ቪዲዮ: የ DS18B20 ዳሳሽ መለካት ከአርዱዲኖ UNO ጋር: 3 ደረጃዎች (ከስዕሎች ጋር)
ቪዲዮ: 57. CRC алгоритм (Урок 48. Теория) 2024, ህዳር
Anonim
የ DS18B20 ዳሳሽ መለካት ከአርዱዲኖ UNO ጋር
የ DS18B20 ዳሳሽ መለካት ከአርዱዲኖ UNO ጋር
የ DS18B20 ዳሳሽ መለካት ከአርዱዲኖ UNO ጋር
የ DS18B20 ዳሳሽ መለካት ከአርዱዲኖ UNO ጋር
የ DS18B20 ዳሳሽ መለካት ከአርዱዲኖ UNO ጋር
የ DS18B20 ዳሳሽ መለካት ከአርዱዲኖ UNO ጋር

ማስተባበያ ፦

በስዕሎቹ ውስጥ የሚያዩት መሣሪያ ለፊልም ልማት ሂደት እንደ ቴርሞስታት በሌላ ፕሮጀክት ውስጥ ጥቅም ላይ ውሏል። ያንን ፕሮጀክት እዚህ ማግኘት ይችላሉ። አነፍናፊን ፣ ወይም ከአንድ በላይ ለመለካት ፣ በዚህ ፕሮጀክት ውስጥ የሚያገ justቸውን ብቻ ያስፈልግዎታል ፣ ምንም ተጨማሪ ነገር የለም ፣ እና እሱ በጣም መሠረታዊ ነው! እንሂድ!

ደረጃ 1 መሣሪያዎን ያዘጋጁ

መሣሪያዎን ያዘጋጁ
መሣሪያዎን ያዘጋጁ

የሚያስፈልጉዎት ዝርዝር እነሆ-

  1. አርዱዲኖ UNO (ወይም ሜጋ)
  2. DS18B20 ዳሳሽ (ቶች)
  3. 4kOhm - 5kOhm ተቃውሞ (እኔ 5k1Ohm ተጠቅሜያለሁ)
  4. እሴቶችን ለማንበብ የ LCD ማያ ገጽ (እንዲሁም ላፕቶፕን መጠቀም እና በተከታታይ ማሳያ ላይ ብቻ ማንበብ ይችላሉ)
  5. ዳሳሹን የሚጠቀም እና በሆነ መንገድ እሴቶችን የሚያሳይ ንድፍ

በመጀመሪያ ሞጁሎችዎን እና ዳሳሽዎን ከመቆጣጠሪያዎ ጋር ማገናኘት አለብዎት። ድርን ለመፈለግ የተወሳሰበውን የኤልሲዲውን ክፍል እተወዋለሁ ፣ እና ዳሳሹን እንዴት እንደሚያገናኙ ብቻ እነግርዎታለሁ።

ብዙውን ጊዜ እነዚያ ዳሳሾች ከሶስት ቀለም ሽቦዎች ጋር ይመጣሉ -ጥቁር ፣ ቀይ ፣ ቢጫ። የመጀመሪያዎቹ ሁለቱ ለኃይል እና ሦስተኛው ለመረጃ ነው። ጥቁሩን ከጂኤንኤን ፣ ቀዩን ከቪሲሲ (5 ቪ) እና ከአናሎግ ግብዓት ላይ ቢጫውን ያገናኙ ፣ እንበል A0 እንበል።

አሁን ግንኙነቶችን ለማጠናቀቅ በቢጫ እና በቀይ መካከል ያለውን ተቃውሞ ያገናኙ።

ኤልሲዲውን እንዲሁ ይሰኩ (አጠቃላይ 4 ገመዶችን ብቻ ለመጠቀም ከ i2c ግንኙነት ጋር ቀለል ያለ 16x2 ኤል.ዲ.ኤል. ይጠቁማል) እና በገመድ እና ኬብሎች ጨርሰዋል።

አሁን እጅግ በጣም ቀላል የሆነው ንድፍ -

#"OneWire.h" ን ያካትቱ

#«የዳላስ ቴምፕሬቸር. ኤች» # #ONE_WIRE_BUS_1 A0 OneWire የእኛን 1 (ONE_WIRE_BUS_1) ያካተተ; የዳላስ የሙቀት ዳሳሽ 1 (እና የእኛ 1); #"LiquidCrystal_I2C.h" ን ያካትቱ

LiquidCrystal_I2C lcd (0x27, 16, 2); ተንሳፋፊ RawValue = 0;

ባዶነት ማዋቀር () {lcd.init (); lcd.backlight (); ዳሳሽ 1. መነሻ (); ዳሳሽ 1. ቅንብር መፍትሄ (11); } ባዶነት loop () {sensor1.requestTemperatures (); ተንሳፋፊ RawValue = sensor1.getTempCByIndex (0); lcd.setCursor (0, 0); lcd.print ("Sens. 1"); lcd.print (RawValue, 1); }

እርስዎ እንደሚመለከቱት የዳላስ የሙቀት ቤተመፃሕፍት እና የ i2c ግንኙነት ያለው ኤልሲዲ ማያ ገጽ እንጠቀማለን።

በማዋቀሩ ውስጥ ኤልሲዲ እና አነፍናፊ እናደርጋለን እና በሉፕው ውስጥ በቀላሉ የሙቀት መጠኑን እንጠይቃለን እና በኤልቪዲው ላይ ለማሳየት እሴቱን በተለዋዋጭ RawValue ውስጥ እናከማቸዋለን።

የበለጠ ቀላል እንዲሆን ከፈለጉ ፣ ተከታታይ ማሳያውን በሚከተለው ንድፍ ይጠቀሙ

#«Wire.h» # #«OneWire.h» ን # #«DallasTemperature.h» ን ያካትቱ #ONE_WIRE_BUS_1 A0 OneWire ourWire1 (ONE_WIRE_BUS_1); የዳላስ የሙቀት ዳሳሽ 1 (እና የእኛ 1);

ተንሳፋፊ RawValue = 0;

ባዶነት ማዋቀር () {

መዘግየት (1000); Serial.begin (9600); ዳሳሽ 1. መነሻ (); ዳሳሽ 1. ቅንብር መፍትሄ (11);

}

ባዶነት loop () {sensor1.requestTemperatures (); ተንሳፋፊ RawValue = sensor1.getTempCByIndex (0); Serial.print ("Sens. 1"); Serial.println (RawValue, 1); }

አሁን ዳሳሹን ለመለካት በፕሮጀክቱ ዋና ውስጥ ይከተሉኝ።

ደረጃ 2 - የሁለት ነጥብ ልኬት

የሁለት ነጥብ ልኬት
የሁለት ነጥብ ልኬት
የሁለት ነጥብ ልኬት
የሁለት ነጥብ ልኬት
የሁለት ነጥብ ልኬት
የሁለት ነጥብ ልኬት

መጀመሪያ ማወቅ ያለበት ነገር

የሙቀት-አነፍናፊን ለመለካት ፣ ሙቀቱን የሚያውቁበትን አንድ ነገር መለካት አለብዎት። በቤት ውስጥ የሚደረገው ቀላሉ መንገድ የፈላ ውሃ እና የሟሟ በረዶ መታጠቢያ ነው ፣ እንዲሁም “ባለሶስት ነጥብ” መታጠቢያ ተብሎም ይጠራል። በእነዚያ ሁኔታዎች በባህር ጠለል ላይ ውሃ በ 100 ° ሴ እንደሚፈላ እናውቃለን። ትክክለኛውን መለኪያ ለማድረግ ከፍታዎን ማወቅ እና ትክክለኛውን የፈላ የሙቀት መጠን እዚያ ማስላት እንዳለብዎ ያስታውሱ።

እዚህ ሊፈትሹት ይችላሉ!

እውነቱን ለመናገር ከፍታውን ሳይሆን የከባቢ አየር ግፊትን ማረጋገጥ አለብዎት። ግን ያ መንገድ በቂ ነው።

ባለሶስት ነጥብ መታጠቢያ ወይም የበረዶ መታጠቢያ ፣ ውሃ በሦስቱ ግዛቶች ጠንካራ ፣ ፈሳሽ እና ጋዝ ውስጥ የሚገኝበት የሙቀት መጠን ነው ፣ ያ የሙቀት መጠን 0 ፣ 01 ° ሴ ነው። ለማቅለል ፣ 0 ° ሴ እንጠቀማለን።

አነፍናፊው ያነበበውን እሴት እና መሆን ያለበትን እሴት ማወቅ ፣ የ DS18B20 ጥሬ እሴትን ወደ ትክክለኛ ነገር መለወጥ እንችላለን።

ማሳሰቢያ -እርስዎ እንደ ኤተር (35 ° ሴ) ፣ ፔንታኔ (36 ፣ 1 ዲግሪ ሴንቲግሬድ) ፣ አሴቶን (56 ° ሴ) ወይም ኤታኖል (78 ፣ 37 ዲግሪ ሴንቲ ግሬድ) ፣ ነገር ግን እነዚያ የሚፈላ ንጥረ ነገሮች ከፍተኛ ተቀጣጣይ ጋዞችን ያመርታሉ! ስለዚህ አታድርግ!

የፈላ ውሃ:

ድስት ውስጥ ጥቂት ውሃ አፍስሱ እና እስኪፈላ ድረስ ያሞቁ (የጋዝ አረፋዎች እያደጉ እና ውሃው ራሱ እየተንቀጠቀጠ)። ከውሃ በስተቀር ምንም ነገር በማይነካበት ቦታ ዳሳሽዎን ያስገቡ። ጥቂት ደቂቃዎችን ይጠብቁ እና ኤልሲዲውን ወይም ተከታታይ ማሳያውን ያንብቡ።

የሙቀት መጠኑ ቢያንስ ለአንድ ደቂቃ ተመሳሳይ መሆን አለበት። ከሆነ ፣ ያንን እሴት ወደ ታች ይፃፉ። ያ የእርስዎ ነው - የ RawHigh እሴት።

ባለሶስት ነጥብ መታጠቢያ;

አሁን አንድ ትልቅ ብርጭቆ ይውሰዱ (ምንም ትልቅ ነገር ወይም ድስት አያስፈልግዎትም) እና በበረዶ ኪዩቦች ወደ ድንበሩ ይሙሉት። አነስተኛ መጠን ያላቸውን የበረዶ ቅንጣቶችን ለመጠቀም ይሞክሩ። አሁን 80% ብርጭቆውን በቀዝቃዛ ውሃ ይሙሉ። ጠቋሚው ለመውረድ ከሞከረ በበረዶ ይሙሉት።

አሁን ዳሳሽዎን በውሃ/በረዶ ነገር ውስጥ ያስገቡ እና አንድ ተኩል ደቂቃ ይጠብቁ። ቢያንስ ለ 30 ሰከንዶች ያህል ተመሳሳይ ሆኖ መቆየት ያለበትን የሙቀት መጠን ያንብቡ። ከሆነ ፣ የእርስዎ የ RawLow እሴት መሆኑን ይፃፉ።

ደረጃ 3 - ያገኙትን እሴቶች በትክክለኛው መንገድ ይጠቀሙበት

ስለዚህ ፣ አሁን አንዳንድ አስፈላጊ እሴቶችን አግኝተዋል-

  • ራውሃይ
  • ራውሎው
  • ማጣቀሻ ከፍተኛ
  • ማጣቀሻ ዝቅተኛ

የማጣቀሻዎች ዋጋ ለፈላ ውሃ (በ 22m ከፍታዬ) ፣ እና ለማቅለጥ የበረዶ መታጠቢያ 0 ° ሴ በግልጽ 99.9 ° ሴ ነው። አሁን ለእነዚያ እሴቶች ክልሎችን ያስሉ

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

አሁን ትክክለኛውን መለኪያ እንደሚሰጥዎት እርግጠኛ በመሆን በማንኛውም በሌላ ፕሮጀክት ውስጥ ያንን ዳሳሽ ለመጠቀም ዝግጁ ነዎት። እንዴት? በፕሮጀክቱ ውስጥ እዚህ ያገኙትን እሴት በመጠቀም በዚያ ዳሳሽ ይፈጥራሉ።

በወደፊት ፕሮጀክትዎ ውስጥ በዚህ ውስጥ ያነበቧቸውን እሴቶች መጠቀም አለብዎት እና እኔ እዚህ የተጠቀምኩባቸውን ተመሳሳይ ስሞች በመጠቀም እንዲያደርጉት ሀሳብ አቀርባለሁ።

ልክ ከባዶ ማዋቀሪያ () ክፍል በፊት ተለዋዋጮችን ያውጁ -

ተንሳፋፊ RawHigh = 99.6; ተንሳፋፊ RawLow = 0.5; float ReferenceHigh = 99.9; float ReferenceLow = 0; float RawRange = RawHigh - RawLow; float ReferenceRange = ReferenceHigh - ReferenceLow;

ከዚህ በላይ ፣ ዳሳሹን በተጠቀሙ ቁጥር ፣ የተስተካከለውን እሴት ለማስላት የሚከተለውን ቀመር መጠቀም ይችላሉ-

ተንሳፋፊ CorrectedValue = (((RawValue - RawLow) * ReferenceRange) / RawRange) + ReferenceLow;

RawValue በግልጽ የአነፍናፊ ንባብ ነው።

ይሀው ነው!

አሁን የእርስዎን DS18B20 ዳሳሽ ወይም እርስዎ የሚጠቀሙበት ሌላ ዳሳሽ እንዴት ማመጣጠን እንደሚችሉ ያውቃሉ! ይዝናኑ!

የሚመከር: