Page 49 - ipst-sensorlab
P. 49
¤ÁÙ Í× ¡Ò÷´ÅͧáÅÐ㪧 Ò¹µÇÑ µÃǨ¨ºÑ ¢Í§ª´Ø ¡ÅÍ §ÊÁͧ¡Å IPST-MicroBOX l 49
#include // ¼¹Ç¡ä¿Åä źÃÒÃÊÕ Òí ËÃºÑ ¿§ ¡ª ¹èÑ out_d
#include // ¼¹Ç¡ä¿Åä źÃÒÃÊÕ Òí ËÃºÑ ¿§ ¡ª ¹Ñè sleep
#include // ¼¹Ç¡ä¿Åä źÃÒÃÊÕ Òí ËÃºÑ ¿§ ¡ª ¹èÑ beep_d
#include // ¼¹Ç¡ä¿Åä źÃÒÃÊÕ Òí ËÃºÑ ¿§ ¡ª ¹èÑ analog
#include // ¼¹Ç¡ä¿Åä źÃÒÃÊÕ Òí ËÃºÑ ¿§ ¡ª ¹èÑ segment
#define REF 492 // ÁÒâ¤ÃÊÒí ËÃºÑ ¡Òí ˹´¤Ò ·ãÕè ªã ¹¡ÒÃà»ÃÂÕ ºà·ÂÕ ºÇÒ Á¼Õ ºÙ ¡Ø áØ
void main()
{
int ir=0; // ¡Òí ˹´µÇÑ á»ÃÊÒí ËÃºÑ à¡ºç ¤Ò ·äèÕ ´¨ Ò¡¡ÒõÃǨ¨ºÑ áÊ§Í¹Ô ¿ÃÒàô¢Í§ ZX-PHOTO
out_d(1,1); // à»´ LED Í¹Ô ¿ÃÒàô·áèÕ ¼§Ç§¨Ã ZX-IrLED
while(1) // Ż٠ǹÃͺäÁà ¨Ù º
{
ir = analog(4); // ÍÒ ¹¤Ò ¨Ò¡¡ÒõÃǨ¨ºÑ áÊ§Í¹Ô ¿ÃÒàô¢Í§µÇÑ µÃǨ¨ºÑ ZX-PHOTO
segment(ir); // áÊ´§¤Ò ·äÕè ´¨ Ò¡¡ÒõÃǨ¨ºÑ áÊ§Í¹Ô ¿ÃÒàô¢Í§ ZX-PHOTO º¹á¼§Ç§¨Ã DSP-4
if(ir>REF) // µÃǨÊͺÇÒ ¾º¼ºÙ ¡Ø Ã¡Ø ËÃÍ× äÁ
{ while(in_a(1)==1) // µÃǨ¨ºÑ ¡Òá´ÊÇµÔ ª· ¾èÕ Íõ PA1 à¾Íè× »´ ÊÑ Ò³àÊÂÕ §·ÅÕè Òí â¾§à»Â â«
{
beep_d(0); // ʧ àÊÂÕ §á¨§ àµÍ× ¹
sleep(200); // Ë¹Ç §àÇÅÒàǹ ¨§Ñ ËÇСÒâºÑ àÊÂÕ §
}
}
} sleep(200); // Ë¹Ç §àÇÅÒ㹡ÒÃáÊ´§¼Å
}
¤Òí ͸ºÔ ÒÂâ»Ãá¡ÃÁ
¡Ò÷íÒ§Ò¹¨ÐàÃèÔÁµ¹´Ç¡ÒâѺãË LED ÍÔ¹¿ÃÒàô·Õèἧǧ¨Ã ZX-IrLED ʧáʧÍÔ¹¿ÃÒàôÍÍ¡ä»
´Ç ¤Òí ʧÑè out_d(1,1); ¨Ò¡¹¹Ñé ·Òí §Ò¹Ç¹ã¹Å»Ù while(1){} à¾Í×è ÍÒ ¹¤Ò ¨Ò¡¡ÒÃá»Å§ÊÑ Ò³ÍйÒÅ͡໹
´¨Ô µÔ ÍÅ·äèÕ ´¨ Ò¡¾Íõ PA4 «§èÖ ÁÒ¨Ò¡¡Ò÷Òí §Ò¹¢Í§ ZX-PHOTO áÅÇ ¹Òí ä»áÊ´§¼Å·áèÕ ¼§Ç§¨Ã DSP-4
¨Ò¡¹¹Ñé µÃǨÊͺ¤Ò ·äÕè ´Ç Ò ÁÒ¡¡ÇÒ ¤Ò ¢Í§µÇÑ á»Ã REF «§Öè ໹ ¤Ò ÍÒ §Í§Ô ËÃÍ× äÁ ¶Ò ÁÒ¡¡ÇÒ áÊ´§ÇÒ
Á¡Õ Òá´Õ ¡ÇÒ§ÅÒí áÊ§Í¹Ô ¿ÃÒàô «§Öè µ¤Õ ÇÒÁä´Ç Ò à¡´Ô ¡Òú¡Ø Ã¡Ø ¢¹Öé â»Ãá¡ÃÁ¨Ð·Òí ¡Òõͺʹͧà§Íè× ¹ä¢·àÕè »¹
¨Ã§Ô ¹´éÕ Ç Â¡ÒÃʧ ÊÑ Ò³àÊÂÕ §´§Ñ ÍÂÒ §µÍ à¹Íè× §·¡Ø æ 0.2 Ç¹Ô Ò·¨Õ Ò¡¡Ò÷Òí §Ò¹¢Í§Å»Ù while(in_a(1)==1) «§èÖ
¨ÐÁ¡Õ ÒõÃǨÊͺ¡Òá´ÊÇµÔ ª· ¾èÕ Íõ PA1 仾ÃÍ Á¡¹Ñ ´Ç  ¶Ò 处 äÁÁ ¡Õ Òá´ÊÇµÔ ª ÊÑ Ò³àÊÂÕ §¨Ð´§Ñ µÍ
à¹Í×è § àÁÍ×è Á¡Õ Òá´ÊÇµÔ ª· ¾Õè Íõ PA1 ¢¹Öé ¨Ð·Òí ãËâ »Ãá¡ÃÁËÅ´Ø ¨Ò¡Å»Ù ´§Ñ ¡ÅÒ Ç¡ÅºÑ ä»àÃÁèÔ µ¹ ·Òí §Ò¹ãËÁ
â»Ãá¡ÃÁ·èÕ A4-2 : ä¿Å InfraredTest02.c â»Ãá¡ÃÁÀÒÉÒ C ÊÒí ËÃºÑ ·´Êͺ¡ÒÃ㪧 ҹἧǧ¨Ã ZX-
PHOTO áÅÐ ZX-IrLED ÊÃÒ §Ãкº¡ÒÃᨧ àµÍ× ¹¼ºÙ ¡Ø Ã¡Ø ÍÂÒ §§Ò Â
#include
#include
#include
#include
#include
#define REF 492 // ÁÒâ¤ÃÊÒí ËÃºÑ ¡Òí ˹´¤Ò ·ãÕè ªã ¹¡ÒÃà»ÃÂÕ ºà·ÂÕ ºÇÒ Á¼Õ ºÙ ¡Ø áØ
void main()
{
int ir=0; // ¡Òí ˹´µÇÑ á»ÃÊÒí ËÃºÑ à¡ºç ¤Ò ·äèÕ ´¨ Ò¡¡ÒõÃǨ¨ºÑ áÊ§Í¹Ô ¿ÃÒàô¢Í§ ZX-PHOTO
out_d(1,1); // à»´ LED Í¹Ô ¿ÃÒàô·áèÕ ¼§Ç§¨Ã ZX-IrLED
while(1) // Ż٠ǹÃͺäÁà ¨Ù º
{
ir = analog(4); // ÍÒ ¹¤Ò ¨Ò¡¡ÒõÃǨ¨ºÑ áÊ§Í¹Ô ¿ÃÒàô¢Í§µÇÑ µÃǨ¨ºÑ ZX-PHOTO
segment(ir); // áÊ´§¤Ò ·äÕè ´¨ Ò¡¡ÒõÃǨ¨ºÑ áÊ§Í¹Ô ¿ÃÒàô¢Í§ ZX-PHOTO º¹á¼§Ç§¨Ã DSP-4
if(ir>REF) // µÃǨÊͺÇÒ ¾º¼ºÙ ¡Ø Ã¡Ø ËÃÍ× äÁ
{ while(in_a(1)==1) // µÃǨ¨ºÑ ¡Òá´ÊÇµÔ ª· ¾èÕ Íõ PA1 à¾Íè× »´ ÊÑ Ò³àÊÂÕ §·ÅÕè Òí â¾§à»Â â«
{
beep_d(0); // ʧ àÊÂÕ §á¨§ àµÍ× ¹
sleep(200); // Ë¹Ç §àÇÅÒàǹ ¨§Ñ ËÇСÒâºÑ àÊÂÕ §
}
}
} sleep(200); // Ë¹Ç §àÇÅÒ㹡ÒÃáÊ´§¼Å
}
¤Òí ͸ºÔ ÒÂâ»Ãá¡ÃÁ
¡Ò÷íÒ§Ò¹¨ÐàÃèÔÁµ¹´Ç¡ÒâѺãË LED ÍÔ¹¿ÃÒàô·Õèἧǧ¨Ã ZX-IrLED ʧáʧÍÔ¹¿ÃÒàôÍÍ¡ä»
´Ç ¤Òí ʧÑè out_d(1,1); ¨Ò¡¹¹Ñé ·Òí §Ò¹Ç¹ã¹Å»Ù while(1){} à¾Í×è ÍÒ ¹¤Ò ¨Ò¡¡ÒÃá»Å§ÊÑ Ò³ÍйÒÅ͡໹
´¨Ô µÔ ÍÅ·äèÕ ´¨ Ò¡¾Íõ PA4 «§èÖ ÁÒ¨Ò¡¡Ò÷Òí §Ò¹¢Í§ ZX-PHOTO áÅÇ ¹Òí ä»áÊ´§¼Å·áèÕ ¼§Ç§¨Ã DSP-4
¨Ò¡¹¹Ñé µÃǨÊͺ¤Ò ·äÕè ´Ç Ò ÁÒ¡¡ÇÒ ¤Ò ¢Í§µÇÑ á»Ã REF «§Öè ໹ ¤Ò ÍÒ §Í§Ô ËÃÍ× äÁ ¶Ò ÁÒ¡¡ÇÒ áÊ´§ÇÒ
Á¡Õ Òá´Õ ¡ÇÒ§ÅÒí áÊ§Í¹Ô ¿ÃÒàô «§Öè µ¤Õ ÇÒÁä´Ç Ò à¡´Ô ¡Òú¡Ø Ã¡Ø ¢¹Öé â»Ãá¡ÃÁ¨Ð·Òí ¡Òõͺʹͧà§Íè× ¹ä¢·àÕè »¹
¨Ã§Ô ¹´éÕ Ç Â¡ÒÃʧ ÊÑ Ò³àÊÂÕ §´§Ñ ÍÂÒ §µÍ à¹Íè× §·¡Ø æ 0.2 Ç¹Ô Ò·¨Õ Ò¡¡Ò÷Òí §Ò¹¢Í§Å»Ù while(in_a(1)==1) «§èÖ
¨ÐÁ¡Õ ÒõÃǨÊͺ¡Òá´ÊÇµÔ ª· ¾èÕ Íõ PA1 仾ÃÍ Á¡¹Ñ ´Ç  ¶Ò 处 äÁÁ ¡Õ Òá´ÊÇµÔ ª ÊÑ Ò³àÊÂÕ §¨Ð´§Ñ µÍ
à¹Í×è § àÁÍ×è Á¡Õ Òá´ÊÇµÔ ª· ¾Õè Íõ PA1 ¢¹Öé ¨Ð·Òí ãËâ »Ãá¡ÃÁËÅ´Ø ¨Ò¡Å»Ù ´§Ñ ¡ÅÒ Ç¡ÅºÑ ä»àÃÁèÔ µ¹ ·Òí §Ò¹ãËÁ
â»Ãá¡ÃÁ·èÕ A4-2 : ä¿Å InfraredTest02.c â»Ãá¡ÃÁÀÒÉÒ C ÊÒí ËÃºÑ ·´Êͺ¡ÒÃ㪧 ҹἧǧ¨Ã ZX-
PHOTO áÅÐ ZX-IrLED ÊÃÒ §Ãкº¡ÒÃᨧ àµÍ× ¹¼ºÙ ¡Ø Ã¡Ø ÍÂÒ §§Ò Â