ዝርዝር ሁኔታ:

MCP9808 ን እና ቅንጣትን ፎቶን በመጠቀም የሙቀት መቆጣጠሪያ - 4 ደረጃዎች
MCP9808 ን እና ቅንጣትን ፎቶን በመጠቀም የሙቀት መቆጣጠሪያ - 4 ደረጃዎች

ቪዲዮ: MCP9808 ን እና ቅንጣትን ፎቶን በመጠቀም የሙቀት መቆጣጠሪያ - 4 ደረጃዎች

ቪዲዮ: MCP9808 ን እና ቅንጣትን ፎቶን በመጠቀም የሙቀት መቆጣጠሪያ - 4 ደረጃዎች
ቪዲዮ: Датчик температуры MCP9808, обзор и сравнение 2024, ህዳር
Anonim
Image
Image

MCP9808 በጣም ትክክለኛ የዲጂታል ሙቀት ዳሳሽ ± 0.5 ° ሴ I2C ሚኒ ሞዱል ነው። እነሱ የሙቀት ዳሳሽ ትግበራዎችን የሚያመቻቹ በተጠቃሚ-በፕሮግራም መመዝገቢያዎች ተካትተዋል። የ MCP9808 ከፍተኛ ትክክለኛ የሙቀት መጠን ዳሳሽ በዲጂታል ፣ በ I2C ቅርጸት የተስተካከለ ፣ መስመራዊ አነፍናፊ ምልክቶችን በማቅረብ ከቅርጽ ሁኔታ እና ከማሰብ አንፃር የኢንዱስትሪ ደረጃ ሆኗል።

በዚህ መማሪያ ውስጥ የ MCP9808 ዳሳሽ ሞዱል ከቅንጣት ፎቶን ጋር መገናኘቱ ታይቷል። የሙቀት እሴቶችን ለማንበብ ፣ ከ I2c አስማሚ ጋር እንጆሪ ፓይ ተጠቅመናል። ይህ I2C አስማሚ ከአነፍናፊ ሞዱል ጋር ግንኙነቱን ቀላል እና የበለጠ አስተማማኝ ያደርገዋል።

ደረጃ 1 ሃርድዌር ያስፈልጋል

ሃርድዌር ያስፈልጋል
ሃርድዌር ያስፈልጋል
ሃርድዌር ያስፈልጋል
ሃርድዌር ያስፈልጋል
ሃርድዌር ያስፈልጋል
ሃርድዌር ያስፈልጋል

ግባችንን ለማሳካት የሚያስፈልጉን ቁሳቁሶች የሚከተሉትን የሃርድዌር ክፍሎች ያካትታሉ።

1. MCP9808

2. ቅንጣት ፎቶን

3. I2C ኬብል

4. I2C ጋሻ ለ ቅንጣት ፎቶን

ደረጃ 2 የሃርድዌር ማያያዣ;

የሃርድዌር ግንኙነት
የሃርድዌር ግንኙነት
የሃርድዌር ግንኙነት
የሃርድዌር ግንኙነት

የሃርድዌር መንጠቆው ክፍል በመሠረቱ በአነፍናፊው እና በንጥል ፎቶን መካከል የሚፈለጉትን የሽቦ ግንኙነቶች ያብራራል። ለተፈለገው ውጤት በማንኛውም ስርዓት ላይ ሲሰሩ ትክክለኛ ግንኙነቶችን ማረጋገጥ መሠረታዊ አስፈላጊነት ነው። ስለዚህ አስፈላጊዎቹ ግንኙነቶች እንደሚከተለው ናቸው

MCP9808 ከ I2C በላይ ይሠራል። እያንዳንዱን የአነፍናፊ በይነገጽ እንዴት ሽቦ ማገናኘት እንደሚቻል የሚያሳይ የምስል ሽቦ ንድፍ ምሳሌ እዚህ አለ።

ከሳጥን ውጭ ፣ ቦርዱ ለ I2C በይነገጽ የተዋቀረ ነው ፣ ስለሆነም እርስዎ ሌላ የማይታወቁ ከሆኑ ይህንን መንጠቆ እንዲጠቀሙ እንመክራለን። የሚያስፈልግዎት አራት ሽቦዎች ብቻ ናቸው!

Vcc ፣ Gnd ፣ SCL እና SDA ፒኖች የሚያስፈልጉት አራት ግንኙነቶች ብቻ ናቸው እና እነዚህ በ I2C ገመድ እገዛ ተገናኝተዋል።

እነዚህ ግንኙነቶች ከላይ ባሉት ሥዕሎች ውስጥ ይታያሉ።

ደረጃ 3 - የሙቀት መጠን መለኪያ ኮድ

የሙቀት መጠን መለኪያ ኮድ
የሙቀት መጠን መለኪያ ኮድ

