Page 78 - ipst-sensorlab
P. 78
l ¤ÁÙ Í× ¡Ò÷´ÅͧáÅÐ㪧 Ò¹µÇÑ µÃǨ¨ºÑ ¢Í§ª´Ø ¡ÅÍ §ÊÁͧ¡Å IPST-MicroBOX
#include // ¼¹Ç¡ä¿Åä źÃÒÃÊÕ Òí ËÃºÑ ¿§ ¡ª ¹èÑ sleep
#include // ¼¹Ç¡ä¿Åä źÃÒÃÊÕ Òí ËÃºÑ ¿§ ¡ª ¹Ñè beep_d
#include // ¼¹Ç¡ä¿Åä źÃÒÃÊÕ Òí ËÃºÑ ¿§ ¡ª ¹èÑ analog
#include // ¼¹Ç¡ä¿Åä źÃÒÃÊÕ Òí ËÃºÑ ¿§ ¡ª ¹Ñè segment
#include // ¼¹Ç¡ä¿Åä źÃÒÃÊÕ Òí ËÃºÑ ¿§ ¡ª ¹èÑ log10
void main()
{
float A = 0.0; // ¡Òí ˹´µÇÑ á»Ãà¡ºç ¤Ò ¢Í ÁÅÙ Í³Ø ËÀÁÙ ¨Ô Ò¡ ZX-THERMISTOR
float T = 0.0; // ¡Òí ˹´µÇÑ á»Ãà¡ºç ¤Ò Í³Ø ËÀÁÙ ¨Ô Ò¡¡ÒäÒí ¹Ç³(ẺàÅ¢·È¹ÂÔ Á)
float k = 0.0; // ¡Òí ˹´µÇÑ á»ÃÊÒí ËÃºÑ ¡Òí ˹´¤Ò ª´àªÂ
int Tint= 0; // ¡Òí ˹´µÇÑ á»Ãà¡ºç ¤Ò Í³Ø ËÀÁÙ Ô 100 à·Ò ¢Í§¤Ò Í³Ø ËÀÁÙ ¨Ô çÔ
// à¹Íè× §¨Ò¡µÍ §¡ÒÃáÊ´§àÅ¢ 4 ËÅ¡Ñ ·èÕ LED 7 ÊÇ ¹
while(1) // Ż٠ǹÃͺäÁà ¨Ù º
{
A = (float)analog(0); // ÍÒ ¹¤Ò ¢Í ÁÅÙ Í³Ø ËÀÁÙ ¨Ô Ò¡ ZX-THERMISTOR
T = k + 75-((50.0)*log10((10.0*A)/(1024.0-A))); // á»Å§¤Ò Í³Ø ËÀÁÙ Ô
Tint = (int)(T*100.0); // á»Å§¤Ò Í³Ø ËÀÁÙ ãÔ ËÁ ¢Õ ¹Ò´ 100 à·Ò áÅÐ
// ໹ ¤Ò àÅ¢¨Òí ¹Ç¹àµÁç à¾Íè× áÊ´§¼Å·èÕ LED µÇÑ àÅ¢ 7 ÊÇ ¹
segment(Tint); // áÊ´§¤Ò ¢Í ÁÅÙ Í³Ø ËÀÁÙ µÔ ÇÑ àÅ¢ 4 ËÅ¡Ñ
segment_dot(3); // ãʨ ´Ø ·È¹ÂÔ Á 2 µÒí á˹§
if(T>28.0) // µÃǨÊͺÇÒ Í³Ø ËÀÁÙ ·Ô äèÕ ´Á Ò¡¡ÇÒ 28 ͧÈÒà«Åà«ÂÕ ÊËÃÍ× äÁ
{
beep_d(0); // ¡Òí à¹´Ô àÊÂÕ §
}
sleep(1000); // Ë¹Ç §àÇÅÒÊÒí ËÃºÑ ¡ÒÃáÊ´§¼Å
}
}
â»Ãá¡ÃÁ·èÕ A6-3 : ä¿Å TempTest03.c â»Ãá¡ÃÁÀÒÉÒ C ÊíÒËÃѺ¤Çº¤ØÁ¡Ò÷íÒ§Ò¹¢Í§Ãкº
µÃǨÊÍºÍ³Ø ËÀÁÙ µÑ â¹ÁµÑ ÍÔ ÂÒ §§Ò  ·ÁÕè ¡Õ ÒÃᨧ àµÍ× ¹´Ç ÂàÊÂÕ § àÁÍè× Í³Ø ËÀÁÙ ÁÔ ¤Õ Ò µÃ§¡ºÑ ·¡èÕ Òí ˹´äÇ
(ÁµÕ Í )
#include
#include
#include
#include
#include
void main()
{
float A = 0.0; // ¡Òí ˹´µÇÑ á»Ãà¡ºç ¤Ò ¢Í ÁÅÙ Í³Ø ËÀÁÙ ¨Ô Ò¡ ZX-THERMISTOR
float T = 0.0; // ¡Òí ˹´µÇÑ á»Ãà¡ºç ¤Ò Í³Ø ËÀÁÙ ¨Ô Ò¡¡ÒäÒí ¹Ç³(ẺàÅ¢·È¹ÂÔ Á)
float k = 0.0; // ¡Òí ˹´µÇÑ á»ÃÊÒí ËÃºÑ ¡Òí ˹´¤Ò ª´àªÂ
int Tint= 0; // ¡Òí ˹´µÇÑ á»Ãà¡ºç ¤Ò Í³Ø ËÀÁÙ Ô 100 à·Ò ¢Í§¤Ò Í³Ø ËÀÁÙ ¨Ô çÔ
// à¹Íè× §¨Ò¡µÍ §¡ÒÃáÊ´§àÅ¢ 4 ËÅ¡Ñ ·èÕ LED 7 ÊÇ ¹
while(1) // Ż٠ǹÃͺäÁà ¨Ù º
{
A = (float)analog(0); // ÍÒ ¹¤Ò ¢Í ÁÅÙ Í³Ø ËÀÁÙ ¨Ô Ò¡ ZX-THERMISTOR
T = k + 75-((50.0)*log10((10.0*A)/(1024.0-A))); // á»Å§¤Ò Í³Ø ËÀÁÙ Ô
Tint = (int)(T*100.0); // á»Å§¤Ò Í³Ø ËÀÁÙ ãÔ ËÁ ¢Õ ¹Ò´ 100 à·Ò áÅÐ
// ໹ ¤Ò àÅ¢¨Òí ¹Ç¹àµÁç à¾Íè× áÊ´§¼Å·èÕ LED µÇÑ àÅ¢ 7 ÊÇ ¹
segment(Tint); // áÊ´§¤Ò ¢Í ÁÅÙ Í³Ø ËÀÁÙ µÔ ÇÑ àÅ¢ 4 ËÅ¡Ñ
segment_dot(3); // ãʨ ´Ø ·È¹ÂÔ Á 2 µÒí á˹§
if(T>28.0) // µÃǨÊͺÇÒ Í³Ø ËÀÁÙ ·Ô äèÕ ´Á Ò¡¡ÇÒ 28 ͧÈÒà«Åà«ÂÕ ÊËÃÍ× äÁ
{
beep_d(0); // ¡Òí à¹´Ô àÊÂÕ §
}
sleep(1000); // Ë¹Ç §àÇÅÒÊÒí ËÃºÑ ¡ÒÃáÊ´§¼Å
}
}
â»Ãá¡ÃÁ·èÕ A6-3 : ä¿Å TempTest03.c â»Ãá¡ÃÁÀÒÉÒ C ÊíÒËÃѺ¤Çº¤ØÁ¡Ò÷íÒ§Ò¹¢Í§Ãкº
µÃǨÊÍºÍ³Ø ËÀÁÙ µÑ â¹ÁµÑ ÍÔ ÂÒ §§Ò  ·ÁÕè ¡Õ ÒÃᨧ àµÍ× ¹´Ç ÂàÊÂÕ § àÁÍè× Í³Ø ËÀÁÙ ÁÔ ¤Õ Ò µÃ§¡ºÑ ·¡èÕ Òí ˹´äÇ
(ÁµÕ Í )