![](https://ae01.alicdn.com/kf/He6576268c4874c2fb5f3d5805aaaec7fh/tds-arduino-diy-tds.jpg)
![](https://ae01.alicdn.com/kf/Ha042917bbdb24e18af0442f98cd119b85/tds-arduino-diy-tds.jpg)
aHR0cDovL2ZyZWVzaGlwLmNvLmty![](https://ae01.alicdn.com/kf/He6576268c4874c2fb5f3d5805aaaec7fh/tds-arduino-diy-tds.jpg)
![](https://ae01.alicdn.com/kf/Ha042917bbdb24e18af0442f98cd119b85/tds-arduino-diy-tds.jpg)
![](https://ae01.alicdn.com/kf/Hff067be9fbb74136a4205d65401e9717V/tds-arduino-diy-tds.jpg)
- ºê·£µå À̸§: Doit.am
- Àç·á: º¹ÇÕ Àç·á
- »ç¿ë: Â÷·® & ¿ø°Ý Á¦¾î Àå³°¨
¿ì¸®ÀÇ ¾ö¼÷ÇÑ ¾à¼Ó
Ç°Áú º¸Áõ!
¿ø·¡°øÀå Á÷Á¢ ÆǸÅ, ±×·¡¼ °¡°ÝÀº »ó´ëÀûÀ¸·Î ³·½À´Ï´Ù!
ȯ¿µ ¿¡ÀÌÀüÆ® ÆǸÅ! µµ¸Å¿¡ ¿À½Å °ÍÀ» ȯ¿µÇÕ´Ï´Ù!ȯ¿µ Çù»ó!°¨»çÇÕ´Ï´Ù!
¼·Ð
ÀÌ Á¦Ç°¼ö´ÜÀÏ Ä¨¸¶ÀÌÅ©·Î¶Ç´Â stm32, Ãâ·Â 0-2.3 v ¾Æ³¯·Î±× Àü¾Ð. ´ÙÀ½ ¶óÀÎ °ø½ÄÀº tds ¹× Àü¾Ð Ãâ·Â °ü°èÀÔ´Ï´Ù. Kvalue ±³Á¤ ¿ä¼Ò (Ç¥ÁØ °ª/ÃøÁ¤ °ª), Á¦Á¶ ¾÷üÀÇ ¾à 1.8) ÀÔ´Ï´Ù.
Tdsvalue = (133.42 * º¸»ó volatge * º¸»ó volatge * º¸»ó volatge-255.86 * º¸»ó volatge * º¸»ó volatge + 857.39 * º¸»ó volatge) * 0.5 * kvalue
¼Ò°³
ÀÌ ÀåÄ¡´Â ÀϹÝÀûÀÎ °¡±¸ ¼öÁú ÃøÁ¤À» À§ÇØ »ç¿ëµÉ ¼ö ÀÖ½À´Ï´Ù. ÀϹÝÀûÀ¸·Î ¼öµ¾¹° tds´Â 100 À̳»À̸ç Á¤Á¦ µÈ ¹°Àº 10 ³»¿¡ ÀÖ½À´Ï´Ù.
Arduino ȣȯ¼º tds °¨Áö±â´Â ¹°ÀÇ tds °¡Ä¡¸¦ ÃøÁ¤Çϱâ À§ÇÏ¿© ÀÌ¿ëµË´Ï´Ù. Tds °¡Ä¡´Â ¹°ÀÇ Ã»°áÀ» ¹Ý¿µÇÒ ¼ö ÀÖ°í ±¹³» ¹°°ú hydroponics ¹ýÀÇ ºÐ¾ß¿¡¼ ¼öÁú Å×½ºÆ®¿¡ Àû¿ëµÉ ¼ö ÀÖ½À´Ï´Ù.
Tds (ÃÑ ³ìÀº °íü), Áß±¹ À̸§: ÃÑ ³ìÀº °íü, ÀÏÄþî ÃÑ ³ìÀº °íü, ³ìÀº °íüÀÇ ¾ó¸¶³ª ¸¹Àº ¹Ð¸®±×·¥ÀÌ ¹°ÀÇ 1 ¸®ÅÍ¿¡ ³ìÀÌ´Â °ÍÀ» ³ªÅ¸³»´Â. ÀϹÝÀûÀ¸·Î, ³ôÀº tds °ª, ´õ lysate´Â ¹°¿¡ Æ÷ÇÔµÇ°í ´õ ±ú²ýÇÑ ¹°. µû¶ó¼ tdsÀÇ Å©±â´Â ¹°ÀÇ Ã»°áÀ» ¹Ý¿µÇϱâÀ§ÇÑ ±âÃÊ Áß Çϳª·Î »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
ÀϹÝÀûÀ¸·Î »ç¿ëµÇ´Â tds Å×½ºÆ® Àåºñ´Â tds ÆæÀÔ´Ï´Ù. ±×°ÍÀº Àú·ÅÇÏ°í »ç¿ëÇϱ⠽¬¿î, ±×°ÍÀº Á¦¾î ½Ã½ºÅÛ¿¡ µ¥ÀÌÅ͸¦ Àü¼ÛÇÒ ¼ö ¾øÁö¸¸, Àå±â ¿Â¶óÀÎ ¸ð´ÏÅ͸µÀ» ¼öÇàÇÏ°í ¼öÁú ºÐ¼®ÇÕ´Ï´Ù. Ưº°ÇÑ ¾Ç±â¸¦ »ç¿ëÇÏ¿© µ¥ÀÌÅ͸¦ Àü¼ÛÇÒ ¼ö ÀÖÁö¸¸ Á¤È®µµ°¡ ³ôÁö¸¸ °¡°ÝÀº ¸Å¿ì ºñ½Ô´Ï´Ù. ÀÌ ³¡¿¡, ¿ì¸®´Â arduino °üÁ¦»ç¿¡ ¿¬°áÇÑ ÈÄ¿¡ ¹°ÀÇ tds °¡Ä¡¸¦ ÃøÁ¤Çϱâ À§ÇÏ¿© ÀÌ¿ëµÉ ¼ö Àִ Ưº°È÷ ÀÌ arduino ȣȯ¼º tds °¨Áö±â¸¦ ¼Ò°³Çß½À´Ï´Ù.
Arduino¸¦ À§ÇØ µðÀÚÀÎÇØ, ÀÌ Á¦Ç°Àº Ç÷¯±× ¾Ø Ç÷¹ÀÌÀÌ°í »ç¿ëÇϱ⠽±½À´Ï´Ù. 3.3 ~ 5.5 v ¹× 0 ~ 2.3 vÀÇ ¾Æ³¯·Î±× ½ÅÈ£ Ãâ·ÂÀÇ ³ÐÀº Àü¾Ð °ø±ÞÀº 5 v, 3.3 v ÅëÁ¦ ½Ã½ºÅÛ°ú ȣȯÀÌ µÇ´Â ÀÌ Á¦Ç°À» ¸¸µì´Ï´Ù, Áغñ Á¦¾î ½Ã½ºÅÛ¿¡¼ ½±°Ô »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ÃøÁ¤¿¡ »ç¿ëµÇ´Â ÈïºÐ¿øÀº ÇÁ·Îºê ºÐ±ØÀ» È¿°úÀûÀ¸·Î ¹æÁöÇÏ°í ÇÁ·Îºê ¼ö¸íÀ» ¿¬ÀåÇÏ°í Ãâ·Â ½ÅÈ£ÀÇ ¾ÈÁ¤¼ºÀ» ³ôÀÏ ¼öÀÖ´Â ac ½ÅÈ£¸¦ »ç¿ëÇÕ´Ï´Ù. Tds ÇÁ·Îºê´Â ¿À·£ ±â°£ µ¿¾È ¹°¿¡ ´ã±Û ¼öÀÖ´Â ¹æ¼ö ÇÁ·ÎºêÀÔ´Ï´Ù.
Á¦Ç°Àº ±¹³» ¹°, ¼ö°æ¹ý ¹× °°ÀÌ ºÐ¾ß¿¡ ÀÖ´Â ¼öÁú Å×½ºÆ®¿¡ Àû¿ëµÉ ¼ö ÀÖ½À´Ï´Ù. ÀÌ °¨Áö±â·Î, ´ç½ÅÀº ½±°Ô tds ¹ß°ßÀÚ¸¦ diyÇÏ°í, ½±°Ô ´ç½ÅÀÇ ¼öÁú ´õ ³ªÀº ¸¸µé±â À§ÇÏ¿© ¹°ÀÇ Ã»°áÀ» °Ë»çÇÒ ¼ö ÀÖ½À´Ï´Ù.
ÆÁ
Tds Á¶»ç´Â 55 °c À§ ¹°¿¡¼ »ç¿ëµÉ ¼ö ¾ø½À´Ï´Ù.
Tds Á¶»ç´Â Àü½Ã¿¡ ¿µÇâÀ» ¹ÌÄ¥ °ÍÀ̱⠶§¹®¿¡ ÄÜÅ×À̳ÊÀÇ °¡ÀåÀÚ¸®¿¡ ³Ê¹« °¡±õ°Ô µÎ¾î¼´Â ¾ÈµË´Ï´Ù.
Tds ÇÁ·ÎºêÀÇ ¸Ó¸®¿Í ¸®µå´Â ¹æ¼ö ÀÌ¸ç ¹°¿¡ ¸ôÀÔ ÇÒ ¼ö ÀÖÁö¸¸ ¿¬°á ÀÎÅÍÆäÀ̽º¿Í ½ÅÈ£ ¾î´ðÅÍ º¸µå´Â ¹æ¼ö°¡ ¾Æ´Õ´Ï´Ù. »ç¿ë¿¡ÁÖÀǸ¦ ±â¿ïÀ̽ʽÿÀ.
Ư¡
1. ³ÐÀº Àü¾Ð °¡µ¿: 3.3 ~ 5.5 v.
2. 0 ~ 2.3 v ¾Æ³¯·Î±× ½ÅÈ£ Ãâ·Â, 5 v, 3.3 v 2 Á¦¾î ½Ã½ºÅÛ°ú ȣȯ.
3. ÈïºÐ ±Ù¿øÀº ac ½ÅÈ£ÀÌ°í, È¿°úÀûÀ¸·Î Á¶»ç ºÐ±ØÀ» ¹æÁöÇÕ´Ï´Ù.
4. ¹°¿¡ ÀÖ´Â Àå±â ħ¼ö¸¦ À§ÇÑ ¹æ¼ö Á¶»ç.
5. ¿¬°áÇÏ°Ô ½¬¿î arduino ȣȯ¼º, Ç÷¯±× ¾Ø Ç÷¹ÀÌ, ¿ä±¸µÇ´Â ³³¶« ¾øÀ½.
±â¼ú ¸í¼¼
½ÅÈ£ ¾î´ðÅÍ º¸µå:
-
ÀÔ·Â Àü¾Ð: 3.3 ~ 5.5
-
Ãâ·Â ½ÅÈ£: 0 ~ 2.3
-
ÀÛµ¿ ÇöÀç: 3 ~ 6ma
-
Tds ÃøÁ¤ ¹üÀ§: 0 ~ 1000ppm
-
Tds ÃøÁ¤ Á¤È®µµ: ¡¾ 10% f.s. (25 °C)
-
Å©±â: 42*32mm
-
¸ðµâ ÀÎÅÍÆäÀ̽º: XH2.54-3P
-
Àü±Ø ÀÎÅÍÆäÀ̽º: XH2.54-2P
TDS ÇÁ·Îºê:
-
ÇÁ·Îºê ¼ö: 2 pcs
-
Àüü ±æÀÌ: 83 cm
-
ÀÎÅÍÆäÀ̽º: XH2.54-2P
-
Ä÷¯: ÈÀÌÆ®
-
±âŸ: ¹æ¼ö ÇÁ·Îºê
¹è¼± ´ÙÀ̾î±×·¥ Áöħ
Arduino ¼Ò½º ÄÚµå
# Define TdsSensorPin A0
# Define vref 5.0 // adc ¾Æ³¯·Î±× ±âÁØ Àü¾Ð (º¼Æ®)
# Define kvalue 1.8 // kvalue = Ķ¸®tor tds/ÃøÁ¤ °ª tds
# Define scount 30 // »ùÇà Æ÷ÀÎÆ®ÀÇ ÇÕ°è
Int anologbuffer [scount]; // adc¿¡¼ Àд ¹è¿¿¡ ÀÖ´Â ¾Æ³¯·Î±× °¡Ä¡¸¦ ÀúÀåÇϽʽÿÀ
Int anologbuffertemp [scount];
Int analogbufferindex = 0, copyindex = 0;
Ç÷ÎÆ® averagevoltage = 0, tdsvalue = 0, ¿Âµµ = 25;
Void ¼³Á¤ ()
{
Á÷·Ä. ½ÃÀÛ (115200);
Pinmode (tdssensorpin, ÀÔ·Â);
}
Void ·çÇÁ ()
{
Á¤Àû unsigned ±ä anologsampletimepoint = millis ();
¸¸¾à¿¡ (millis)-analogsampletimepoint> 40u) // °¢ 40 ¹Ð¸®ÃÊ, adc¿¡¼ ¾Æ³¯·Î±× °¡Ä¡¸¦ ÀÐÀ¸½Ê½Ã¿À
{
Anologsampletimepoint = millis ();
Analogbuffer [analogbufferindex] = anologread (tdssensorpin); // ¾Æ³¯·Î±× °ªÀ» ÀÐ°í ¹öÆÛ·Î ÀúÀåÇϽʽÿÀ
AnalogBufferIndex ++;
If (analogbufferindex = = scount)
AnalogBufferIndex = 0;
}
Á¤Ã¼µÇ´Â unsigned ±ä printtimepoint = millis ();
If (millis)-printtimepoint> 800u)
{
Printtimepoint = millis ();
For (copyindex = 0; Ä«ÇÇ À妽º <scount; Ä«ÇÇ À妽º ++)
Anologbuffertemp [copyindex] = ¾Æ³¯·Î±× ¹öÆÛ [Ä«ÇÇ À妽º];
Averagevoltage = getmediannum (anologbuffertemp, scount) * (float) vref/1024.0; // median ÇÊÅ͸µ ¾Ë°í¸®Áò¿¡ ÀÇÇØ ¾Æ³¯·Î±× °ªÀ» ´õ ¾ÈÁ¤ÀûÀ¸·Î Àаí Àü¾Ð °ªÀ¸·Î º¯È¯
ºÎÀ¯¹° º¸»ó °è¼ö = 1.0 + 0.02 * (¿Âµµ-25.0); // ¿Âµµ º¸»ó °ø½Ä: ffinalouterent (25 ^ c) = ffinalouterent (ÇöÀç)/(1.0 + 0.02 * (fTP-25.0);
Ç÷ÎÆ® º¸»ó volatge = averagevoltage/º¸»ó °è¼ö; // ¿Âµµ º¸»ó
Tdsvalue = (133.42 * compensationvolatge * compen* º¸»ó volatge-255.86 * º¸»ó volatge * º¸»ó volatge + 857.39 * º¸»ó volatge) * 0.5 * kvalue; // tds °ª¿¡ Àü¾Ð °ªÀ» º¯È¯
// Serial. print ("Àü¾Ð:");
// Serial. print (averagevoltage, 2);
// Serial. print ("v");
Á÷·Ä. Àμâ ("tds °ª:");
Á÷·Ä. Àμâ (tdsvalue, 0);
Serial. println ("ppm");
}
}
Int getmediannum (int barray [], int ifilterlen)
{
Int btab [ifilterlen];
For (byte 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;
¹Ýȯ bTemp;
}
¹è¼Û ¸ñ·Ï
-
TDSȸ·Îº¸µå: 1 pcs
-
¹æ¼ö tds ÇÁ·Îºê: 1 pcs
-
¾Æ³¯·Î±× ¿¬°á ÄÉÀ̺í: 1 pcs
±×¸²
![TDS](https://ae01.alicdn.com/kf/Hdc77f8b19e594283a00a8fbc9ecbe0910.png)