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 ÊNj ¹

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 ÊNj ¹

segment(Tint); // áÊ´§¤Ò‹ ¢ÍŒ ÁÅÙ Í³Ø ËÀÁÙ µÔ ÇÑ àÅ¢ 4 ËÅ¡Ñ

segment_dot(3); // ãʨ‹ ´Ø ·È¹ÂÔ Á 2 µÒí á˹§‹

if(T>28.0) // µÃǨÊͺÇҋ Í³Ø ËÀÁÙ ·Ô äèÕ ´ÁŒ Ò¡¡Çҋ 28 ͧÈÒà«Åà«ÂÕ ÊËÃÍ× äÁ‹

{

beep_d(0); // ¡Òí à¹´Ô àÊÂÕ §

}

sleep(1000); // ˹Nj §àÇÅÒÊÒí ËÃºÑ ¡ÒÃáÊ´§¼Å

}

}

â»Ãá¡ÃÁ·èÕ A6-3 : ä¿Å TempTest03.c â»Ãá¡ÃÁÀÒÉÒ C ÊíÒËÃѺ¤Çº¤ØÁ¡Ò÷íÒ§Ò¹¢Í§Ãкº
µÃǨÊÍºÍ³Ø ËÀÁÙ µÑ â¹ÁµÑ ÍÔ Âҋ §§Ò‹  ·ÁÕè ¡Õ ÒÃᨧŒ àµÍ× ¹´ÇŒ ÂàÊÂÕ § àÁÍè× Í³Ø ËÀÁÙ ÁÔ ¤Õ ҋ µÃ§¡ºÑ ·¡èÕ Òí ˹´änj
(ÁµÕ ͋ )
   73   74   75   76   77   78   79   80