አሁን በቅንጣት ኮድ እንጀምር።

ከአርዲኖው ጋር የአነፍናፊ ሞጁሉን እየተጠቀምን ሳለ እኛ application.h እና spark_wiring_i2c.h ቤተ -መጽሐፍትን አካተናል። "application.h" እና spark_wiring_i2c.h ቤተ -መጽሐፍት በአነፍናፊው እና በንጥሉ መካከል ያለውን የ i2c ግንኙነት የሚያመቻቹ ተግባሮችን ይ containsል።

ጠቅላላው ቅንጣት ኮድ ለተጠቃሚው ምቾት ከዚህ በታች ተሰጥቷል-

#ያካትቱ

#ያካትቱ

// MCP9808 I2C አድራሻ 0x18 (24) ነው

#መግለፅ Addr 0x18

ተንሳፋፊ cTemp = 0 ፣ fTemp = 0;

ባዶነት ማዋቀር ()

{

// ተለዋዋጭ አዘጋጅ

Particle.variable ("i2cdevice", "MCP9808");

ቅንጣት። ተለዋዋጭ (“cTemp” ፣ cTemp);

// የ I2C ግንኙነትን እንደ ማስተር ማስጀመር

Wire.begin ();

// የመጀመርያ ደረጃ ተከታታይ ግንኙነት ፣ የባውድ መጠን = 9600 ያዘጋጁ

Serial.begin (9600);

// I2C ማስተላለፍን ይጀምሩ

Wire.begin ማስተላለፊያ (Addr);

// የውቅረት ምዝገባን ይምረጡ

Wire.write (0x01);

// የማያቋርጥ የመቀየሪያ ሁኔታ ፣ የኃይል-ነባሪ

Wire.write (0x00);

Wire.write (0x00);

// I2C ማስተላለፍን ያቁሙ

Wire.endTransmission ();

// I2C ማስተላለፍን ይጀምሩ

Wire.begin ማስተላለፊያ (Addr);

// የመፍትሄ ሪጅስተርን ይምረጡ

Wire.write (0x08);

// ጥራት = +0.0625 / ሲ

Wire.write (0x03);

// I2C ማስተላለፍን ያቁሙ

Wire.endTransmission ();

መዘግየት (300);

}

ባዶነት loop ()

{

ያልተፈረመ int ውሂብ [2];

// I2C ግንኙነትን ይጀምራል

Wire.begin ማስተላለፊያ (Addr);

// የውሂብ መመዝገቢያ ይምረጡ

Wire.write (0x05);

// I2C ስርጭትን ያቁሙ

Wire.endTransmission ();

// 2 ባይት ውሂብን ይጠይቁ

Wire.requestFrom (Addr, 2);

// 2 ባይት ውሂብ ያንብቡ

// temp msb ፣ temp lsb

ከሆነ (Wire.available () == 2)

{

ውሂብ [0] = Wire.read ();

ውሂብ [1] = Wire.read ();

}

መዘግየት (300);

// ውሂቡን ወደ 13-ቢት ይለውጡ

int temp = ((ውሂብ [0] & 0x1F) * 256 + ውሂብ [1]);

ከሆነ (ሙቀት> 4095)

{

ሙቀት -= 8192;

}

cTemp = temp * 0.0625;

fTemp = cTemp * 1.8 + 32;

// የውሂብ ውፅዓት ወደ ዳሽቦርድ

Particle.publish (“የሙቀት መጠን በሴልሲየስ ውስጥ” ፣ ሕብረቁምፊ (cTemp));

Particle.publish ("በፋራናይት ሙቀት:", ሕብረቁምፊ (fTemp));

መዘግየት (500);

}

የ Particle.variable () ተግባር የአነፍናፊውን ውጤት ለማከማቸት ተለዋዋጮችን ይፈጥራል እና የ Particle.publish () ተግባር ውጤቱን በጣቢያው ዳሽቦርድ ላይ ያሳያል።

ለማጣቀሻዎ አነፍናፊ ውፅዓት ከላይ ባለው ስዕል ላይ ይታያል።

ደረጃ 4: ማመልከቻዎች

ማመልከቻዎች
ማመልከቻዎች

MCP9808 ዲጂታል የሙቀት ዳሳሽ ከተለያዩ የኢንዱስትሪ ማቀነባበሪያዎች ጋር የኢንዱስትሪ ማቀዝቀዣዎችን እና ማቀዝቀዣዎችን የሚያካትቱ በርካታ የኢንዱስትሪ ደረጃ መተግበሪያዎች አሉት። ይህ አነፍናፊ ለተለያዩ የግል ኮምፒዩተሮች ፣ አገልጋዮች እንዲሁም ለሌሎች ፒሲ መለዋወጫዎች ተቀጣሪ ሊሆን ይችላል።

የሚመከር: