SHT11 âÁ´ÙÅÇÑ´¤ÇÒÁª×¹é áÅÐÍسËÀÙÁ Ô l 1
SHT-11 âÁ´ÙÅÇÑ´¤ÇÒÁª×¹é ÊÑÁ¾Ñ·¸ áÅÐÍسËÀÙÁÔ 1. ¤Ø³ÊÁºÑµ¢Ô ͧâÁ´ÙÅ SHT11
à» ¹âÁ´ÙÅÇÑ´¤ÇÒÁª×¹é ÊÑÁ¾Ñ·¸ áÅÐÍسËÀÙÁ¨Ô Ò¡ Sensirion (www.sensirion.com) ÁÕ¢¹Ò´àÅç¡ áÅÐà¾×èͤÇÒÁÊдǡ㹡ÒÃ㪠§Ò¹¨Ö§ä´ µÔ´µÑé§Å§º¹á¼ ¹Ç§¨Ã¾ÔÁ¾ áÅе ͤ͹à¹ç¡àµÍà 8 ¢Ò à¾×èÍ ãË ÊÒÁÒöµÔ´µÑé§Å§º¹á¼§µ Íǧ¨ÃËÃ×ÍàºÃ´ºÍà ´à¾×èÍ·íÒ¡Ò÷´ÅÍ§ä´ § Ò ÃÇÁ件֧¡ÒùíÒä» »ÃÐÂØ¡µ 㪠§Ò¹¨ÃÔ§´ Ç ã¹ÃÙ»·Õè 1 áÊ´§Ãٻà ҧ¢Í§âÁ´ÙÅ SHT11 ¡ÒèѴ¢Ò áÅСÒõ Í㪠§Ò¹ Ê Ç¹ ¤Ø³ÊÁºÑµÔ·Ò§à·¤¹Ô¤·ÕèÊíÒ¤ÑÁմѧ¹Õé l ·íÒ˹ Ò·Õèà» ¹·Ñ駵ÑÇÇÑ´¤ÇÒÁª×é¹áÅÐÍسËÀÙÁÔÀÒÂãµ µÑǶѧà´ÕÂǡѹ l ÊÒÁÒö¡íÒ˹´¤ÇÒÁÅÐàÍÕ´¢Í§Â Ò¹¡ÒÃÇÑ´ä´ l ÁÕ¢¹Ò´àÅç¡áÅСԹ¾Åѧ§Ò¹µèÒí ·íÒ§Ò¹ã¹Â Ò¹áç´Ñ¹ä¿àÅÕÂ é § +2.4 ¶Ö§ +5.5V l àʶÕÂÃÀҾ㹡Ò÷íÒ§Ò¹ÊÙ§
2. ¢ÒÊÑÒ³ÊíÒËÃѺÊ×Íè ÊÒâ ÍÁÙŢͧâÁ´ÙÅ SHT11 2.1 ¢ÒÊÑÒ³¹ÒÌ ¡Ò (SCK)
·íÒ˹ Ò·ÕèÃѺÊÑÒ³¹ÒÌ ¡Òà¾×èÍ¡íÒ˹´¨Ñ§ËÇÐ㹡ÒÃÊ×èÍÊÒâ ÍÁÙÅ
2.2 ¢ÒÊÑÒ³ÃѺ/Ê §¢ ÍÁÙÅ (DATA)
à» ¹¢ÒÊÑÒ³ÃѺ/Ê §¢ ÍÁÙŠ㹡ÒÃ㪠§Ò¹¤Çõ ͵Ñǵ Ò¹·Ò¹ 4.7kΩ ¶Ö§ 10kΩ ¾ÙÅÍÑ»·Õè¢Ò +V (2.4V~5V)
¢Ò 1 DATA 1
330
4.7k
R1 4k7
8 +5V
ÍØ»¡Ã³ ÁÒÊàµÍà (äÁâ¤Ã¤Í¹â·ÃÅàÅÍà )
R2 4k7
8 1
CLOCK 3
6
DATA 506 CLK
GND 4
5
4
2
SHT11
7
ÃÙ»·Õè 1 Ãٻà ҧ¢Í§âÁ´ÙÅ SHT11, ¡ÒèѴ¢Ò áÅСÒõ Í㪠§Ò¹
3
2 l
SHT11 âÁ´ÙÅÇÑ´¤ÇÒÁª×¹é áÅÐÍسËÀÙÁÔ
¹Õé
3. ÃٻẺ¡ÒÃÊ×Íè ÊÒâ ÍÁÙŢͧ SHT11 3.1 ¡ÒÃÊ §¤íÒÊѧè (Sending a Command)
ã¹ÊÀÒÇÐàÃÔèÁµ ¹¡ ͹¡ÒÃÊ §¢ ÍÁÙŤíÒÊÑ觨ҡäÁâ¤Ã¤Í¹â·ÃÅàÅÍà ä»Âѧ SHT11 ¨íÒà» ¹¨Ð µ ͧÊà ҧÃٻẺÊÑÒ³¡Ãеع ¼ Ò¹¢ÒÊÑÒ³ SCK áÅÐ DATA à¾×Íè ãË µÃ§¡Ñºà§×Íè ¹ä¢·Õàè ÃÕÂ¡Ç Ò Transmission start ËÃ×ÍÀÒÇÐàÃÔÁè Ê §ÊÑÒ³ ¹Ñ¹è ¤×Í¢Ò DATA µ ͧ¶Ù¡·íÒãË à» ¹Åͨԡ 0 ¹Ò¹Í ҧ ¹ Í 1 ä«à¡ÔŢͧÊÑÒ³¹ÒÌ ¡Ò SCK ËÅѧ¨Ò¡¹Õé SHT11 ¨Ð·Ã񼊫 ·Ñ¹·ÕÇ Ò ¢ ÍÁÙŵ ͨҡ¹Õé¤×Í ¤íÒÊÑè§ DATA SCK
ËÅѧ¨Ò¡Êà ҧà§×Íè ¹ä¢ Transmission start áÅ Ç ÊÒÁÒÃ¶Ê §¤íÒÊѧè ä»Âѧ SHT11 à¾×Íè ¡íÒ˹´¡Òà ·íÒ§Ò¹ä´ ·Ñ¹·Õ â´Â¢ ÍÁÙŤíÒÊÑ觵 Ò§æ ÊíÒËÃѺ¡Ò÷íÒ§Ò¹áÊ´§µÒÁµÒÃÒ§·Õè 1
¤íÒÊѧè
¢ ÍÁÙŤíÒÊѧè
ʧǹäÇ
0000x
Í Ò¹¤ ÒÍسËÀÙÁÔ (Measure Temperature)
00011
Í Ò¹¤ Ò¤ÇÒÁª×¹é ÊÑÁ¾Ñ·¸ (Measure Humidity)
00101
Í Ò¹¤ ÒÃÕ¨ÊÔ àµÍà ¡Òí ˹´Ê¶Ò¹Ð (Read Status Register)
00111
ʧǹäÇ
0101x ¶Ö§ 1110x
ÃÕ૵¡Ò÷íÒ§Ò¹(Soft reset) ·íÒãË Ã¨Õ ÊÔ àµÍà ¡Òí ˹´Ê¶Ò¹Ð¡ÅѺä»ÊÙ¤ Ò default áÅе ͧ㪠àÇÅÒ㹡Ò÷íҧҹ͠ҧ¹ Í 11 ÁÔÅÅÔÇ¹Ô Ò·Õ ¨Ö§¨ÐÊÒÁÒöÃѺ¤íÒÊÑ§è ¶Ñ´ä»ä´
11110
µÒÃÒ§·Õè 1 ÃÒÂÅÐàÍÕ´¤íÒÊѧè áÅТ ÍÁÙŤíÒÊѧè ÊíÒËÃѺ¤Çº¤ØÁ¡Ò÷íÒ§Ò¹¢Í§âÁ´ÙÅ SHT11
SHT11 âÁ´ÙÅÇÑ´¤ÇÒÁª×¹é áÅÐÍسËÀÙÁ Ô l 3
3.2 ÃÕ૵¡ÒÃàª×Íè Áµ Í (Connection reset sequence) àÁ×è͵ ͧ¡ÒÃàÃÔèÁµ ¹¡ÒÃàª×èÍÁµ ÍÃÐËÇ Ò§äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ÑºâÁ´ÙÅ SHT11 µ ͧÊà ҧ ÊÑÒ³ÃÕ૵¢Ö¹é ¡ ͹ â´Â·íÒãË ¢Ò DATA ÁÕʶҹÐÅͨԡ 1 ¹Ò¹à· ҡѺª ǧàÇÅÒ·Õ»è Í ¹ÊÑÒ³ ¹ÒÌ ¡Ò··Õè¢Ò SCK 9 ÅÙ¡µÔ´µ ͡ѹ áŠǵÒÁ´ Ç¡ÒÃÊà ҧÀÒÇÐàÃÔèÁµ ¹¡ÒÃÊ §ÊÑÒ³ ÀÒÇÐàÃÔÁè Ê §ÊÑÒ³ DATA SCK
!
"
#
$
%
&
'
3.3 ¢Ñ¹é µÍ¹¡ÒÃÍ Ò¹ÍسËÀÙÁáÔ ÅФÇÒÁª×¹é ÊÑÁ¾Ñ·¸ ¡ÒÃÍ Ò¹¢ ÍÁÙÅ´Ôº¢Í§ÍسËÀÙÁËÔ Ã×ͤÇÒÁª×¹é ÊÑÁ¾Ñ·¸ ¹¹Ñé ·íÒä´ ÀÒÂËÅѧ¨Ò¡Êà ҧÊÀÒÇÐàÃÔÁè µ ¹ ·Õàè ÃÕÂ¡Ç Ò Transmission start áÅ Ç µÒÁ´ Ç¡ÒÃÊ §¢ ÍÁÙŤíÒÊѧè Í Ò¹ÍسËÀÙÁËÔ Ã×ͤÇÒÁª×¹é ÊÑÁ¾Ñ·¸ Í ҧ ã´Í ҧ˹֧è ä»Âѧ SHT11 âÁ´ÙÅ SHT11 µ ͧ㪠àÇÅÒ㹡ÒûÃÐÁÇżÅà¾×Íè ãË ä´ ¼ÅÅѾ¸ ·µÕè Í §¡Òà «Ö觨Ð㪠àÇÅÒÁÒ¡ËÃ×͹ Í¢Öé¹ÍÂÙ ¡Ñº¤ÇÒÁÅÐàÍÕ´¢Í§¢ ÍÁÙÅ·Õèµ Í§¡ÒôѧáÊ´§ã¹µÒÃÒ§·Õè 2 ã¹ÃÙ»·Õè 2 áÊ´§ä´ÍÐá¡ÃÁàÇÅҢͧ¡ÒÃÍ Ò¹¢ ÍÁÙŨҡâÁ´ÙÅ SHT11 â´Â¢ ÍÁÙÅ·ÕÊè § ÍÍ¡ÁÒ ¨Ò¡âÁ´ÙÅ SHT11 »ÃСͺ´ Ç¢ ÍÁÙÅ 2 亵 áÅÐ亵 ÊÒí ËÃѺµÃǨÊͺ¢ ͼԴ¾ÅÒ´ÍÕ¡ 1 亵 ËÃ×Í CRC Check â´ÂäÁâ¤Ã¤Í¹â·ÃÅàÅÍà àÁ×Íè ÃѺ¢ ÍÁÙÅ 1 亵 ¨Ðµ Í§Ê §ÊÑÒ³ÃѺÃÙË Ã×Í Acknowledge ÍÍ¡ÁÒ 1 ÅÙ¡ (¡íÒ˹´ãË ¢Ò DATA ÁÕÅͨԡ 0 ) ºÔµ¹ÑÂÊíÒ¤ÑÊÙ§ÊØ´¢Í§¢ ÍÁÙÅ¨Ð¶Ù¡Ê §ÍÍ¡ÁÒ¡ ͹ ¡Ã³ÕÍÒ ¹¤ ÒẺ 8 ºÔµ 亵 áá¨ÐäÁ ¶¡Ù 㪠§Ò¹ ¡ÒáàÅÔ¡¡ÒÃÊ×Íè ÊÒâ ÍÁÙÅà¡Ô´¢Ö¹é àÁ×Íè äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ʧ ÊÑÒ³ÃѺÃÙ ËÅѧ¨Ò¡ä´ ÃºÑ ¢ ÍÁÙźԵÊØ´· Ò¢ͧ CRC áÅ Ç ÊíÒËÃѺ¡Ã³Õ·ÕèäÁ µ ͧ¡ÒõÃǨÊͺ CRC ¡ÒáàÅÔ¡¡ÒÃàª×èÍÁµ Í ·íÒä´ â´Â¡ÒÃäÁ Ê § Acknowledge ËÅѧ¨Ò¡ÃѺ¢ ÍÁÙÅã¹äºµ ·Õè 2 áÅ Ç ËÅѧ¨Ò¡¹Ñé¹à¾×èÍà» ¹¡Òà »ÃÐËÂÑ´¾Åѧ§Ò¹ SHT11 ¨ÐࢠÒÊÙ âËÁ´ÊÅÕ»â´ÂÍѵâ¹ÁÑµÔ ¤ÇÒÁÅÐàÍÕ´¢Í§¢ ÍÁÙÅ·Õ»è ÃÐÁÇżÅ
àÇÅÒ·Õâè Á´ÙÅ SHT11 㪠»ÃÐÁÇżŠ( ±15%)
14 ºÔµ 12 ºÔµ
210 ÁÔÅÅÔÇÔ¹Ò·Õ 55 ÁÔÅÅÔÇÔ¹Ò·Õ
8 ºÔµ
11 ÁÔÅÅÔÇÔ¹Ò·Õ
µÒÃÒ§·Õè 2 áÊ´§¤ ÒàÇÅÒ·Õâè Á´ÙÅ SHT11 µ ͧ㪠㹡ÒûÃÐÁÇżŢ ÍÁÙÅ
4 l
SHT11 âÁ´ÙÅÇÑ´¤ÇÒÁª×¹é áÅÐÍسËÀÙÁÔ
ºÔµ
¡ÒõԴµ Í
ÃÒÂÅÐàÍÕ´
¤ ÒàÃÔÁè µ ¹
7
Í Ò¹à· Ò¹Ñé¹
ʧǹäÇ äÁ 㪠§Ò¹
6
Í Ò¹à· Ò¹Ñé¹
µÃǨÊͺä¿àÅÕÂé § "0" - ¶ Òáç´Ñ¹ä¿àÅÕé§ÁÒ¡¡Ç Ò 2.47V "1" - ¶ Òáç´Ñ¹ä¿àÅÕ駹 ÍÂ¡Ç Ò 2.47V
5
Í Ò¹à· Ò¹Ñé¹
ʧǹäÇ äÁ 㪠§Ò¹
0
4
Í Ò¹à· Ò¹Ñé¹
ʧǹäÇ äÁ 㪠§Ò¹
0
3
Í Ò¹à· Ò¹Ñé¹
äÁ 㪠§Ò¹ºÔµ¹Õé à¹×Íè §¨Ò¡à» ¹ºÔµµÃǨÊͺªÔ»¢Í§¼Ù ¼ÅÔµ
0
2
Í Ò¹/à¢Õ¹
à» ´» ´µÑÇ·íÒ¤ÇÒÁà ͹ "0" - » ´µÑÇ·íÒ¤ÇÒÁà ͹ÀÒÂã¹âÁ´ÙÅ "1" - à» ´µÑÇ·íÒ¤ÇÒÁà ͹ÀÒÂã¹âÁ´ÙÅ
0
1
Í Ò¹/à¢Õ¹
¡ÒÃÍ Ò¹¤ Ò¡ÒûÃѺᵠ§¤ÇÒÁáÁ ¹ÂíҨҡ˹ ǤÇÒÁ¨íÒ
0
0
Í Ò¹/à¢Õ¹
"0" = ÇÑ´¤ Ò¤ÇÒÁª×é¹ 12 ºÔµ,ÇÑ´ÍسËÀÙÁÔ 14 ºÔµ "1" = ÇÑ´¤ Ò¤ÇÒÁª×é¹ 8 ºÔµ,ÇÑ´ÍسËÀÙÁÔ 12 ºÔµ
0
0 äÁ Á¤Õ Ò àÃÔÁè µ ¹ ¢Ö¹é ÍÂÙ¡ ºÑ ¤ Ò·Õäè ´ ¨Ò¡¡ÒõÃǨÇÑ´
µÒÃÒ§·Õè 3 áÊ´§Ë¹ Ò·Õ¢è ͧºÔµµ Ò§æ ã¹ÃÕ¨ÊÔ àµÍà STATUS
4. ÃÕ¨ÊÔ àµÍà áÊ´§Ê¶Ò¹Ð (STATUS)
ÊíÒËÃѺ¿ §¡ ª¹Ñ ·Õµè Í §ÁÕ¡ÒûÃѺᵠ¾àÔ ÈÉ ¨Ðµ ͧÁÕ¡ÒáíÒ˹´¼ Ò¹ÃÕ¨ÊÔ àµÍà STATUS â´ÂÃÒ ÅÐàÍÕ´ºÔµµ Ò§ æ ¢Í§ÃÕ¨ÊÔ àµÍà STATUS áÊ´§ã¹µÒÃÒ§·Õè 3 ÃٻẺ¡ÒÃà¢Õ¹¢ ÍÁÙÅáÅÐÍ Ò¹¢ ÍÁÙÅ ä»ÂѧÃÕ¨ÊÔ àµÍà STATUS áÊ´§ã¹ÃÙ»·Õè 3 áÅÐÃÙ»·Õè 4 â´Â¤ Ò·Õ»è ÃѺᵠ§ä´ »ÃСͺ´ ÇÂ
4.1 ¤ÇÒÁÅÐàÍÕ´㹡ÒÃÇÑ´¤ Ò¤ÇÒÁª×¹é áÅÐÍسËÀÙÁÔ
¤ ÒµÑ駵 ¹¡ ͹¡ÒõÑ駤 Ò¤ÇÒÁÅÐàÍÕ´㹡ÒÃÇÑ´¤ÇÒÁª×鹨ÐÁÕ¤ÇÒÁÅÐàÍÕ´ 12 ºÔµ Ê Ç¹¤ÇÒÁ ÅÐàÍÕ´㹡ÒÃÇÑ´ÍسËÀÙÁÔ¨Ðà» ¹ 14 ºÔµ ¶ ÒÁÕ¡ÒáíÒ˹´ºÔµ 0 ¢Í§ÃÕ¨ÔÊàµÍà STATUS à» ¹ 1 ¤ Ò¤ÇÒÁÅÐàÍÕ´¢Í§¡ÒÃÇÑ´¤ Ò¤ÇÒÁª×鹨ÐàËÅ×Í෠ҡѺ 8 ºÔµ Ê Ç¹¡ÒÃÇÑ´¤ ÒÍسËÀÙÁÔ¨ÐàËÅ×Í 8 ºÔµ «Öè§à» ¹¼ÅãË ¤ÇÒÁàÃçÇ㹡ÒÃÍ Ò¹¤ ÒÁÕÁÒ¡¢Öé¹ áÅСԹ¡íÒÅѧ§Ò¹µèíÒŧ
4.2 µÃǨÊͺÃдѺä¿àÅÕÂé §
à» ¹¿ §¡ ª¹Ñè µÃǨÊͺáç´Ñ¹ä¿àÅÕÂé §Ç Ò µèÒí ¡Ç Ò2.47V ËÃ×ÍäÁ â´ÂÁÕ¤ÇÒÁáÁ ¹ÂíÒ ±0.05V
4.3 µÑÇ·íÒ¤ÇÒÁà ͹
µÑÇ·íÒ¤ÇÒÁà ͹ÀÒÂã¹âÁ´ÙÅ SHT11 ¨Ð·íÒãË ÍسËÀÙÁԢͧµÑǵÃǨ¨Ñºà¾ÔèÁ¢Öé¹»ÃÐÁÒ³ 5 ͧÈÒ à«Åà«ÕÂÊ â´Â·íÒãË âÁ´ÙÅ SHT11 㪠¡ÃÐáÊä¿¿ Òà¾ÔÁè ¢Ö¹é »ÃÐÁÒ³ 8mA ·Õè 5V
SHT11 âÁ´ÙÅÇÑ´¤ÇÒÁª×¹é áÅÐÍسËÀÙÁ Ô l 5 µÑÇ·íÒ¤ÇÒÁà ͹¨Ð¶Ù¡ãª §Ò¹à¾×èÍ¢¨Ñ´ä͹éíÒ·ÕèµÔ´ÍÂÙ ·ÕèµÑǵÃǨ¨Ñº àÁ×èͤ Ò¤ÇÒÁª×é¹ÊÙ§¡Ç Ò 95% «Ö觷íÒãË ¤ÇÒÁáÁ ¹ÂíÒ㹡ÒÃÍ Ò¹¤ Ò¨Ò¡µÑǵÃǨ¨ÑºÁÕÁÒ¡¢Öé¹ â´ÂµÃǨÊͺ´ Ç¡ÒÃà»ÃÕºà·Õº¤ Ò ÍسËÀÙÁÔáÅФÇÒÁª×鹡 ͹áÅÐËÅѧ¡ÒÃà» ´µÑÇ·íÒ¤ÇÒÁà ͹ ¢ ͤÇÃÃÐÇѧ ¡ÒÃà» ´µÑÇ·íÒ¤ÇÒÁà ͹·íÒãË âÁ´ÙÅ SHT11 Í Ò¹¤ ÒÍسËÀÙÁäÔ ´ ʧ٠¡Ç Ò¤ÇÒÁà» ¹ ¨ÃÔ§ Ê Ç¹¤ Ò¤ÇÒÁª×鹡çä´ ¹ ÍÂ¡Ç Ò¤ Ò·Õèà» ¹¨ÃÔ§
5. ¡Òäíҹdz¤ ÒÍسËÀÙÁÔ ã¹¡ÒÃÍ Ò¹¤ ÒÍسËÀÙÁ¨Ô Ò¡âÁ´ÙÅ SHT11 ¼Ù¾ ² Ñ ¹ÒÊÒÁÒöàÅ×Í¡¤ÇÒÁÅÐàÍÕ´㹡ÒÃÍ Ò¹ä´ ã¹ áºº 14 ºÔµËÃ×Í 12 ºÔµ â´Â·Õè¤ÇÒÁÅÐàÍÕ´ 14 ºÔµà» ¹¤ ÒµÑ駵 ¹ â´Â·Õè¼Ù ¾Ñ²¹Ò¨íÒà» ¹¨Ðµ Í§Í Ò¹ ¢ ÍÁÙÅ´Ôº¨Ò¡âÁ´ÙÅ SHT11 ࢠÒÁÒ¡ ͹ ¨Ò¡¹Ñ鹨֧㪠¡Ãкǹ¡Ò÷ҧ¤³ÔµÈÒʵà à¾×èÍãË ä´ ¤ Ò ÍسËÀÙÁÍÔ Í¡ÁÒ â´Â¤íÒ¹Ç³ä´ ¨Ò¡ÊÁ¡Ò÷աè Òí ˹´ÁÒ¨Ò¡ Sensirion ¼Ù¼ ÅÔµâÁ´ÙÅ SHT11 ´Ñ§¹Õé Temperature = d1+(d2 N SOT)...........................................................(1)
â´Â·Õè Temperature ¤×ͤ ÒÍسËÀÙÁ¨Ô ÃÔ§ d1 ¤×ͤ Ò¤§·Õè ¢Ö¹é ÍÂÙ¡ ºÑ ä¿àÅÕÂé §·Õ»è Í ¹ãË ¡ºÑ ¢Ò VDD ¢Í§ SHT11 ´ÙÃÒÂÅÐàÍÕ´㹵ÒÃÒ§·Õè 4 d2 ¤×ͤ Ò¤§·Õè ¢Ö¹é ÍÂÙ¡ ºÑ ¤ÇÒÁÅÐàÍÕ´¢Í§ÍسËÀÙÁ·Ô µÕè Í §¡Òèҡ SHT11 ´Ùã¹µÒÃÒ§·Õè 4 SOT ¤×ͤ ÒÍسËÀÙÁ´Ô ºÔ ·ÕÍè Ò ¹ä´ ¨Ò¡âÁ´ÙÅ SHT11
µÑÇÍ ҧ¡Òäíҹdz
Í Ò¹¢ ÍÁÙÅ´Ôº¢Í§¤ ÒÍسËÀÙÁ¨Ô Ò¡âÁ´ÙÅ SHT11 ä´ à· Ò¡Ñº 7000 㪠ä¿àÅÕÂé § 5V Í Ò¹¢ ÍÁÙÅẺ 14 ºÔµ ¤ ÒÍسËÀÙÁãÔ ¹Ë¹ ÇÂͧÈÒà«Åà«ÕÂÊ·ÕÍè Ò ¹ä´ ÁÕ¤Ò à· Ò¡Ñº ¤ ÒÍسËÀÙÁÔ = -40 + (0.01 x 7000) = 30 ͧÈÒ ä¿àÅÕé§
¤ Ò¤§·Õè·Ò§ÍسËÀÙÁÔµÑÇ·Õè 1 (d1) ã¹Ë¹ ÇÂ
ðC
ã¹Ë¹ ÇÂ
ðF
+5V
-40.00
-40.00
+4V
-39.75
-39.50
+3.5V
-39.66
-39.35
+3V
-39.60
-39.28
+2.5V
-39.55
-39.23
¤ÇÒÁÅÐàÍÕ´ 14 ºÔµ 12 ºÔµ
¤ Ò¤§·Õè·Ò§ÍسËÀÙÁÔµÑÇ·Õè 2 (d2) ã¹Ë¹ Ç ðC
ã¹Ë¹ Ç ðF
0.01
0.018
0.04
0.072
µÒÃÒ§·Õè 4 ¡ÒáíÒ˹´¤ Ò¤§·Õ·è Ò§ÍسËÀÙÁÔ d1 áÅÐ d2) à¾×Íè ¤íҹdz¤ ÒÍسËÀÙÁ¨Ô ÃÔ§·ÕÇè ´Ñ ä´
6 l
SHT11 âÁ´ÙÅÇÑ´¤ÇÒÁª×¹é áÅÐÍسËÀÙÁÔ
6. ¤íҹdz¤ Ò¤ÇÒÁª×¹é ÊÑÁ¾Ñ·¸ ÊíÒËÃѺ¡ÒÃÍ Ò¹¤ Ò¤ÇÒÁª×¹é ÊÑÁ¾Ñ·¸ ¨Ò¡âÁ´ÙÅ SHT11 ÊÒÁÒöàÅ×Í¡¤ÇÒÁÅÐàÍÕ´㹡ÒÃÍ Ò¹ä´ ã¹áºº 12 ºÔµËÃ×Í 8 ºÔµ â´Â·Õ¤è ÇÒÁÅÐàÍÕ´ 12 ºÔµà» ¹¤ ÒµÑ§é µ ¹ËÅÑ¡â´Â·Õ¼è ¾Ù ² Ñ ¹Ò¨íÒà» ¹¨Ðµ Í§Í Ò¹ ¢ ÍÁÙÅ´Ôº¨Ò¡âÁ´ÙÅ SHT11 ࢠÒÁÒ¡ ͹ ¨Ò¡¹Ñ¹é ¨Ö§ãª ¡Ãкǹ¡Ò÷ҧ¤³ÔµÈÒʵà à¾×Íè ãË ä´ ¤Ò ¤ÇÒÁª×¹é ÊÑÁ¾Ñ·¸ ÍÍ¡ÁÒ â´Â¤íÒ¹Ç³ä´ ¨Ò¡ÊÁ¡Ò÷աè Òí ˹´ÁÒ¨Ò¡ Sensirion ¼Ù¼ ÅÔµâÁ´ÙÅ SHT11 ´Ñ§¹Õé RHtrue = (T - 25) N [t1 + (t2 N SORH)] + RHlinear ..............................(2) RHlinear=c1 + (c2 N SORH ) + [c3 N (SORH)2] .................................(3) â´Â·Õè RHtrue ¤×ͤ Ò¤ÇÒÁª×¹é ÊÑÁ¾Ñ·¸ ¨ÃÔ§ T ¤×Í ¤ ÒÍسËÀÙÁ¨Ô ÃÔ§·Õ¤è Òí ¹Ç³ä´ ¨Ò¡ÊÁ¡Òà (1) t1áÅÐ t2 ¤×ͤ Ò¤§·Õâè ´Â¢Ö¹é ÍÂÙ¡ ºÑ ¤ÇÒÁÅÐàÍÕ´¢Í§¤ÇÒÁª×¹é ÊÑÁ¾Ñ·¸ ·µÕè Í §¡ÒèҡâÁ´ÙÅ SHT11 ´ÙÃÒÂÅÐàÍÕ´¡ÒáíÒ˹´¤ Ò¨Ò¡µÒÃÒ§·Õè 5 c1, c2 áÅÐc3 ¤×ͤ Ò¤§·Õ¢è ¹Öé ÍÂÙ¡ ºÑ ¤ÇÒÁÅÐàÍÕ´¢Í§¤ÇÒÁª×¹é ÊÑÁ¾Ñ·¸ ·µÕè Í §¡ÒèҡâÁ´ÙÅ SHT11 ´ÙÃÒÂÅÐàÍÕ´¡ÒáíÒ˹´¤ Ò¨Ò¡µÒÃÒ§·Õè 5 SORH ¤×ͤ Ò¢ ÍÁÙÅ´Ôº¢Í§¤ÇÒÁª×¹é ÊÑÁ¾Ñ·¸ ·ÍÕè Ò ¹ä´ ¨Ò¡âÁ´ÙÅ SHT11
µÑÇÍ ҧ¡Òäíҹdz ¶ ÒÍ Ò¹¤ Ò¢ ÍÁÙÅ´Ôº¢Í§¤ÇÒÁª×¹é ÊÑÁ¾Ñ·¸ ¨Ò¡âÁ´ÙÅ SHT11 ÍÍ¡ÁÒä´ à· Ò¡Ñº 2353 â´Â¡ÒÃÍ Ò¹¤ Ò¢ ÍÁÙÅ à» ¹¡ÒÃÍ Ò¹¤ ÒẺ 12 ºÔµ ´Ñ§¹Ñ¹é àÁ×Íè á·¹¤ Òŧä»ã¹ÊÁ¡ÒÃ
RHlinear= -4 + (0.0405 x 2353) + (-0.0000028 x 23532 ) = 75.79% ¤ÇÒÁÅÐàÍÕ´ 12 ºÔµ 8 ºÔµ
¤ Ò¤§·Õè t1
t1
0.01
0.00008
0.01
0.00128
¤ÇÒÁÅÐàÍÕ´ 12 ºÔµ 8 ºÔµ
¤ Ò¤§·Õè c1
c2
c3
-4
0.0405 -2.8x10-6
-4
0.648
µÒÃÒ§·Õè 5 ¡ÒáíÒ˹´¤ Ò¤§·Õ«è §Öè µ ͧ㪠㹡Òäíҹdz¤ Ò¤ÇÒÁª×¹é ÊÑÁ¾Ñ·¸ ¨ÃÔ§·ÕÇè ´Ñ ä´
-7.2x10-4
SHT11 âÁ´ÙÅÇÑ´¤ÇÒÁª×¹é áÅÐÍسËÀÙÁ Ô l 7
7. ADX-SHT11 ºÍà ´àª×Íè Áµ ÍÊíÒËÃѺâÁ´ÙÅ SHT11 âÁ´ÙÅ SHT11 ¨ÐÁÕ¢Òµ ÍÍÍ¡ÁÒ㪠§Ò¹ä´ ·¹Ñ ·Õ ÊÒÁÒöµÔ´µÑ§é º¹àºÃ´ºÍà ´ËÃ×ͺѴ¡ÃÕÅ§ä» º¹á¼ ¹Ç§¨Ã¾ÔÁ¾ â´ÂµÃ§¡çä´ Í ҧäáçµÒÁà¾×èÍÍíҹǤÇÒÁÊдǡ㹡ÒÃ㪠§Ò¹¨Ö§ä´ ¾Ñ²¹Ò¼§ ǧ¨ÃÊíÒËÃѺµÔ´µÑ§é áÅе ÍÊÒÂÊÑҳ㪠§Ò¹âÁ´ÙÅ SHT11 㹪×Íè Ç Ò ADX-SHT11 ÁÕǧ¨ÃáÅÐÃٻà ҧ ˹ ÒµÒáÊ´§ã¹ÃÙ»·Õè 2
R1 4.7k K1 DATA K2 CLOCK
R2 4.7k
ºÍà ´ ADX-SHT11 DATA
1
8
2
+5V
7 SHT11 module
CLOCK
3
6
GND
4
5
ÃÙ»·Õè 2 ǧ¨ÃáÅÐ˹ ҵҢͧ ADX-SHT11 ºÍà ´àª×Íè Áµ ÍâÁ´ÙÅ SHT11
¢Ò 1
8 l
SHT11 âÁ´ÙÅÇÑ´¤ÇÒÁª×¹é áÅÐÍسËÀÙÁÔ
µÑÇÍ ҧ¡ÒÃ㪠§Ò¹âÁ´ÙÅ SHT11 ¡ÑºäÁâ¤Ã¤Í¹â·ÃÅàÅÍà MCS-51 EX-1 : àª×Íè Áµ Í SHT11 ¡ÑºäÁâ¤Ã¤Í¹â·ÃÅàÅÍà àºÊÔ¡áʵÁ» 2SX â´Â㪠Stamp-BOX ËÃ×Í SCi-BOX
P0
ÊÒÂ PCB-3AA-8
CLK
Stamp-BOX ËÃ×Í SCi-BOX P1
DATA
·Ñ§é Stamp-BOX áÅÐ SCi-BOX µ Ò§¡çÁ¾Õ Íà µÍÔÊÃÐà¾×Íè 㪠㹡ÒÃàª×Íè Áµ ͡ѺÍØ»¡Ã³ ¹Í¡ â´ÂµíÒá˹ §¾Íà µ ·Õµè ÇÑ Í ҧ¹Õàé Å×͡㪠¤Í× µíÒá˹ § P0 ÊíÒËÃѺàª×Íè Áµ ͡Ѻ¢ÒÊÑÒ³¹ÒÌ ¡Ò (CLK) áÅеíÒá˹ § P1 ÊíÒËÃѺàª×Íè Á µ ͡Ѻ¢ÒÃÑºÊ §¢ ÍÁÙÅ (DATA) 㹡Ò÷´ÊͺãË ¹Òí âÁ´ÙÅ SHT11 µÔ´µÑ§é ŧº¹ºÍà ´ ADX-SHT11 â´Â´ÙµÒí ˹ §¢Ò ãË ¶¡Ù µ ͧ ¨Ò¡¹Ñ¹é µ ÍÊÒÂÊÑÒ³¨Ò¡¨Ø´ DATA áÅÐ CLOCK ÁÒࢠҷվè Íà µ¢Í§ Stamp-BOX ËÃ×Í SCi-BOX
ÊÒÂ PCB-3AA-8
SHT11 ADX-SHT11
Ê Ç¹ËÑǢͧâ»Ãá¡ÃÁàºÊÔ¡áʵÁ» àÍ´ÔàµÍà ÃкصÒí á˹ §¢ÒàÍÒäÇ ´§Ñ ¹Õé ' I/O Definitions ShtData
CON
1
Clock
CON
0
' bi-directional data
¢Ñ鹵͹¡ÒõԴµ ͡Ѻ SHT11 à¾×èÍÍ Ò¹¤ Ò¤ÇÒÁª×é¹ÊÑÁ¾Ñ·¸ à¾×Íè ãË à¢ Òã¨¢Ñ¹é µÍ¹¡ÒÃÊ×Íè ÊÒâ ÍÁÙÅÃÐËÇ Ò§äÁâ¤Ã¤Í¹â·ÃÅàÅÍà àºÊÔ¡áʵÁ» ¡ºÑ SHT11 ÊÒÁÒöà¢Õ¹ à» ¹¢Ñ¹é µÍ¹ä´ ´§Ñ ¹Õé (1) ÃÕ૵ SHT11 ¡ÃзíÒàÁ×Íè µÔ´µ ͡Ѻ SHT11 㹤Ãѧé ááà¾Õ§¤Ãѧé à´ÕÂÇ â´ÂÊ §ÊÑÒ³¹ÒÌ ¡Ò ÍÍ¡ä» 9 ÅÙ¡ ã¹¢³Ð·Õ¢è Ò DATA ÁÕÅͨԡ 1 ´Ñ§áÊ´§´ ÇÂâ»Ãá¡ÃÁ Í SHT_Connection_Reset SHT_Connection_Reset: SHIFTOUT ShtData, Clock, LSBFIRST, [$FFF\9]
(2) ˹ ǧàÇÅÒ 250 ÁÔÅÅÔÇ¹Ô Ò·Õ à¾×Íè ãË SHT11 ¾Ã ÍÁ·Õ¨è ÐÃѺ¢ ÍÁÙÅ
SHT11 âÁ´ÙÅÇÑ´¤ÇÒÁª×¹é áÅÐÍسËÀÙÁ Ô l 9 (3) Ê §ÊÑÒ³ Start àÃÔÁè µ ¹¡ÒÃÊ×Íè ÊÒâ ÍÁÙÅ â´ÂáÊ´§à» ¹â»Ãá¡ÃÁ Í SHT_Start ´Ñ§¹Õé SHT_Start: INPUT ShtData LOW
' let pull-up take line high
Clock
HIGH Clock LOW
ShtData
LOW
Clock
HIGH Clock INPUT ShtData LOW
Clock
RETURN
4. Ê §¤íÒÊѧè ãË ¡ºÑ âÁ´ÙÅ SHT11 à¾×Íè Í Ò¹¤ Ò¤ÇÒÁª×¹é ÊÑÁ¾Ñ·¸ â´ÂÊ §¤ Ò %00101 ÍÍ¡ä»â´Â㪠â»Ãá¡ÃÁ Í SHT_Write_Byte à¾×Íè à¢Õ¹¢ ÍÁÙÅä»Âѧ SHT11 ´Ñ§¹Õé SHT_Write_Byte: SHIFTOUT ShtData, Clock, MSBFIRST, [ioByte]
' send byte
SHIFTIN ShtData, Clock, LSBPRE, [ackBit\1]
' get ack bit
RETURN
¡ÒÃÊ §¢ ÍÁÙŨÐ㪠¤Òí Êѧè Shiftout à¾×Íè Ê §¢ ÍÁÙÅÍÍ¡ä» 8 ºÔµ áÅ Ç㪠¤Òí Êѧè Shiftin Í Ò¹¤ ÒʶҹТͧÊÑÒ³ÃѺÃÙµ ͺ¡ÅѺÁÒ¨Ò¡ SHT11 5. ¨Ò¡¹Ñ¹é ÃÍàÇÅÒ¨¹¡Ç Ò SHT11 ¨Ðá»Å§¢ ÍÁÙÅàÊÃç¨àÃÕºà Í â´ÂàÁ×Íè SHT11 Êѧè ãË ¢Ò DATA à» ¹ 0 áÊ´§Ç Ò¢Ñ¹é µÍ¹¡ÒÃá»Å§¢ ÍÁÙÅàÊÃç¨àÃÕºà ÍÂáÅ Ç â´Â¢Ñ¹é µÍ¹¡ÒÃÃÍ¢ ÍÁÙŹըé ÐáÊ´§à» ¹â»Ãá¡ÃÁ Í ª×Íè SHT_Wait ´Ñ§¹Õé SHT_Wait: INPUT ShtData
' data line is input
FOR toDelay = 1 TO 250
' give ~1/4 second to finish
timeOut = INS.LOWBIT(ShtData)
' scan data line
IF (timeOut = 0) THEN SHT_Wait_Done PAUSE 1 NEXT SHT_Wait_Done: RETURN
' if low, we're done
10 l
SHT11 âÁ´ÙÅÇÑ´¤ÇÒÁª×¹é áÅÐÍسËÀÙÁÔ
6. Í Ò¹¤ Ò¢ ÍÁÙŨҡ SHT11 â´Â¢ ÍÁÙÅ·ÕÍè Ò ¹à¢ ÒÁÒÁÕ¢¹Ò´ 12 ºÔµ ´Ñ§¹Ñ¹é ¨Ö§µ ͧ㪠µÇÑ á»ÃẺ word 㹡ÒÃà¡çº¢ ÍÁÙÅ ã¹·Õ¹è ãÕé ª ªÍ×è µÑÇá»ÃÇ Ò SoRH áÅ Ç㪠â»Ãá¡ÃÁ Í SHT_Read_Byte à¾×Íè Í Ò¹¤ Ò¢ ÍÁÙŠࢠÒÁÒ·ÕÅÐ 8 ºÔµ Í Ò¹¢ ÍÁÙÅ 8 ºÔµº¹à¢ ÒÁÒà¡çºã¹µÑÇá»Ã SoRH ´ ҹ亵 ÊÙ§ áÅ ÇàÃÕ¡â»Ãá¡ÃÁ Í SHT_Read_Byte ÍÕ¡¤Ãѧé à¾×Í è Í Ò¹¢ ÍÁÙÅÁÒà¡çºã¹µÑÇá»Ã SoRH ´ ҹ亵 µÒèí ÃÒÂÅÐàÍÕ´¢Í§â»Ãá¡ÃÁ Í SHT_Read_Byte Áմѧ¹Õé SHT_Read_Byte: SHIFTIN ShtData, Clock, MSBPRE, [ioByte] ' get byte SHIFTOUT ShtData, Clock, LSBFIRST, [ackBit\1] ' send ack bit INPUT ShtData ' release data line RETURN
7. ·íÒ¡ÒÃá»Å§¢ ÍÁÙÅ·ÕÍè Ò ¹ä´ áÅÐà¡çºã¹µÑÇá»Ã SoRH «Ö§è à» ¹¢ ÍÁÙÅ´ÔºãË ÍÂÙã ¹ÃÙ»¢Í§à»Íà à«ç¹µ ¤ÇÒÁª×¹é ÊÑÁ¾Ñ·¸ â´Â㪠ʵ٠à ¤ÇÒÁª×¹é ÊÑÁ¾Ñ·¸ = (soRH * 0.0405) - (soRH^2 * 0.0000028) - 4 àÁ×Íè ¹íÒÁÒ㪠¡ºÑ àºÊÔ¡áʵÁ» à¾×Íè ãË §Ò µ Í¡Òäíҹdz ¨Ö§µ ͧᵡ¤ ÒÍÍ¡ÁÒà» ¹ ¤ÇÒÁª×¹é ÊÑÁ¾Ñ·¸ = (soRH * 0.0405) - (soRH * 0.002 * soRH * 0.0014) - 4 áÅÐà¾×Íè ãË ¤Ò ¼ÅÅѾ¸ ÁÕ¤ÇÒÁÅÐàÍÕ´ÁÒ¡¢Ö¹é àÁ×Íè áÊ´§¤ Ò·ÕËè ¹ Ò¨Í ¨Ö§µ ͧ¤Ù³´ Ç 10 ÊÁ¡Òà ¨Ð¡ÅÒÂà» ¹ ¤ÇÒÁª×¹é ÊÑÁ¾Ñ·¸ = (soRH * 0.405) - ((soRH *0.002) *( soRH * 0.0014)) - 40 à¢Õ¹໠¹â»Ãá¡ÃÁÀÒÉÒàºÊÔ¡ä´ à» ¹ rhLin = (soRH **26542) - (soRH **131 * soRH ** 91) - 40
ÊíÒËÃѺ¤ ÒµÑÇàÅ¢ 26542 ¨ÐÁÒ¨Ò¡¡ÒäíҹdzàÈÉÊ Ç¹¢Í§·È¹ÔÂÁ 0.405 â´ÂÁÒ¨Ò¡ 0.405 x 65536 ÁÕ¤Ò à· Ò¡Ñº 26542 ÊíÒËÃѺµÑÇàÅ¢ 131 ¡çÁÒ¨Ò¡ 0.002 x 65536 áÅеÑÇàÅ¢ 91 ¡çÁÒ¨Ò¡ 0.0014 x 65536 8. ¹íÒ¼ÅÅѾ¸ ·äÕè ´ áÊ´§·ÕËè ¹ Ò¨Í â´ÂËÒä Ò·ÕËè ÒÁÒä´ ´Ç  10 ¡ ͹ áÅÐÊíÒËÃѺ·È¹ÔÂÁ ã¹¹íÒ ¤ Ò·ÕËè ÒÁÒä´ ÁÒáÊ´§à©¾ÒÐã¹ËÅÑ¡ÊØ´· ÒÂ෠ҹѹé "rhLin....", DEC(rhLin / 10),".", DEC1 rhLin, "% ", CR,
ÊíÒËÃѺ¡ÒÃÍ Ò¹¤ ÒÍسËÀÙÁÔáÅСÒÃÍ Ò¹ËÃ×Íà¢Õ¹¤ ÒÃÕ¨ÔÊàµÍà STATUS ¨Ð㪠ÇÔ¸Õ¡ÒÃà´ÕÂǡѹ ´Ñ§áÊ´§ã¹â»Ãá¡ÃÁ·Õè 1
SHT11 âÁ´ÙÅÇÑ´¤ÇÒÁª×¹é áÅÐÍسËÀÙÁ Ô l 11 ¢ ÍÁÙÅà¾ÔèÁàµÔÁ
¡ÒäٳàÅ¢·È¹ÔÂÁ´ ÇÂàºÊÔ¡áʵÁ» ¨ÐäÁ àËÁ×͹¡Ñº¡ÒäٳàÅ¢·ÑÇè æ ä» ãª à¤Ã×Íè §ËÁÒ ** 㹡Òà ¤Ù³»¡µÔ ¡ÒÃ㪠à¤Ã×Íè §ËÁÒ¹աé àç ¾×Íè ãË ä´ ¼ÅÅѾ¸ 16 ºÔµº¹ËÅѧ¨Ò¡¤Ù³áÅ Ç áµ ã¹¡Ã³ÕàÅ¢·È¹ÔÂÁ ¡Òäٳ ¤ Ò´ Ç ** ¡çàËÁ×͹¡Ñº¡Òäٳ¤ Ò´ ÇÂàÈÉÊ Ç¹ â´Â¨ÐÁÕ¤Ò ¢Í§Ê ǹ෠ҡѺ 65536 ઠ¹ Y = X**Z
¤ÇÒÁËÁÒ¡ç¤Í× ¹íÒµÑÇá»Ã X ¤Ù³´ Ǥ Ò Z áÅ ÇËÒô Ç 65536
¶ Ò X = 100, Z = 32768 ´Ñ§¹Ñ¹é Y = 100 x (32768 / 65536 ) = 50 ·´Êͺ´ ÇÂàºÊÔ¡áʵÁ» 2SX à¢Õ¹â»Ãá¡ÃÁä´ ´§Ñ ¹Õé X Y Z
VAR VAR CON
Word Word 32768
X = 100 Y = X ** Z DEBUG DEC y ' ============================================================================== ' File...... SHT11 Advanced.bs2 ' Purpose... Interface to Sensirion SHT11 temperature/humidity sensor ' E_mail.... support@parallax.com ' ============================================================================== ' {$STAMP BS2sx} ' {$PBASIC 2.5} ' {$PORT COM1} ' ____________________________________________________________________________ ' Program Description ' ____________________________________________________________________________ ' ' This program demonstrates the interface and conversion of SHT11 data to ' usable program values. ' ' For detailed information on the use and application of the ** operator, ' see Tracy Allen's web page at this link: ' __ http://www.emesystems.com/BS2math1.htm ' ' For Tracy's SHT1x code [very advanced]: ' __ http://www.emesystems.com/OL2sht1x.htm ' ' For SHT11/15 documentation and app notes, visit: ' __ http://www.sensirion.com ' ____________________________________________________________________________ ' I/O Definitions ' ____________________________________________________________________________ ShtData CON 1 ' bi_directional data Clock CON 0 ' ____________________________________________________________________________ ' Constants ' ____________________________________________________________________________ ShtTemp CON %00011 ' read temperature ShtHumi CON %00101 ' read humidity ShtStatW CON %00110 ' status register write ShtStatR CON %00111 ' status register read
â»Ãá¡ÃÁ·Õè 1 â»Ãá¡ÃÁáÊ´§¡ÒÃÍ Ò¹¤ ÒáÅеԴµ ÍÊ×Íè ÊÒáѺ SHT11 ´ ÇÂàºÊÔ¡áʵÁ» 2SX (ÁÕµÍ )
12 l
SHT11 âÁ´ÙÅÇÑ´¤ÇÒÁª×¹é áÅÐÍسËÀÙÁÔ
ShtReset CON %11110 ' soft reset (wait 11 ms after) Ack CON 0 NoAck CON 1 MoveTo CON 2 ' for DEBUG control ClrRt CON 11 ' clear DEBUG line to right DegSym CON 186 ' degrees symbol for DEBUG ' ____________________________________________________________________________ ' Variables ' ____________________________________________________________________________ ioByte VAR Byte ' data from/to SHT1x ackBit VAR Bit ' ack/nak from/to SHT1x toDelay VAR Byte ' timeout delay timer timeOut VAR Bit ' timeout status soT VAR Word ' temp counts from SHT1x tC VAR Word ' temp _ celcius tF VAR Word ' temp _ fahrenheit soRH VAR Word ' humidity counts from SHT1x rhLin VAR Word ' humidity; linearized rhTrue VAR Word ' humidity; temp compensated status VAR Byte ' SHT1x status byte ' ____________________________________________________________________________ ' EEPROM Data ' ____________________________________________________________________________ ' ____________________________________________________________________________ ' Initialization ' ____________________________________________________________________________ Initialize: GOSUB SHT_Connection_Reset ' reset device connection PAUSE 250 ' let DEBUG window open DEBUG CLS DEBUG "SHT1x Demo", CR DEBUG "__________", CR ' GOTO Main ' skip heater demo ' ____________________________________________________________________________ ' Program Code ' ____________________________________________________________________________ Sensor_Demo: GOSUB SHT_Measure_Temp DEBUG MoveTo, 0, 3 DEBUG "tF...... " DEBUG DEC (tF / 10), ".", DEC1 tF, DegSym, ClrRt, CR GOSUB SHT_Measure_Humidity DEBUG "rhLin... " DEBUG DEC (rhLin / 10), ".", DEC1 rhLin, "%", ClrRt, CR, CR Heater_On: DEBUG "SHT1x heater on", CR status = %00000100 ' heater bit = On GOSUB SHT_Write_Status DEBUG "Waiting 2 seconds", CR PAUSE 2000 Heater_Off: DEBUG "SHT1x heater off", CR, CR status = %00000000 ' heater bit = Off GOSUB SHT_Write_Status GOSUB SHT_Measure_Temp DEBUG "tF...... " DEBUG DEC (tF / 10), ".", DEC1 tF, DegSym, ClrRt, CR GOSUB SHT_Measure_Humidity DEBUG "rhLin... " DEBUG DEC (rhLin / 10), ".", DEC1 rhLin, "%", ClrRt, CR, CR PAUSE 5000
â»Ãá¡ÃÁ·Õè 1 â»Ãá¡ÃÁáÊ´§¡ÒÃÍ Ò¹¤ ÒáÅеԴµ ÍÊ×Íè ÊÒáѺ SHT11 ´ ÇÂàºÊÔ¡áʵÁ» 2SX (ÁÕµÍ )
SHT11 âÁ´ÙÅÇÑ´¤ÇÒÁª×¹é áÅÐÍسËÀÙÁ Ô l 13 Main: DEBUG CLS DEBUG "SHT1x Demo", CR DEBUG "__________", CR Main2: GOSUB SHT_Measure_Temp DEBUG MoveTo, 0, 3 DEBUG "soT...... " DEBUG DEC soT, ClrRt, CR DEBUG "tC....... " DEBUG DEC (tC / 10), ".", DEC1 tC, DegSym, ClrRt, CR DEBUG "tF....... " DEBUG DEC (tF / 10), ".", DEC1 tF, DegSym, ClrRt GOSUB SHT_Measure_Humidity DEBUG MoveTo, 0, 7 DEBUG "soRH..... " DEBUG DEC soRH, ClrRt, CR DEBUG "rhLin.... " DEBUG DEC (rhLin / 10), ".", DEC1 rhLin, "%", ClrRt, CR DEBUG "rhTrue... " DEBUG DEC (rhTrue / 10), ".", DEC1 rhTrue, "%", ClrRt PAUSE 1000 ' minimum delay between readings GOTO Main2 END ' ____________________________________________________________________________ ' Subroutines ' ____________________________________________________________________________ ' connection reset: 9 clock cyles with ShtData high, then start sequence ' SHT_Connection_Reset: SHIFTOUT ShtData, Clock, LSBFIRST, [$FFF\9] SHT_Start: INPUT ShtData LOW Clock HIGH Clock LOW ShtData LOW Clock HIGH Clock INPUT ShtData LOW Clock RETURN
' let pull_up take line high
' measure temperature ' __ celcius = soT * 0.01 _ 40 ' __ fahrenheit = soT * 0.018 _ 40 ' SHT_Measure_Temp: GOSUB SHT_Start ' alert device ioByte = %00011 ' temperature command GOSUB SHT_Write_Byte ' send command GOSUB SHT_Wait ' wait until measurement done ackBit = Ack ' another read follows GOSUB SHT_Read_Byte ' get MSB soT.HIGHBYTE = ioByte ackBit = NoAck ' last read GOSUB SHT_Read_Byte ' get LSB soT.LOWBYTE = ioByte
â»Ãá¡ÃÁ·Õè 1 â»Ãá¡ÃÁáÊ´§¡ÒÃÍ Ò¹¤ ÒáÅеԴµ ÍÊ×Íè ÊÒáѺ SHT11 ´ ÇÂàºÊÔ¡áʵÁ» 2SX (ÁÕµÍ )
14 l
SHT11 âÁ´ÙÅÇÑ´¤ÇÒÁª×¹é áÅÐÍسËÀÙÁÔ
' Note: Conversion factors are multiplied by 10 to return the ' temperature values in tenths of degrees ' from Cencius formula = (_40 + (0.01 x RAWdata)) tC = soT / 10 _ 400 ' convert to tenths C tF = soT ** 11796 _ 400 ' convert to tenths F RETURN ' measure humidity ' SHT_Measure_Humidity: GOSUB SHT_Start ' alert device ioByte = %00101 ' humidity command GOSUB SHT_Write_Byte ' send command GOSUB SHT_Wait ' wait until measurement done ackBit = Ack ' another read follows GOSUB SHT_Read_Byte ' get MSB soRH.HIGHBYTE = ioByte ackBit = NoAck ' last read GOSUB SHT_Read_Byte ' get LSB soRH.LOWBYTE = ioByte ' linearize humidity ' rhLin = (soRH * 0.0405) _ (soRH^2 * 0.0000028) _ 4 ' ' for the BASIC Stamp: ' rhLin = (soRH * 0.0405) _ (soRH * 0.004 * soRH * 0.0007) _ 4 ' ' Conversion factors are multiplied by 10 and then rounded to ' return tenths ' rhLin = (soRH ** 26542) rhLin = rhLin _ ((soRH ** 3468) * (soRH ** 3468) + 50 / 100) rhLin = rhLin _ 40 ' temperature compensated humidity ' rhTrue = (tC _ 25) * (soRH * 0.00008 + 0.01) + rhLin ' Conversion factors are multiplied by 100 to improve accuracy and then rounded off. ' rhTrue = ((tC / 10 _ 25) * (soRH ** 524 + 1) + (rhLin * 10)) + 5 / 10 RETURN ' sends "status" ' SHT_Write_Status: GOSUB SHT_Start ioByte = ShtStatW GOSUB SHT_Write_Byte ioByte = status GOSUB SHT_Write_Byte RETURN ' returns "status" ' SHT_Read_Status: GOSUB SHT_Start ioByte = ShtStatW GOSUB SHT_Read_Byte ackBit = NoAck GOSUB SHT_Read_Byte RETURN ' sends "ioByte" ' returns "ackBit" '
' alert device ' write to status reg command ' send command
' ' ' '
alert device write to status reg command send command only one byte to read
â»Ãá¡ÃÁ·Õè 1 â»Ãá¡ÃÁáÊ´§¡ÒÃÍ Ò¹¤ ÒáÅеԴµ ÍÊ×Íè ÊÒáѺ SHT11 ´ ÇÂàºÊÔ¡áʵÁ» 2SX (ÁÕµÍ )
SHT11 âÁ´ÙÅÇÑ´¤ÇÒÁª×¹é áÅÐÍسËÀÙÁ Ô l 15 SHT_Write_Byte: SHIFTOUT ShtData, Clock, MSBFIRST, [ioByte] ' send byte SHIFTIN ShtData, Clock, LSBPRE, [ackBit\1] ' get ack bit RETURN ' returns "ioByte" ' sends "ackBit" ' SHT_Read_Byte: SHIFTIN ShtData, Clock, MSBPRE, [ioByte] ' get byte SHIFTOUT ShtData, Clock, LSBFIRST, [ackBit\1] ' send ack bit INPUT ShtData ' release data line RETURN ' wait for device to finish measurement (pulls data line low) ' __ timeout after ~1/4 second ' SHT_Wait: INPUT ShtData ' data line is input FOR toDelay = 1 TO 250 ' give ~1/4 second to finish timeOut = INS.LOWBIT(ShtData) ' scan data line IF (timeOut = 0) THEN SHT_Wait_Done ' if low, we're done PAUSE 1 NEXT SHT_Wait_Done: RETURN ' reset SHT1x with soft reset ' SHT_Soft_Reset: GOSUB SHT_Connection_Reset ' reset the connection ioByte = ShtReset ' reset command ackBit = NoAck ' only one byte to send GOSUB SHT_Write_Byte ' send it PAUSE 11 ' wait at least 11 ms RETURN
â»Ãá¡ÃÁ·Õè 1 â»Ãá¡ÃÁáÊ´§¡ÒÃÍ Ò¹¤ ÒáÅеԴµ ÍÊ×Íè ÊÒáѺ SHT11 ´ ÇÂàºÊÔ¡áʵÁ» 2SX (¨º)
ÃÙ»·Õè 3 ˹ Òµ Ò§ Debug Terminal áÊ´§¼Å¡Ò÷íÒ§Ò¹¢Í§â»Ãá¡ÃÁ·Õè 1
16 l
SHT11 âÁ´ÙÅÇÑ´¤ÇÒÁª×¹é áÅÐÍسËÀÙÁÔ
EX-2 : àª×Íè Áµ Í SHT11 ¡ÑºäÁâ¤Ã¤Í¹â·ÃÅàÅÍà P89V51RD2 㹡Ò÷´Åͧ¹Õàé » ¹¡ÒÃà¢Õ¹â»Ãá¡ÃÁÀÒÉÒ C à¾×Íè µÔ´µ ͡Ѻ SHT11 âÁ´ÙÅÇÑ´¤ÇÒÁª×¹é ÊÑÁ¾Ñ·¸ áÅÐÍسËÀÙÁÔ à¾×Íè Í Ò¹¤ Ò»ÃÔÁÒ÷ҧ¿ Ê¡Ô Ê ·ÇÕè ´Ñ ä´ ÁÒáÊ´§¼Å·Õâè Á´ÙÅ LCD ÊÒÁÒö㪠·´Åͧ¡Ñº P89C51RD2BN ä´ ´Ç  à¾Õ§ à»ÅÕÂè ¹ä¿Å äźÃÒÃբͧäÁâ¤Ã¤Í¹â·ÃÅàÅÍà ໠¹ reg51rx.h ËÃ×Í¡Ãзѧè 㪠¡ºÑ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà MCS-51 Áҵà °Ò¹ à¾Õ§à»ÅÕÂè ¹¤ Ò˹ ǧàÇÅÒµ Ò§æ ãË ÊÁÑ ¾Ñ¹¸ ¡ºÑ ¤ÇÒÁàÃçÇ·Õ¡è ÅѺä»ãª ¤Ò 12 ÊÑÒ³¹ÒÌ ¡Òµ ÍáÁªÕ¹ä«à¡ÔÅ áÅÐà»ÅÕÂè ¹ä¿Å äźÃÒÃբͧäÁâ¤Ã¤Í¹â·ÃÅàÅÍà ໠¹ reg51.h (ã¹·Õ¹è ãÕé ª C51 ¤ÍÁä¾àÅÍà ¢Í§ Raisonance) (1) µ Íǧ¨ÃµÒÁÃÙ»·Õè 4 à¢Õ¹â»Ãá¡ÃÁ·Õè 2 áÅ Ç·íÒ¡ÒÃá»Å§ãË à» ¹ä¿Å .hex ´ Ç RC51 ¼ Ò¹¡Ãкǹ ¡ÒÃÊà ҧä¿Å â»Ãà¨ç¡µ ¢Í§ Rkit-51 â´Â㪠RIDE ä´ ä¿Å ¹ÒÁÊ¡ØÅ .hex ´Òǹ âËŴŧã¹äÁâ¤Ã¤Í¹â·ÃÅàÅÍà P89V51RD2 â´Âµ ͧź¢ ÍÁÙÅ¡ ͹â»Ãá¡ÃÁŧä»ãËÁ +5V 31 C2 1/50V
40
5
RESET 9 R1 10k
RST
+5V
C1 0.1/50
P3.6 P3.7
IC1 2&'8# 4,
16
6
17
4
C5 0.1/ 50V
R2 10k x8
32
+5V
2 R/W E
DSP1 LCD 16x2
RS D7 D6 D5 D4 D3 D2 D1 D0 14 13 12 11 10 9 8 7
3
VR1 10k
1
P0.7 33 P0.6 34 P0.5 35 P0.4 36 P0.3 37 P0.2 38 P0.1 39 P0.0
+5V
P1.0 P1.1
1 2
20
R3 4k7
R4 4k7
8 1 3
DATA CLK MOD1 506 4
18 C3 33pF
19 C4 33pF
XTAL1 11.0592MHz
ÃÙ»·Õè 4 ǧ¨Ã·´ÅͧµÔ´µ ÍäÁâ¤Ã¤Í¹â·ÃÅàÅÍà P89V51RD2 ¡Ñº SHT11 âÁ´ÙÅÇÑ´¤ÇÒÁª×¹é ÊÑÁ¾Ñ·¸ áÅÐ ÍسËÀÙÁÔ
SHT11 âÁ´ÙÅÇÑ´¤ÇÒÁª×¹é áÅÐÍسËÀÙÁ Ô l 17 /*—————————————————————————————————————————————————————————————————————————*/ // Program : Humidity & Temperature Sensor demo by SHT11 // Description : Read Humidity & Temperature from SHT11 display value on LCD // Filename : l2201.c // C compiler : RIDE 51 V6.4.35 /*—————————————————————————————————————————————————————————————————————————*/ #include <REGLV51RD2.h> // Header file register for P89V51RD2BN #include <intrins.h> // Library for _nop_ function #include <lcdV51.h> // Library for LCD display #define #define #define #define #define #define #define #define #define
MEASURE_TEMP MEASURE_HUMI TEMP 0 HUMI 1 C1 -4.0 C2 0.0405 C3 -0.0000028 T1 -0.01 T2 0.00008
sbit DATA = P1^0; sbit SCK =P1^1;
0x03 0x05 // // // // //
// Macro of reading Temperature command // Macro of reading Humidity command // Macro to select Temperature reading // Macro to select Humidity reading Constant C1 for Humidity calculation (12-bit resolution) Constant C2 for Humidity calculation (12-bit resolution) Constant C3 for Humidity calculation (12-bit resolution) Constant T1 for Temperature calculation (14-bit resolution) Constant T2 for Temperature calculation (14-bit resolution) // Configuration DATA pin // Configuration SCK pin
/*********************** Function for delay a few time ***********************/ void wait() { char x; // Variable for counter for(x=0;x<8;x++) // Loop for delay a few time _nop_(); // Delay 1 machine cycle } /*********************** SHT11 writing command function *****************/ void sht11_write(unsigned char value) { unsigned char i; // Variable for counter for(i=0x80;i>0;i/=2) // Loop to shift bit for compare data to sending { if(i & value) // Data bit AND operation logic “1”? DATA = 1; // Send logic “1” to DATA pin else DATA = 0; // Send logic “0” to DATA pin SCK = 1; // Generate clock to SCK pin wait(); // Wait a few time SCK = 0; } DATA = 1; // Release DATA pin SCK = 1; // Generate clock to SCK pin wait(); // Wait a few time SCK = 0; } /*********************** SHT11 reading command function *******************/ char sht11_read() { unsigned char i,value; DATA = 1; // Release DATA pin for(i=0x80;i>0;i/=2) // Loop to shift bit for compare data to sending { SCK = 1; // Generate clock to SCK pin if(DATA) value = value | i; // Store data bit SCK = 0; }
â»Ãá¡ÃÁ·Õè 2 â»Ãá¡ÃÁÍ Ò¹¤ ÒáÅеԴµ ÍÊ×Íè ÊÒáѺ SHT11 ¢Í§äÁâ¤Ã¤Í¹â·ÃÅàÅÍà MCS-51 (ÁÕµÍ )
18 l
SHT11 âÁ´ÙÅÇÑ´¤ÇÒÁª×¹é áÅÐÍسËÀÙÁÔ
SCK = 1; wait(); SCK = 0; DATA = 1; return(value);
// Generate clock to SCK pin // Wait a few time // Release DATA pin // Return data reading from SHT11
} /*********************** SHT11 initial transmittion start function ***********/ void transmission_start(void) { DATA = 1; // Set DATA pin SCK = 0; // Clear SCK pin wait(); // Wait a few time SCK = 1; // Set SCK pin wait(); // Wait a few time DATA = 0; // Clear DATA pin wait(); // Wait a few time SCK = 0; // Clear SCK pin wait(); // Wait a few time SCK = 1; // Set SCK pin wait(); // Wait a few time DATA = 1; // Set DATA pin wait(); // Wait a few time SCK = 0; // Clear SCK pin } /*********************** SHT11 connection reset sequence function **************/ void connection_reset() { unsigned char i; // Variable for counter DATA = 1; // First time for DATA pin SCK = 0; // First time for SCK pin for(i=0;i<9;i++) // Loop for toggle SCK 9 times { SCK = 1; // Generate clock to SCK pin wait(); // Wait a few time SCK = 0; } transmission_start(); // Transmission start } /************* SHT11 readout data function (2 byte) **************/ int sht11_read_measure(unsigned char measure_sel) { int value; // Variable for storing readout data transmission_start(); // Start connection if(measure_sel==TEMP) // Read Temperature? { sht11_write(MEASURE_TEMP); // Send Read Temperature command to SHT11 delay(270); // Delay for Temperature reading (14-bit resolution) } else if(measure_sel==HUMI) // Read Humidity? { // Send command to SHT11 sht11_write(MEASURE_HUMI); delay(80); // Delay for Humidity reading (12-bit resolution) } value = sht11_read(); // Read MSB byte value<<=8; // Shift bit 8 times before store next byte value = value + sht11_read(); // Read LSB byte return(value); // Return readout value from SHT11 }
â»Ãá¡ÃÁ·Õè 2 â»Ãá¡ÃÁÍ Ò¹¤ ÒáÅеԴµ ÍÊ×Íè ÊÒáѺ SHT11 ¢Í§äÁâ¤Ã¤Í¹â·ÃÅàÅÍà MCS-51 (ÁÕµÍ )
SHT11 âÁ´ÙÅÇÑ´¤ÇÒÁª×¹é áÅÐÍسËÀÙÁ Ô l 19 /************* Function for convert data from sht11 to float value ***********/ float read_HT_float(unsigned char measure_sel) { float so_rh, // Variable for storing Humidity readout value so_t, // Variable for storing Temperature readout value rh_linear, // Variable for RH linear(Calculate by equation of SHT11 datasheet) rh_true, // Variable for Humidity(Calculate by equation of SHT11 datasheet) temp; // Variable for Temperature(Calculate by equation of SHT11 datasheet) so_rh = sht11_read_measure(HUMI); // Store Humidity readout value to so_rh so_t = sht11_read_measure(TEMP); // Store Temperature readout value to so_t temp = so_t*0.01 - 40; // Calculate temperature rh_linear = C1 + C2*so_rh + C3*so_rh*so_rh ; // Calculate RH linear rh_true = (temp-25)*(T1+T2*so_rh)+rh_linear; // Calculate humidity if(measure_sel==TEMP) return(temp); else if(measure_sel==HUMI) return(rh_true);
// // // //
Read temperature? Return temperature (float type) Read humidity? Return humidity (float type)
} /********************************* Main Program ******************************/ void main() { int h, // Variable for storing Humidity (integer tyep) t, // Variable for storing Temperature (integer type) old_h, // Variable for storing previous Humidity old_t; // Variable for storing previous Temperature lcd_init(); // Initial module LCD lcd_puts(0x80,”Temp: C”); // Show temperature value lcd_puts(0xC0,”Humi: %”); // Show humidity value while(1) // Infinite loop { connection_reset(); // Start connection t = (int)read_HT_float(TEMP); // Read temperature (integer format) h = (int)read_HT_float(HUMI); // Read humidity (integer format) if(old_t != t) { lcd_puts(0x86,” inttolcd(0x86,t); } if(old_h != h) { lcd_puts(0xC6,” inttolcd(0xC6,h); } old_t = t; old_h = h;
// Compare previous and new Temperature data equal? “);
// Clear previous temperature display // Display new temperature value
// Compare previous and new humidity data equal? “);
// Clear previous humidity display // Display new humidity value // Keep temperature value for next comparison // Keep humidity value for next comparison
} }
¤íÒ͸ԺÒÂâ»Ãá¡ÃÁ ¡Ò÷íÒ§Ò¹¢Í§â»Ãá¡ÃÁ¤×Í Í Ò¹¤ ÒÍسËÀÙÁáÔ ÅФÇÒÁª×¹é ÊÑÁ¾Ñ·¸ ¨Ò¡âÁ´ÙÅ SHT11 ÁÒáÊ´§·Õâè Á´ÙÅ LCD Í ҧµ Íà¹×Íè § â´ÂàÅ×Í¡Í Ò¹¤ ÒÍسËÀÙÁáÔ ÅФÇÒÁª×¹é ÊÑÁ¾Ñ·¸ ·¤Õè ÇÒÁÅÐàÍÕ´ 14 áÅÐ 12 ºÔµµÒÁÅíҴѺ «Ö§è à» ¹¤ ÒµÑ§é µ ¹ËÅÑ¡¹Ñ¹è àͧ à¹×Íè §¨Ò¡¡Òäíҹdz¼ÅÅѾ¸ ¢Í§¢ ÍÁÙŷѧé Êͧ¹Ñ¹é ¨ÐãË ¼ÅÅѾ¸ à» ¹àÅ¢·È¹ÔÂÁẺ
â»Ãá¡ÃÁ·Õè 2 â»Ãá¡ÃÁÍ Ò¹¤ ÒáÅеԴµ ÍÊ×Íè ÊÒáѺ SHT11 ¢Í§äÁâ¤Ã¤Í¹â·ÃÅàÅÍà MCS-51 (ÁÕµÍ )
20 l
SHT11 âÁ´ÙÅÇÑ´¤ÇÒÁª×¹é áÅÐÍسËÀÙÁÔ
float ´Ñ§¹Ñ¹ é ¡ ͹¡ÒÃáÊ´§¼Å·Õè LCD à¾×Íè Å´¢¹Ò´¢Í§à¹×Íé ·ÕËè ¹ ǤÇÒÁ¨íÒâ»Ãá¡ÃÁ·Õµè Í §ãª ÊÒí ËÃѺ¡ÒÃáÊ´§
¼ÅàÅ¢·È¹ÔÂÁ ¨Ö§á»Å§ª¹Ô´¢ ÍÁÙÅÍسËÀÙÁáÔ ÅФÇÒÁª×¹é ÊÑÁ¾Ñ·¸ ãË à» ¹ª¹Ô´¨íҹǹàµçÁ int àÊÕ¡ ͹ ËÅѧ¨Ò¡ ¹Ñ¹é ¨Ðà»ÃÕºà·ÕºÃÐËÇ Ò§¢ ÍÁÙÅà¡ ÒáÅÐãËÁ ·ÍÕè Ò ¹ä´ ¶ ÒÁÕ¡ÒÃà»ÅÕÂè ¹á»Å§ ¨Ö§¨Ð¹íÒ¤ ÒãËÁ ä»áÊ´§¼Åµ Íä» l ¿ §¡ ª¹ Ñè sht11_write 㪠à¢Õ¹¤íÒÊÑ§è ¤Çº¤ØÁ·Õ¶è ¡Ù ¡íÒ˹´¨Ò¡¾ÒÃÒÁÔàµÍà value Ê §ä»ÂѧâÁ´ÙÅ SHT11 ¼ Ò¹·Ò§ºÑÊ¢ ÍÁÙÅ·Õàè ª×Íè Áµ ÍÃÐËÇ Ò§ SHT11 áÅÐäÁâ¤Ã¤Í¹â·ÃÅàÅÍà à¾×Íè ¤Çº¤ØÁ¤Ø³ÊÁºÑµ¡Ô Ò÷íÒ§Ò¹¢Í§ SHT11 «Ö§è ÀÒÂã¹â»Ãá¡ÃÁ¡Ò÷´Åͧ¹Õ¨é Ð㪠ÍÂÙ 2 ¤íÒÊÑ§è ¤×Í 1. à¢Õ¹¢ ÍÁÙŤíÒÊÑ§è ¤Çº¤ØÁ 0x03 ä»Âѧ SHT11 àÁ×Íè µ ͧ¡ÒÃÍ Ò¹¤ ÒÍسËÀÙÁÔ 2. à¢Õ¹¢ ÍÁÙŤíÒÊÑ§è ¤Çº¤ØÁ 0x05 ä»Âѧ SHT11 àÁ×Íè µ ͧ¡ÒÃÍ Ò¹¤ Ò¤ÇÒÁª×¹é ÊÑÁ¾Ñ·¸ â´Â·Õ¢è Í ÁÙŤíÒÊÑ§è ¤Çº¤ØÁ·Ñ§é Êͧ¶Ù¡¹ÔÂÒÁäÇ ã¹µÍ¹µ ¹¢Í§â»Ãá¡ÃÁã¹ÃٻẺÁÒâ¤Ã´Ñ§¹Õé #define MEASURE_TEMP 0x03 #define MEASURE_HUMI 0x05
l ¿ §¡ ª¹ Ñè sht11_read 㪠ÍÒ ¹¢ ÍÁÙÅ 1 亵 ·ÊÕè § ÁÒ¨Ò¡ SHT11 «Ö§è ¨Ðà» ¹¢ ÍÁÙÅÍÐäÃ¹Ñ¹é ¢Ö¹é ÍÂÙ¡ ºÑ Ç Ò ¼Ù¾ ² Ñ ¹Ò
à¢Õ¹¢ ÍÁÙŤíÒÊÑ§è ¤Çº¤ØÁÍÐäÃÊ §ä»Âѧ SHT11 ઠ¹ ¡ ͹˹ Ò¹Õàé ¢Õ¹¢ ÍÁÙŤíÒÊѧè 0x03 Ê §ä» ´Ñ§¹Ñ¹é âÁ´ÙÅ SHT11 ¨ÐÊ §¢ ÍÁÙÅÍسËÀÙÁ¡Ô ÅѺÁÒÂѧäÁâ¤Ã¤Í¹â·ÃÅàÅÍà 2 亵 ËÃ×Í ¶ Ò¡ ͹˹ Ò¹Õàé ¢Õ¹¢ ÍÁÙŤíÒÊѧè 0x05 ä»Âѧ âÁ´ÙÅ SHT11 µÑÇ SHT11 ¨ÐÊ §¢ ÍÁÙŤÇÒÁª×¹é ÊÑÁ¾Ñ·¸ ¡ÅѺÁÒ 2 亵 ઠ¹¡Ñ¹ ´Ñ§¹Ñ¹é 㹡ÒÃÍ Ò¹¨Ö§µ ͧ·íÒ¡ÒÃÍ Ò¹µ Í à¹×Íè §¡Ñ¹ 2 ¤Ãѧé à¾×Íè ¹íÒ¢ ÍÁÙÅàËŠҹѹé 仼 Ò¹¡Ãкǹ¡ÒõդÇÒÁã¹¢Ñ¹é µ Íä» l ¿ §¡ ª¹ Ñè transmission_start 㪠Êà ҧÊÀÒÇÐàÃÔÁè µ ¹¡ ͹à¢Õ¹¢ ÍÁÙŤíÒÊÑ§è ¤Çº¤ØÁÊ §ä»Âѧ SHT11 l ¿ §¡ ª¹ Ñè connection_reset 㪠Êà ҧÊÀÒÇÐÃÕ૵ºÑÊ¡ ͹¡ÒõԴµ ͡Ѻ SHT11 l ¿ §¡ ª¹ Ñè sht11_read_measure 㪠ÍÒ ¹¢ ÍÁÙÅ´Ôº 2 亵 ¨Ò¡âÁ´ÙÅ SHT11 «Ö§è ÍҨ໠¹¢ ÍÁÙÅÍسËÀÙÁÔ ËÃ×ͤÇÒÁª×¹é ÊÑÁ¾Ñ·¸ ¢Ö¹é ÍÂÙ¡ ºÑ ¡ÒáíÒ˹´¤ ÒãË ¡ºÑ ¾ÒÃÒÁÔàµÍà measure_sel 㹵͹àÃÕ¡㪠§Ò¹¿ §¡ ª¹Ñè â´Â¡íÒ˹´Ãٻṹ໠¹ÁÒâ¤Ã´Ñ§¹Õé àÁ×Íè µ ͧ¡ÒÃÍ Ò¹ÍسËÀÙÁ¡Ô Òí ˹´à» ¹ TEMP àÁ×Íè µ ͧ¡ÒÃÍ Ò¹¤ÇÒÁª×¹é ÊÑÁ¾Ñ·¸¡íÒ˹´à» ¹ HUMI l ¿ §¡ ª¹ Ñè read_HT_float 㪠ÍÒ ¹¢ ÍÁÙÅ´Ôº¨Ò¡¿ §¡ ª¹Ñè sht11_read_measure à¾×Íè ¹íÒÁÒ¤íҹdz ¤ ÒÍسËÀÙÁËÔ Ã×ͤÇÒÁª×¹é ÊÑÁ¾Ñ·¸ ¨ÃÔ§·Õµè Í §¡ÒÃã¹ÃٻẺàÅ¢·È¹ÔÂÁ float â´Â¤íҹdz¨Ò¡ÊÁ¡ÒÃ·Õ¼è ¼Ù ÅÔµ¡íҡѺ ÁÒ Ê Ç¹¡ÒÃàÅ×Í¡Í Ò¹¤ ÒÍسËÀÙÁËÔ Ã×ͤÇÒÁª×¹é ÊÑÁ¾Ñ·¸ ·Òí ä´ ¨Ò¡¡íÒ˹´¤ ÒãË ¡ºÑ ¾ÒÃÒÁÔàµÍà measure_sel 㹵͹àÃÕ¡㪠§Ò¹¿ §¡ ª¹Ñè â´Â¡íÒ˹´Ãٻṹ໠¹ÁÒâ¤Ã´Ñ§¹Õé àÁ×Íè µ ͧ¡ÒÃÍ Ò¹ÍسËÀÙÁ¡Ô Òí ˹´à» ¹ TEMP àÁ×Íè µ ͧ¡ÒÃÍ Ò¹¤ÇÒÁª×¹é ÊÑÁ¾Ñ·¸¡íÒ˹´à» ¹ HUMI ¡Ò÷íÒ§Ò¹¢Í§¿ §¡ ª¹Ñè ¹Õ¤é Í× Í Ò¹¤ Ò¢ ÍÁÙÅ´Ôº·Ñ§é ÍسËÀÙÁáÔ ÅФÇÒÁª×¹é ÊÑÁ¾Ñ·¸ à¾×Íè ¤íҹdz¼ÅÅѾ¸ ¨Ò¡ ÊÁ¡Òâͧ¼Ù¼ ÅÔµ â´Â¡Òäíҹdz¤ Ò¤ÇÒÁª×¹é ÊÑÁ¾Ñ·¸ ¨Ð¢Ö¹é ÍÂÙ¡ ºÑ ¤ ҢͧÍسËÀÙÁàÔ ¢ ÒÁÒà ÇÁ㹡Òäíҹdz´ ÇÂ
â»Ãá¡ÃÁ·Õè 2 â»Ãá¡ÃÁÍ Ò¹¤ ÒáÅеԴµ ÍÊ×Íè ÊÒáѺ SHT11 ¢Í§äÁâ¤Ã¤Í¹â·ÃÅàÅÍà MCS-51 (¨º)
SHT11 âÁ´ÙÅÇÑ´¤ÇÒÁª×¹é áÅÐÍسËÀÙÁ Ô l 21 (2) ¨ ÒÂä¿ãË á¡ Ç§¨Ã ·´Êͺ¨ Ò¤ÇÒÁà ͹ãË ¡ºÑ âÁ´ÙÅ SHT11 ઠ¹ 㪠ä´Ã à» Ò¼Á ËÃ×͹íÒËÑÇáà §Ã ͹æ ä»Íѧã¡Å æ µÑÇâÁ´ÙÅ SHT11 Êѧࡵ¡ÒÃà»ÅÕÂè ¹á»Å§¢Í§¤ ÒÍسËÀÙÁáÔ ÅФÇÒÁª×¹é ÊÑÁ¾Ñ·¸ ·âÕè Á´ÙÅ LCD ¼Å¡ÒÃáÊ´§¼Å·Õâè Á´ÙÅ LCD à» ¹´Ñ§¹Õé
Temp:
xxx
C
Humi:
xxx
%
â´Â·Õè xxx ¤×ͤ ÒÍسËÀÙÁËÔ Ã×ͤÇÒÁª×¹é ÊÑÁ¾Ñ·¸ ·ÇÕè ´Ñ ä´ ÊíÒËÃѺäźÃÒÃÕ lcdv51.h áÅÐä¿Å â»Ãá¡ÃÁ·´Êͺ·Ñ§é ËÁ´ÊÒÁÒö´Òǹ âËÅ´ä´ ¨Ò¡ www.inex.co.th
¤ÇÒÁÃÙ à¡ÕèÂǡѺ¤ÇÒÁª×é¹ ¤ÇÒÁª×é¹ (Humidity ) ËÁÒ¶֧ »ÃÔÁÒ³ä͹éíÒ·ÕèÁÕÍÂÙ ã¹ÍÒ¡ÒÈ àÁ×è͹éíÒä´ ÃѺ¤ÇÒÁà ͹ ¹éíҨРà»ÅÕè¹ʶҹШҡ¢Í§àËÅÇ¡ÅÒÂà» ¹äÍ àÃÕÂ¡Ç Ò ¡ÒÃÃÐàË «Ö觤ÇÒÁà ͹·Õè㪠㹡Ò÷íÒãË ¹éíÒ ÃÐàË¡ÅÒÂà» ¹ä͹Õé àÃÕÂ¡Ç Ò ¤ÇÒÁà ͹ὧ (Latent Heat ) àÁ×Íè ÍÒ¡ÒÈàÂç¹Å§ä͹éÒí ¨ÐàÃÔÁè ¡ÅÑ¹è µÑÇà» ¹ ÅÐÍͧ áÅФÒ¤ÇÒÁà ͹ὧÍÍ¡ÁÒ´ Ç ÍÒ¡ÒȨÐä´ ÃºÑ ä͹éÒí ä´ ÁÒ¡ËÃ×͹ ÍÂÍÂÙ¡ ºÑ ÍسËÀÙÁÔ ´Ñ§¹Ñ¹é ÍسËÀÙÁ¨Ô §Ö à» ¹µÑÇ¡íÒ˹´»ÃÔÁÒ³ä͹éÒí ã¹ÍÒ¡ÒÈ ÍÒ¡ÒÈ·ÕÁè ÍÕ ³ Ø ËÀÙÁÊÔ §Ù ¨ÐÃѺä͹éÒí ä´ ÁÒ¡¡Ç ÒÍÒ¡ÒÈ ·ÕÁè ÍÕ ³ Ø ËÀÙÁµÔ Òèí ¶ ÒÍÒ¡ÒÈäÁ ÊÒÁÒöÃѺä͹éÒí ä´ àÃÕÂ¡Ç Ò ä͹éÒí ÍÔÁè µÑÇ (Saturate )
¤ÇÒÁª×¹é ã¹ÍÒ¡ÒÈ ¤ÇÒÁª×¹é ·ÕÁè ÍÕ ÂÙã ¹ÍÒ¡ÒÈẠ§ÍÍ¡à» ¹ 4 »ÃÐàÀ· 1. ¤ÇÒÁª×é¹ÊÑÁºÙó (Absolute Humidity ) ¤×͹éíÒ˹ѡ¢Í§ä͹éíÒ·ÕèÁÕÍÂÙ ¨ÃÔ§ ã¹ »ÃÔÁҵâͧÍÒ¡ÒȨíҹǹ˹Ö觤íÒ¹Ç³ä´ ¨Ò¡¹éíÒ˹ѡ¢Í§ä͹éíÒµ Í˹Öè§Ë¹ Ç»ÃÔÁҵâͧÍÒ¡ÒÈ ËÃ×Í¡Å ÒÇÍÕ¡¹ÑÂ˹֧è Ç Ò ¤ÇÒÁª×¹é ÊÑÁºÙó ¤Í× ¤ÇÒÁ˹Òá¹ ¹¢Í§ä͹éÒí ã¹ÍÒ¡ÒÈ˹ ǤԴ໠¹¡ÃÑÁµ Í ÅÙ¡ºÒÈ¡ àÁµÃ ઠ¹¹éíÒ˹ѡ¢Í§ä͹éíÒ 25 ¡ÃÑÁ µ ÍÅÙ¡ºÒÈ¡ àÁµÃ ¤ÇÒÁª×é¹ÊÑÁºÙó ÁÑ¡¨ÐäÁ ¤ ͹ÔÂÁ ¹íÒÁÒ㪠㹷ҧÍصعÔÂÁÇÔ·ÂÒà¾ÃÒÐàÁ×èÍÍÒ¡ÒÈÅ͵ÑÇ¢Öé¹ËÃ×ͨÁµÑÇŧ¨Ð·íÒãËé»ÃÔÁҵâͧÍÒ¡ÒÈ à»ÅÕè¹á»Å§à¹×èͧ¨Ò¡ºÃÔàdzÃͺ æ ¤ÇÒÁ¡´ÍÒ¡ÒȨÐà»ÅÕè¹á»Å§ áÁ Ç Òä͹éíÒ·ÕèÁÕÍÂÙ ã¹ÍÒ¡ÒȨР¤§·Õäè Á à»ÅÕÂè ¹á»Å§ ઠ¹ ä͹éÒí ·ÕÁè ÍÕ ÂÙ¨ Òí ¹Ç¹äÁ ෠ҡѹàÁ×Íè »ÃÔÁÒµÃà¾ÔÁè ¢Ö¹é ¤ÇÒÁª×¹é ÊÑÁºÙó ŴŧᵠàÁ×èÍ»ÃÔÁÒµÃŴŧ ¤ÇÒÁª×é¹ÊÑÁºÙó ¨Ðà¾ÔèÁ¢Öé¹
22 l
SHT11 âÁ´ÙÅÇÑ´¤ÇÒÁª×¹é áÅÐÍسËÀÙÁÔ
2. ¤ÇÒÁª×鹨íÒà¾ÒÐ ( Specific Humidity ) ËÁÒ¶֧ ¹éíÒ˹ѡËÃ×ͤÇÒÁª×é¹·ÕèÁÕÍÂÙ ã¹ ÍÒ¡ÒÈ ( Q ) à» ¹ÍѵÃÒÊ Ç¹ÃÐËÇ Ò§¹éÒí ˹ѡ¢Í§ä͹éÒí ( Mv ) µ ͹éÒí ˹ѡ¢Í§ÍÒ¡ÒÈª×¹é ¹éÒí ˹ѡ¢Í§ ä͹éÒí (Mv ) ÃÇÁ¡Ñº¹éÒí ˹ѡ¢Í§ÍÒ¡ÒÈ ( Ma ) Áѡ㪠໠¹¡ÃÑÁ¢Í§¹éÒí µ Í 1 ¡ÔâÅ¡ÃÑÁ¢Í§ÍÒ¡ÒÈª×¹é ´Ñ§ ÊÁ¡Òà Q = Mv/Mv + Ma ¤ÇÒÁª×鹨íÒà¾ÒТͧÍÒ¡ÒȨÐÁÕ¤ Ò¤§·Õè àÁ×èÍÍÒ¡ÒÈ¢ÂÒÂËÃ×ÍË´µÑÇ â´Â ·Õè¤ÇÒÁª×鹨ÐäÁ à»ÅÕè¹á»Å§ÂѧÁÕ¤ Ò¤§à´ÔÁáÁ Ç Ò»ÃÔÁҵâͧÍÒ¡ÒȨТÂÒµÑÇËÃ×ÍË´µÑÇ¡çµÒÁ 3. ¤ÇÒÁª×¹é ÊÑÁ¾Ñ·¸ ( Relative Humidity ) ËÁÒ¶֧ ÍѵÃÒÊ Ç¹ÃÐËÇ Ò§¹éÒí ˹ѡ¢Í§ ä͹éÒí ·ÕÁè ÍÕ ÂÙ¨ ÃÔ§·ÕÍè ³ Ø ËÀÙÁÔ áÅФÇÒÁ¡´´Ñ¹Ë¹Ö§è µ ͹éÒí ˹ѡ¢Í§ä͹éÒí ÍÔÁè µÑÇ·ÕÍè ³ Ø ËÀÙÁáÔ ÅФÇÒÁ¡´¹Ñ¹é ¤Ô´à» ¹¤ Òà ÍÂÅÐ µÑÇÍ ҧઠ¹ ÍÒ¡ÒÈ 1 ÅÙ¡ºÒÈ¡ àÁµÃ àÁ×èÍÍسËÀÙÁÔ 30 ͧÈÒૹà«ÕÂÊÁÕä͹éíÒÍ ٠9 ¡ÃÑÁ áÅÐã¹ÍسËÀÙÁÔ¹Ñé¹ÍÒ¡ÒÈÍÔèÁµÑÇÁÕä͹éíÒÍÂÙ 30 ¡ÃÑÁ ¤ÇÒÁª×é¹ÊÑÁ¾Ñ·¸ ෠ҡѺ 100x9/30 ෠ҡѺ à ÍÂÅÐ 30 ¤ÇÒÁª×é¹ÊÑÁ¾Ñ·¸ à» ¹ÇÔ¸ÕÇÑ´¤ÇÒÁª×é¹ã¹ÍÒ¡ÒÈ·Õè㪠ÁÒ¡·ÕèÊØ´ ¡ÒÃà»ÅÕè¹á»Å§¤ÇÒÁª×é¹ ÊÑÁ¾Ñ·¸ ¨ÐäÁ ·íÒãË »ÃÔÁÒ³ä͹éíÒ·ÕèÁÕÍÂÙ ã¹ÍÒ¡ÒÈà»ÅÕè¹á»Å§ áµ ÍسËÀÙÁÔ¨Ðà»ÅÕè¹á»Å§ áÅж Ò ÍسËÀÙÁÔà»ÅÕè¹á»Å§ ¤ÇÒÁª×é¹ÊÑÁ¾Ñ·¸ ¨Ðà»ÅÕè¹á»Å§ä»´ Ç 4. ÍسËÀÙÁ¨Ô ´Ø ¹éÒí ¤ Ò§ (Dew Pojnt Temperaturs ) ¤×ÍÍسËÀÙÁ«Ô §Öè ÍÒ¡Òȶ١·íÒãË àÂç¹ Å§ ( ¤ÇÒÁ¡´ÍÒ¡ÒȤ§·Õè ) ¶Ö§ÍسËÀÙÁËÔ ¹Ö§è ·Õäè ͹éÒí ¨Ø´ÍÔÁè µÑǾʹÕͳ Ø ËÀÙÁ¢Ô ͧ¨Ø´¹éÒí ¤ Ò§ ¨Ðà» ¹à· Òã´ ¡çä´ ¢Öé¹ÍÂÙ ¡Ñº¨íҹǹä͹éíÒ ·ÕèÁÕÍÂÙ ¨ÃÔ§ã¹ÍÒ¡ÒÈ ¶ ÒÍÒ¡ÒÈÁÕä͹éíÒÁÒ¡ ÍسËÀÙÁԢͧ¨Ø´¹éíÒ¤ Ò§¨ÐÊÙ§ áµ ¶Ò ä͹éÒí ÁÕ¹Í ÂÍسËÀÙÁ¢Ô ͧ¨Ø´¹éÒí ¤ Ò§¨ÐµèÒí ¶ ÒÍسËÀÙÁ¢Ô ͧÍÒ¡ÒÈÅ´µèÒí ¡Ç Ò¨Ø´¹éÒí ¤ Ò§ ¨ÐÁÕ¡ÒáÅÑ¹è µÑÇã¹ÃÙ»¢Í§ËÂÒ´¹éíÒ¿ Ò àª ¹ ã¹Ä´Ùà ͹ ᡠǹéíÒ·ÕèãÊ ¹éíÒá¢ç§µÑ駷Ôé§äÇ ¤ÇÒÁª×鹢ͧÍÒ¡ÒȨÐÃÇÁ¡Ñ¹ à» ¹Ë´¹éÒí à¡ÒÐÍÂÙà ͺ¹Í¡á¡ ÇÍسËÀÙÁ¢Ô ͧᡠǹéÒí ·Õãè Ê ¹Òéí á¢ç§¨ÐµèÒí ¡Ç ÒÍسËÀÙÁ¨Ô ´Ø ¹éÒí ¤ Ò§·ÕÍè ÂÙâ ´Â Ãͺ ÍسËÀÙÁԢͧ¨Ø´¹éíÒ¤ Ò§¨ÐºÍ¡¶Ö§¤ÇÒÁäÁ ÊдǡʺÒ¢ͧÁ¹ØÉ 㹪 ǧ·ÕèÁÕÍÒ¡ÒÈÍØ ¹áÅЪ×é¹ ä´ ´Õ¡Ç Ò¤ÇÒÁª×é¹ÊÑÁ¾Ñ·¸ ¡àÇ ¹ÊíÒËÃѺ¼Ù ·Õèà¤ÂªÔ¹¡ÑºÍÒ¡ÒÈà ͹ª×é¹ ¤¹Ê ǹãË ÃÙ ÊÖ¡Ç ÒÍÒ¡ÒȪ×é¹ äÁ ÊдǡʺÒÂàÁ×èÍÍسËÀÙÁԨش¹éíÒ¤ Ò§ÊÙ§¡Ç Ò 20 ͧÈÒ ã¹¢³Ð·ÕèºÒ§¤¹ÍÒ¨ÃÙ ÊÖ¡äÁ ʺÒµÑÇ àÁ×èÍ ÍسËÀÙÁ¨Ô ´Ø ¹éÒí ¤ Ò§ÊÙ§¡Ç Ò 17 ͧÈÒ
¤ÇÒÁª×¹é ÊÑÁ¾Ñ·¸ ˹ ÇÂÇÑ´·Õè¹ÔÂÁ㪠㹡ÒÃÇÑ´ÃдѺ¤ÇÒÁª×é¹ã¹ÍÒ¡ÒÈ ä´ á¡ ¤ÇÒÁª×é¹ÊÑÁ¾Ñ·¸ (Relative Humidity - rH) «Ö§è ËÁÒ¶֧ ÍѵÃÒÊ Ç¹ ¢Í§»ÃÔÁÒ³ä͹éÒí ·ÕÁè ãÕ ¹ÍÒ¡ÒÈ ³ ¢³Ð¹Ñ¹é à·Õº¡Ñº »ÃÔÁÒ ³ä͹éÒí ·ÕÍè Ò¡ÒȨÐÃͧÃÑºä´ ËÒ¡ÃдѺä͹éÒí ³ ¢³Ð¹Ñ¹é ÁÒ¡à¡Ô¹¡Ç Ò (> 100%) ¤ÇÒÁÊÒÁÒö¢Í§ ÍÒ¡ÒÈ ¨ÐÃͧÃÑºä´ ä͹éÒí ¨Ð¤Çºá¹ ¹ (Condensation) áÅÐ ¡ÅÒÂà» ¹Ë´¹éÒí ã¹·ÕÊè ´Ø áç´Ñ¹ä͹éÒí áÅÐ ¤ÇÒÁÊÒÁÒö㹡ÒÃÃͧÃѺ »ÃÔÁÒ³ä͹éÒí ³ ÍسËÀÙÁ·Ô ÊÕè §Ù ¡Ç Ò ¨ÐÁÕÁÒ¡¡Ç Ò áç´Ñ¹ä͹éÒí áÅÐ ¤ÇÒÁÊÒÁÒö 㹡ÒÃÃͧÃѺ »ÃÔÁÒ³ä͹éíÒ ³ ÍسËÀÙÁÔ·ÕèµèíÒ¡Ç Ò â´Âà˵عÕé ¡ÒÃà»ÅÕè¹á»Å§¢Í§
SHT11 âÁ´ÙÅÇÑ´¤ÇÒÁª×¹é áÅÐÍسËÀÙÁ Ô l 23 ÍسËÀÙÁÔ ¨ÐÁÕ¼Åâ´ÂµÃ§ µ Íáç´Ñ¹ä͹éíÒ áÅÐ ¤ÇÒÁÊÒÁÒö´Ñ§¡Å ÒÇ ÃдѺÍسËÀÙÁÔ·Õè ·íÒãË ä͹éíÒ à¡Ô´¡ÒÃÍÔèÁµÑÇ (Saturation) áÅÐ ¤Çºá¹ ¹ àÃÕÂ¡Ç Ò ¨Ø´¹éíÒ¤ Ò§ (Dew Point) µÒÃÒ§µ Í仹Õé áÊ´§¶Ö§ ¨Ø´¹éÒí ¤ Ò§ (ͧÈÒà«Åà«ÕÂÊ-c) áç´Ñ¹ä͹éÒí áÅлÃÔÁÒ³ä͹éÒí ³ ÍسËÀÙÁµÔ Ò § æ
ÍسËÀÙÁ¨Ô ´Ø ¹íÒé ¤ Ò§ (à«Åà«ÕÂÊ)
áç´Ñ¹ä͹íÒé (PSIG)
»ÃÔÁÒ³ä͹íÒé (g/cu.m)
0 10 15 20 25 30 35 40 45 50 55 60
0.0886 0.1780 0.2472 0.3390 0.6516 0.8586 0.8156 1.0700 1.3902 1.7897 2.2838 2.8900
4.8452 9.3902 12.8122 17.2724 23.0111 30.3212 39.5383 51.0509 65.2722 82.7282 103.9594 129.5802
¢ ÍÁÙŨҡµÒÃÒ§ áÊ´§ãË àËç¹Ç Ò ·ÕÍè ³ Ø ËÀÙÁÔ 35 c áç´Ñ¹ä͹éÒí ෠ҡѺ 0.8156 (˹ ÇÂà» ¹ PSIG) áÅÐ ÊÒÁÒö ÃͧÃѺ»ÃÔÁÒ³ä͹éíÒ ä´ äÁ à¡Ô¹ 39.5383 ¡ÃÑÁµ ÍÅÙ¡ºÒÈ ¡àÁµÃ ËÒ¡¤ÇÒÁª×é¹ÊÑÁ¾Ñ·¸ ÍÂÙ· Õè 85% ³ ÍسËÀÙÁÔ 35 c áç´Ñ¹ä͹éÒí ෠ҡѺ 0.6933 áÅÐ ÍÒ¡ÒÈ¢³Ð¹Ñ¹é ÁÕ»ÃÔÁÒ³ä͹éÒí »ÃÐÁÒ³ 33.6076 ¡ÃÑÁµ ÍÅÙ¡ºÒÈ ¡àÁµÃ ËÒ¡ÍسËÀÙÁÅÔ ´Å§ä» ·ÕÃè дѺ 30 c «Ö§è äÁ ÊÒÁÒö ÃͧÃѺ»ÃÔÁÒ³äÍ ¹éÒí ä´ à¡Ô¹ 30.3212 ¡ÃÑÁµ ÍÅÙ¡ºÒÈ ¡àÁµÃ »ÃÔÁÒ³ä͹éÒí Ê Ç¹à¡Ô¹ 3.2864 ¡ÃÑÁµ ÍÅÙ¡ºÒÈ ¡àÁµÃ ¨Ð¤Çº á¹ ¹¡ÅÒÂà» ¹¹éíÒ ËÒ¡àÃÒ·ÃÒº¶Ö§ ÃдѺ¤ÇÒÁª×é¹ÊÑÁ¾Ñ·¸ ¢Í§ÍÒ¡ÒÈ ã¹ÃÐËÇ Ò§¡ÒúÃÃ¨Ø ¡ÒèѴ à¡çº áÅÐ ¡Òâ¹Ê §ÊÔ¹¤ Ò ¡çÊÒÁÒö¤íÒ¹Ç³ä´ Ç Ò »ÃÔÁÒ³ä͹éíÒ·Õè¨ÐÊ §¼Å àÊÕÂËÒµ ÍÊÔ¹¤ Ò¹Ñé¹ ÁÕ ÁÒ¡¹ ÍÂà¾Õ§äÃ
24 l
SHT11 âÁ´ÙÅÇÑ´¤ÇÒÁª×¹é áÅÐÍسËÀÙÁÔ
¤ÇÒÁª×¹é ÊÑÁ¾Ñ·¸ ¢Í§»ÃзÈä·Âã¹áµ ÅÐÄ´Ù¡ÒÅ »ÃÐà·Èä·ÂµÑ§é ÍÂÙ㠹ࢵà ͹ã¡Å àÊ ¹Èٹ ʵ٠à ¨Ö§ÁÕÍÒ¡ÒÈà ͹ª×¹é »¡¤ÅØÁà¡×ͺµÅÍ´» àÇ ¹ áµ ºÃÔàdz·ÕèÍÂÙ Å֡ࢠÒä»ã¹á¼ ¹´Ô¹ µÑé§áµ ÀÒ¤¡ÅÒ§¢Öé¹ä»¤ÇÒÁª×é¹ÊÑÁ¾Ñ·¸ ¨ÐŴŧªÑ´à¨¹ 㹪 ǧ Ä´Ù˹ÒÇáÅÐÄ´Ùà ͹ â´Â੾ÒÐÄ´Ùà ͹ ¨Ðà» ¹ª ǧ·Õè¤ÇÒÁª×é¹ÊÑÁ¾Ñ·¸ ŴŧµèíÒÊØ´ã¹Ãͺ» ã¹ ºÃÔàdz´Ñ§¡Å ÒÇÁÕ¤ÇÒÁª×¹é ÊÑÁ¾Ñ·¸ à©ÅÕÂè µÅÍ´» 72-74 à»Íà à«ç¹µ áÅШÐŴŧàËÅ×Í 62-69 à»Íà ૹµ 㹪 ǧĴÙà ͹ ´Ñ§áÊ´§¢ ÍÁÙŵÒÁµÒÃÒ§µ Í仹Õé
ÀÒ¤
à˹×Í µÐÇѹÍÍ¡à©Õ§à˹×Í ¡ÅÒ§ µÐÇѹÍÍ¡ ãµ ½ §µÐÇѹÍÍ¡ ãµ ½ §µÐÇѹµ¡
Ä´Ù˹ÒÇ Ä´ÙÃÍ ¹ Ä´Ù½¹ µÅÍ´» 73 62 81 74 69 65 80 72 71 69 79 73 71 74 81 76 81 77 78 79 77 76 84 80
µÒÃÒ§áÊ´§Ê¶Ôµ¤Ô ÇÒÁª×¹é ÊÑÁ¾Ñ·¸ à©ÅÕÂè ( % ) ¢Í§»ÃÐà·Èä·Â㹪 ǧĴ١Òŵ Ò§æ