ዝርዝር ሁኔታ:
![HTS221 እና Particle Photon: 4 ደረጃዎች በመጠቀም የእርጥበት እና የሙቀት መጠን መለካት HTS221 እና Particle Photon: 4 ደረጃዎች በመጠቀም የእርጥበት እና የሙቀት መጠን መለካት](https://i.howwhatproduce.com/images/002/image-3265-45-j.webp)
ቪዲዮ: HTS221 እና Particle Photon: 4 ደረጃዎች በመጠቀም የእርጥበት እና የሙቀት መጠን መለካት
![ቪዲዮ: HTS221 እና Particle Photon: 4 ደረጃዎች በመጠቀም የእርጥበት እና የሙቀት መጠን መለካት ቪዲዮ: HTS221 እና Particle Photon: 4 ደረጃዎች በመጠቀም የእርጥበት እና የሙቀት መጠን መለካት](https://i.ytimg.com/vi/e4b9GCOfO2o/hqdefault.jpg)
2024 ደራሲ ደራሲ: John Day | [email protected]. ለመጨረሻ ጊዜ የተሻሻለው: 2024-01-30 07:31
![Image Image](https://i.howwhatproduce.com/images/002/image-3265-47-j.webp)
![](https://i.ytimg.com/vi/blz0If1oP2Q/hqdefault.jpg)
HTS221 አንፃራዊ እርጥበት እና የሙቀት መጠን እጅግ በጣም የታመቀ አቅም ያለው ዲጂታል ዳሳሽ ነው። የመለኪያ መረጃን በዲጂታል ተከታታይ በይነገጾች በኩል ለማቅረብ የስሜት ሕዋስ እና የተቀላቀለ የምልክት ትግበራ የተወሰነ የተቀናጀ ወረዳ (ASIC) ያካትታል። ከብዙ ባህሪዎች ጋር የተዋሃደ ይህ ለአስፈላጊ እርጥበት እና የሙቀት መለኪያዎች በጣም ተገቢ ከሆኑ ዳሳሾች አንዱ ነው።
በዚህ ማጠናከሪያ ትምህርት ውስጥ የ HTS221 ዳሳሽ ሞዱል ከቅንጣት ፎቶን ጋር መገናኘቱ ተገል beenል። የእርጥበት እና የሙቀት እሴቶችን ለማንበብ ከ I2c አስማሚ ጋር ቅንጣትን ተጠቀምን። ይህ I2C አስማሚ ከአነፍናፊ ሞዱል ጋር ግንኙነቱን ቀላል እና የበለጠ አስተማማኝ ያደርገዋል።
ደረጃ 1 ሃርድዌር ያስፈልጋል
![ሃርድዌር ያስፈልጋል ሃርድዌር ያስፈልጋል](https://i.howwhatproduce.com/images/002/image-3265-48-j.webp)
![ሃርድዌር ያስፈልጋል ሃርድዌር ያስፈልጋል](https://i.howwhatproduce.com/images/002/image-3265-49-j.webp)
![ሃርድዌር ያስፈልጋል ሃርድዌር ያስፈልጋል](https://i.howwhatproduce.com/images/002/image-3265-50-j.webp)
ግባችንን ለማሳካት የሚያስፈልጉን ቁሳቁሶች የሚከተሉትን የሃርድዌር ክፍሎች ያካትታሉ።
1. HTS221
2. ቅንጣት ፎቶን
3. I2C ኬብል
4. I2C ጋሻ ለ ቅንጣት ፎቶን
ደረጃ 2 የሃርድዌር ማያያዣ;
![የሃርድዌር ግንኙነት የሃርድዌር ግንኙነት](https://i.howwhatproduce.com/images/002/image-3265-51-j.webp)
![የሃርድዌር ግንኙነት የሃርድዌር ግንኙነት](https://i.howwhatproduce.com/images/002/image-3265-52-j.webp)
የሃርድዌር መንጠቆው ክፍል በመሠረቱ በአነፍናፊው እና በንጥል ፎቶን መካከል የሚፈለጉትን የሽቦ ግንኙነቶች ያብራራል። ለተፈለገው ውጤት በማንኛውም ስርዓት ላይ ሲሰሩ ትክክለኛ ግንኙነቶችን ማረጋገጥ መሠረታዊ አስፈላጊነት ነው። ስለዚህ አስፈላጊዎቹ ግንኙነቶች እንደሚከተለው ናቸው
HTS221 ከ I2C በላይ ይሠራል። እያንዳንዱን የአነፍናፊ በይነገጽ እንዴት ሽቦ ማገናኘት እንደሚቻል የሚያሳይ የምስል ሽቦ ንድፍ ምሳሌ እዚህ አለ።
ከሳጥን ውጭ ፣ ቦርዱ ለ I2C በይነገጽ የተዋቀረ ነው ፣ ስለሆነም እርስዎ ሌላ የማይታወቁ ከሆኑ ይህንን መንጠቆ እንዲጠቀሙ እንመክራለን።
የሚያስፈልግዎት አራት ሽቦዎች ብቻ ናቸው! Vcc ፣ Gnd ፣ SCL እና SDA ፒኖች የሚያስፈልጉት አራት ግንኙነቶች ብቻ ናቸው እና እነዚህ በ I2C ገመድ እገዛ ተገናኝተዋል።
እነዚህ ግንኙነቶች ከላይ ባሉት ሥዕሎች ውስጥ ይታያሉ።
ደረጃ 3 የእርጥበት እና የሙቀት መጠን መለኪያ ኮድ
![የእርጥበት እና የሙቀት መጠን መለኪያ ኮድ የእርጥበት እና የሙቀት መጠን መለኪያ ኮድ](https://i.howwhatproduce.com/images/002/image-3265-53-j.webp)
አሁን በንጥል ኮድ እንጀምር።
የአነፍናፊ ሞጁሉን ከዝርፊያው ጋር ስንጠቀም ፣ application.h እና spark_wiring_i2c.h ቤተ -መጽሐፍትን አካተናል። "application.h" እና spark_wiring_i2c.h ቤተ -መጽሐፍት በአነፍናፊው እና በንጥሉ መካከል ያለውን የ i2c ግንኙነት የሚያመቻቹ ተግባሮችን ይ containsል።
ጠቅላላው ቅንጣት ኮድ ለተጠቃሚው ምቾት ከዚህ በታች ተሰጥቷል-
#ያካትቱ
#ያካትቱ
// HTS221 I2C አድራሻ 0x5F ነው
#መግለፅ Addr 0x5F
ድርብ እርጥበት = 0.0;
ድርብ cTemp = 0.0;
ድርብ fTemp = 0.0;
int temp = 0;
ባዶነት ማዋቀር ()
{
// ተለዋዋጭ አዘጋጅ
Particle.variable ("i2cdevice", "HTS221");
ቅንጣት። ተለዋዋጭ (“እርጥበት” ፣ እርጥበት);
ቅንጣት። ተለዋዋጭ (“cTemp” ፣ cTemp);
// የ I2C ግንኙነትን እንደ ማስተር ማስጀመር
Wire.begin ();
// ተከታታይ ግንኙነቶችን ያስጀምሩ ፣ የባውድ መጠን = 9600 ያዘጋጁ
Serial.begin (9600);
// I2C ማስተላለፍን ይጀምሩ
Wire.begin ማስተላለፊያ (Addr);
// አማካይ የውቅረት መመዝገቢያ ይምረጡ
Wire.write (0x10);
// የሙቀት አማካይ ናሙናዎች = 256 ፣ የእርጥበት አማካይ ናሙናዎች = 512
Wire.write (0x1B);
// I2C ማስተላለፍን ያቁሙ
Wire.endTransmission ();
// I2C ማስተላለፍን ይጀምሩ
Wire.begin ማስተላለፊያ (Addr);
// የቁጥጥር መመዝገቢያ ይምረጡ 1
Wire.write (0x20);
// ኃይል በርቷል ፣ ቀጣይነት ያለው ዝመና ፣ የውሂብ ውፅዓት መጠን = 1 Hz
Wire.write (0x85);
// I2C ማስተላለፍን ያቁሙ
Wire.endTransmission ();
መዘግየት (300);
}
ባዶነት loop ()
{
ያልተፈረመ int ውሂብ [2];
ያልተፈረመ int val [4];
ያልተፈረመ int H0 ፣ H1 ፣ H2 ፣ H3 ፣ T0 ፣ T1 ፣ T2 ፣ T3 ፣ ጥሬ;
// የእርጥበት መለወጫ እሴቶች
ለ (int i = 0; i <2; i ++)
{
// I2C ማስተላለፍን ይጀምሩ
Wire.begin ማስተላለፊያ (Addr);
// የውሂብ መመዝገቢያ ይላኩ
Wire.write ((48 + i));
// I2C ማስተላለፍን ያቁሙ
Wire.endTransmission ();
// የውሂብ 1 ባይት ይጠይቁ
Wire.requestFrom (Addr, 1);
// 1 ባይት ውሂብ ያንብቡ
ከሆነ (Wire.available () == 1)
{
ውሂብ = Wire.read ();
}
}
// የእርጥበት መረጃን ይለውጡ
H0 = ውሂብ [0] / 2;
H1 = ውሂብ [1] / 2;
ለ (int i = 0; i <2; i ++)
{
// I2C ማስተላለፍን ይጀምሩ
Wire.begin ማስተላለፊያ (Addr);
// የውሂብ መመዝገቢያ ይላኩ
Wire.write ((54 + i));
// I2C ማስተላለፍን ያቁሙ
Wire.endTransmission ();
// የውሂብ 1 ባይት ይጠይቁ
Wire.requestFrom (Addr, 1);
// 1 ባይት ውሂብ ያንብቡ
ከሆነ (Wire.available () == 1)
{
ውሂብ = Wire.read ();
}
}
// የእርጥበት መረጃን ይለውጡ
H2 = (ውሂብ [1] * 256.0) + ውሂብ [0];
ለ (int i = 0; i <2; i ++)
{
// I2C ማስተላለፍን ይጀምሩ
Wire.begin ማስተላለፊያ (Addr);
// የውሂብ መመዝገቢያ ይላኩ
Wire.write ((58 + i));
// I2C ማስተላለፍን ያቁሙ
Wire.endTransmission ();
// የውሂብ 1 ባይት ይጠይቁ
Wire.requestFrom (Addr, 1);
// 1 ባይት ውሂብ ያንብቡ
ከሆነ (Wire.available () == 1)
{
ውሂብ = Wire.read ();
}
}
// የእርጥበት መረጃን ይለውጡ
H3 = (ውሂብ [1] * 256.0) + ውሂብ [0];
// የሙቀት መጠቆሚያ እሴቶች
// I2C ማስተላለፍን ይጀምሩ
Wire.begin ማስተላለፊያ (Addr);
// የውሂብ መመዝገቢያ ይላኩ
Wire.write (0x32);
// I2C ማስተላለፍን ያቁሙ
Wire.endTransmission ();
// የውሂብ 1 ባይት ይጠይቁ
Wire.requestFrom (Addr, 1);
// 1 ባይት ውሂብ ያንብቡ
ከሆነ (Wire.available () == 1)
{
T0 = Wire.read ();
}
// I2C ማስተላለፍን ይጀምሩ
Wire.begin ማስተላለፊያ (Addr);
// የውሂብ መመዝገቢያ ይላኩ
Wire.write (0x33);
// I2C ማስተላለፍን ያቁሙ
Wire.endTransmission ();
// የውሂብ 1 ባይት ይጠይቁ
Wire.requestFrom (Addr, 1);
// 1 ባይት ውሂብ ያንብቡ
ከሆነ (Wire.available () == 1)
{
T1 = Wire.read ();
}
// I2C ማስተላለፍን ይጀምሩ
Wire.begin ማስተላለፊያ (Addr);
// የውሂብ መመዝገቢያ ይላኩ
Wire.write (0x35);
// I2C ማስተላለፍን ያቁሙ
Wire.endTransmission ();
// የውሂብ 1 ባይት ይጠይቁ
Wire.requestFrom (Addr, 1);
// 1 ባይት ውሂብ ያንብቡ
ከሆነ (Wire.available () == 1)
{
ጥሬ = Wire.read ();
}
ጥሬ = ጥሬ & 0x0F;
// የሙቀት መጠኑን እሴቶችን ወደ 10-ቢት ይለውጡ
T0 = ((ጥሬ & 0x03) * 256) + T0;
T1 = ((ጥሬ & 0x0C) * 64) + T1;
ለ (int i = 0; i <2; i ++)
{
// I2C ማስተላለፍን ይጀምሩ
Wire.begin ማስተላለፊያ (Addr);
// የውሂብ መመዝገቢያ ይላኩ
Wire.write ((60 + i));
// I2C ማስተላለፍን ያቁሙ
Wire.endTransmission ();
// የውሂብ 1 ባይት ይጠይቁ
Wire.requestFrom (Addr, 1);
// 1 ባይት ውሂብ ያንብቡ
ከሆነ (Wire.available () == 1)
{
ውሂብ = Wire.read ();
}
}
// ውሂቡን ይለውጡ
T2 = (ውሂብ [1] * 256.0) + ውሂብ [0];
ለ (int i = 0; i <2; i ++)
{
// I2C ማስተላለፍን ይጀምሩ
Wire.begin ማስተላለፊያ (Addr);
// የውሂብ መመዝገቢያ ይላኩ
Wire.write ((62 + i));
// I2C ማስተላለፍን ያቁሙ
Wire.endTransmission ();
// የውሂብ 1 ባይት ይጠይቁ
Wire.requestFrom (Addr, 1);
// 1 ባይት ውሂብ ያንብቡ
ከሆነ (Wire.available () == 1)
{
ውሂብ = Wire.read ();
}
}
// ውሂቡን ይለውጡ
T3 = (ውሂብ [1] * 256.0) + ውሂብ [0];
// I2C ማስተላለፍን ይጀምሩ
Wire.begin ማስተላለፊያ (Addr);
// የውሂብ መመዝገቢያ ይላኩ
Wire.write (0x28 | 0x80);
// I2C ማስተላለፍን ያቁሙ
Wire.endTransmission ();
// 4 ባይት ውሂብን ይጠይቁ
Wire.requestFrom (Addr, 4);
// 4 ባይት መረጃዎችን ያንብቡ
// እርጥበት msb ፣ እርጥበት lsb ፣ temp msb ፣ temp lsb
ከሆነ (Wire.available () == 4)
{
val [0] = Wire.read ();
val [1] = Wire.read ();
val [2] = Wire.read ();
val [3] = Wire.read ();
}
// ውሂቡን ይለውጡ
እርጥበት = (ቫል [1] * 256.0) + ቫል [0];
እርጥበት = ((1.0 * H1) - (1.0 * H0)) * (1.0 * እርጥበት - 1.0 * H2) / (1.0 * H3 - 1.0 * H2) + (1.0 * H0);
ቴምፕ = (ቫል [3] * 256) + ቫል [2]; cTemp = (((T1 - T0) / 8.0) * (temp - T2)) / (T3 - T2) + (T0 / 8.0);
fTemp = (cTemp * 1.8) + 32;
// የውሂብ ውፅዓት ወደ ዳሽቦርድ
Particle.publish ("አንጻራዊ እርጥበት:", ሕብረቁምፊ (እርጥበት));
መዘግየት (1000);
Particle.publish (“የሙቀት መጠን በሴልሲየስ ውስጥ” ፣ ሕብረቁምፊ (cTemp));
መዘግየት (1000);
Particle.publish ("በፋራናይት ሙቀት:", ሕብረቁምፊ (fTemp));
መዘግየት (1000);
}
የ Particle.variable () ተግባር የአነፍናፊውን ውጤት ለማከማቸት ተለዋዋጮችን ይፈጥራል እና የ Particle.publish () ተግባር ውጤቱን በጣቢያው ዳሽቦርድ ላይ ያሳያል።
ለማጣቀሻዎ አነፍናፊ ውፅዓት ከላይ ባለው ስዕል ላይ ይታያል።
ደረጃ 4: ማመልከቻዎች
![ማመልከቻዎች ማመልከቻዎች](https://i.howwhatproduce.com/images/002/image-3265-54-j.webp)
HTS221 እንደ አየር እርጥበት እና ማቀዝቀዣዎች ባሉ የተለያዩ የሸማቾች ምርቶች ውስጥ ሊሠራ ይችላል። ይህ አነፍናፊ ስማርት የቤት አውቶማቲክን ፣ የኢንዱስትሪ አውቶማቲክን ፣ የመተንፈሻ መሣሪያዎችን ፣ የንብረት እና የእቃዎችን መከታተያ ጨምሮ በሰፊው ሜዳ ውስጥ መተግበሪያውን ያገኛል።
የሚመከር:
HTS221 ን እና አርዱዲኖ ናኖን በመጠቀም የእርጥበት እና የሙቀት መጠን መለካት - 4 ደረጃዎች
![HTS221 ን እና አርዱዲኖ ናኖን በመጠቀም የእርጥበት እና የሙቀት መጠን መለካት - 4 ደረጃዎች HTS221 ን እና አርዱዲኖ ናኖን በመጠቀም የእርጥበት እና የሙቀት መጠን መለካት - 4 ደረጃዎች](https://i.howwhatproduce.com/images/010/image-27336-j.webp)
HTS221 ን እና አርዱዲኖ ናኖን በመጠቀም የእርጥበት እና የሙቀት መጠን መለካት - HTS221 አንፃራዊ እርጥበት እና የሙቀት መጠን እጅግ በጣም የታመቀ አቅም ያለው ዲጂታል ዳሳሽ ነው። የመለኪያ መረጃውን በዲጂታል ተከታታይ በኩል ለማቅረብ የስሜት ሕዋስ እና የተደባለቀ የምልክት ትግበራ የተወሰነ የተቀናጀ ወረዳ (ASIC) ያካትታል።
HTS221 ን እና Raspberry Pi ን በመጠቀም የእርጥበት እና የሙቀት መጠን መለካት 4 ደረጃዎች
![HTS221 ን እና Raspberry Pi ን በመጠቀም የእርጥበት እና የሙቀት መጠን መለካት 4 ደረጃዎች HTS221 ን እና Raspberry Pi ን በመጠቀም የእርጥበት እና የሙቀት መጠን መለካት 4 ደረጃዎች](https://i.howwhatproduce.com/images/002/image-3228-22-j.webp)
HTS221 እና Raspberry Pi ን በመጠቀም የእርጥበት እና የሙቀት መጠን መለካት - HTS221 አንጻራዊ እርጥበት እና የሙቀት መጠን እጅግ በጣም የታመቀ አቅም ያለው ዲጂታል ዳሳሽ ነው። የመለኪያ መረጃውን በዲጂታል ተከታታይ በኩል ለማቅረብ የስሜት ሕዋስ እና የተደባለቀ የምልክት ትግበራ የተወሰነ የተቀናጀ ወረዳ (ASIC) ያካትታል።
ADT75 እና Particle Photon ን በመጠቀም የሙቀት መጠን መለካት - 4 ደረጃዎች
![ADT75 እና Particle Photon ን በመጠቀም የሙቀት መጠን መለካት - 4 ደረጃዎች ADT75 እና Particle Photon ን በመጠቀም የሙቀት መጠን መለካት - 4 ደረጃዎች](https://i.howwhatproduce.com/images/002/image-3255-19-j.webp)
ADT75 እና Particle Photon ን በመጠቀም የሙቀት መጠን መለካት - ADT75 በጣም ትክክለኛ ፣ ዲጂታል የሙቀት ዳሳሽ ነው። የሙቀት መጠኑን ለመቆጣጠር እና ዲጂታል ለማድረግ የባንድ ክፍተት የሙቀት ዳሳሽ እና 12-ቢት አናሎግ ወደ ዲጂታል መለወጫ ያካትታል። የእሱ በጣም ስሜታዊ ዳሳሽ ለእኔ በቂ ብቃት ያደርግልኛል
AD7416ARZ እና Particle Photon ን በመጠቀም የሙቀት መጠን መለካት - 4 ደረጃዎች
![AD7416ARZ እና Particle Photon ን በመጠቀም የሙቀት መጠን መለካት - 4 ደረጃዎች AD7416ARZ እና Particle Photon ን በመጠቀም የሙቀት መጠን መለካት - 4 ደረጃዎች](https://i.howwhatproduce.com/images/002/image-3259-29-j.webp)
AD7416ARZ ን እና ቅንጣት ፎቶን በመጠቀም የሙቀት መጠን መለካት-AD7416ARZ ባለ 10-ቢት የሙቀት ዳሳሽ ከአራት ነጠላ ሰርጥ አናሎግ ጋር ወደ ዲጂታል መቀየሪያዎች እና በውስጡ የተካተተ የቦርድ ሙቀት ዳሳሽ ነው። በክፍሎቹ ላይ ያለው የሙቀት ዳሳሽ በብዙ ባለብዙ ሰርጦች በኩል ሊደረስበት ይችላል። ይህ ከፍተኛ ትክክለኛ የሙቀት መጠን
LM75BIMM እና Particle Photon ን በመጠቀም የሙቀት መጠን መለካት - 4 ደረጃዎች
![LM75BIMM እና Particle Photon ን በመጠቀም የሙቀት መጠን መለካት - 4 ደረጃዎች LM75BIMM እና Particle Photon ን በመጠቀም የሙቀት መጠን መለካት - 4 ደረጃዎች](https://i.howwhatproduce.com/images/002/image-3272-34-j.webp)
LM75BIMM እና Particle Photon ን በመጠቀም የሙቀት መጠን መለካት - LM75BIMM ከሙቀት ጠባቂ ጋር የተካተተ ዲጂታል የሙቀት ዳሳሽ ሲሆን እስከ 400 kHz ድረስ የሚደግፍ ሁለት የሽቦ በይነገጽ አለው። በፕሮግራም ሊሠራ በሚችል ወሰን እና በሂስተርስሲስ ከመጠን በላይ የሙቀት መጠን አለው። በዚህ መማሪያ ውስጥ ኢንተርፋሲን