Âü°í:
Áß±¹ Æ÷½ºÆ® ÀÏ¹Ý ÀÛÀº ÆÐŶ Ç÷¯½ºÀÇ ÃßÀû Á¤º¸, ±×°ÍÀº stransit¿¡¼ ÃßÀû ÇÒ ¼ö ¾ø½À´Ï´Ù.
Àüü ÃßÀû Á¤º¸¸¦ ¿øÇÑ´Ù¸é Áß±¹ ¿ìÆí Ç×°ø ¿ìÆíÀ» ¼±ÅÃÇϽʽÿÀ.
¿©±â¿¡¼ ÃßÀû ÇÒ ¼ö ÀÖ½À´Ï´Ù
UNO ¿ë ·ÎÅ͸® ¿£ÄÚ´õ ¸ðµâ
·ÎÅ͸® ¿£ÄÚ´õ´Â Ãâ·Â ÆÞ½º ÁÖÆļö ȸÀü Áß Á¤¹æÇâ ¹× ¿ª¹æÇâÀ¸·Î ȸÀüÇÏ¿© °è»ê ÇÒ ¼ö ÀÖ½À´Ï´Ù.
Ä«¿îÅÍ È¸Àü ÀüÀ§Â÷°è¿Í ´Þ¸®, ÀÌ È¸Àü Ä«¿îÆ®´Â Á¦ÇѵÇÁö ¾Ê½À´Ï´Ù.
·ÎÅ͸® ¿£ÄÚ´õÀÇ ¹öÆ°À» »ç¿ëÇϸé 0 ºÎÅÍ ½ÃÀÛÇÏ´Â Ãʱ⠻óÅ·ΠÀç¼³Á¤ ÇÒ ¼ö ÀÖ½À´Ï´Ù.
Led°¡ ******************
Å×½ºÆ® ÄÚµå:
Const int interruptA = 0; / / Interrupt 0 (ÇÉ 2)
Const int interruptB = 1; / / Interrupt 1 (ÇÉ 3)
Int CLK = 2; / / PIN2
Int DAT = 3; / /ÇÉ 3
Int ¹öÆ° = 4; / /ÇÉ 4
Int LED1 = 5; / /ÇÉ 5
Int LED2 = 6; / /ÇÉ 6
Int Ä«¿îÆ® = 0;
Void ¼³Á¤ ()
{
ºÎÂø ÀÎÅÍ·´Æ® (ÀÎÅÍ·´Å¸, ·ÎÆ® ½ºÅ×ÀÌ¼Ç º¯°æ, ³«ÇÏ);
//ºÎÂø ÀÎÅÍ·´Æ® (ÀÎÅÍ·´Æ®, ¹öÆ° »óÅÂ, ¶³¾îÁü),
Çɸðµå (CLK, ÀÔ·Â)
DigitalWrite (2, ³ôÀÌ),/´ç±â´Â ³ôÀº ·¹½ºÆ®·±½º
ÇÉ ¸ðµå (DAT, ÀÔ·Â)
DigitalWrite (3, ³ôÀÌ),/´ç±â´Â ³ôÀº ·¹½ºÆ®·±½º
Çɸðµå (¹öÆ°, ÀÔ·Â)
DigitalWrite (4, ³ôÀÌ),/´ç±â´Â ³ôÀº ·¹½ºÆ®·±½º
Çɸðµå (LED1, Ãâ·Â)
Çɸðµå (LED2, Ãâ·Â)
½Ã¸®¾ó. ½ÃÀÛ (9600);
}
Void ·çÇÁ ()
{
If (! (digitalRead (¹öÆ°))
{
COUNT = 0;
½Ã¸®¾ó. println ("Á¤Áö Ä«¿îÆ® = 0"),
DigitalWrite (LED1, LOW),
DigitalWrite (LED2, LOW), µðÁöÅÐ ¾²±â
Áö¿¬ (2000);
}
½Ã¸®¾ó. println (Ä«¿îÆ®);
}
/ / -------------------------------------------
Void RoteStateChanged () / /CLK ¶³¾îÁ³À» ¶§ Àбâ DAT
{
DigitalRead (DAT)/date = HIGH IS FORWARD °æ¿ì
{
Ä«¿îÆ®;
DigitalWrite (LED1, ³ôÀ½),
DigitalWrite (LED2, LOW), µðÁöÅÐ ¾²±â
Áö¿¬ (20);
}
DAT = ³·Àº °æ¿ì, ¹é·ÎÆ®
{
Ä«¿îÆ®;
DigitalWrite (LED2, ³ôÀ½),
DigitalWrite (LED1, LOW),
Áö¿¬ (20);
}
}