¾Æ³¯·Î±× TDS ¼¾¼ ¼öÁú ¸ð´ÏÅ͸µ, ¼öÀü Àüµµµµ ¼¾¼ Arduino ȣȯ ¾×ü °¨Áö
¼³¸í:
-Á¦Ç° ¼Ò°³, ¹è¼±µµ, ¼Ò½º Äڵ带 È®ÀÎÇϼ¼¿ä.
Á¦Ç° ¼Ò°³
ÀÌ Àåºñ´Â ÀÏ¹Ý °¡Á¤¿ë ¼öÁú ÃøÁ¤¿¡ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
ÀϹÝÀûÀ¸·Î ¼öµ¾¹° tds´Â 100 (½ÉõÀÇ ¾à 90) ¹Ì¸¸ÀÌ¸ç ¼ø¼öÇÑ ¹°Àº 10 º¸´Ù ÀÛ½À´Ï´Ù.
-Arduino ȣȯ TDS ¼¾¼´Â ¹°ÀÇ TDS °ªÀ» ÃøÁ¤ÇÏ´Â µ¥ »ç¿ëµË´Ï´Ù. TDS °ªÀº ¹°ÀÇ Ã»°áÀ» ¹Ý¿µ ÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×°ÍÀº °¡Á¤¿ë ¹°, ¼ö°æ Àç¹è ¹× ±âŸ ºÐ¾ßÀÇ ¼öÁú °¨Áö¿¡ »ç¿ëµÉ ¼ö ÀÖ½À´Ï´Ù.
-TDS (ÃÑ ¿ëÁ¸ °íü), Áß±¹ À̸§: ÃÑ ¿ëÁ¸ °íü·Îµµ ¾Ë·ÁÁø ÃÑ ¿ëÁ¸ °íü´Â 1 ¸®ÅÍ¿¡ ¿ëÇصǴ °íüÀÇ ¹Ð¸®±×·¥ ¼ö¸¦ º¸¿©ÁÝ´Ï´Ù. ÀϹÝÀûÀ¸·Î TDS °ªÀÌ ³ôÀ»¼ö·Ï ¹°ÀÌ ´õ ³ìÀ»¼ö·Ï ¹°ÀÌ ´õ ±ú²ýÇÏÁö ¾Ê½À´Ï´Ù. µû¶ó¼ tdsÀÇ Å©±â´Â ¹°ÀÇ Ã»°áÀ» ¹Ý¿µÇÏ´Â ±âº»À¸·Î »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿¢½º
TDS ÆæÀº ÀϹÝÀûÀ¸·Î TDS °¨Áö¿¡ »ç¿ëµË´Ï´Ù. Àú·ÅÇÏ°í »ç¿ëÇϱ⠽±Áö¸¸ Àå±â ¿Â¶óÀÎ ¸ð´ÏÅ͸µ ¹× ¼öÁú ºÐ¼®À» À§ÇØ Á¦¾î ½Ã½ºÅÛ¿¡ µ¥ÀÌÅ͸¦ Àü¼ÛÇÒ ¼ö ¾ø½À´Ï´Ù. Ư¼ö ±â±âÀÇ »ç¿ëÀº µ¥ÀÌÅ͸¦ Àü¼ÛÇÒ ¼ö ÀÖÁö¸¸ Á¤È®µµ´Â ³ôÁö¸¸ °¡°ÝÀº ¸Å¿ì ºñ°©´Ï´Ù. À̶§, ¿ì¸®´Â Ưº°È÷ Arduino ÄÁÆ®·Ñ·¯¿¡ ¿¬°áµÈÀÌ Arduino ȣȯ TDS ¼¾¼¸¦ ¼Ò°³ÇÏ¿© ¹°ÀÇ TDS °ªÀ» ÃøÁ¤ÇÏ´Â µ¥ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
ÀÌ Á¦Ç°Àº Arduino, Ç÷¯±× ¾Ø Ç÷¹À̸¦ À§ÇØ Æ¯º°È÷ ¼³°èµÇ¾úÀ¸¸ç »ç¿ëÀÌ °£´ÜÇÏ°í Æí¸®ÇÕ´Ï´Ù. 3.3-5.5V ³ÐÀº Àü¾Ð Àü¿ø °ø±Þ ÀåÄ¡, 0-2.3V ¾Æ³¯·Î±× ½ÅÈ£ Ãâ·Â, ÀÌ Á¦Ç°Àº 5V, 3.3V Á¦¾î ½Ã½ºÅÛ°ú ȣȯµË´Ï´Ù. ±â¼ºÇ° Á¦¾î ½Ã½ºÅÛ¿¡ ¿¬°áÇÏ´Â °ÍÀÌ ¸Å¿ì Æí¸®ÇÕ´Ï´Ù. AC ½ÅÈ£´Â ÃøÁ¤ÀÇ ¿©±â ¼Ò½º·Î »ç¿ëµÇ¾î ÇÁ·ÎºêÀÇ Æí±¤À» È¿°úÀûÀ¸·Î ¹æÁöÇÏ°í ÇÁ·ÎºêÀÇ ¼ö¸íÀ» ¿¬ÀåÇϸç Ãâ·Â ½ÅÈ£ÀÇ ¾ÈÁ¤¼ºÀ» ³ôÀÏ ¼ö ÀÖ½À´Ï´Ù. TDS ÇÁ·Îºê´Â ¹æ¼ö ÇÁ·ÎºêÀ̸ç Àå½Ã°£ ¹°¿¡ ´ã±Û ¼ö ÀÖ½À´Ï´Ù.
ÀÌ Á¦Ç°Àº °¡Á¤¿ë ¼öÁú ŽÁö ºÐ¾ß¿¡ Àû¿ëµÉ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ¼¾¼¸¦ »ç¿ëÇϸé TDS °¨Áö±â ¼¼Æ®¸¦ ½±°Ô DIY ÇÒ ¼ö ÀÖÀ¸¸ç ¼öÁúÀ» ´Ý±â À§ÇØ ¹°ÀÇ Ã»°áÀ» ½±°Ô °¨Áö ÇÒ ¼ö ÀÖ½À´Ï´Ù.
ÁÖÀÇ:
TDS ÇÁ·Îºê´Â ¼·¾¾ 55 µµ ÀÌ»óÀÇ ¹°¿¡ »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù.
TDS ÇÁ·ÎºêÀÇ À§Ä¡°¡ ÄÁÅ×ÀÌ³Ê °¡ÀåÀÚ¸®¿¡ ³Ê¹« °¡±î¿ö¼´Â ¾ÈµË´Ï´Ù. ±×·¸Áö ¾ÊÀ¸¸é Ç¥½Ã¿¡ ¿µÇâÀ» ¹ÌĨ´Ï´Ù.
TDS ÇÁ·ÎºêÀÇ Çìµå¿Í ¿ÍÀ̾î´Â ¹æ¼öÀÌ¸ç ¹°¿¡ Àá±Û ¼ö ÀÖÁö¸¸ ¿¬°á ÀÎÅÍÆäÀ̽º¿Í ½ÅÈ£ Àü¼Û º¸µå´Â ¹æ¼ö°¡ ¾Æ´Õ´Ï´Ù. ÁÖÀÇÇÕ´Ï´Ù »ç¿ë.
Á¦Ç° Ư¼º
1. ³ÐÀº Àü¾Ð ÀÛ¾÷: 3.3 ~ 5.5V
2. 0 ~ 2.3V ¾Æ³¯·Î±× ½ÅÈ£ Ãâ·Â, 5V ¹× 3.3V 2 °³ÀÇ Á¦¾î ½Ã½ºÅÛ°ú ȣȯµË´Ï´Ù.
3. ¿©±â ¼Ò½º AC ½ÅÈ£ È¿°úÀûÀ¸·Î ¹æÁö ÇÁ·Îºê Æí±¤.
4. ¹æ¼ö ÇÁ·Îºê´Â ¹°¿¡ Àå½Ã°£ ´ã±Û ¼ö ÀÖ½À´Ï´Ù.
5. Arduino ȣȯ, °£´ÜÇÑ ¿¬°á, Ç÷¯±× ¾Ø Ç÷¹ÀÌ, ³³¶« ÇÒ ÇÊ¿ä ¾øÀ½.
±â¼ú ¸í¼¼
½ÅÈ£ ¾î´ðÅÍ º¸µå:
ÀÔ·Â Àü¾Ð: 3.3 ~ 5.5V
Ãâ·Â ½ÅÈ£: 0 ~ 2.3V
ÀÛµ¿ Àü·ù: 3 ~ 6mA
TDS ÃøÁ¤ ¹üÀ§: 0 ~ 1000ppm
TDS ÃøÁ¤ Á¤È®µµ: ¡¾ 10% F.S. (25 C)
Å©±â: 42*32mm
¸ðµâ ÀÎÅÍÆäÀ̽º: XH2.54-3P
Àü±Ø ÀÎÅÍÆäÀ̽º: XH2.54-2P
TDS ÇÁ·Îºê:
Žħ ¼ö: 2
Àüü ±æÀÌ: 83cm
ÀÎÅÍÆäÀ̽º: XH2.54-2P
Ä÷¯: ÈÀÌÆ®
±âŸ: ¹æ¼ö ÇÁ·Îºê
Arduino ¼Ò½º ÄÚµå
# Define TdsSensorPin A1
# AdcÀÇ VREF 5.0/¾Æ³¯·Î±× ±âÁØ Àü¾Ð (º¼Æ®) Á¤ÀÇ
# Scountt 30/»ùÇà Æ÷ÀÎÆ® ÇÕ°è Á¤ÀÇ
Int ¾Æ³¯·Î±× ¹öÆÛ [°èÁ¤]; // adc¿¡¼ ÀÐÀº ¹è¿¿¡ ¾Æ³¯·Î±× °ªÀ» ÀúÀåÇÕ´Ï´Ù.
Int ¾Æ³¯·Î±× ¹öÆÛ ¿Âµµ [s Ä«¿îÆ®];
Int ¾Æ³¯·Î±× ¹öÆÛ À妽º = 0,copyIndex = 0;
Ç÷ÎÆ® Æò±Õ Àü¾Ð = 0,tdsValue = 0, ¿Âµµ = 25;
Void ¼³Á¤
½Ã¸®¾ó. ½ÃÀÛ (115200);
Çɸðµå (TdsSensorPin, ÀÔ·Â),
Void ·çÇÁ
°íÁ¤µÇÁö ¾ÊÀº ±ä ¾Æ³¯·Î±× »ùÇà ŸÀÓ Æ÷ÀÎÆ® = millis();
If (millis()-¾Æ³¯·Î±× »ùÇà ŸÀÓ Æ÷ÀÎÆ®> 40U) // 40 ¹Ð¸®Ãʸ¶´Ù adc¿¡¼ ¾Æ³¯·Î±× °ªÀ» ÀÐÀ¸½Ê½Ã¿À.
¾Æ³¯·Î±× »ùÇà ŸÀÓ Æ÷ÀÎÆ® = ¹Ð¸®½º ();
¾Æ³¯·Î±× ¹öÆÛ [¾Æ³¯·Î±× ¹öÆÛ À妽º] = ¾Æ³¯·Î±× (TdsSensorPin), // ¾Æ³¯·Î±× °ªÀ» ÀÐ°í ¹öÆÛ¿¡ ÀúÀå
AnalogBufferIndex ++;
If (¾Æ³¯·Î±× ¹öÆÛ À妽º = = Ä«¿îÆ®)
AnalogBufferIndex = 0;
Á¤Àû ¼¸íµÇÁö ¾ÊÀº ±ä ÇÁ¸°Æ® ŸÀÓ Æ÷ÀÎÆ® = millis();
If (millis()-printTimepoint > 800U)
PrintTimepoint = millis();
¿¡ ´ëÇÑ (copyIndex = 0;copyIndex
¾Æ³¯·Î±× ¹öÆÛ ¿Âµµ [copyIndex]= ¾Æ³¯·Î±× ¹öÆÛ [copyIndex];
Æò±Õ Àü¾Ð = getmedianum (¾Æ³¯·Î±× ¹öÆÛ ¿Âµµ, s Ä«¿îÆ®) * (Ç÷ÎÆ®) VREF / 1024.0; // median ÇÊÅ͸µ ¾Ë°í¸®ÁòÀ¸·Î º¸´Ù ¾ÈÁ¤ÀûÀÎ ¾Æ³¯·Î±× °ªÀ» Àаí Àü¾Ð °ªÀ¸·Î º¯È¯ÇÕ´Ï´Ù.
Ç÷ÎÆ® º¸Á¤ °è¼ö = 1.0 + 0.02 * (¿Âµµ-25.0); // ¿Âµµ º¸Á¤ °ø½Ä: fFinalResult(25 ^ C) = fFinalResult (ÇöÀç)/(1.0 + 0.02 *(fTP-25.0);
Ç÷ÎÆ® º¸Á¤ Àü¾Ð = Æò±Õ Àü¾Ð/º¸Á¤ °è¼ö, // ¿Âµµ º¸Á¤
TdsValue =(133.42 * º¸Á¤ Àü¾Ð * º¸Á¤ Àü¾Ð * º¸Á¤ Àü¾Ð-255.86 * º¸Á¤ Àü¾Ð * º¸Á¤ Àü¾Ð 857.39 * º¸Á¤ Àü¾Ð) * 0.5; // Àü¾Ð °ªÀ» tds °ªÀ¸·Î º¯È¯
Á÷·Ä. Àμâ ("Àü¾Ð:");
Á÷·Ä. Àμâ (Æò±Õ Àü¾Ð, 2);
Á÷·Ä. Àμâ ("V");
½Ã¸®¾ó. Àμâ ("TDS °ª:";
½Ã¸®¾ó. Àμâ (tdsValue,0;
½Ã¸®¾ó. println("ppm"
Int getmedianum (int bArray[], int iFilterLen
Int bTab[iFilterLen];
(¹ÙÀÌÆ® i = 0; i
BTab [i] = bArray[i];
Int i, j, bTemp;
For (j = 0; j < iFilterLen - 1; j ++)
For (i = 0; i < iFilterLen - j - 1; i ++)
If (bTab[i] > bTab[i + 1])
BTemp = bTab[i];
BTab [i] = bTab[i 1];
BTab [i 1] = bTemp;
If ((iFilterLen & 1) > 0)
BTemp = bTab[(iFilterLen - 1) / 2];
´Ù¸¥
BTemp = (bTab[iFilterLen / 2] + bTab[iFilterLen / 2 - 1]) / 2;
¹Ýȯ bTemp;
¹è¼Û ¸ñ·Ï
TDS ½ÅÈ£ ¾î´ðÅÍ boardx1
¹æ¼ö TDS probex1
¾Æ³¯·Î±× ¼¾¼ wirex1
`