ዝርዝር ሁኔታ:

አርዱዲኖ የተጎላበተው የአቧራ ቅንጣቶች መቆጣጠሪያ ጣቢያ 4 ደረጃዎች (ከስዕሎች ጋር)
አርዱዲኖ የተጎላበተው የአቧራ ቅንጣቶች መቆጣጠሪያ ጣቢያ 4 ደረጃዎች (ከስዕሎች ጋር)

ቪዲዮ: አርዱዲኖ የተጎላበተው የአቧራ ቅንጣቶች መቆጣጠሪያ ጣቢያ 4 ደረጃዎች (ከስዕሎች ጋር)

ቪዲዮ: አርዱዲኖ የተጎላበተው የአቧራ ቅንጣቶች መቆጣጠሪያ ጣቢያ 4 ደረጃዎች (ከስዕሎች ጋር)
ቪዲዮ: የአርዱብሎክ መተግበሪያን በመጫን ላይ 2024, ሀምሌ
Anonim
አርዱዲኖ የተጎላበተው የአቧራ ቅንጣቶች መቆጣጠሪያ ጣቢያ
አርዱዲኖ የተጎላበተው የአቧራ ቅንጣቶች መቆጣጠሪያ ጣቢያ

ከ 50 ዶላር ባነሰ የቤትዎ ውስጥ የአቧራ ብክለትን የሚከታተል እና በቀላሉ የአቧራ ደረጃው ከፍ ባለበት ጊዜ ክፍሉን አየር ማስነሳት እንዲችሉ ወይም እራስዎ ውጭ ማቀናበር እና ማሳወቂያ ማግኘት ይችላሉ በጣም በተበከለ አካባቢ የሚኖሩ ከሆነ ወደ ውጭ መውጣት ደህና ነው።

ይህንን እንደ ትምህርት ቤት ፕሮጀክት አድርጌያለሁ ፣ ስለሆነም የ MQTT መልዕክቶችን የሚወስድ እና እንደ ማሳወቂያዎች ወይም ኢሜይሎች የሚልክልዎትን አገልግሎት ለማግኘት በቂ ጊዜ አልነበረኝም።

እንዲሁም ዳሳሹን ሁል ጊዜ ኃይል እንዲይዝ ማድረጉ የአድናቂውን ዕድሜ እንደሚቀንስ ልብ ይበሉ።

ደረጃ 1: ክፍሎች ያስፈልጋሉ

ክፍሎች ያስፈልጋሉ
ክፍሎች ያስፈልጋሉ

የሚያስፈልግዎት

  • አርዱዲኖ ኡኖ
  • አርዱዲኖ ኤተርኔት ጋሻ
  • የልዩ ጉዳይ ሌዘር ዳሳሽ (ብዙውን ጊዜ በ eBay/aliexpress ላይ ከ 10-30 ዶላር ይሂዱ)
  • DHT11 የሙቀት እና እርጥበት ዳሳሽ (አማራጭ)
  • የዳቦ ሰሌዳ
  • ዝላይ ገመዶች

ደረጃ 2: ክፍሎችን ይሰብስቡ

ክፍሎችን ይሰብስቡ
ክፍሎችን ይሰብስቡ

በመጀመሪያ ፣ የኤርኔት ጋሻውን በአርዱዲኖ ላይ መሰካት ያስፈልግዎታል

የፒኤምኤስ ዳሳሽ ብዙ ሽቦዎች አሉት ፣ ግን እኛ የምንፈልገው ቪሲሲ ፣ ጂኤንዲ ፣ ቲክስ ፣ አርኤክስ ናቸው።

VCC ን እና GND ን ከ + እና - ከቂጣው ሰሌዳ ላይ በቅደም ተከተል ያገናኙ።

አርዱዲኖ ሃርድዌር RX እና TX ፒኖች አሉት ፣ ግን በቅደም ተከተል በ 2 እና 3 ላይ የ RX እና TX ፒኖችን የሶፍትዌር ማስመሰል እንጠቀማለን። የአነፍናፊውን RX ወደ አርዱዲኖ TX እና የአነፍናፊውን TX ወደ አርዱዲኖ RX ይሰኩት።

እርስዎ የሙቀት ዳሳሹን የሚጠቀሙ ከሆነ ፣ የ VCC እና GND መስመሮችን ወደ + እና - በመጋገሪያ ሰሌዳ ላይ እና በመረጃ መስመሩ ላይ 7 ላይ ይሰኩ።

ደረጃ 3 - ኮዱ

ወይ በ MQTT ደላላ በ Rasberryberry pi ወይም ሁል ጊዜ በቤትዎ በሚኖሩበት ኮምፒተር ላይ መጫን ወይም እንደ ደመና MQTT ያለ የደመና MQTT አገልግሎትን መጠቀም ይችላሉ። MQTT ድር መንጠቆዎችን ገና ስለማይደግፉ እና በቤትዎ ውስጥ የአቧራ ደረጃዎች በጣም ከፍ ሲያደርጉ ማሳወቂያዎችን በማቀናበር ከዚያ እንደ ኤችቲቲፒ ወደ IFTT ድር መንጠቆ የሚልክ ስክሪፕት መጻፍ ይችላሉ።

የአርዱዲኖ አየር ጣቢያ

#ያካትቱ

#ያካትቱ
#ያካትቱ
#ያካትቱ
#ያካትቱ
#ያካትቱ

#ያካትቱ

