Page 36 - ipst-actuatorlab
P. 36
l ¤ÁÙ Í× ¡Ò÷´Åͧ¢ºÑ âËÅ´¡ÃÐáÊʧ٠¢Í§ª´Ø ¡ÅÍ §ÊÁͧ¡Å IPST-MicroBOX
{ // ÊÇµÔ ª PA1 ¶¡Ù ¡´
sleep(200); // Ë¹Ç §àÇÅÒ 0.2 Ç¹Ô Ò·Õ à¾Íè× Å´¼Å¡Ãзº¨Ò¡ÊÑ Ò³Ãº¡Ç¹·ËÕè ¹Ò ÊÁÑ ¼ÊÑ ÊÇµÔ ª
power++; // à¾ÁÔè ¤Ò ¡Òí Å§Ñ ¢ºÑ
if(power>100) // µÃǨÊͺÇÒ ¤Ò ¡Òí Å§Ñ ¢ºÑ ÁÍàµÍÃà ¡¹Ô 100 ËÃÍ× äÁ
{
power = 0; // ¡Òí ˹´¡Òí Å§Ñ ¢ºÑ ÁÒàÃÁèÔ µ¹ ·èÕ 0 ãËÁÍ ¡Õ ¤Ã§Ñé àÁÍ×è ¤Ò ¡Òí Å§Ñ ¢ºÑ à¡¹Ô 100
}
// µÃǨÊͺ¡Òá´ÊÇµÔ ª PA3
}
if(in_a(3)==0) // ¶Ò ÊÇµÔ ª· ¾Õè Íõ PA3 ¶¡Ù ¡´ Ë¹Ç §àÇÅÒ 0.2 Ç¹Ô Ò·Õ
{ // à¾Íè× Å´¼Å¡Ãзº¨Ò¡ÊÑ Ò³Ãº¡Ç¹·ËèÕ ¹Ò ÊÁÑ ¼ÊÑ ÊÇµÔ ª
// ¡ÅºÑ ¤Ò ·ÈÔ ·Ò§¡ÒâºÑ ÁÍàµÍÃ
sleep(200);
dir = dir*(-1);
}
}
}
¤Òí ͸ºÔ ÒÂâ»Ãá¡ÃÁ
â»Ãá¡ÃÁ·Òí §Ò¹ã¹Å»Ù while(1){} à¾Íè× Ç¹áÊ´§¼Å¢Í§¤Ò ¡Òí Å§Ñ ¢ºÑ ÁÍàµÍè Ò¡µÇÑ á»Ã power º¹ LED
µÇÑ àÅ¢ 7 ÊÇ ¹¢Í§á¼§Ç§¨Ã DSP-4 «§èÖ Á¤Õ Ò àÃÁèÔ µ¹ ໹ 0 ÁÍàµÍÃä ¿µÃ§¨Ð¶¡Ù ¢ºÑ ´Ç Â¤Ò ¢Í§¡Òí Å§Ñ ¢ºÑ ·äÕè ´¨ Ò¡
¡ÒäÒí ¹Ç³¼Å¤³Ù ÃÐËÇÒ §µÇÑ á»Ã power áÅÐ dir ¨Ò¡¹¹Ñé ÍÒ ¹¤Ò Í¹Ô ¾µØ ¨Ò¡¡Òá´ÊÇµÔ ª· ¾Õè Íõ PA1 áÅÐ
PA3 ¶Ò äÁ¡ ´ÊÇµÔ ª ¨ÐÍÒ ¹¤Ò ä´à »¹ 1 áÅÐàÁÍè× ¡´ÊÇµÔ ª¨ ÐÍÒ ¹¤Ò ä´à »¹ 0
àÁÍè× ÊÇµÔ ª· §Ñé 2 µÇÑ ¶¡Ù ¡´ ¨Ðã˼ Å¡Ò÷Òí §Ò¹´§Ñ ¹éÕ
1. àÁ×è͵ÃǨÊͺ¾ºÇÒ ÊÇÔµª·èÕ¾Íõ PA1 ¶Ù¡¡´ËÅѧ¨Ò¡¡ÒÃ˹ǧàÇÅÒà¾×èÍÅ´ÊÑÒ³
ú¡Ç¹¢Í§Ë¹Ò ÊÁÑ ¼ÊÑ ÊÇµÔ ªá ÅÇ ¨Ðà¾ÁèÔ ¤Ò µÇÑ á»Ã power ÊÒí ËÃºÑ à¡ºç ¤Ò ¡Òí Å§Ñ ¢ºÑ ÁÍàµÍâ ¹Öé 1 ¤Ò â´Â¨ÐµÃǨ
ÊͺµÍ ä»´Ç ÂÇÒ ¤Ò ¢Í§µÇÑ á»Ã power à¡¹Ô 100 ËÃÍ× äÁ ¶Ò à¡¹Ô ¨Ð¡Òí ˹´ãË¡ ÅºÑ ä»àÃÁÔè µ¹ ¡Òí Å§Ñ ¢ºÑ ·Õè 0 ãËÁ
Í¡Õ ¤Ã§Ñé
2. àÁ×è͵ÃǨÊͺ¾ºÇÒ ÊÇÔµª·èÕ¾Íõ PA3 ¶Ù¡¡´ËÅѧ¨Ò¡¡ÒÃ˹ǧàÇÅÒà¾è×ÍÅ´ÊÑÒ³
ú¡Ç¹¢Í§Ë¹Ò ÊÁÑ ¼ÊÑ ÊÇµÔ ªá ÅÇ ¨Ð¡ÅºÑ ¤Ò ·ÈÔ ·Ò§ã¹¡ÒâºÑ ÁÍàµÍÃ⠴¡ÒùÒí ¤Ò µÇÑ á»Ã dir ¤³Ù ¡ºÑ ¤Ò -1 áÅÇ
à¡ºç ¡ÅºÑ ä»Â§Ñ µÇÑ á»Ã dir હ à´ÁÔ ·Òí ã˵ ÇÑ á»ÃÊÅºÑ ¨Ò¡¡ÒÃà»ÅÂèÕ ¹¤Ò ä»ÁÒÃÐËÇÒ § 1 ¡ºÑ -1 ·¡Ø ¤Ã§éÑ ·ÁÕè ¡Õ ÒÃ
¡´ÊÇµÔ ª· ¾Õè Íõ PA3 â´Â¨Ðʧ ¼ÅµÍ ºÃ÷´Ñ ¤Òí ʧÑè motor(1,power*dir);
â»Ãá¡ÃÁ·Õè B2-2 : ä¿Å MotorTest02.c â»Ãá¡ÃÁÀÒÉÒ C ÊÒí ËÃºÑ ¤Çº¤ÁØ ¤ÇÒÁàÃÇç áÅзÈÔ ·Ò§¡ÒÃËÁ¹Ø
¢Í§ÁÍàµÍô Ç ÂÊÇµÔ ª (¨º)
{ // ÊÇµÔ ª PA1 ¶¡Ù ¡´
sleep(200); // Ë¹Ç §àÇÅÒ 0.2 Ç¹Ô Ò·Õ à¾Íè× Å´¼Å¡Ãзº¨Ò¡ÊÑ Ò³Ãº¡Ç¹·ËÕè ¹Ò ÊÁÑ ¼ÊÑ ÊÇµÔ ª
power++; // à¾ÁÔè ¤Ò ¡Òí Å§Ñ ¢ºÑ
if(power>100) // µÃǨÊͺÇÒ ¤Ò ¡Òí Å§Ñ ¢ºÑ ÁÍàµÍÃà ¡¹Ô 100 ËÃÍ× äÁ
{
power = 0; // ¡Òí ˹´¡Òí Å§Ñ ¢ºÑ ÁÒàÃÁèÔ µ¹ ·èÕ 0 ãËÁÍ ¡Õ ¤Ã§Ñé àÁÍ×è ¤Ò ¡Òí Å§Ñ ¢ºÑ à¡¹Ô 100
}
// µÃǨÊͺ¡Òá´ÊÇµÔ ª PA3
}
if(in_a(3)==0) // ¶Ò ÊÇµÔ ª· ¾Õè Íõ PA3 ¶¡Ù ¡´ Ë¹Ç §àÇÅÒ 0.2 Ç¹Ô Ò·Õ
{ // à¾Íè× Å´¼Å¡Ãзº¨Ò¡ÊÑ Ò³Ãº¡Ç¹·ËèÕ ¹Ò ÊÁÑ ¼ÊÑ ÊÇµÔ ª
// ¡ÅºÑ ¤Ò ·ÈÔ ·Ò§¡ÒâºÑ ÁÍàµÍÃ
sleep(200);
dir = dir*(-1);
}
}
}
¤Òí ͸ºÔ ÒÂâ»Ãá¡ÃÁ
â»Ãá¡ÃÁ·Òí §Ò¹ã¹Å»Ù while(1){} à¾Íè× Ç¹áÊ´§¼Å¢Í§¤Ò ¡Òí Å§Ñ ¢ºÑ ÁÍàµÍè Ò¡µÇÑ á»Ã power º¹ LED
µÇÑ àÅ¢ 7 ÊÇ ¹¢Í§á¼§Ç§¨Ã DSP-4 «§èÖ Á¤Õ Ò àÃÁèÔ µ¹ ໹ 0 ÁÍàµÍÃä ¿µÃ§¨Ð¶¡Ù ¢ºÑ ´Ç Â¤Ò ¢Í§¡Òí Å§Ñ ¢ºÑ ·äÕè ´¨ Ò¡
¡ÒäÒí ¹Ç³¼Å¤³Ù ÃÐËÇÒ §µÇÑ á»Ã power áÅÐ dir ¨Ò¡¹¹Ñé ÍÒ ¹¤Ò Í¹Ô ¾µØ ¨Ò¡¡Òá´ÊÇµÔ ª· ¾Õè Íõ PA1 áÅÐ
PA3 ¶Ò äÁ¡ ´ÊÇµÔ ª ¨ÐÍÒ ¹¤Ò ä´à »¹ 1 áÅÐàÁÍè× ¡´ÊÇµÔ ª¨ ÐÍÒ ¹¤Ò ä´à »¹ 0
àÁÍè× ÊÇµÔ ª· §Ñé 2 µÇÑ ¶¡Ù ¡´ ¨Ðã˼ Å¡Ò÷Òí §Ò¹´§Ñ ¹éÕ
1. àÁ×è͵ÃǨÊͺ¾ºÇÒ ÊÇÔµª·èÕ¾Íõ PA1 ¶Ù¡¡´ËÅѧ¨Ò¡¡ÒÃ˹ǧàÇÅÒà¾×èÍÅ´ÊÑÒ³
ú¡Ç¹¢Í§Ë¹Ò ÊÁÑ ¼ÊÑ ÊÇµÔ ªá ÅÇ ¨Ðà¾ÁèÔ ¤Ò µÇÑ á»Ã power ÊÒí ËÃºÑ à¡ºç ¤Ò ¡Òí Å§Ñ ¢ºÑ ÁÍàµÍâ ¹Öé 1 ¤Ò â´Â¨ÐµÃǨ
ÊͺµÍ ä»´Ç ÂÇÒ ¤Ò ¢Í§µÇÑ á»Ã power à¡¹Ô 100 ËÃÍ× äÁ ¶Ò à¡¹Ô ¨Ð¡Òí ˹´ãË¡ ÅºÑ ä»àÃÁÔè µ¹ ¡Òí Å§Ñ ¢ºÑ ·Õè 0 ãËÁ
Í¡Õ ¤Ã§Ñé
2. àÁ×è͵ÃǨÊͺ¾ºÇÒ ÊÇÔµª·èÕ¾Íõ PA3 ¶Ù¡¡´ËÅѧ¨Ò¡¡ÒÃ˹ǧàÇÅÒà¾è×ÍÅ´ÊÑÒ³
ú¡Ç¹¢Í§Ë¹Ò ÊÁÑ ¼ÊÑ ÊÇµÔ ªá ÅÇ ¨Ð¡ÅºÑ ¤Ò ·ÈÔ ·Ò§ã¹¡ÒâºÑ ÁÍàµÍÃ⠴¡ÒùÒí ¤Ò µÇÑ á»Ã dir ¤³Ù ¡ºÑ ¤Ò -1 áÅÇ
à¡ºç ¡ÅºÑ ä»Â§Ñ µÇÑ á»Ã dir હ à´ÁÔ ·Òí ã˵ ÇÑ á»ÃÊÅºÑ ¨Ò¡¡ÒÃà»ÅÂèÕ ¹¤Ò ä»ÁÒÃÐËÇÒ § 1 ¡ºÑ -1 ·¡Ø ¤Ã§éÑ ·ÁÕè ¡Õ ÒÃ
¡´ÊÇµÔ ª· ¾Õè Íõ PA3 â´Â¨Ðʧ ¼ÅµÍ ºÃ÷´Ñ ¤Òí ʧÑè motor(1,power*dir);
â»Ãá¡ÃÁ·Õè B2-2 : ä¿Å MotorTest02.c â»Ãá¡ÃÁÀÒÉÒ C ÊÒí ËÃºÑ ¤Çº¤ÁØ ¤ÇÒÁàÃÇç áÅзÈÔ ·Ò§¡ÒÃËÁ¹Ø
¢Í§ÁÍàµÍô Ç ÂÊÇµÔ ª (¨º)