1 °³ 360 µµ ·ÎÅ͸® ÀÎÄÚ´õ ¸ðµâ ºê¸¯ ¼¾¼ ½ºÀ§Ä¡ °³¹ß KY-040
·ÎŸ¸® ÀÎÄÚ´õ ¸ðµâ:
ÀÛµ¿ Àü¾Ð: 5V
»çÀÌŬ ´ç ÆÞ½º ¼ö: 20
·ÎÅ͸® ÀÎÄÚ´õ´Â ȸÀüÀ» ÅëÇØ ¾ç±Ø ¹× ¿ª¹æÇâÀ¸·Î Ãâ·Â ÆÞ½º ¼ö¸¦ °è»êÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀüÀ§Â÷°è¿Í ´Þ¸® ȸÀü ¼ö´Â ¹«Á¦ÇÑÀÔ´Ï´Ù. ·ÎÅ͸® ÀÎÄÚ´õÀÇ Å°¸¦ »ç¿ëÇϸé Ãʱ⠻óÅÂ, Áï0 °è»ê ½ÃÀÛ.
ÀÛµ¿ ¿ø¸®:
ÁõºÐ ÀÎÄÚ´õ´Â ȸÀü½Ä º¯À§¸¦ ÀÏ·ÃÀÇ µðÁöÅÐ ÆÞ½º ½ÅÈ£·Î º¯È¯Çϴ ȸÀü½Ä ¼¾¼ÀÔ´Ï´Ù. ÀÌ ÆÞ½º´Â °¢ º¯À§¸¦ Á¦¾îÇÏ´Â µ¥ »ç¿ëµË´Ï´Ù. ¼÷¹Ú¿¤Æ®¶ó ÀÎÄÚ´õÀÇ °¢ º¯À§ º¯È¯Àº ±¤Àü ½ºÄ³´×ÀÇ ¿ø¸®¸¦ äÅÃÇÕ´Ï´Ù. Æǵ¶ ½Ã½ºÅÛÀº ´ëü ±¤ Àü¼Û â°ú °¡º¿î ²Ë âÀ¸·Î ±¸¼ºµÈ ¹æ»çÇü Àε¦½Ì µð½ºÅ© (ÄÚµå µð½ºÅ©) ÀÇ È¸ÀüÀ» ±â¹ÝÀ¸·ÎÇÕ´Ï´Ù. µ¿½Ã¿¡ Àû¿Ü¼± ±¤¿ø¿¡ ÀÇÇØ ¼öÁ÷À¸·Î Á¶¸íµË´Ï´Ù. ºûÀº ÄÚµå µð½ºÅ©ÀÇ À̹ÌÁö¸¦ ¼ö½Å±â Ç¥¸é¿¡ Åõ»çÇÕ´Ï´Ù. ¼ö½Å±â´Â ÄÚµå µð½ºÅ©¿Í µ¿ÀÏÇÑ Ã¢ ³Êºñ¸¦ °®´Â ȸÀý °ÝÀÚ·Î µ¤¿© ÀÖ½À´Ï´Ù. ¼ö½Å±âÀÇ ¿ªÇÒÀº ±¤ µð½ºÅ©ÀÇ È¸ÀüÀ¸·Î ÀÎÇÑ º¯È¸¦ ´À³¢°í ºûÀÇ º¯È¸¦ ÇØ´ç Àü±âÀû º¯È·Î º¯È¯ÇÏ´Â °ÍÀÔ´Ï´Ù. ±×·± ´ÙÀ½ Àú·¹º§ ½ÅÈ£°¡ ´õ ³ôÀº ·¹º§·Î »ó½ÂÇÏ°í ÀüÀÚ È¸·Î¿¡ ÀÇÇØ Ã³¸®µÇ¾î¾ßÇÏ´Â °£¼·¾øÀÌ »ç°¢Çü ÆÞ½º¸¦ »ý¼ºÇÕ´Ï´Ù. Æǵ¶ ½Ã½ºÅÛÀº ÀϹÝÀûÀ¸·Î Â÷µ¿ ¸ðµå¸¦ äÅÃÇÕ´Ï´Ù. Áï, µÎ ÆÄÇüÀº µ¿ÀÏÇÏÁö¸¸ À§»óÂ÷´Â180 Ãâ·Â ½ÅÈ£ÀÇ Ç°Áú°ú ¾ÈÁ¤¼ºÀ» Çâ»ó½ÃÅ°±â À§ÇØ ´Ù¸¥ ½ÅÈ£°¡ ºñ±³µË´Ï´Ù. Æǵ¶ °ªÀº µÎ ½ÅÈ£ »çÀÌÀÇ Â÷ÀÌ¿¡ ±âÃÊÇÏ¿© Çü¼ºµÇ¾î °£¼·À» Á¦°ÅÇÕ´Ï´Ù.
ÁõºÐ ÀÎÄÚ´õ
ÁõºÐ ÀÎÄÚ´õ´Â 2 »ó Á¦°ö ÆÄ, À§»óÂ÷¸¦ Á¦°øÇÕ´Ï´Ù.90°, ÀϹÝÀûÀ¸·ÎAä³Î ¹×Bä³Î. ä³Î Áß Çϳª°¡ ¼Óµµ¿Í °ü·ÃµÈ Á¤º¸¸¦ Á¦°øÇÕ´Ï´Ù. µ¿½Ã¿¡ µÎ ä³ÎÀÇ ½ÅÈ£¸¦ ¼øÂ÷ÀûÀ¸·Î ºñ±³ÇÏ¿© ȸÀü ¹æÇâ¿¡ ´ëÇÑ Á¤º¸¸¦ ¾ò½À´Ï´Ù. ¶ó´Â Ưº°ÇÑ ½ÅÈ£µµ ÀÖ½À´Ï´Ù.Z¶Ç´Â Á¦·Î ä³Î·Î, ÀÎÄÚ´õÀÇ Àý´ë 0 À§Ä¡¸¦ Á¦°øÇÕ´Ï´Ù. ÀÌ ½ÅÈ£´Â Á¤»ç°¢Çü ÆÄÀ̸çAä³Î »ç°¢Çü ÆÄÀÇ Á߽ɼ±ÀÌ ÀÏÄ¡ÇÕ´Ï´Ù.
ÁõºÐ ÀÎÄÚ´õÀÇ Á¤È®µµ´Â °ÝÀÚ Àε¦½Ì ¿À·ù, µð½ºÅ© Æí½É, º£¾î¸µ Æí½É, ÀüÀÚ Æǵ¶ ÀåÄ¡¿¡ ÀÇÇÑ ¿À·ù ¹× ±¤ÇÐ ºÎÇ°ÀÇ ºÎÁ¤È®¼ºÀ» Æ÷ÇÔÇÏ¿© ±â°èÀû ¹× Àü±âÀû ¿äÀο¡ µû¶ó ´Þ¶óÁý´Ï´Ù. ÀÎÄÚ´õ Á¤È®µµ¸¦ °áÁ¤ÇÏ´Â ÃøÁ¤ ´ÜÀ§´Â Àü±âÀû Á¤µµÀÌ°í ÀÎÄÚ´õ Á¤È®µµ´Â ÀÎÄÚ´õ¿¡¼ »ý¼ºµÇ´Â ÆÞ½º ´«±ÝÀ» °áÁ¤ÇÕ´Ï´Ù. ±â°è½Ä »þÇÁÆ®ÀÇ È¸ÀüÀº ¾Æ·¡ 360 ° Àü±âµµ·Î Ç¥½ÃµÇ¸ç »þÇÁÆ®ÀÇ È¸ÀüÀº ¿ÏÀüÇÑ »çÀÌŬÀ̾î¾ßÇÕ´Ï´Ù. ¾ó¸¶³ª ¸¹Àº ±â°èÀû °¢µµ°¡ Àü±âÀûÀ¸·Î 360 µµ¿¡ ÇØ´çÇÏ´ÂÁö ¾Ë±â À§ÇØ ´ÙÀ½ °ø½ÄÀ» »ç¿ëÇÏ¿© °è»êÇÒ ¼ö ÀÖ½À´Ï´Ù. Àü±â 360 = ±â°èÀû 360 °/n ° ÆÞ½º/ȸÀü
ÀÎÄÚ´õ Àε¦½Ì ¿À·ù´Â Àü±â °¢µµ ´ÜÀ§¿¡¼ µÎ °³ÀÇ ¿¬¼Ó ¸ÆÆÄÀÇ ÃÖ´ë ÆíÂ÷·Î Ç¥ÇöµË´Ï´Ù. ¾Õ¼ ¾ð±ÞÇÑ ¿äÀÎÀ¸·Î ÀÎÇØ ÀÎÄÚ´õ¿¡ ¿À·ù°¡ Á¸ÀçÇÕ´Ï´Ù. Eltra ÀÎÄÚ´õÀÇ ÃÖ´ë ¿ÀÂ÷´Â 25 Àü±â °¢µµ (¸í½ÃµÈ Á¶°Ç ÇÏ¿¡¼) À̸ç, ÀÌ´Â Á¤°Ý °ªÀÇ 7% ÆíÂ÷¿Í °°½À´Ï´Ù. À§»óÂ÷°¡ 90 (Àü±âÀûÀ¸·Î) ÀÎ µÎ ä³ÎÀÇ ÃÖ´ë ÆíÂ÷´Â 35 Àü±âµµÀ̸ç Á¤°Ý °ªÀÇ ¾à 10% ÆíÂ÷¿Í °°½À´Ï´Ù.
UVW ½ÅÈ£ ÁõºÐ ÀÎÄÚ´õ
À§ÀÇ ÀüÅëÀûÀÎ ÀÎÄÚ´õ ¿Ü¿¡µµ ´Ù¸¥ Àü±â Ãâ·Â ½ÅÈ£¿Í ÅëÇÕ µÈ ÁõºÐ ÀÎÄÚ´õ°¡ ÀÖ½À´Ï´Ù. UVW ½ÅÈ£¿Í ÅëÇÕ µÈ ÁõºÐ ÀÎÄÚ´õ°¡ ¿¹À̸ç ÀϹÝÀûÀ¸·Î AC ¼º¸ ¸ðÅÍÀÇ Çǵå¹é¿¡ Àû¿ëµË´Ï´Ù. ÀÌ·¯ÇÑ ±Ø ½ÅÈ£´Â ÀϹÝÀûÀ¸·Î AC ¼º¸ ¸ðÅÍ¿¡ ³ªÅ¸³ª¸ç UVW ½ÅÈ£´Â ÀϹÝÀûÀ¸·Î Àڱ⠱¸¼º ¿ä¼ÒÀÇ ±â´ÉÀ» ½Ã¹Ä·¹À̼ÇÇÏ¿© ¼³°èµÇ¾ú½À´Ï´Ù. Eltra ÀÎÄÚ´õ¿¡¼ ÀÌ·¯ÇÑ UVW ½ÅÈ£´Â ±¤ÇÐÀûÀ¸·Î »ý¼ºµÇ¸ç ¼·Î 120 ° ¿ÀÇÁ¼Â µÈ 3 °³ÀÇ »ç°¢Çü ÆÄ ÇüÅ·Π³ªÅ¸³³´Ï´Ù. ¸ðÅÍ ½Ãµ¿À» ¿ëÀÌÇÏ°ÔÇϱâ À§ÇØ ¸ðÅ͸¦ Á¦¾îÇÏ´Â µ¥ »ç¿ëµÇ´Â ½Ãµ¿±â¿¡´Â ÀÌ·¯ÇÑ ¿Ã¹Ù¸¥ ½ÅÈ£°¡ ÇÊ¿äÇÕ´Ï´Ù. ÀÌ·¯ÇÑ UVW ±Ø ÆÞ½º´Â ¿¬°áµÈ ¸ðÅÍ ÆúÀÇ ¼ö¿¡ Á÷Á¢ÀûÀ¸·Î ÀÇÁ¸Çϱ⠶§¹®¿¡ ±â°è »þÇÁÆ®ÀÇ È¸Àü Áß¿¡ ¿©·¯ ¹ø ¹Ýº¹ µÉ ¼ö ÀÖÀ¸¸ç 4 ÀÇ UVW ½ÅÈ£¿¡ »ç¿ëµË´Ï´Ù. 6 °³ ÀÌ»óÀÇ ±Ø ¸ðÅÍ.
***************************************************************************
¾ÆµÎÀ̳ë Å×½ºÆ® ÄÚµå:
Int redPin = 2;
¿»·Î ÇÁ¸°Æ® ÇÉ = 3;
Int greenPin = 4;
Int apin = 6;
Int bPin = 7;
Int buttonPin = 5;
Int »óÅÂ = 0;
Int longPeriod = 5000; // ³ì»ö ¶Ç´Â »¡°£»ö ½Ã°£
Int shortPeriod = 700; // º¯°æ½Ã ±â°£
Int targetCount = shortPeriod;
Int Ä«¿îÆ® = 0;
º¸ÀÌµå ¼³Á¤ ()
{
ÇÉ ¸ðµå (apin, INPUT);
ÇÉ ¸ðµå (bPin, INPUT);
ÇÉ ¸ðµå (¹öÆ° ÇÉ, ÀÔ·Â);
ÇÉ ¸ðµå (redPin, Ãâ·Â);
ÇÉ ¸ðµå (¿»·Î ÇÉ, Ãâ·Â);
ÇÉ ¸ðµå (±×¸°ÇÉ, Ãâ·Â);
}
º¸ÀÌµå ·çÇÁ ()
{
Ä«¿îÆ® ++;
If (µðÁöÅÐ Àбâ (buttonPin))
{
SetLights (³ôÀ½, ³ôÀ½, ³ôÀ½);
}
±âŸ
{
Int º¯°æ = getEncoderTurn();
Int newPeriod = longPeriod + (º¯°æ * 1000);
If (newPeriod >= 1000 & & newPeriod <= 10000)
{
LongPeriod = newPeriod;
}
If (Ä«¿îÆ®> targetCount)
{
SetState ();
Ä«¿îÆ® = 0;
}
}
Áö¿¬ (1);
}
Int getEncoderTurn()
{
// ¹Ýȯ-1, 0 ¶Ç´Â + 1
Á¤Àû int oldA = ³·À½;
Á¤Àû int oldb = ³·À½;
Int °á°ú = 0;
Int newA = µðÁöÅÐ Àбâ (aPin);
Int newB = µðÁöÅÐ Àбâ (bPin);
If (newA != oldA | | newB != olddB)
{
// ¹º°¡ ¹Ù²î¾ú´Ù.
If (oldA = = ³·À½ & newA = = ³ôÀ½)
{
°á°ú = -(olddB * 2 - 1);
}
}
OldA = newA;
OldB = newB;
¹Ýȯ °á°ú;
}
Int setState()
{
If (»óÅÂ = = 0)
{
SetLights (³ôÀ½, ³·À½, ³·À½);
TargetCount = longPeriod;
»óÅÂ = 1;
}
±×·¸Áö ¾ÊÀ¸¸é (»óÅ = = 1)
{
SetLights (³ôÀ½, ³ôÀ½, ³·À½);
TargetCount = shortPeriod;
»óÅÂ = 2;
}
±×·¸Áö ¾ÊÀ¸¸é (»óÅ = = 2)
{
SetLights (³·À½, ³·À½, ³ôÀ½);
TargetCount = longPeriod;
»óÅÂ = 3;
}
±×·¸Áö ¾ÊÀ¸¸é (»óÅ = = 3)
{
SetLights (³·À½, ³ôÀ½, ³·À½);
TargetCount = shortPeriod;
»óÅÂ = 0;
}
}
Void setLights(int »¡°, int ³ë¶û, int ³ì»ö)
{
µðÁöÅÐ ¾²±â (redPin, »¡°£»ö);
µðÁöÅÐ ¾²±â (¿»·Î ÇÉ, ³ë¶õ»ö);
µðÁöÅÐ ¾²±â (greenPin, ³ì»ö);
} ![IMG_3951](https://ae01.alicdn.com/kf/S80334c55588c4561ae0a2f5ebba81d89q.jpg?width=1000&height=1000&hash=2000)
![IMG_3950](https://ae01.alicdn.com/kf/Sc3089e2e08524280a50c3d9573472adeT.jpg?width=1000&height=1000&hash=2000)
![IMG_3958](https://ae01.alicdn.com/kf/Sece5c96832ea49f8b513d0fc558c742cl.jpg?width=1000&height=1000&hash=2000)