ÀÌ Á¦Ç°¿¡´Â Á¦Ç° ¼Ò°³, ¹è¼±µµ, ¼Ò½º ÄÚµå µîÀÌ Æ÷ÇԵǾî ÀÖ½À´Ï´Ù. ¾Æ·¡¸¦ ÂüÁ¶ÇϽʽÿÀ!
Á¦Ç° ¼Ò°³
ÀÌ Àåºñ´Â ÀÏ¹Ý °¡Á¤¿ë ¼öÁú ÃøÁ¤¿¡ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
ÀϹÝÀûÀ¸·Î ¼öµ¾¹° tds´Â 100 (½Éõ¿¡¼ ¾à 90) À̳», Á¤Á¦¼ö´Â 10 À̳»ÀÔ´Ï´Ù.
Arduino ȣȯ TDS ¼¾¼´Â ¹°ÀÇ TDS °ªÀ» ÃøÁ¤ÇÏ´Â µ¥ »ç¿ëµË´Ï´Ù. TDS °ªÀº ¹°ÀÇ Ã»°áÀ» ¹Ý¿µÇÏ°í °¡Á¤¿ë ¼ö°æ ¹× ¼ö°æ Àç¹è ºÐ¾ßÀÇ ¼öÁú Å×½ºÆ®¿¡ Àû¿ëµÉ ¼ö ÀÖ½À´Ï´Ù.
TDS (ÃÑ ¿ëÁ¸ °íÇü¹°), Áß±¹ À̸§: ÃÑ ¿ëÁ¸ °íÇü¹°À̶ó°íµµÇÏ´Â ÃÑ ¿ëÁ¸ °íÇü¹°Àº 1 ¸®ÅÍÀÇ ¹°¿¡ ¾ó¸¶³ª ¸¹Àº ¹Ð¸®±×·¥ÀÇ ¿ëÇØ °íÇü¹°ÀÌ ¿ëÇصǴÂÁö ³ªÅ¸³À´Ï´Ù. ÀϹÝÀûÀ¸·Î TDS °ªÀÌ ³ôÀ»¼ö·Ï ¹°¿¡ ´õ ¸¹Àº lysate°¡ Æ÷ÇԵǾî ÀÖ°í ¹°À» ´õ ±ú²ýÇÏ°ÔÇÏÁö ¾Ê½À´Ï´Ù. µû¶ó¼ tdsÀÇ Å©±â´Â ¹°ÀÇ Ã»°áÀ» ¹Ý¿µÇÏ´Â ±âÃÊ Áß Çϳª·Î »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
ÀϹÝÀûÀ¸·Î »ç¿ëµÇ´Â TDS Å×½ºÆ® Àåºñ´Â TDS ÆæÀÔ´Ï´Ù. Àú·ÅÇÏ°í »ç¿ëÇϱ⠽±Áö¸¸ Á¦¾î ½Ã½ºÅÛ¿¡ µ¥ÀÌÅ͸¦ Àü¼ÛÇÏ°í Àå±âÀûÀÎ ¿Â¶óÀÎ ¸ð´ÏÅ͸µÀ» ¼öÇàÇÏ¸ç ¼öÁúÀ» ºÐ¼®ÇÒ ¼ö ¾ø½À´Ï´Ù. Ư¼ö ±â±â¸¦ »ç¿ëÇÏ¿© µ¥ÀÌÅ͸¦ Àü¼ÛÇÒ ¼ö ÀÖÁö¸¸ Á¤È®µµ´Â ³ôÁö¸¸ °¡°ÝÀº ¸Å¿ì ºñ½Ô´Ï´Ù. À̸¦ À§ÇØ Arduino ȣȯ TDS ¼¾¼¸¦ Ưº°È÷ µµÀÔÇÏ¿© Arduino ÄÁÆ®·Ñ·¯¿¡ ¿¬°á ÇÑ ÈÄ ¹°ÀÇ TDS °ªÀ» ÃøÁ¤ÇÏ´Â µ¥ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
Arduino¸¦ À§ÇØ ¼³°èµÈÀÌ Á¦Ç°Àº Ç÷¯±× ¾Ø Ç÷¹ÀÌÀÌ¸ç »ç¿ëÇϱ⠽±½À´Ï´Ù. 3.3 ~ 5.5 vÀÇ ³ÐÀº Àü¾Ð °ø±Þ ¹× 0 ~ 2.3 vÀÇ ¾Æ³¯·Î±× ½ÅÈ£ Ãâ·ÂÀº 5V, 3.3V Á¦¾î ½Ã½ºÅÛ°ú ȣȯµË´Ï´Ù. ±â¼ºÇ° Á¦¾î ½Ã½ºÅÛ¿¡¼ ½±°Ô »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ÃøÁ¤¿¡ »ç¿ëµÇ´Â ¿©±â ¼Ò½º´Â AC ½ÅÈ£¸¦ »ç¿ëÇÏ¿© ÇÁ·Îºê Æí±¤À» È¿°úÀûÀ¸·Î ¹æÁöÇÏ°í ÇÁ·Îºê ¼ö¸íÀ» ¿¬ÀåÇϸç Ãâ·Â ½ÅÈ£ÀÇ ¾ÈÁ¤¼ºÀ» ³ôÀÏ ¼ö ÀÖ½À´Ï´Ù. TDS ÇÁ·Îºê´Â Àå½Ã°£ ¹°¿¡ ´ã±Û ¼öÀÖ´Â ¹æ¼ö ÇÁ·ÎºêÀÔ´Ï´Ù.
ÀÌ Á¦Ç°Àº °¡Á¤¿ë ¼ö°æ, ¼ö°æ¹ý µîÀÇ ºÐ¾ß¿¡¼ ¼öÁú Å×½ºÆ®¿¡ Àû¿ëµÉ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ¼¾¼¸¦ »ç¿ëÇϸé TDS °¨Áö±â¸¦ ½±°Ô diyÇÏ°í ¹°ÀÇ Ã»°áÀ» ½±°Ô È®ÀÎÇÏ¿© ¼öÁúÀ» Çâ»ó½Ãų ¼ö ÀÖ½À´Ï´Ù.
Âü°í:
TDS ÇÁ·Îºê´Â 55 °C ÀÌ»óÀÇ ¹°¿¡ »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù.
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
»ö»ó: Èò»ö
±âŸ: ¹æ¼ö ÇÁ·Îºê
¾ÆµÎÀÌ³ë ¼Ò½º ÄÚµå
# Á¤ÀÇ TdsSensorPin A1
# KValue 1.8 Á¤ÀÇ // kValue = ±³Á¤±â TDS °ª/ÃøÁ¤ TDS ¾ò±â
# AdcÀÇ VREF 5.0 // ¾Æ³¯·Î±× ±âÁØ Àü¾Ð (º¼Æ®) Á¤ÀÇ
# SCOUNT 30/»ùÇà Æ÷ÀÎÆ® ÇÕ°è Á¤ÀÇ
Int ¾Æ³¯·Î±× ¹öÆÛ [°èÁ¤]; // adc¿¡¼ ÀÐÀº ¹è¿¿¡ ¾Æ³¯·Î±× °ªÀ» ÀúÀåÇÕ´Ï´Ù.
Int ¾Æ³¯·Î±× ¹öÆÛ ¿Âµµ [SCOUNT];
Int ¾Æ³¯·Î±× ¹öÆÛ À妽º = 0, copyIndex = 0;
Ç÷ÎÆ® Æò±Õ Àü¾Ð = 0, tdsValue = 0, ¿Âµµ = 25;
¹«È¿ ¼³Á¤ ()
{{
½Ã¸®¾ó. ½ÃÀÛ (115200);
Çɸðµå (TdsSensorPin, ÀÔ·Â);
}
¹«È¿ ·çÇÁ ()
{{
Á¤Àû ¼¸íµÇÁö ¾ÊÀº ±ä ¾Æ³¯·Î±× »ùÇà ŸÀÓ Æ÷ÀÎÆ® = millis();
(Millis ()-¾Æ³¯·Î±× »ùÇà ŸÀÓ Æ÷ÀÎÆ®> 40U) // 40 ¹Ð¸®Ãʸ¶´Ù adc¿¡¼ ¾Æ³¯·Î±× °ªÀ» ÀÐÀ¸½Ê½Ã¿À.
{{
¾Æ³¯·Î±× »ùÇà ŸÀÓ Æ÷ÀÎÆ® = ¹Ð¸®½º ();
¾Æ³¯·Î±× ¹öÆÛ [¾Æ³¯·Î±× ¹öÆÛ À妽º] = ¾Æ³¯·Î±× (TdsSensorPin); // ¾Æ³¯·Î±× °ªÀ» ÀÐ°í ¹öÆÛ¿¡ ÀúÀå
¾Æ³¯·Î±× ¹öÆÛÀ妽º +
If (¾Æ³¯·Î±× ¹öÆÛ À妽º = = SCOUNT)
¾Æ³¯·Î±× ¹öÆÛ À妽º = 0;
}
Á¤Àû ¼¸íµÇÁö ¾ÊÀº ±ä ÇÁ¸°Æ® ŸÀÓ Æ÷ÀÎÆ® = millis();
If(millis()-printTimepoint > 800U)
{{
PrintTimepoint = millis();
For(copyIndex = 0;copyIndex<SCOUNT;copyIndex)
¾Æ³¯·Î±× ¹öÆÛ ¿Âµµ [copyIndex]= ¾Æ³¯·Î±× ¹öÆÛ [copyIndex];
Æò±Õ Àü¾Ð = getMedianNum (¾Æ³¯·Î±× ¹öÆÛ ¿Âµµ, SCOUNT) * (float)VREF / 1024.0; // Áß°£ ÇÊÅ͸µ ¾Ë°í¸®Áò¿¡ ÀÇÇØ ¾Æ³¯·Î±× °ªÀ» ´õ ¾ÈÁ¤ÀûÀ¸·Î Àаí Àü¾Ð °ªÀ¸·Î º¯È¯ÇÕ´Ï´Ù.
Ç÷ÎÆ® º¸»ó °è¼ö = 1.0 + 0.02 * (¿Âµµ-25.0); // ¿Âµµ º¸»ó °ø½Ä: ffinalresultt (25 ^ C) = ffinalresultt (ÇöÀç)/(1.0 + 0.02 *(fTP-25.0);
Ç÷ÎÆ® º¸»ó Àü¾Ð = Æò±Õ Àü¾Ð/º¸»ó °è¼ö; // ¿Âµµ º¸»ó
TdsValue =(133.42 * º¸»ó Àü¾Ð * º¸»ó Àü¾Ð * º¸»ó Àü¾Ð-255.86 * º¸»ó Àü¾Ð * º¸»ó Àü¾Ð 857.39 * º¸»ó Àü¾Ð) * 0.5 * kValue; // Àü¾Ð °ªÀ» tds °ªÀ¸·Î º¯È¯
// ½Ã¸®¾ó. Àμâ ("Àü¾Ð:");
// ½Ã¸®¾ó. Àμâ (Æò±Õ Àü¾Ð, 2);
// ½Ã¸®¾ó. Àμâ ("V");
½Ã¸®¾ó. Àμâ ("TDS °ª:");
½Ã¸®¾ó. Àμâ (tdsValue,0);
½Ã¸®¾ó. println("ppm");
}
}
Int getmedianum (int bArray[], int iFilterLen)
{{
Int bTab[iFilterLen];
(¹ÙÀÌÆ® i = 0; i<iFilterLen; 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;
¹Ý@@ Ç° ¿Â@@ µµ;
}
¹è¼Û ¸ñ·Ï
TDS ½ÅÈ£ ¾î´ðÅÍ º¸µå x1
¹æ¼ö TDS ÇÁ·Îºê x1
¾Æ³¯·Î±× ¼¾¼ ¶óÀÎ x1