#ያካትቱ
#DHT11_PIN7 ን ይግለጹ
#RX_PIN2 ን ይግለጹ
#TX_PIN3 ን ይግለጹ
IPAddress ip (169, 169, 100, 98);
ባይት mac = {
0x00 ፣ 0xAA ፣ 0xBB ፣ 0xCC ፣ 0xDE ፣ 0x02
};
constchar *mqtt_server = "m23.cloudmqtt.com";
constint mqtt_port = 11895;
constchar *mqtt_user = "jhetjewk";
constchar *mqtt_pass = "QB2p9PiMV6pn";
constchar *mqtt_client_name = "arduinoClient1"; // የደንበኛ ግንኙነቶች ተመሳሳይ የግንኙነት ስም ሊኖራቸው አይችልም
የኢተርኔት ደንበኛ ethClient;
የ PubSubClient ደንበኛ (ethClient);
SoftwareSerial pmSerial (RX_PIN ፣ TX_PIN) ፤
DHT DHT;
int pm1;
int pm2_5;
int pm10;
ያልተፈረመ መታወቂያ;
// ፋይል ፋይል ያስገቡ;
ሕብረቁምፊ s;
StaticJsonBuffer <200> jsonBuffer;
JsonObject & root = jsonBuffer.createObject ();
voidsetup () {
Serial.begin (57600);
pmSerial.begin (9600);
መታወቂያ = 0;
pm1 = 0;
pm2_5 = 0;
pm10 = 0;
ከሆነ (Ethernet.begin (mac) == 0)
{
Serial.println ("DHCP ን በመጠቀም ኤተርኔት ማዋቀር አልተሳካም");
// በቋሚ የአይፒ አድራሻ ሙከራ
Ethernet.begin (mac ፣ ip);
}
client.setServer (mqtt_server, mqtt_port);
client.setCallback (መልሶ መደወያ);
መዘግየት (2000);
Serial.println (Ethernet.localIP ());
client.connect ("arduinoClient" ፣ mqtt_user ፣ mqtt_pass) ፤
Serial.print ("rc =");
Serial.print (client.state ());
Serial.print ("\ n");
}
voidloop () {
ኢንቲንዴክስ = 0;
የቻር ዋጋ;
char previousValue;
ከሆነ (! ደንበኛ። የተገናኘ ())
{
ከሆነ (client.connect (“arduinoClient” ፣ mqtt_user ፣ mqtt_pass)) {
Serial.println ("ተገናኝቷል");
}
}
ሳለ (pmSerial.available ()) {
እሴት = pmSerial.read ();
ከሆነ ((መረጃ ጠቋሚ == 0 && እሴት! = 0x42) || (መረጃ ጠቋሚ == 1 && እሴት! = 0x4d)) {
Serial.println ("የውሂብ ራስጌውን ማግኘት አልተቻለም");
መመለስ;
}
ከሆነ (መረጃ ጠቋሚ == 4 || መረጃ ጠቋሚ == 6 || መረጃ ጠቋሚ == 8 || መረጃ ጠቋሚ == 10 || መረጃ ጠቋሚ == 12 || መረጃ ጠቋሚ == 14) {
ቀዳሚ እሴት = እሴት;
}
ሌላ (መረጃ ጠቋሚ == 5) {
pm1 = 256 * previousValue + እሴት;
ሥር ["pm1"] = abs (pm1);
}
ሌላ (መረጃ ጠቋሚ == 7) {
pm2_5 = 256 * ቀዳሚ እሴት + እሴት;
ሥር ["pm2_5"] = abs (pm2_5);
}
ሌላ (መረጃ ጠቋሚ == 9) {
pm10 = 256 * previousValue + እሴት;
ሥር ["pm10"] = abs (pm10);
}
ሌላ (መረጃ ጠቋሚ> 15) {
ሰበር;
}
ኢንዴክስ ++;
}
ሳለ (pmSerial.available ()) pmSerial.read ();
int chk = DHT.read11 (DHT11_PIN);
ከሆነ (DHT.temperature == -999 || DHT.humidity == -999) {
ሥር ["ሙቀት"] = "N/A";
ሥር ["እርጥበት"] = "N/A";
} ሌላ {
ሥር ["ሙቀት"] = DHT.temperature;
ሥር ["እርጥበት"] = DHT. እርጥበት;
}
sendResults ();
መታወቂያ ++;
መዘግየት (5000);
}
voidsendResults () {
// ወደ MQTT ያትሙ
char jsonChar [100];
root.printTo (jsonChar);
Serial.println (client.publish ("arduino", jsonChar));
// ወደ ተከታታይ ማረም
root.printTo (ተከታታይ);
Serial.print ('\ n');
}
// በተመዝጋቢ ርዕስ (ቶች) ላይ መልዕክቶችን ያስተናግዳል
voidcallback (ቻር* ርዕስ ፣ ባይት* የክፍያ ጭነት ፣ ያልተፈረመበት ርዝመት) {
}

በ rawait_ub የተስተናገደ rawair_quality.ino ን ይመልከቱ

ደረጃ 4 ሳጥኑን ይሰብስቡ

ሳጥኑን ሰብስብ
ሳጥኑን ሰብስብ
ሳጥኑን ሰብስብ
ሳጥኑን ሰብስብ
ሳጥኑን ሰብስብ
ሳጥኑን ሰብስብ

እኔ በዙሪያዬ የተኛሁበትን ሳጥን ብቻ ተጠቅሜ አነፍናፊው አየር እንዲያገኝ ቀዳዳ ቆፍሮ ኬብሎች እንዲወጡ ቀዳዳ ቆርጦ (ምንም እንኳን በጣም ትንሽ ቢሆንም)።

የመዳሰሻውን የመግቢያ ቀዳዳ በሳጥኑ ላይ ከተቆፈረው ቀዳዳ ጋር በማስተካከል ሙጫ ንጣፎችን ወደ ሳጥኑ ለማያያዝ ተጠቀምኩ።

በመጨረሻም ኤተርኔት እና የኃይል ገመዶችን ሰካሁ።

የሚመከር: