à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
l
1
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ÑºàºÊÔ¡áʵÁ» 2SX Learning microcontroller with BASIC Stamp 2SX Çþ¨¹ ¡Ãá¡ ÇÇѲ¹¡ØÅ, ªÑÂÇѲ¹ ÅÔÁé ¾Ã¨ÔµÃÇÔäÅ (C) Innovative Experiment Co.,Ltd.
˹Öè § ã¹Ë¹Ñ § Ê× Í ªØ ´ ááàÃÔè Á àÃÕ Â ¹ÃÙ ä Áâ¤Ã¤Í¹â·ÃÅàÅÍÃ
2
l
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
Learning microcontroller with BASIC Stamp2SX à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX ISBN : 974-91609-2-4
Çþ¨¹ ¡Ãá¡ ÇÇѲ¹¡ØÅ áÅÐ ªÑÂÇѲ¹ ÅÔÁé ¾Ã¨ÔµÃÇÔäÅ ã¤Ã¤ÇÃ㪠˹ѧÊ×ÍàÅ Á¹Õé 1. ¹Ñ¡àÃÕ¹ ¹ÔÊÔµ ¹Ñ¡ÈÖ¡ÉÒ áÅкؤ¤Å·ÑèÇä»·ÕèÁÕ¤ÇÒÁʹã¨ã¹¡ÒÃàÃÕ¹ÃÙ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ´ Ç ÀÒÉÒàºÊÔ¡ 2. ʶҺѹ¡ÒÃÈÖ¡ÉÒ âçàÃÕ¹ ÇÔ·ÂÒÅÑ ÁËÒÇÔ·ÂÒÅÑ ·ÕÁè ¡Õ ÒÃà» ´¡ÒÃàÃÕ¹¡ÒÃÊ͹ÇÔªÒÍÔàÅç¡·ÃÍ¹Ô¡Ê ËÃ×ÍÀÒ¤ÇÔªÒÇÔÈÇ¡ÃÃÁÍÔàÅç¡·ÃÍ¹Ô¡Ê áÅФÍÁ¾ÔÇàµÍà 3. ¤³Ò¨Òà·ÕèÁÕ¤ÇÒÁµ ͧ¡ÒÃÈÖ¡ÉÒ áÅÐàµÃÕÂÁ¡ÒÃàÃÕ¹¡ÒÃÊ͹ÇÔªÒäÁâ¤Ãâ»Ãà«Êà«Íà - äÁâ¤Ã ¤Í¹â·ÃÅàÅÍà ¾¹×é °Ò¹ ´íÒà¹Ô¹¡ÒèѴ¾ÔÁ¾ áÅШíÒ˹ ÒÂâ´Â ºÃÔÉ·Ñ ÍÔ¹â¹àǵտ àÍç¡à¾ÍÃÔàÁ¹µ ¨íÒ¡Ñ´ 3133/53 «.ÊØ¢ÁØ ÇÔ· 101/2 ¶.ÊØ¢ÁØ ÇÔ· á¢Ç§ºÒ§¹Ò ࢵºÒ§¹Ò ¡ÃØ§à·¾Ï 10260 â·ÃÈѾ· 0-2747-7001-4 â·ÃÊÒà 0-2747-7005 E-mail : tech@inex.co.th Website : www.inex.co.th
ÃÒÂÅÐàÍÕ´·Õ»è ÃÒ¡¯ã¹Ë¹Ñ§Ê×Í à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX ä´ ¼Ò ¹¡ÒõÃǨ·Ò¹ Í ҧÅÐàÍÕ´áÅж ǹ¶Õè à¾×Íè ãË Á¤Õ ÇÒÁÊÁºÙó áÅж١µ ͧÁÒ¡·ÕÊè ´Ø ÀÒÂãµ à§×Íè ¹ä¢áÅÐàÇÅÒ·Õ¾è §Ö ÁÕ¡Í ¹¡ÒèѴ¾ÔÁ¾ à¼Âá¾Ã ¤ÇÒÁàÊÕÂËÒÂÍѹÍÒ¨à¡Ô´¨Ò¡ ¡ÒùíÒ¢ ÍÁÙÅã¹Ë¹Ñ§Ê×ÍàÅ Á¹Õäé »ãª ·Ò§ºÃÔÉ·Ñ ÍÔ¹â¹àǵտ àÍç¡à¾ÍÃÔàÁ¹µ ¨íÒ¡Ñ´ ÁÔä´ ÁÀÕ ÒÃÐ㹡ÒÃÃѺ¼Ô´ªÍºáµ »ÃСÒÃã´ ¤ÇÒÁ¼Ô´¾ÅÒ´¤ÅÒ´à¤Å×Íè ¹·ÕÍè Ò¨ÁÕáÅÐä´ ÃºÑ ¡ÒèѴ¾ÔÁ¾ à¼Â á¾Ã ÍÍ¡ä»¹Ñ¹é ·Ò§ºÃÔÉ·Ñ Ï ¨Ð¾ÂÒÂÒÁªÕáé ¨§áÅÐá¡ ä¢ã¹¡ÒèѴ¾ÔÁ¾ ¤ÃÑ§é µ Íä»
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
l
3
äÁâ¤Ã¤Í¹â·ÃÅàÅÍà -Çѹ¹Õé...äÁ ÃÙ ¨Ñ¡äÁ ä´ áÅ Ç ÇÔÇѲ¹Ò¡ÒâͧÊÔ觻ÃдÔÉ° ´ ҹ෤â¹âÅÂÕà¡Ô´¢Öé¹Í ҧµ Íà¹×èͧáÅÐÃÇ´àÃçÇ ÍØ»¡Ã³ ¼Ù ÍÂÙ àº×éͧËÅѧ ¤ÇÒÁÊíÒàÃ稵ÑÇË¹Ö§è ¤×Í äÁâ¤Ã¤Í¹â·ÃÅàÅÍà (micrcontroller) ÍØ»¡Ã³ ¤Çº¤ØÁµÑÇàÅç¡æ ·Õ·è Òí §Ò¹ä´ Í ҧ·Ã§ »ÃÐÊÔ·¸ÔÀÒ¾áÅй Ò·Ö§è ¹Ñ¹é äÁ ÂÒ¡à¡Ô¹¡Ç Ò·Õ¨è ÐàÃÕ¹ÃÙá ÅеԴµÒÁãË à· Ò·Ñ¹ ËÒ¡áµ ¨´Ø ÊíҤѤ×Í ¡ÒÃàÃÔÁè µ ¹ ¡ÒÃàÃÔè Á µ ¹ àÃÕ Â ¹ÃÙ á ÅÐ㪠§ Ò¹äÁâ¤Ã¤Í¹â·ÃÅàÅÍÃ Ê ÒÁÒö·í Ò ä´ ä Á  ҡ à¾Õ  §ÁÕ ¤ ÇÒÁµÑé § 㨨ÃÔ § ¼¹Ç¡¡Ñº¡ÒèѴÃÐàºÕº¤ÇÒÁ¤Ô´·ÕèàËÁÒÐÊÁ ¡ç¨ÐÊÒÁÒöࢠÒ㨡Ò÷íÒ§Ò¹áÅйíÒÁÒ㪠§Ò¹ä´ ã¹àÇÅÒÍѹÊÑé¹ áÅÐÂÔ觴 ÇÂà¤Ã×èͧÁ×ÍàÊÃÔÁ㹡ÒÃàÃÕ¹ÃÙ ·Õè¤ÃºÇ§¨Ã·Ñ駫Ϳµ áÇà áÅÐÎÒà ´áÇà ÂÔ觷íÒãË âÍ¡ÒÊ㹡ÒÃàÃÕ¹ ÃÙ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ãË à¢ Òã¨ä´ ÁÕÁÒ¡¢Öé¹ â´Â੾ÒÐÍ ҧÂÔ觡ѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍà ·Õè¾Ñ²¹Òâ»Ãá¡ÃÁ ´ ÇÂÀÒÉÒàºÊÔ¡ «Ö§è § Òµ Í¡Òè´¨íÒáÅзíÒ¤ÇÒÁࢠÒ㨠àºÊÔ¡áʵÁ» (BASIC Stamp) ¤×ÍäÁâ¤Ã¤Í¹â·ÃÅàÅÍà ·ÕèàËÁÒÐÍ ҧÂÔè§ã¹¡ÒùíÒÁÒàÃÔèÁµ ¹àÃÕ¹ÃÙ â´Â¼Ùà ÃÔÁè µ ¹äÁ ¨Òí à» ¹µ ͧÁÕ¾¹×é °Ò¹µÃ§ÁÒ¡ ͹ ´ Ǫش¤íÒÊÑ§è ·Õ·è ç»ÃÐÊÔ·¸ÔÀÒ¾ áÅÐäÁ «ºÑ « ͹ã¹ÃٻẺ¡ÒÃ㪠¼¹Ç¡¡Ñ º ¤ÇÒÁà¡ § ¡Ò¨¢Í§¢Òµ Í ãª § Ò¹ ·í Ò ãË Ê ÒÁÒöÊÃ Ò §ªÔé ¹ §Ò¹ËÃ× Í â¤Ã§§Ò¹ÍÂ Ò §§ Ò Âæ ä´ § Ò Â¢Öé ¹ Í ҧ¹ Òʹã¨ã¹ªÑÇè àÇÅÒäÁ ¡ªÕè ÇÑè âÁ§ ˹ѧÊ×ÍàÅ Á¹Õé¤×Í Ë¹Öè§ã¹à¤Ã×èͧÁ×Í·Õèª ÇÂãË ¡ÒÃàÃÕ¹ÃÙ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ÊÒÁÒöÊíÒàÃç¨à» ¹ÃÙ»¸ÃÃÁ ä´ àÃçÇ¢Öé¹ â´Âã¹àÅ Á¨ÐàÃÔèÁµ ¹á¹Ð¹íÒµÑé§áµ ¹ÔÂÒÁáÅФÇÒÁËÁÒ¢ͧäÁâ¤Ã¤Í¹â·ÃÅàÅÍà µ Í´ Ç¡Òà á¹Ð¹íÒἧǧ¨ÃäÁâ¤Ã¤Í¹â·ÃàÅÍà àºÊÔ¡áʵÁ» ·Õèª×èÍ i-Stamp Íѹ໠¹á¼§Ç§¨Ã·Õè¾Ñ²¹Ò¢Öé¹â´ÂÇÔÈÇ¡Ãä·Â ¨Ò¡ºÃÔÉ·Ñ ÍÔ¹â¹àǵտ àÍç¡à¾ÍÃÔàÁ¹µ ¨íÒ¡Ñ´ ¾Ã ÍÁ¡Ñº AX-2SX : BASIC Stamp2SX Activity board Íѹἧ ǧ¨ÃÊíÒËÃѺàÃÕ¹ÃÙ áÅз´ÅͧàºÊÔ¡áʵÁ» Í ҧ§ Ò·Õèä´ ¨Ñ´¡ÒÃàª×èÍÁµ Í¢Ò¾Íà µ¢Í§àºÊÔ¡áʵÁ» ࢠҡѺ ÍØ»¡Ã³ µÒ §æ äÁ ÇÒ ¨Ðà» ¹ä´âÍ´à»Å §áʧËÃ×Í LED, ÊÇÔµª , ÅíÒ⾧ ËÃ×Í¡Ãзѧè ǧ¨Ã¢ÑºÃÕàÅ áÅÐÊàµç»à»Íà ÁÍàµÍà ¨Ö§·íÒãË ¡ÒÃàÃÕ¹ÃÙ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ´ ÇÂàºÊÔ¡áʵÁ» ÊÒÁÒö¡ÃзíÒä´ Í ҧ¤Ãº¶ ǹÃͺ´ Ò¹·Ñ駡ÒÃÊ § ÊÑÒ³à¾×Íè ¢Ñºáʧ-àÊÕ§ ¡ÒÃÃѺÊÑÒ³¨Ò¡ÊÇÔµª ¡ÒäǺ¤ØÁÍØ»¡Ã³ ÍàÔ Åç¡·ÃÍ¹Ô¡Ê ¡ÃÐáÊÊÙ§ ¢ÑºÁÍàµÍà ¡ÒõԴµ ͡ѺÍØ»¡Ã³ µÃǨ¨Ñº»ÃÔÁÒ³·Ò§ÇÔ·ÂÒÈÒʵà Í ҧ§ Ò áÅСÒÃàÃÕ¹ÃÙà ¾×Íè Êà ҧÃкº¤Çº¤ØÁÍѵâ¹ÁÑµÔ â´Â㪠¤ÍÁ¾ÔÇàµÍà â´Âã¹áµ Åк· áµ ÅСԨ¡ÃÃÁ·ÕèÍ Ò§¶Ö§ÍØ»¡Ã³ ÍÔàÅç¡·ÃÍ¹Ô¡Ê ËÃ×Í·ÄÉ®Õǧ¨Ã ¡ç¨ÐÁÕ¡Òà ͸ԺÒÂàÊÃÔÁà¾×Íè ãË à¢ Òã¨ã¹ÀÒ¾ÃÇÁà¾×Íè à» ¹á¹Ç·Ò§ã¹¡ÒÃàÃÔÁè µ ¹à¾×Íè ÈÖ¡ÉÒã¹ÃÒÂÅÐàÍÕ´à¾ÔÁè àµÔÁµ Íä»ä´ ´Ñ§¹Ñé¹´ ǤÇÒÁ¾Ã ÍÁÊÃþáÅЧ ÒÂ㹡ÒÃàÃÔèÁµ ¹ ¨Ö§·íÒãË àºÊÔ¡áʵÁ» à» ¹äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ·Õè ã¤Ã¡çä´ ÊÒÁÒöàÃÔÁè µ ¹àÃÕ¹ÃÙä ´ µÑ§é áµ ¹¡Ñ àÃÕ¹ÃдѺÁѸÂÁÈÖ¡Éҵ͹»ÅÒ ¹Ñ¡ÈÖ¡ÉÒª Ò§ÍصÊÒË¡ÃÃÁ·Ø¡ÊÒ¢Ò ¼Ù ʹ㨷ҧÇÔ·ÂÒÈÒʵà áÅÐà·¤â¹âÅÂÕ·ÕèäÁ ä´ àÃÕ¹ÊÒ¢ÒÍÔàÅç¡·ÃÍ¹Ô¡Ê â´ÂµÃ§ ËÃ×Í¡ÃзÑè§ÇÔÈǡ÷Õè¤ÃèíÒËÇÍ´ ´ Ò¹ÍÔàÅç¡·ÃÍ¹Ô¡Ê à¾ÃÒÐäÁâ¤Ã¤Í¹â·ÃÅàÅÍà ÊÒÁÒöª ÇÂà¾ÔÁè ÈÑ¡ÂÀÒ¾ã¹Ãкº¤Çº¤ØÁÍѵâ¹ÁѵäÔ ´ Í ҧÁÒ¡ ËÇѧ໠¹Í ҧÂÔ§è Ç Ò ´ Ç¡ÒÃàÃÕ¹ÃÙä Áâ¤Ã¤Í¹â·ÃÅàÅÍà ¤§·íÒãË ¼àÙ ÃÕ¹à¡Ô´¤ÇÒÁʹءʹҹà¾ÅÔ´à¾ÅÔ¹ áÅÐࢠÒ㨶֧¡Ò÷íÒ§Ò¹ ¨¹ÊÒÁÒö¹íÒä»»ÃÐÂØ¡µ áÅоѲ¹ÒªÔ¹é §Ò¹¢Ö¹é ä´ Í ҧÊÁºÙó áÅÐÍÂÒ¡¢ÍÂéÒí Ç Ò ¡ÒÃàÃÕ¹ÃÙà ¾×Íè 㪠§Ò¹äÁâ¤Ã¤Í¹â·ÃÅàÅÍà äÁ ÂÒ¡Í ҧ·Õ¤è ´Ô Çþ¨¹ ¡Ãá¡ ÇÇѲ¹¡ØÅ ªÑÂÇѲ¹ ÅÔÁé ¾Ã¨ÔµÃÇÔäÅ
4
l
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
ÊÒÃºÑ º··Õè 1
¤ÇÒÁÃÙà º×Íé §µ ¹à¡ÕÂè ǡѺÍØ»¡Ã³ ÍàÔ Åç¡·ÃÍ¹Ô¡Ê ...........................................................7
º··Õè 2
äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¤Í× ÍÐäà ...................................................................................19
º··Õè 3
á¹Ð¹íÒàºÊÔ¡áʵÁ» 2SX áÅЪشàÃÕ¹ÃÙ¡ Ò÷íÒ§Ò¹ ................................................27 ¡Ô¨¡ÃÃÁ·Õè 1 àª×Íè Áµ Í i-Stamp ¡Ñºá¼§Ç§¨Ã AX-2SX áÅФÍÁ¾ÔÇàµÍà ........................................................41
º··Õè 4
àºÊÔ¡áʵÁ» 2SX ¡Ñº¡ÒâѺÍØ»¡Ã³ áʧáÅÐÊà ҧÊÑÒ³àÊÕ§ ............................45 ¡Ô¨¡ÃÃÁ·Õè 2 ááàÃÔÁè àÃÕ¹ÃÙ´ Ç Â信оÃÔº.....................................46 ¡Ô¨¡ÃÃÁ·Õè 3 信оÃÔº 8 ´Ç§ .......................................................48 ¡Ô¨¡ÃÃÁ·Õè 4 ä¿ÇÔ§è 8 ´Ç§ ...............................................................50 ¡Ô¨¡ÃÃÁ·Õè 5 ä¿ÇÔ§è 8 ´Ç§ 2 ·ÔÈ·Ò§ ...............................................51 ¡Ô¨¡ÃÃÁ·Õè 6 ǧ¨Ã¹ÑºáÅÐáʧ´àÅ¢°Ò¹Êͧ .................................52 ¡Ô¨¡ÃÃÁ·Õè 7 ä¿ÇÙº 1 ª ͧ ..............................................................54 ¡Ô¨¡ÃÃÁ·Õè 8 à¤Ã×Íè §ãË ¨§Ñ ËÇÐ .........................................................56 ¡Ô¨¡ÃÃÁ·Õè 9 i-Stamp àÅ ¹â¹ µ´¹µÃÕ ..............................................58 ¡Ô¨¡ÃÃÁ·Õè 10 äÁâ¤ÃÁÔÇÊÔ¡ ..............................................................60
º··Õè 5
àºÊÔ¡áʵÁ» 2SX ¡Ñº¡ÒÃÃѺÊÑÒ³ÍÔ¹¾Øµ¨Ò¡ÊÇÔµª ........................................63 ¡Ô¨¡ÃÃÁ·Õè 11 ÃѺÊÑÒ³ÍÔ¹¾Øµ¨Ò¡ÊÇÔµª Í ҧ§ ÒÂ......................65 ¡Ô¨¡ÃÃÁ·Õè 12 ÊÇÔµª ¤Çº¤ØÁä¿.........................................................67 ¡Ô¨¡ÃÃÁ·Õè 13 ÊÇÔµª ¤Çº¤ØÁä¿áºº¡´µÔ´¡´´Ñº.............................69 ¡Ô¨¡ÃÃÁ·Õè 14 ÊÇÔµª ËÃÕäè ¿©ºÑº¡ÃÐà» Ò............................................72 ¡Ô¨¡ÃÃÁ·Õè 15 ËÑÇ¡ ÍÂÍÔàÅç¡·ÃÍ¹Ô¡Ê ...............................................74 ¡Ô¨¡ÃÃÁ·Õè 16 ¡ÃÔ§è àÊÕ§´¹µÃÕ...........................................................76
º··Õè 6
ÊÒþѹâ¤Ã§§Ò¹áʧ-àÊÕ§-ÊÇÔµª ¡ºÑ àºÊÔ¡áʵÁ» 2SX ...........................................79 ¡Ô¨¡ÃÃÁ·Õè 17 àµ×͹» ´»Ãе٠...........................................................79 ¡Ô¨¡ÃÃÁ·Õè 18 ä¿ÇÔ§è 15 â»Ãá¡ÃÁ.....................................................81 ¡Ô¨¡ÃÃÁ·Õè 19 ÃÙàÅçµµ ÍàÔ Åç¡·ÃÍ¹Ô¡Ê ................................................85 ¡Ô¨¡ÃÃÁ·Õè 20 ËÕºà¾Å§ ....................................................................88 ¡Ô¨¡ÃÃÁ·Õè 21 «ÒÇ´ àÍ¿à¿¡µ 4 Ẻ .............................................92
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
l
5
ÊÒÃºÑ º··Õè 7
àºÊÔ¡áʵÁ» 2SX ¡Ñº¡ÒâѺâËÅ´¡ÃÐáÊÊÙ§ ........................................................95 ¡Ô¨¡ÃÃÁ·Õè 22 i-Stamp ¢ÑºÃÕàÅ ....................................................97 ¡Ô¨¡ÃÃÁ·Õè 23 i-Stamp ¢ÑºÊàµç»à»Íà ÁÍàµÍà Ẻ 1 à¿Ê..........99 ¡Ô¨¡ÃÃÁ·Õè 24 i-Stamp ¢ÑºÊàµç»à»Íà ÁÍàµÍà Ẻ 2 à¿Ê........103 ¡Ô¨¡ÃÃÁ·Õè 25 i-Stamp ¢ÑºÊàµç»à»Íà ÁÍàµÍà ẺÎÒÅ ¿Êàµç»..................................................105
º··Õè 8
àºÊÔ¡áʵÁ» 2SX ¡Ñº¡Ò÷íÒ§Ò¹à¡ÕÂè ǡѺàÇÅÒ ....................................................109 ¡Ô¨¡ÃÃÁ·Õè 26 ǧ¨ÃµÑ§é àÇÅÒÍ ҧ§ Ò ........................................109 ¡Ô¨¡ÃÃÁ·Õè 27 ÅÙ¡µØÁ ¹ÒÌ ¡Ò .....................................................111 ¡Ô¨¡ÃÃÁ·Õè 28 à¤Ã×Íè §µÑ§é àÇÅÒ 80 ÇÔ¹Ò·Õ .....................................113 ¡Ô¨¡ÃÃÁ·Õè 29 ÊÇÔµª ä¿¡ ͹¹Í¹ ..............................................116
º··Õè 9
àºÊÔ¡áʵÁ» 2SX ¡ÑºÍØ»¡Ã³ µÃǨ¨Ñºáʧ............................................................119 ¡Ô¨¡ÃÃÁ·Õè 30 à¤Ã×Íè §ÇÑ´áʧÍ ҧ§ Ò .......................................121 ¡Ô¨¡ÃÃÁ·Õè 31 à¤Ã×Íè §ÇÑ´áʧáÊ´§¼Å´ Ç LED ........................124 ¡Ô¨¡ÃÃÁ·Õè 32 àÊÕ§»ÅØ¡ÂÒÁઠÒ................................................126 ¡Ô¨¡ÃÃÁ·Õè 33 ÊÇÔµª ʹ¸ÂÒ.......................................................128 ¡Ô¨¡ÃÃÁ·Õè 34 ¤Çº¤ØÁÊàµç»à»Íà ÁÍàµÍà ´Ç Âáʧ ...................131
º··Õè 10 ʹء¡ÑºâÁ´ÙÅ LCD Ẻ͹ءÃÁ´ ÇÂàºÊÔ¡áʵÁ» ................................................135 ¡Ô¨¡ÃÃÁ·Õè 35 áÊ´§¢ ͤÇÒÁáÅÐÃÙ»ÀÒ¾ ¼ Ò¹âÁ´ÙÅ SLCD16x2 ........................................137 ¡Ô¨¡ÃÃÁ·Õè 36 ¹ÒÌ ¡Ò¨ÑºàÇÅÒ...................................................143 ¡Ô¨¡ÃÃÁ·Õè 37 à¤Ã×Íè §µÑ§é àÇÅÒ 0-255 ÇÔ¹Ò·Õ .................................146
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
l
7
º··Õè 1
¤ÇÒÁÃÙ àº×éͧµ ¹à¡ÕèÂǡѺ ÍØ»¡Ã³ ÍÔàÅç¡·ÃÍ¹Ô¡Ê ¡ÒûÃѺ˹ Ç¢ͧ»ÃÔÁÒ³·Ò§ä¿¿ ÒáÅÐÍÔàÅç¡·ÃÍ¹Ô¡Ê ¼Ù· ·Õè Òí §Ò¹à¡ÕÂè Ç¢ ͧ¡ÑºÇ§¨ÃÍÔàÅç¡·ÃÍ¹Ô¡Ê ÂÍ Áµ ͧÃÙ¨ ¡Ñ ¡Ñº»ÃÔÁÒ³·Ò§ä¿¿ ÒµÅÍ´¨¹Ë¹ Ç ¢Í§»ÃÔÁÒ³·Ò§ä¿¿ ҹѹé æ «Ö§è º ͤÃÑ§é µ ͧÁÕ¡ÒÃ͸ԺÒ¶֧»ÃÔÁÒ³·Ò§ä¿¿ Òã¹Ë¹ Ç·Õãè Ë ÁÒ¡æ ä» ¨¹¶Ö§Ë¹ Ç·Õàè Åç¡Â ÍÂÅ§ä» Â¡µÑÇÍ ҧ ¤ÇÒÁ¶Õ¢è ͧʶҹÕÇ·Ô ÂØÁ¤Õ Ò ÊÙ§ÁÒ¡¡Ç Ò 100 Å Ò¹àÎÔõ« (Hertz:Hz) ã¹¢³Ð·Õ¤è Ò ¢Í§µÑÇà¡çº»ÃШØÁ¡Ñ ¨Ð͸ԺÒÂŧ件֧àÈÉ˹֧è Ê Ç¹Ë¹Ö§è ËÁ×¹è Å Ò¹¢Í§Ë¹ ÇÂãË ¤Í× ¿ÒÃÑ´ (Farad : F) à¾×Íè ãË ¡ÒÃ͸ԺÒÂ˹ ÇÂÁÕ¤ÇÒÁࢠÒã¨ä´ §Ò  ¨Ö§µ ͧ㪠¡Ãкǹ¡Ò÷ҧ¤³ÔµÈÒʵà ࢠҪ Ç ¹Ñ¹è ¤×Í ¡ÒûÃѺ˹ ÇÂâ´Â㪠¡Òá¡íÒÅѧÊÔº «Ö§è ÁÕªÍ×è àÃÕÂ¡Ç Ò àÍç¡â»à¹¹µ (exponent) ¡ÒÃà¢Õ¹˹ Ç¢ͧ»ÃÔÁÒ³ã´æ ´ Ç¡ÒÃ㪠àÅ¢ÊԺ¡¡íÒÅѧÁÕ 2 ÃٻẺ ¤×Í áººÇÔ·ÂÒÈÒʵà (Scientific Notation) áÅРẺÇÔÈÇ¡ÃÃÁ (Engineering Notation) ¡ÒÃ͸ԺÒÂẺÇÔ·ÂÒÈÒʵà ໠¹¡ÒÃà¢Õ¹¨íҹǹ ¢Í§»ÃÔÁÒ³¹Ñ¹é ã¹ÅѡɳÐàÅ¢¨íҹǹàµçÁà¾Õ§ËÅÑ¡à´ÕÂÇ áŠǵ Í´ Ç·ȹÔÂÁ ¤Ù³¡Ñº¨íҹǹ෠Ңͧ¡Òá¡íÒÅѧ 10 ÍÒ·Ô 1.23 N 104, 4.123 N 106 à» ¹µ ¹ ÃٻẺ»¡µÔ 12,300 123 1.23 0.0123 0.000123
ẺÇÔ·ÂÒÈÒʵà ẺÇÔÈÇ¡ÃÃÁ 1.23 x 104
1.23 x 103
1.23 x 102 1.23 x 100 1.23 x 10-2
0.123 x 103 1.23 x 100 12.3 x 10-3
1.23 x 10-4
123 x 10-6
µÒÃÒ§·Õè 1-1 ¡ÒÃà¢Õ¹àÅ¢àÍç¡â»à¹¹µ ã¹áººÇÔ·ÂÒÈÒʵà áÅÐẺÇÔÈÇ¡ÃÃÁà»ÃÕºà·Õº¡Ñº¤ Ò µÑÇàÅ¢¨ÃÔ§ã¹áºº»¡µÔ
8
l
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
àÅ¢ 10 ¡¡íÒÅѧ Ê Ç¹àµÔÁ˹ ÒàÁµÃÔ¡ ÊÑÅѡɳ
109 106 103 ¡Ô¡Ð àÁ¡Ð ¡ÔâÅ G M k
100 -
10-3 10-6 10-9 10-12 ÁÔÅÅÔ äÁâ¤Ã ¹Òâ¹ ¾Ôâ¡ m n p µ
µÒÃÒ§·Õè 1-2 áÊ´§ÃÒÂÅÐàÍÕ´¢Í§Ê ǹàµÔÁ˹ ÒàÁµÃÔ¡·Õãè ª 㹡ÒÃà¢Õ¹˹ ÇÂẺÇÔÈÇ¡ÃÃÁ
8 )
+
-
âÇŵ ÁàÔ µÍÃ
ÊÇÔµª ·Ò§à´ÕÂÇ
áÍÁÁÔàµÍÃ
ÊÇÔµª Êͧ·Ò§
µÑǵ Ò¹·Ò¹
ÊÇÔµª Êͧ·Ò§ÊͧªØ´
µÑǵ Ò¹·Ò¹ »ÃѺ¤ Òä´
à«Åä¿¿ Ò
µÑÇà¡çº»ÃШØ
ẵàµÍÃÕè
µÑÇà˹ÕÂè ǹíÒ ¢´ÅÇ´
¡ÃÒÇ´
ËÁ Íá»Å§
áËÅ §¨ ÒÂ俵ç
¿ ÇÊ
áËÅ §¨ ÒÂä¿ÊÅѺ áËÅ §¡íÒà¹Ô´ÊÑÒ³
µ Íǧ¨Ã
äÁ µ Íǧ¨Ã
ÃÙ»·Õè 1-1 µÑÇÍ ҧÊÑÅѡɳ ¢Í§ÍØ»¡Ã³ ä¿¿ ÒáÅÐÍÔàÅç¡·Ã͹ԡÊ
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
l
9
ã¹¢³Ð·Õè¡ÒÃ͸ԺÒÂã¹àªÔ§ÇÔÈÇ¡ÃÃÁ ¨ÐÂÖ´·Õè¨íҹǹ෠Ңͧ¡Òá¡íÒÅѧ 10 â´Âã¹àªÔ§ ÇÔÈÇ¡ÃÃÁ¨ÐÂÍÁãË ¤Ò ¢Í§àÍç¡â»à¹¹µ à»ÅÕÂè ¹á»Å§¢Ñ¹é ÅÐ 3 àÍç¡â»à¹¹µ àÃÔÁè ¨Ò¡ 0 ¹Ñ¹è ¤×Í ¡Òá ¡íÒÅѧ¢Í§ 10 ¨Ðà» ¹ 10-6, 10-3, 0, 103, 106, Ê Ç¹»ÃÔÁÒ³·Õ¹è Òí ÁÒ¤Ù³¡Ñº¨íҹǹ෠Ңͧ¡Òà ¡¡íÒÅѧ 10 ¹Ñ¹é ¡ç¨Ð»ÃѺà»ÅÕÂè ¹ä»à¾×Íè ãË àÍç¡â»à¹¹µ à»ÅÕÂè ¹á»Å§¤Ãѧé ÅÐ 3 ÍÒ·Ô 10.162 N 103 , 104.62 N 106, 0.072 N 10- 3 à» ¹µ ¹ ã¹µÒÃÒ§·Õè 1 áÊ´§ãË àË繶֧¡ÒÃà¢Õ¹˹ ÇÂã¹ÅѡɳРÇÔ·ÂÒÈÒʵà áÅÐÇÔÈÇ¡ÃÃÁà»ÃÕºà·Õº¡Ñº¨íҹǹ·Õàè ¡Ô´¢Ö¹é ¨ÃÔ§
ª×Íè áÅÐÊÑÅѡɳ ¢Í§àŢ¡¡íÒÅѧ 10 à¾×èÍãË ¡ÒÃ͸ԺÒÂ˹ Ç»ÃÔÁÒ³·Ò§ä¿¿ ÒáÅÐÍÔàÅç¡·ÃÍ¹Ô¡Ê § ÒÂáÅÐÊдǡ㹡Òè´¨íÒ á·¹·Õ¨è е ͧÁÒà¢ÕÂ¹Ç Ò 10.462x103 Hz ËÃ×Í 10x103 ¨Ö§ÁÕ¡ÒáíÒ˹´ª×Íè áÅеÑÇ ÍËÃ×ÍÊÑÅѡɳ ¢Í§àŢ¡¡íÒÅѧ 10 ·ÕÍè ¸ÔºÒÂã¹àªÔ§ÇÔÈÇ¡ÃÃÁäÇ â´Âµ ͧà¢Õ¹àµÔÁ¢ ҧ˹ Ò˹ ÇÂËÅÑ¡¢Í§»ÃÔÁÒ³¹Ñ¹é ¨Ö§àÃÕÂ¡Ê Ç¹·Õàè µÔÁ¹ÕÇé Ò Ê Ç¹àµÔÁ˹ Ò˹ ÇÂàÁµÃÔ¡ (Metric Prefix) «Ö§è ÁÕÃÒÂÅÐàÍÕ´㹵ÒÃÒ§·Õè 2 â´Â¨ÐàÃÔÁè µÑ§é ᵠ˹ ÇÂàÅ硤×Í ¾Ôâ¡ (10-12) 仨¹¶Ö§Ë¹ ÇÂãË ·ÊÕè ´Ø ·Õ¹è ÂÔ Á㪠㹧ҹ¤×Í ¡Ô¡Ð (109)
ÊÑÅѡɳ ¢Í§ÍØ»¡Ã³ ã¹Ç§¨Ãä¿¿ Ò ã¹Ç§¨Ãä¿¿ Ò¨ÐÁÕÊ Ñ Åѡɳ ¢Í§ÍØ»¡Ã³ áÅШشµ ͷҧ俿 ÒËÅÒµÑÇ ´Ñ§ÊÃØ»äÇ ã¹ÃÙ»·Õè 1-1
µÑǵ Ò¹·Ò¹áÅСÒÃÍ Ò¹¤ Ò ÍÐää×͵Ñǵ Ò¹·Ò¹
µÑǵ Ò¹·Ò¹ (resistor) à» ¹ÍØ»¡Ã³ ÍÔàÅç¡·ÃÍ¹Ô¡Ê ¾×é¹°Ò¹·ÕèÊØ´·Õèµ Í§ÃÙ ¨Ñ¡à» ¹Íѹ´Ñºáá ˹ Ò·ÕËè ÅÑ¡¢Í§µÑǵ Ò¹·Ò¹¤×Í ãª ã¹¡ÒÃÅ´¡ÃÐáÊä¿¿ Ò â´ÂËÒ¡µÑǵ Ò¹·Ò¹ÁÕ¤Ò ÁÒ¡ ¡ÃÐáÊä¿¿ Ò ¡ç¨ÐÊÒÁÒöäËż Ò¹µÑÇÁÑ¹ä´ ¹Í  ´Ñ§¹Ñ¹é ¨Ö§¹ÔÂÁ㪠µÇÑ µ Ò¹·Ò¹ã¹¡ÒäǺ¤ØÁ¡ÃÐáÊä¿¿ Òã¹Ç§¨Ã
˹ Ç¢ͧµÑǵ Ò¹·Ò¹
¤ ҢͧµÑǵ Ò¹·Ò¹¤×Í ¤ Ò¤ÇÒÁµ Ò¹·Ò¹ä¿¿ Ò (resistance) ÁÕ˹ ÇÂà» ¹ âÍË Á (Ohm : Ω ) ˹ Ç·Õãè Ë ¢¹ Öé ¤×Í ¡ÔâÅâÍË Á ( kiloOhm : kΩ ) «Ö§è ÁÕ¤Ò à· Ò¡Ñº 1,000 Ω Ë¹ Ç·Õãè Ë ¡Ç Ò¤×Í 1 àÁ¡ÐâÍË Á (MegaOhm : MΩ) ÁÕ¤Ò à· Ò¡Ñº 1,000 kΩ ËÃ×Í 1,000,000 Ω
ÃËÑÊᶺÊÕ (color code) ÊÕ·¾Õè ÁÔ ¾ ŧº¹µÑǵ Ò¹·Ò¹à¾×Íè ºÍ¡¤ ҢͧÁÕ¤ÇÒÁËÁÒÂá·¹´ ǵÑÇàÅ¢µ Ò§æ µÒÁµÒÃҧ㹠ÃÙ»·Õè 1-2
10
l
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
à»Íà à«ç¹µ ¤ÇÒÁ¼Ô´¾ÅÒ´ µÑǤٳ (¨íҹǹàÅ¢Èٹ ) µÑÇàÅ¢ËÅÑ¡·ÕÊè ͧ µÑÇàÅ¢ËÅÑ¡·ÕËè ¹Ö§è
(¡)
à»Íà à«ç¹µ ¤ÇÒÁ¼Ô´¾ÅÒ´ µÑǤٳ (¨íҹǹàÅ¢Èٹ ) µÑÇàÅ¢ËÅÑ¡·ÕÊè ÒÁ µÑÇàÅ¢ËÅÑ¡·ÕÊè ͧ µÑÇàÅ¢ËÅÑ¡·ÕËè ¹Ö§è
(¢)
ÊÕ ¤ ÒµÑÇàÅ¢ ´íÒ 0 ¹íéÒµÒÅ 1 á´§ 2 Ê Á 3 àËÅ×ͧ 4 à¢ÕÂÇ 5 ¹íéÒà§Ô¹ 6 Á ǧ 7 à·Ò 8 ¢ÒÇ 9 ·Í§ à§Ô¹ äÁ ÁÕÊÕ -
µÑǤٳ 1 10 100 1,000 10,000 100,000 1,000,000 10,000,000 100,000,000 1,000,000,000 0.1 0.01 -
¤ Ò¼Ô´¾ÅÒ´ 1% 5% 10% 20%
ÃÙ»·Õè 1-2 ¤ÇÒÁËÁÒ¢ͧÃËÑÊᶺÊÕº¹µÑǵ Ò¹·Ò¹
¤ÇÒÁËÁÒ¢ͧᵠÅÐᶺÊÕ ´Ñ§¹Õé
㹡óÕà» ¹µÑǵ Ò¹·Ò¹·ÕÁè ¤Õ ÇÒÁ¼Ô´¾ÅÒ´ 5% ¨ÐÁÕᶺÊÕ 4 ᶺ áµ ÅÐᶺÁÕ¤ÇÒÁËÁÒÂ
ᶺáá໠¹µÑÇàÅ¢ËÅÑ¡áá¢Í§¤ Ò¤ÇÒÁµ Ò¹·Ò¹ÃÇÁ ᶺÊÕ·ÊÕè ͧ໠¹µÑÇàÅ¢¢Í§ËÅÑ¡·ÕÊè ͧ ¢Í§¤ Ò¤ÇÒÁµ Ò¹·Ò¹ÃÇÁ ᶺÊÕ·ÊÕè ÒÁà» ¹µÑǤٳ ᶺÊØ´· ÒÂà» ¹á¶ºÊբͧ¤ Ò¤ÇÒÁ¼Ô´¾ÅÒ´ ËÒ¡ à» ¹á¶ºÊշͧËÁÒ¶֧ÁÕ¤ Ò¤ÇÒÁ¼Ô´¾ÅÒ´ 5% áÅж Òà» ¹à» ¹ÊÕà§Ô¹¨ÐËÁÒ¤ÇÒÁÇ Ò ÁÕ¤ÇÒÁ¼Ô´ ¾ÅÒ´ 10% µÑÇÍ ҧ ᶺÊÕ·Õè 1, 2 áÅÐ 3 à» ¹ÊÕá´§ ÊØ´· ÒÂà» ¹á¶ºÊշͧ µÑǵ Ò¹·Ò¹µÑǹÕÁé ¤Õ Ò à· Òã´ ÊÕá´§¢Í§á¶ºÊÕ·Õè 1 áÅÐ 2 á·¹´ ÇÂàÅ¢ 2 ã¹¢³Ð·Õáè ¶ºÊÕ·ÊÕè ÒÁà» ¹ÊÕá´§ µÑǤٳ¤×Í 100 ¨Ö§ä´ à» ¹ 22N100 = 2,200 ˹ Ç·Õäè ´ ¨Ðà» ¹ Ω áµ à¾×Íè ãË ´¡Ù ÃЪѺ¢Ö¹é ¨Ö§µ ͧ»ÃѺ໠¹Ë¹ Ç·Õè ãË ¢¹Öé ¹Ñ¹è ¤×Íà» ¹ kΩ «Ö§è ÁÕ¤Ò à· Ò¡Ñº 1,000 Ω ¨Ö§»ÃѺãËÁ ä´ à» ¹ 2.2 kΩ Ê Ç¹¤ Ò¼Ô´¾ÅÒ´¤×Í 5% µÑǵ Ò¹·Ò¹·ÕÁè áÕ ¶ºÊÕ 4 ᶺ·ÕÁè ¤Õ ÇÒÁ¼Ô´¾ÅÒ´ 5 % à» ¹áºº·Õ¹è ÂÔ ÁáÅÐà» ¹¾×¹é °Ò¹·Õè ÊØ´ àËÁÒÐÊíÒËÃѺ¡ÒÃ㪠§Ò¹à¾×Íè àÃÔÁè µ ¹àÃÕ¹ÃÙÍ Â Ò§ÂÔ§è 㹡óշàÕè » ¹ÃËÑÊᶺÊÕ 5 ᶺ¨ÐÁÕ¤ÇÒÁËÁÒ´ѧ¹Õé ᶺ·ÕËè ¹Ö§è ¶Ö§ÊÒÁà» ¹µÑÇàÅ¢ËÅÑ¡·Õè 1-3 ¢Í§¤ Ò¤ÇÒÁµ Ò¹·Ò¹ ᶺ·ÕÊè Õèà» ¹á¶ºÊբͧµÑǤٳ
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
l
11
ᶺ·ÕËè Ò à» ¹¡ÒÃáÊ´§¤ Ò¤ÇÒÁ¼Ô´¾ÅÒ´¢Í§µÑǵ Ò¹·Ò¹ ¶ Òà» ¹ÊÕ¹Òéí µÒŨÐà» ¹¡ÒÃáÊ´§¤ Ò¤ÇÒÁ ¼Ô´¾ÅÒ´ 1% ã¹ÃÙ»·Õè 2-1 áÊ´§¤ÇÒÁËÁÒ¢ͧÃËÑÊᶺÊÕ·§Ñé ËÁ´ ¶ ÒᶺÊÕ·Õè 1-3 à» ¹ÊÕá´§ àËÅ×ͧ Ê Á ᶺ·ÕÊè àÕè » ¹ÊÕà¢ÕÂÇ áÅÐÊØ´· ÒÂà» ¹ÊÕ¹Òéí µÒÅ µÑǵ Ò¹·Ò¹¹Õé ÁÕ¤Ò à· Òã´ 3 ᶺÊÕáá¤×Í á´§ àËÅ×ͧ Ê Á á·¹´ ÇÂàÅ¢ 2, 4 áÅÐ 3 Ê Ç¹á¶ºÊÕ·ÊÕè àÕè » ¹ÊÕàËÅ×ͧ µÑǤٳ¤×Í 10,000 ¨Ö§ä´ à» ¹ 2,430,000 ˹ ÇÂà» ¹ Ω »ÃѺ໠¹Ë¹ Ç kΩ ä´ 2,430 kΩ áµ Â§Ñ ÊÒÁÒö·íÒãË à» ¹Ë¹ ÇÂãË ¢¹Öé ä»ÍÕ¡¤×Í Ë¹ Ç MΩ «Ö§è ÁÕ¤Ò à· Ò¡Ñº 1,000 kΩ ËÃ×Í 1,000,000 Ω ä´ à» ¹ 2.43 MΩ ¤ Ò¤ÇÒÁ¼Ô´¾ÅÒ´ 1%
ÇÔ¸Õ¡ÒÃÇÑ´¤ Ò¤ÇÒÁµ Ò¹·Ò¹â´Â㪠ÁÑŵÔÁÔàµÍà Ẻà¢çÁ ã¹ÁÑŵÔÁàÔ µÍà Ẻà¢çÁ¨ÐÁÕÂÒ ¹ÇÑ´¤ÇÒÁµ Ò¹·Ò¹ÍÂÙ´ Ç Â Êà¡Å¢Í§¤ÇÒÁµ Ò¹·Ò¹¨ÐÁÕ¤ÇÒÁ ᵡµ Ò§¨Ò¡Êà¡Å¢Í§áç´Ñ¹¤×Í Êà¡Å¢Í§¤ÇÒÁµ Ò¹·Ò¹µèÒí ¨ÐÍÂÙ· Ò§¢ÇÒ ã¹¢³Ð·ÕÊè à¡Å¢Í§¤ÇÒÁ µ Ò¹·Ò¹ÊÙ§¨ÐÍÂÙ· Ò§« Ò ¡ ͹·íÒ¡ÒÃÇÑ´µ ͧÁÕ¡ÒûÃѺ¤ Ò 0Ω (zero adjust) ¡ ͹ â´Â¡ÒùíÒ»ÅÒ ¢Í§ÁÔàµÍà ÁÒáµÐ¡Ñ¹ à¢çÁ¢Í§ÁÔàµÍà º¹Ë¹ Ò» ´¨ÐÊÇԧ价ҧ¢ÇÒÁ×Í ¨Ò¡¹Ñé¹·íÒ¡ÒûÃѺ»Ø Á zero adjust ¨¹à¢çÁªÕ·é µÕè Òí á˹ § 0Ω ¡ÒûÃѺ¤ ÒÈٹ ¹µÕé Í §¡ÃзíÒ·Ø¡¤ÃÑ§é ·ÕÁè ¡Õ ÒÃà»ÅÕÂè ¹Â Ò¹ÇÑ´¤ Ò¤ÇÒÁµ Ò¹·Ò¹ áÅзء¤ÃÑ§é ·Õµè Í § ¡ÒÃÇÑ´¤ Ò¤ÇÒÁµ Ò¹·Ò¹ ·Ñ§é ¹Õàé ¾×Íè ãË ¤Ò ·ÕÇè ´Ñ ä´ Á¤Õ ÇÒÁáÁ ¹ÂíÒÁÒ¡·ÕÊè ´Ø Â Ò¹ÇÑ´¤ Ò¤ÇÒÁµ Ò¹·Ò¹º¹ ÁÑŵÔÁàÔ µÍà â´Â·ÑÇè ä» ¨ÐẠ§à» ¹ 4  ҹ¤×Í Rx1 ÊÒÁÒöÇÑ´¤ Ò¤ÇÒÁµ Ò¹·Ò¹ä´ µ§Ñé áµ 0-500Ω â´Â»ÃÐÁÒ³, Rx10 ÊÒÁÒöÇÑ´¤ÇÒÁµ Ò¹·Ò¹ä´ µ§Ñé áµ 500Ω-5kΩ, Rx1k ÇÑ´ä´ ÃÐËÇ Ò§ 5 kΩ50 kΩ áÅÐ Rx10k ÇÑ´ä´ ÃÐËÇ Ò§ 10 kΩ-5MΩ Í ҧäáçµÒÁ ¤ÇÒÁÊÒÁÒö㹡ÒÃÇÑ´·Õ¡è Å ÒÇÁÒ ¹Õàé » ¹¤ Òâ´Â»ÃÐÁҳ෠ҹѹé
¤ ҢͧµÑǵ Ò¹·Ò¹ ã¹µÑǵ Ò¹·Ò¹·Ø¡µÑǨÐÁÕ¤ Ò¤ÇÒÁ¼Ô´¾ÅÒ´·Ã񼊫 ¨Ò¡á¶ºÊÕᶺÊØ´· Òº¹µÑǵ Ò¹·Ò¹ áÅд Ǥ Ò¤ÇÒÁ¼Ô´¾ÅÒ´¹Õàé ͧ·íÒãË ¤Ò ·Õáè · ¨ÃÔ§¢Í§µÑǵ Ò¹·Ò¹µÑÇ˹֧è æ Áբͺࢵ¤ÇÒÁà» ¹ä»ä´ ÍÂÙË ÅÒ¤ Ò ´Ñ§µÑÇÍ ҧµ Í仹Õé µÑǵ Ò¹·Ò¹ 27 kΩ ¼Ô´¾ÅÒ´ 5% ËÁÒ¤ÇÒÁÇ Ò ÁÕ¤Ò ¤ÇÒÁ¼Ô´¾ÅҴ෠ҡѺ 27 N 1000 N0.05 = 1,350Ω ´Ñ§¹Ñ¹é  ҹ¢Í§¤ Ò¤ÇÒÁµ Ò¹·Ò¹¨ÐÍÂÙ· Õè 25,650-28,350Ω (ÁÒ¨Ò¡ 27,0001,350 áÅÐ 27,000+1,350) ËÃ×Í 25.65-28.35 kΩ
12
l
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
µÑÇà¡çº»ÃÐ¨Ø (Capacitor) à» ¹ÍØ»¡Ã³ ·ÁÕè âÕ ¤Ã§Êà ҧÀÒÂã¹à» ¹µÑǹíÒ 2 Ê Ç¹·Õ¶è ¡Ù ¡Ñ¹é ´ Ç©¹Ç¹ àÁ×Íè ÁÕáç´Ñ¹à¡Ô´¢Ö¹é ÃÐËÇ Ò§µÑǹíҷѧé Êͧ ¨Ðà¡Ô´»ÃШØä¿¿ Ò¢Ö¹é ÃÐËÇ Ò§µÑǹíÒ ¡ÒÃà¡çº»ÃШØä¿¿ Ò¤×Í¾×¹é °Ò¹¡Ò÷íÒ§Ò¹ ¢Í§µÑÇà¡çº»ÃÐ¨Ø µÑǹíҷѧé ÊͧÀÒÂã¹µÑÇà¡çº»ÃШبÐÁÕÅ¡Ñ É³Ðà» ¹á¼ ¹ àÃÕÂ¡Ç Ò à¾Åµ (plate) Ê Ç¹ ©¹Ç¹·Õ¡è ¹Ñé ÍÂÙà ÐËÇ Ò§à¾Åµ·Õàè ÃÕÂ¡Ç Ò ä´ÍÔàÅç¡·ÃÔ¡ (di-electric) ¤ÇÒÁÊÒÁÒö㹡ÒÃà¡çº»ÃШØä¿¿ Ò ¢Í§µÑÇà¡çº»ÃШبТֹé ÍÂÙ¡ ºÑ ¢¹Ò´¢Í§à¾ÅµáÅЪ¹Ô´¢Í§ä´ÍÔàÅ硵ÃÔ¡ ã¹ÃÙ»·Õè 1-3 áÊ´§â¤Ã§Êà ҧ áÅÐÊÑÅѡɳ µÑÇà¡çº»ÃШط¹Õè ÂÔ Á㪠§Ò¹¤×Í áººà«ÃÒÁÔ¡, â¾ÅÕàÍÊàµÍà , äÁÅ Òà (äÁ Á¢Õ ÇÑé ), ÍÔàÅç¡ ·ÃÍäŵ áÅÐá·¹·ÒÅÑÁè (ÁÕ¢ÇÑé ) ª¹Ô´¢Í§µÑÇà¡çº»ÃШبÐàÃÕ¡µÒÁÇÑÊ´Ø·¹Õè Òí ÁÒ㪠໠¹ä´ÍÔàÅ硵ÃÔ¡ ¡ÒÃáÊ´§¤ ҢͧµÑÇà¡çº»ÃШØÁÕ 2 Ẻ¤×Í áººÃкØÁҪѴਹ ¨Ð¾ºã¹µÑÇà¡çº»ÃШØẺ ÍÔàÅç¡·ÃÍäŵ áÅÐẺâ¾ÅÕàÍÊàµÍà ·ÕÃè кغ¹µÑǶѧÁÒàÅÂÇ Ò ÁÕ¤Ò à· Òã´ áÅз¹áç´Ñ¹ä´ à· Ò㴠Ẻ·Õè 2 ºÍ¡à» ¹àŢ¡¡íÒÅѧ¢Í§Ë¹ ǾÔâ¡¿ÒÃÑ´ ¡µÑÇÍ ҧ ¤ Ò 104 ËÁÒ¶֧ 1N104 ¢Í§Ë¹ Ç ¾Ôâ¡¿ÒÃÑ´ (pF) ¨Ð෠ҡѺ 1 ¹Ò⹿ÒÃÑ´ (nF) ËÃ×Í 0.1 äÁâ¤Ã¿ÒÃÑ´ (symteF) ÁÑ¡¾ºã¹µÑÇà¡çº »ÃШØẺà«ÃÒÁÔ¡ áÅÐäÁÅ Òà ˹ Ç¢ͧµÑÇà¡çº»ÃШØàÃÕ§ÅíҴѺ¨Ò¡Ë¹ ÇÂàÅç¡ä»¶Ö§Ë¹ ÇÂãË ·¹Õè ÂÔ Á㪠§Ò¹ ÊÃØ»ä´ ´§Ñ ¹Õé ¾Ôâ¡¿ÒÃÑ´ (pF) ÁÕ¤Ò µÑǤٳàŢ¡¡íÒÅѧàÁ×Íè à·Õº¡ÑºË¹ Ç¿ÒÃѴ෠ҡѺ 10-12 ¿ÒÃÑ´ (F) ¹Ò⹿ÒÃÑ´ (nF) ÁÕ¤Ò µÑǤٳàŢ¡¡íÒÅѧàÁ×Íè à·Õº¡ÑºË¹ Ç¿ÒÃѴ෠ҡѺ 10-9 ¿ÒÃÑ´ (F) äÁâ¤Ã¿ÒÃÑ´ (µF) ÁÕ¤Ò µÑǤٳàŢ¡¡íÒÅѧàÁ×Íè à·Õº¡ÑºË¹ Ç¿ÒÃѴ෠ҡѺ 10-6 ¿ÒÃÑ´ (F) ¤ ҢͧµÑÇà¡çº»ÃШطÁÕè ¨Õ Òí ˹ ÒÂÁÕ¤Ò µÑ§é áµ äÁ ¡¾Õè âÔ ¡¿ÒÃѴ仨¹¶Ö§ËÅÒÂæ ¾Ñ¹äÁâ¤Ã¿ÒÃÑ´ Ê Ç¹ÍѵÃÒ¡Ò÷¹áç´Ñ¹¹Ñ¹é ÁÕãË àÅ×Í¡µÑ§é áµ 6.3V 仨¹¶Ö§ËÅÒÂà ÍÂâÇŵ áµ ·¹Õè ÂÔ Á¨ÐÍÂÙ ã¹ÃдѺ 16-50V ¢Òµ Í㪠§Ò¹
ä´ÍÔàÅ硵ÃÔ¡
µÑÇà¡çº»ÃÐ 0.1µF
ẺäÁ Á¢Õ ÇéÑ
Ẻâ¾ÅÕàÍÊàµÍà , à«ÃÒÁÔ¡, äÁÅ ÒÃ
+
¢Òµ Í㪠§Ò¹
¨Ø
à¾Åµ
ẺÁÕ¢ÇéÑ
(¡) â¤Ã§Êà ҧ
(¢) ÊÑÅѡɳ
ÃÙ»·Õè 1-3 â¤Ã§Êà ҧáÅÐÊÑÅѡɳ ¢Í§µÑÇà¡çº»ÃШØ
ẺÍÔàÅç¡·ÃÍäŵ (ÁÕ¢ÇéÑ )
(¤) Ãٻà ҧ
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
l
13
ä´âÍ´à»Å §áʧ (Light-emitting diode : LED) à» ¹ÍØ»¡Ã³ ·ÊÕè ÒÁÒö¡íÒà¹Ô´áʧÍÍ¡ÁÒä´ àÁ×Íè ä´ ÃºÑ ¨ ÒÂä¿Í ҧ¶Ù¡µ ͧ ¡Òè ÒÂä¿ãË LED ·íÒ§Ò¹àÃÕÂ¡Ç Ò ¡ÒÃäºáÍÊ (bias) áÅСÒÃäºáÍÊ·Õ·è Òí ãË LED ·íÒ§Ò¹ àÃÕÂ¡Ç Ò ¡ÒÃäºáÍʵç (forward bias) â´Â»¡µÔáç´Ñ¹·Õãè ª 㹡ÒâѺËÃ×ÍäºáÍÊãË LED ·íÒ§Ò¹¨ÐÁÕ¤Ò ÍÂÙà ÐËÇ Ò§ 1-4.5 V ¢Ö¹é ÍÂÙ¡ ºÑ ÊÒ÷չè Òí ÁÒ㪠·Òí LED áÅТֹé ÍÂÙ¡ ºÑ »ÃÔÁÒ³¡ÃÐáÊ·Õäè Ëż Ò¹ ¡Å ÒǤ×Í ¶ Ò¡ÃÐáÊäËÅ ¼ Ò¹ LED ÁÒ¡ ÁռŷíÒãË áç´Ñ¹·Õ赡¤Ã ÍÁ LED ÁÕ¤ ÒÁÒ¡áÅÐáʧ·Õè LED ¡íÒà¹Ô´ÍÍ¡ÁÒ¡ç¨Ð ÊÇ Ò§ÁÒ¡¢Ö¹é ´ Ç â´Â»¡µÔÁ¡Ñ ¨Ð¡íÒ˹´ãË áç´Ñ¹äºáÍʵç¢Í§ LED ෠ҡѺ 2V ã¹ÃÙ»·Õè 1-4 à» ¹ÊÑÅѡɳ , â¤Ã§Êà ҧáÅСÒèѴ¢Ò¢Í§ LED LED ÊÒÁÒöà»Å §áʧÍÍ¡ä´ ËÅÒÂÊÕ¢¹Öé ÍÂÙ¡ ºÑ Ç Ò ¹íÒÊÒÃ¡Ö§è µÑǹíÒª¹Ô´ã´ÁÒÊà ҧ໠¹ LED ¶ ÒËÒ¡à» ¹ÊÕá´§áÅÐàËÅ×ͧ·íÒÁÒ¨Ò¡á¡ÅàÅÕÂè ÁÍÒà à«ä¹´ ¿ÍÊä¿´ (GaAsP) Ê Ç¹ÊÕà¢ÕÂÇ·íÒÁÒ¨Ò¡ á¡ÅàÅÕÂè Á¿ÍÊä¿´ (GaP) áÅÐ LED ·Õãè Ë áʧÍÔ¹¿Òàô«Ö§è ·íÒÁÒ¨Ò¡á¡ÅàÅÕÂè ÁÍÒà à«ä¹´ (GaAs)
¡ÒÃ㪠§Ò¹ LED LED µ ͧ¡ÒÃáç´Ñ¹äºáÍʵç»ÃÐÁÒ³ 2V áÅÐÂÍÁãË ¡ÃÐáÊä¿¿ ÒäËż Ò¹ä´ äÁ à¡Ô¹ 40mA áµ »ÃÔÁÒ³¡ÃÐáÊä¿¿ Ò·Õàè ËÁÒÐÊÁ¤×Í 10-20mA ´Ñ§¹Ñ¹é 㹡ÒÃ㪠§Ò¹ LED ¨Ö§µ ͧÁÕµÇÑ µ Ò¹ ·Ò¹¨íÒ¡Ñ´¡ÃÐáʵ Í͹ءÃÁà ÇÁÍÂÙ´ Ç Â ´Ñ§ã¹ÃÙ»·Õè 1-5 ¡ÒÃËÒ¤ ҢͧµÑǵ Ò¹·Ò¹·Õãè ª 㹡ÒèíÒ¡Ñ´¡ÃÐáÊãË LED ·íÒä´ â´Â㪠ʵ٠à RS =
Vcc − VF IF
â´Â·Õè VCC ¤×Íä¿àÅÕÂé §, VF ¤×Íáç´Ñ¹äºáÍʵç·Õµè ¡¤Ã ÍÁ LED áÅÐ IF ¤×Í¡ÃÐáÊä¿¿ Ò ·Õäè Ëż Ò¹ LED àÁ×Íè ä´ ÃºÑ äºáÍʵç ã¹·Ò§µÃ§¡Ñ¹¢ ÒÁ ËÒ¡¨ ÒÂáç´Ñ¹äºáÍÊ¡ÅѺᡠLED ¹Í¡¨Ò¡ LED ¨ÐäÁ ·Òí §Ò¹áÅ Ç ÍÒ¨ ·íÒãË LED àÊÕÂËÒÂà¹×Íè §¨Ò¡ LED ÁÕ굄 ÃÒ¡Ò÷¹áç´Ñ¹Â ͹¡ÅÑºä´ äÁ ʧ٠¹Ñ¡ à¾Õ§ 3-10V ෠ҹѹé R1
A
K
(¡) ÊÑÅѡɳ ¢Í§ LED
¢Òá¤â·´
¢ÒáÍâ¹´
(¢) â¤Ã§Êà ҧÀÒÂ㹢ͧ LED
Vs
LED1
+
I
ÃÙ»·Õè 1-4 áÊ´§ÊÑÅѡɳ , â¤Ã§Êà ҧáÅСÒèѴ¢Ò¢Í§ä´âÍ´ ÃÙ»·Õè 1-5 ¡Òõ ͵Ñǵ Ò¹·Ò¹à¾×Íè à»Å §áʧËÃ×Í LED ¨íÒ¡Ñ´¡ÃÐáÊãË á¡ LED
14
l
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
ÅíÒ⾧ à» ¹ÍØ»¡Ã³ ·ãÕè ª 㹡ÒÃà»ÅÕÂè ¹ÊÑҳ俿 Òà» ¹ÊÑÒ³àÊÕÂ§áººË¹Ö§è »ÃСͺ´ ÇÂá¼ ¹ Êѹè äËÇËÃ×Íä´ÍÐá¿ÃÁ·Õàè » ¹µÑÇ·íÒãË à¡Ô´àÊÕ§ ¢´ÅÇ´·Õ¾è ¹Ñ º¹á¡¹àËÅç¡ àÁ×Íè » ͹ÊÑҳ俿 Ò ãË á¡ ¢´ÅÇ´¶Ù¡¢ÑÇé ¨Ðà¡Ô´áç´Ö§áÁ àËÅç¡´Ù´á¼ ¹àËÅç¡à˹ÕÂè ǹíÒ·Õµè ´Ô ÍÂÙ¡ ºÑ á¼ ¹Êѹè äËÇࢠÒÁÒ àÁ×Íè ÊÑҳ俿 Ò¡ÅѺ¢ÑÇé ¤ÇÒÁà» ¹áÁ àËÅç¡¡ç¨ÐËÁ´ä» á¼ ¹Êѹè äËǨ֧´Õ´µÑÇ¡ÅѺ ËÒ¡ÊÑҳ俿 Ò ÁÕ¡Òû ͹ࢠÒÍ ҧµ Íà¹×Íè § á¼ ¹Êѹè äËÇ¡ç¨Ð´Õ´µÑÇࢠÒÍÍ¡ à¡Ô´¡ÒáÃо×Í¢Ö¹é ·íÒãË à¡Ô´àÊÕ§´Ñ§ÍÍ¡ ÁÒ µÒÁ¤ÇÒÁ¶Õ¢è ͧÊÑҳ俿 Ò·Õ»è Í ¹ãË ÊíÒËÃѺ㹧ҹ¢Í§äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¨Ð¹ÔÂÁ㪠§Ò¹ ÅíÒ⾧ 2 Ẻ¤×Í ÅíÒ⾧»¡µÔ ¤ÇÒÁµ Ò¹·Ò¹ 8Ω ·ÕÊè ÒÁÒöµÍºÊ¹Í§ãË Ê Ñ Ò³Â Ò¹¤ÇÒÁ¶Õàè ÊÕ§ ¤Ãº áÅÐÅíÒ⾧໠Ââ« ¤ÇÒÁµ Ò¹·Ò¹ 16-32Ω ·ÕÊè ÒÁÒöµÍºÊ¹Í§ÊÑҳ ҹ¤ÇÒÁ¶Õàè ÊÕ§㹠ª ǧ 1kHz-3kHz ÊíÒËÃѺ㹪شàÃÕ¹ÃÙ¡ Ò÷íÒ§Ò¹¢Í§àºÊÔ¡áʵÁ» 2SX ¨Ð㪠ÅÒí ⾧Ẻ¸ÃÃÁ´Òà» ¹ ËÅÑ¡ à¹×Íè §¨Ò¡àºÊÔ¡áʵÁ» 2SX ÊÒÁÒöÊà ҧÊÑÒ³àÊÕ§ã¹Â Ò¹¤ÇÒÁ¶Õàè ÊÕ§·Õ¡è Ç Ò§ ÃÇÁ件֧ µÑÇâ¹ µ´¹µÃÕáÅÐÊÑÒ³»ØÁ â·ÃÈѾ· ËÃ×Í DTMF ´Ñ§¹Ñ¹é ¨Ö§µ ͧ㪠§Ò¹¡ÑºÅíÒ⾧»¡µÔ à¾×Íè ãË ÊÒÁÒö ¢ÑºÊÑÒ³àÊÕ§ÍÍ¡ÁÒä´ Í ҧ¤Ãº¶ ǹáÅÐÊÁºÙó ÁÒ¡·ÕèÊØ´ ª ͧàÊÕ§ÍÍ¡
µÑǶѧ¾ÅÒʵԡ
á¼ ¹ÊÑè¹äËÇ á¼ ¹àËÅç¡à˹ÕèÂǹíÒ (ä´ÍÐá¿ÃÁ : diaphram) ¢Òµ Í㪠§Ò¹ (+) ᡹àËÅç¡ ¢Òµ Í㪠§Ò¹ (-)
ª ͧàÊÕ§ÍÍ¡ ¢´ÅÇ´ ¨Ø´ÂÖ´ä´ÍÐá¿ÃÁ
á¼ ¹Êѹè äËǶ١´Ù´à¢ Òä»
¢Òµ Í㪠§Ò¹
ÊÑҳ俿 Ò + ᡹àËÅç¡ ÊÑҳ俿 Ò -
¢´ÅÇ´
á¼ ¹àËÅç¡à˹ÕÂè ǹíÒ á¼ ¹ÊÑè¹äËÇ´Õ´µÑÇ¡ÅѺÁÒ à¡Ô´¡ÒáÃо×Í ·íÒãË à¡Ô´àÊÕ§ ÊÑҳ俿 Ò á¡¹àËÅç¡ ÊÑҳ俿 Ò + á¼ ¹àËÅç¡à˹ÕèÂǹíÒ
ÃÙ»·Õè 1-6 áÊ´§¡Ò÷íÒ§Ò¹¢Í§ÅíÒ⾧໠Ââ«
¢´ÅÇ´
ª ͧàÊÕ§ÍÍ¡
¾×é¹·Õè·íÒãË àÊÕ§ÁÕ¡ÒÃÊÑè¹ ã¹¨Ñ§ËÇзÕèàËÁ×͹¡Ñ¹ ËÃ×Íà¡Ô´¡Òáíҷ͹
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
l
15
µÑǵ Ò¹·Ò¹á»Ã¤ ÒµÒÁáʧËÃ×Í LDR (Light Dependent Resistor) à» ¹ÍØ»¡Ã³ ÍàÔ Åç¡·ÃÍ¹Ô¡Ê áººË¹Ö§è ·ÕÁè ¤Õ ³ Ø ÊÁºÑµ¾Ô àÔ Èɤ×Í ¤ Ò¤ÇÒÁµ Ò¹·Ò¹ä¿¿ ҢͧÁѹ ¨Ðà»ÅÕè¹á»Å§àÁ×èÍÁÕáʧÁÒµ¡¡Ãзº â´Â¤ Ò¤ÇÒÁµ Ò¹·Ò¹¨ÐŴŧàÁ×èÍÁÕáʧÊÇ Ò§ÁÒµ¡ ¡Ãзº áÅÐà¾ÔÁè ¤ ÒÁÒ¡¢Ö¹é ËÒ¡áʧÊÇ Ò§·Õµè ¡¡ÃзºÅ´¤ÇÒÁÊÇ Ò§Å§ áÅÐÊÙ§ÊØ´àÁ×Íè äÁ ÁáÕ Ê§ ã´æ µ¡¡Ãзºº¹µÑÇ LDR ¤ Ò¤ÇÒÁµ Ò¹·Ò¹¢Í§ LDR ¨ÐÍÂÙã ¹ª ǧ 1kΩ - 500kΩ ã¹ºÒ§Ãع ÍÒ¨ ÊÙ§¶Ö§ 5 MΩ ·Ñ§é ¹Õ¢é ¹Öé ÍÂÙ¡ ºÑ ¢¹Ò´áÅФÇÒÁäÇáʧ¢Í§ÊÒÃ¡Ö§è µÑǹíÒ·Õ¹è Òí ÁÒ㪠¼ÅÔµ LDR áµ àÁ×Íè ÁÕ áʧÁÒµ¡¡Ãзº¤ Ò¤ÇÒÁµ Ò¹·Ò¹¨ÐŴŧàËÅ×͵èÒí ¡Ç Ò 5 kΩ ËÃ×ÍÍÒ¨¡Å ÒÇä´ Ç Ò ÍѵÃÒÊ Ç¹¢Í§ ¤ÇÒÁµ Ò¹·Ò¹ã¹ª ǧÁ×´µ ÍÊÇ Ò§¨ÐÁÕ¤Ò »ÃÐÁÒ³ 10,000 : 1 áµ Í ҧäáçµÒÁ ÊÑ´Ê Ç¹¹Õäé Á á¹ ¹Í¹ àÊÁÍä» ·Ñ§é ¹Õàé ¾ÃÒÐ LDR à» ¹ÍØ»¡Ã³ ¨Òí ¾Ç¡¹Í¹ÅÔà¹ÕÂà ¡Å ÒǤ×Í ÁÕÅ¡Ñ É³Ð¡ÒÃà»ÅÕÂè ¹¤ Òã¹¢³Ð ·íÒ§Ò¹äÁ à» ¹àªÔ§àÊ ¹ ¤ÇÒÁäÇ㹡ÒÃÃѺáʧ¢Í§ LDR ¨Ðᵡµ Ò§¡Ñ¹µÒÁª¹Ô´¢Í§ÊÒÃ¡Ö§è µÑǹíÒ·Õ¹è Òí ÁÒ㪠¼ÅÔµ ¶ Òà» ¹á¤´àÁÕÂÁ«ÑÅä¿´ ¨Ð·íÒ§Ò¹¡Ñºáʧ·ÕÁè ÂÕ Ò ¹¤ÇÒÁÂÒǤÅ×¹è 0.6 µm «Ö§è ¹Ñ¹è ¡çËÁÒ ¤ÇÒÁÇ Ò ÊÒÁÒö·íÒ§Ò¹¡ÑºáʧÊÇ Ò§¸ÃÃÁ´ÒËÃ×Íáʧ¢ÒÇä´ ÊÒÃ¡Ö§è µÑǹíÒ·Õ¹è ÂÔ Á¹íÒÁÒ㪠¼ÅÔµ LDR ¤×Í á¤´àÁÕÂÁ«ÑÅä¿´ (Cadmium sulphide : CdS) ¡ÒÃà»ÅÕÂè ¹á»Å§¤ Ò¤ÇÒÁµ Ò¹·Ò¹¢Í§ LDR àÁ×Íè à·Õº¡Ñºáʧ¨ÐÁÕÅ¡Ñ É³ÐäÁ à» ¹àªÔ§àÊ ¹ (non-linear) ¹Ñ¹è ¤×Í¡ÒÃà»ÅÕÂè ¹á»Å§¤ Ò¤ÇÒÁµ Ò¹·Ò¹¨ÐäÁ à» ¹ÍѵÃÒÊ Ç¹·Õ¤è §·Õáè ¹ ¹Í¹
¤ Ò¤ÇÒÁµ Ò¹·Ò¹
㹡ÒÃàÅ×͡㪠LDR ¨íÒà» ¹µ ͧ·ÃÒº¤ Ңͧ¤Ø³ÊÁºÑµºÔ ҧ͠ҧ ·Ñ§é ¹Õàé ¾×Íè » ͧ¡Ñ¹¡ÒÃ㪠§Ò¹ LDR ¼Ô´¾ÅÒ´¨¹·íÒãË Á¹Ñ à¡Ô´¤ÇÒÁàÊÕÂËÒ ¾ÒÃÒÁÔàµÍà ·µÕè Í §Ê¹ã¨ÁÕ´Ç Â¡Ñ¹ 3 µÑǤ×Í ¤ Ò¤ÇÒÁµ Ò¹·Ò¹ ÊÙ§ÊØ´àÁ×Íè äÁ ÁáÕ Ê§ÁÒµ¡¡Ãзº, ¤ Ò¤ÇÒÁµ Ò¹·Ò¹µèÒí ÊØ´àÁ×Íè ÁÕáʧÁÒµ¡¡Ãзº áÅÐ áç´Ñ¹ãª §Ò¹ÊÙ§ÊØ´ ÊíÒËÃѺ¤ Ò¤ÇÒÁÂÒǤÅ×¹è áʧ·ÕÍè ÂÙ㠹 ҹ¡Ò÷íÒ§Ò¹äÁ Á¤Õ ÇÒÁ¨íÒà» ¹µ ͧ¤íÒ¹Ö§¶Ö§à¹×Íè §¨Ò¡â´Â »¡µÔÁ¡Ñ 㪠§Ò¹ LDR ¡Ñºáʧ¢ÒÇËÃ×ÍáʧÊÇ Ò§¸ÃÃÁ´Ò àÇ ¹áµ §Ò¹à©¾ÒкҧÍ ҧ෠ҹѹé
ÊÒáÖ觵ÑǹíÒäÇáʧ ¢Òµ Í㪠§Ò¹
¤ÇÒÁࢠÁ¢Í§áʧ
Ãٻà ҧ
ÊÑÅѡɳ
¡ÃÒ¿¤Ø³ÊÁºÑµÔ
ÃÙ»·Õè 1-7 áÊ´§Ãٻà ҧ, ÊÑÅѡɳ áÅСÃÒ¿¤Ø³ÊÁºÑµ¡Ô Ò÷íÒ§Ò¹àº×Íé §µ ¹¢Í§ LDR
16
l
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
ÊÇÔµª ¡´µÔ´»Å Í´Ѻ (Push-button switch/Tact switch) à» ¹ÍØ»¡Ã³ ÊÒí ËÃѺµÑ´µ Íǧ¨Ãä¿¿ ÒáººË¹Ö§è ·Õ¹è ÂÔ Á㪠Í ҧÁÒ¡ã¹ÃкºäÁâ¤Ã¤Í¹â·ÃÅàÅÍà â´ÂÊÇÔµª Ẻ¹Õ黡µÔàÁ×èÍäÁ ÁÕ¡Òá´ ˹ ÒÊÑÁ¼ÑʢͧÊÇÔµª ¨Ðá¡ÍÍ¡¨Ò¡¡Ñ¹ËÃ×ÍàÃÕÂ¡Ç Ò à» ´Ç§¨Ã àÁ×Íè ÁÕ¡Òá´Å§º¹»ØÁ ´ Ò¹º¹«Ö§è ·íÒÁÒ¨Ò¡ÂÒ§Êѧà¤ÃÒÐË ËÃ×;ÅÒʵԡ ·íÒãË Ë¹ ÒÊÑÁ¼ÑʵÑÇ ¹íÒÀÒÂã¹ÊÇÔµª µÍ ¶Ö§¡Ñ¹ ¡ÃÐáÊä¿¿ Ò¡ç¨ÐÊÒÁÒöäËż Ò¹ä»ä´ Ãٻà ҧ¢Í§ÊÇÔµª ¡´µÔ´»Å Í´ѺÁÕ´Ç Â¡Ñ¹ËÅÒÂẺ ·Ñ§é ẺºÑ´¡ÃÕµÍ ÊÒ Ẻŧἠ¹Ç§¨Ã ¾ÔÁ¾ ẺµÔ´Ë¹ Ò» ´ áÅÐ㹺ҧẺÁÕä¿áÊ´§ã¹µÑÇ Ê Ç¹¢Òµ Í㪠§Ò¹ÁÕµ§Ñé áµ 2 ¢Ò¢Ö¹é ä» ã¹¡Òà 㪠§Ò¹¡ÑºäÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¹Ñé¹Áѡ㪠ÊÇÔµª à» ¹ÍØ»¡Ã³ Êà ҧÊÑÒ³ÍÔ¹¾ØµáººË¹Öè§ â´Âµ Í »ÅÒ¢ ҧ˹Ö觡ѺµÑǵ Ò¹·Ò¹ áÅлÅÒ¢ͧµÑǵ Ò¹·Ò¹¹Ñé¹µ ͡Ѻä¿àÅÕé§ËÃ×Í·ÕèàÃÕÂ¡Ç Ò ¾ÙÅÍÑ» ·Õ¨è ´Ø µ Íǧ¨ÃÃÐËÇ Ò§ÊÇÔµª ¡ºÑ µÑǵ Ò¹·Ò¹¨Ðà» ¹¨Ø´·Õµè Í à¢ Ò¡ÑºäÁâ¤Ã¤Í¹â·ÃÅàÅÍà à¾×Íè Í Ò¹¤ ÒÅͨԡ ¢Í§¡Òá´ÊÇÔµª ´§Ñ áÊ´§ã¹ÃÙ»·Õè 1-8 (§) ¶ ÒËÒ¡äÁ Á¡Õ Òá´ÊÇÔµª ʶҹÐÅͨԡ¢ÍÊÇÔµª µÇÑ ¹Ñ¹é ¨Ð à» ¹ 1 Íѹà¹×Íè §¨Ò¡¡Òõ ͵Ñǵ Ò¹·Ò¹¾ÙÅÍÑ» áÅÐàÁ×Íè ÁÕ¡Òá´ÊÇÔµª ¨Ðà¡Ô´Ê¶Ò¹ÐÅͨԡ໠¹ 0 à¹×èͧ¨Ò¡¨Ø´µ ÍÊÑÒ³¹Ñ鹶١µ Íŧ¡ÃÒÇ´ +5V
»Ø ÁÂÒ§ÊíÒËÃѺ¡´
R1 4k7
äÁ Á¡Õ ÃÐáÊä¿¿ ÒäËÅ à¹×Íè §¨Ò¡à» ´Ç§¨Ã
S1
(¡) Ãٻà ҧ¢Í§ÊÇÔµª ¡´µÔ´»Å Í´Ѻ
+5V R1 4k7
¡´ÊÇÔµª à¡Ô´¡Òõ Íǧ¨Ã
(¢) ǧ¨ÃÊÁÁÙŢͧÊÇÔµª ¡´µÔ´»Å Í´Ѻ
(¤) ÊÑÅѡɳ ·ãÕè ª ã¹Ç§¨Ã
àÍÒµ ¾µØ = +5V à» ¹Åͨԡ "1"
S1
àÍÒµ ¾µØ = 0V à¡Ô´Åͨԡ "0" ·ÔÈ·Ò§¡ÒÃäËŢͧ ¡ÃÐáÊä¿¿ Ò
(§) áÊ´§Ç§¨Ã¡ÒùíÒÊÇÔµª ¡´µÔ´»Å ÍÂ´Ñºä» ãª ã¹¡ÒÃÊà ҧÊÑÒ³Åͨԡ ãË á¡ äÁâ¤Ã¤Í¹â·ÃÅàÅÍÃ
ÃÙ»·Õè 1-8 áÊ´§Ãٻà ҧáÅÐÊÑÅѡɳ ¢Í§ÊÇÔµª Ẻ¡´µÔ´»Å Í´Ѻ·Õãè ª 㹡Ò÷´Åͧ
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
l
17
ÃÕàÅ (Relay) à» ¹ÍØ»¡Ã³ áÁ àËÅç¡ä¿¿ ÒáººË¹Ö§è ·Õ·è Òí ˹ Ò·Õàè » ¹ÊÇÔµª µ´Ñ µ ÍË¹Ö§è ªØ´ËÃ×ÍÁÒ¡¡Ç Ò ¢Ö¹é ÍÂÙ ¡Ñº¨íҹǹ˹ ÒÊÑÁ¼ÑÊ·ÕÃè àÕ Å µÇÑ Ë¹Ö§è æ ºÃèØÍÂÙ ÃÕàÅ ÁÊÕ Ñ Åѡɳ µÒÁÃÙ»·Õè 1-9 (¡) ¨ÐàËç¹Ç ÒÃÕàÅ »ÃСͺ´ ÇÂÊ Ç¹ÊíÒ¤Ñ 2 Ê Ç¹¤×Í ¢´ÅÇ´ (coil) áÅÐ˹ ÒÊÑÁ¼ÑÊ (contact) Ạ§à» ¹Ë¹ ÒÊÑÁ¼ÑÊ »¡µÔ (Normally Closed :NC) áÅл¡µÔà» ´Ç§¨ÃËÃ×ÍäÁ µÍ (Normally Opened :NC) ¡ÒáÃÐµØ ¹ãË ÃÕàÅ ·íÒ§Ò¹·íÒä´ § ÒÂÁÒ¡à¾Õ§¨ ÒÂáç´Ñ¹ãË á¡ ¢´ÅÇ´ã¹»ÃÔÁÒ³·Õ袴ÅÇ´ ¹Ñ¹é µ ͧ¡Òà ¡ç¨Ð·íÒãË áÁ àËÅç¡ä¿¿ Òà¡Ô´¢Ö¹é ·ÕËè ¹ ÒÊÑÁ¼ÑÊ à¡Ô´¡Òôٴ˹ ÒÊÑÁ¼Ñʨҡ¨Ø´ NC ÁÒÂѧ ¨Ø´ NO ´Ñ§¹Ñ¹é àÁ×Íè ÃÕàÅ ·Òí §Ò¹Ë¹ ÒÊÑÁ¼ÑÊ NO ¨Ðµ Íǧ¨Ã ã¹¢³Ð·Õè NC ¨Ðà» ´Ç§¨Ãá·¹ ã¹ÅѡɳР¹Õ·é Òí §Ò¹àËÁ×͹໠¹ÊÇÔµª 2 ·Ò§·Õ¤è Ǻ¤ØÁ´ ÇÂáÁ àËÅç¡ä¿¿ Ò ´Ñ§áÊ´§¡Ò÷íÒ§Ò¹ã¹ÃÙ»·Õè 1-9 (¢) ¤Ø³ÊÁºÑµ·Ô ÊÕè Òí ¤Ñ¢Í§ÃÕàÅÂ ä´ á¡ 1. áç´Ñ¹µ¡¤Ã ÍÁ¢´ÅÇ´·Õ·è Òí ãË ÃàÕ Å ·Òí §Ò¹ (Vcoil ËÃ×Í Coil Voltage) 2. ¤ Ò¤ÇÒÁµ Ò¹·Ò¹¢Í§¢´ÅÇ´ (Coil resistance) »¡µÔÁ¤Õ Ò »ÃÐÁÒ³ 100-600Ω 3. ÍѵÃÒ·¹ä´ ʧ٠ÊØ´·Ñ§é áç´Ñ¹áÅСÃÐáʢͧ˹ ÒÊÑÁ¼ÑÊ (Contact rating) 4. ÍÒÂØ¡ÒÃ㪠§Ò¹ (Operating time) 5. µíÒá˹ §¢Ò¢Í§Ë¹ ÒÊÑÁ¼ÑÊ NO, NC áÅÐ C ÃÇÁ·Ñ§é ¢Òµ Í㪠§Ò¹¢Í§¢´ÅÇ´ ˹ ÒÊÑÁ¼ÑÊ ¢´ÅÇ´
NC C
NO
(¡) áÊ´§ÊÑÅѡɳ ¢Í§ÃÕàÅ NC
+ -
C
NC
+V
+ -
NO
ÃÕàÅÂ Â§Ñ äÁ ·Òí §Ò¹
(¢) ¡Ò÷íÒ§Ò¹¢Í§ÃÕàÅ ÃÙ»·Õè 1-9 áÊ´§ÊÑÅѡɳ áÅСÒ÷íÒ§Ò¹àº×Íé §µ ¹¢Í§ÃÕàÅÂ
C NO
ÃÕàÅ àÃÔèÁ·íÒ§Ò¹
+V
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
l
19
º··Õè 2 äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¤×ÍÍÐäà äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ໠¹ÍØ»¡Ã³ ÍàÔ Åç¡·ÃÍ¹Ô¡Ê áººË¹Ö§è ·ÕÃè ÇÁàÍÒÍØ»¡Ã³ ÂÍ Âæ ࢠÒÁÒäÇ ã¹µÑǶѧà´ÕÂǡѹà¾×Íè ¹íÒä»ãª Êà ҧÃкº¤Çº¤ØÁ·ÕÁè ¢Õ ¹Ò´àÅç¡ ÍØ»¡Ã³ ÂÍ Âæ ¹Ñ¹é »ÃСͺ´ Ç «Õ¾Õ Â٠˹ ǤÇÒÁ¨íÒ Ç§¨Ãàª×Íè Áµ Í Ç§¨ÃÊÑÒ³¹ÒÌ ¡Ò àÁ×Íè à» ¹àª ¹¹Õé äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡¨ç ФŠÒ ¡Ñº¤ÍÁ¾ÔÇàµÍà µÇÑ àÅç¡æ µÑÇË¹Ö§è ¹Ñ¹è àͧ à¾Õ§ᵠÁ¹Ñ äÁ Á¨Õ ÍáÊ´§¼ÅãË âµ ÁѹäÁ Á¤Õ ÂÕ º Íà ´ãË àÃÒ¡´ä´ ·¹Ñ ·Õ áµ Á¹Ñ ¨ÐÁÕ¢ÒÊíÒËÃѺµ ÍÍØ»¡Ã³ ÀÒ¹͡àËÅ Ò¹Õé äÁâ¤Ã¤Í¹â·ÃÅàÅÍà (Microcontroller) ÁÒ¨Ò¡¤íÒ 2 ¤íÒ ¤íÒË¹Ö§è ¤×Í äÁâ¤Ã (micro) ËÁÒ¶֧ ¢¹Ò´àÅç¡ áÅФíÒÇ Ò ¤Í¹â·ÃÅàÅÍà (controller) ËÁÒ¶֧ µÑǤǺ¤ØÁËÃ×ÍÍØ»¡Ã³ ¤Çº ¤ØÁ ´Ñ§¹Ñ¹é äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¨Ö§ËÁÒ¶֧ ÍØ»¡Ã³ ¤Çº¤ØÁ¢¹Ò´àÅç¡
»ÃÐ⪹ ¢Í§äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ã¹à¤Ã×Íè §»ÃѺÍÒ¡ÒÈÊÁÑÂãËÁ ·ÃÕè кº¤Çº¤ØÁÍسËÀÙÁÍÔ µÑ â¹ÁÑµÔ àª ¹ ËÂØ´·íÒ§Ò¹àÁ×Íè ÍسËÀÙÁÔ Å´Å§àÁ×Íè ¶Ö§ÍسËÀÙÁ¤Ô Ò Ë¹Ö§è áÅСÅѺÁÒ·íÒ§Ò¹àÁ×Íè ÍسËÀÙÁÊÔ §Ù ¢Ö¹é ¶Ö§ÍÕ¡¤ Ò˹֧è ËÑÇ㨢ͧ¡ÒäǺ ¤ØÁ¹Ñ¹é ¡ç¤Í× äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ã¹àµÒͺäÁâ¤ÃàÇ¿ à¤Ã×Íè §¶ ÒÂàÍ¡ÊÒà à¤Ã×Íè §¾ÔÁ¾ ¡Å ͧ¶ Ò ÃÙ»´Ô¨µÔ ÍÅ Ê᡹à¹Íà à¤Ã×Íè §Á×ÍÇÑ´ÊÁÑÂãËÁ ŠǹáÅ Çᵠ㪠äÁâ¤Ã¤Í¹â·ÃÅàÅÍà 㹡ÒäǺ¤ØÁ ¡Ò÷íÒ§Ò¹·Ñé§ÊÔé¹ â´ÂäÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¨Ð¶Ù¡ãª à» ¹Ê ǹ»ÃСͺ˹Ö觷ÕèÁÕº·ºÒ·ÁÒ¡ áÅÐã¹áµ äÁâ¤Ã ¤Í¹â·ÃÅàÅÍà àÁ×Íè ¶Ù¡ãª ã¹§Ò¹·Õáè µ¡µ Ò§¡Ñ¹ µ Ò§¡ç¨ÐÁÕâ»Ãá¡ÃÁ¤Çº¤ØÁà» ¹¢Í§µ¹àͧ ÊÒÁÒö ·Õ¨è л ͧ¡Ñ¹äÁ ãË Á¡Õ ÒÃÍ Ò¹¢ ÍÁÙÅÍÍ¡ä»·íÒÊíÒà¹Òä´ ¨Ö§·íÒãË ¡ÒÃÍ͡Ẻ¼ÅÔµÀѳ± ã¹ÊÁÑÂãËÁ ¨§Ö ¹ÔÂÁ㪠äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ÁÒà» ¹Ê ǹ»ÃСͺËÅÑ¡ à¹×Íè §¨Ò¡ª ÇÂÅ´¢¹Ò´¢Í§á¼§Ç§¨Ã Å´¨íҹǹ ÍØ»¡Ã³ ·ãÕè ª Å´¾Åѧ§Ò¹ Ê §¼ÅãË µ¹ ·Ø¹ã¹¡ÒüÅԵŴµèÒí ŧ Ëҡ㪠äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ·ÊÕè ÒÁÒö â»Ãá¡ÃÁ¢ ÍÁÙÅ«éÒí ä´ ¡ç¨Ðª ÇÂãË ÊÒÁÒöÍÑ»à¡Ã´ËÃ×Í»ÃѺ»Ãا¡Ò÷íÒ§Ò¹ä´ â´ÂäÁ ¨Òí à» ¹µ ͧÊà ҧ ǧ¨ÃãËÁ à¾Õ§à¢Õ¹â»Ãá¡ÃÁãËÁ áŠǺÃèØŧ㹵ÑÇäÁâ¤Ã¤Í¹â·ÃÅàÅÍÃ à· Ò¹Ñ¹é ¨Ö§Ê §¼Å´Õã¹ÃÐÂÐ ÂÒÇ·Ò§´ Ò¹¡Òë ÍÁºíÒÃا ´ÙáÅÃÑ¡ÉÒ áÅСÒþѲ¹Ò¤ÇÒÁÊÒÁÒö ·ÕÊè Òí ¤Ñã¹·Ò§¡Òä Ò¤×Í ÊÒÁÒö ÃÑ¡ÉÒ¤ÇÒÁÅѺ¢ ÍÁÙÅâ»Ãá¡ÃÁ¢Í§¼ÅÔµÀѳ± ¹Ñé¹äÇ ä´
20
l
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
«Õ¾ÂÕ Ù
ǧ¨ÃÊÑÒ³ ¹ÒÌÔ¡Ò
¾Íà µ
˹ ǤÇÒÁ¨íÒ â»Ãá¡ÃÁ
˹ ǤÇÒÁ¨íÒ ¢ ÍÁÙÅáÃÁ
ÍØ»¡Ã³ ÀÒ¹͡
˹ ǤÇÒÁ¨íÒ ¢ ÍÁÙÅÍÕ; Õ ÃÍÁ
ÃÙ»·Õè 2-1 â¤Ã§Êà ҧ¾×¹é °Ò¹¢Í§äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ÅÙ¡È÷Õàè Ëç¹ãª á·¹ºÑÊËÃ×ÍàÊ ¹·Ò§¢Í§ÊÑÒ³
â¤Ã§Êà ҧ¢Í§äÁâ¤Ã¤Í¹â·ÃÅàÅÍà »ÃСͺ´ Ç 5 Ê Ç¹ÊíҤѤ×Í 1. ˹ Ç»ÃÐÁÇżšÅÒ§ËÃ×Í«Õ¾ÂÕ Ù (CPU : Central Processing Unit) 2. ˹ ǤÇÒÁ¨íÒ (Memory) «Öè§áº §ÍÍ¡à» ¹ 2 Ê Ç¹¤×Í Ë¹ ǤÇÒÁ¨íÒà¡çºâ»Ãá¡ÃÁ (program memory) ·íÒ˹ Ò·Õ¤è Å Ò¡ѺÎÒà ´´ÔÊ¡ 㹤ÍÁ¾ÔÇàµÍà ¢ ÍÁÙÅäÁ Ê Ù ËÒÂàÁ×Íè äÁ ÁäÕ ¿àÅÕÂé § áÅÐ˹ ǤÇÒÁ¨íÒ¢ ÍÁÙÅ (data memory) 㪠໠¹àËÁ×͹¡ÃдÒÉ·´ã¹¡Òäíҹdz¢Í§«Õ¾ÂÕ Ù áÅÐ à» ¹·Õè¾Ñ¡¢ ÍÁÙÅ㹡Ò÷íÒ§Ò¹ªÑèǤÃÒÇ ¢ ÍÁÙŨÐËÒÂä»àÁ×èÍäÁ ÁÕä¿àÅÕ駤ŠҡѺ˹ ǤÇÒÁ¨íÒáÃÁ (RAM) 㹤ÍÁ¾ÔÇàµÍà ·ÇÑè ä» ã¹äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ÊÁÑÂãËÁ ˹ ǤÇÒÁ¨íÒ¢ ÍÁÙŨÐÁÕ·§Ñé ·Õàè » ¹ ˹ ǤÇÒÁ¨íÒáÃÁ «Ö§è ¢ ÍÁÙŨÐËÒÂàÁ×Íè äÁ ÁäÕ ¿àÅÕÂé § áÅÐà» ¹áººÍÕÍ¾Õ ÃÍÁ (EEPROM : Erasable Electrically Programmable Read-Only Memory) «Ö§è ÊÒÁÒöà¡çº¢ ÍÁÙÅä´ áÁ äÁ ÁäÕ ¿àÅÕÂé § 3. Ê Ç¹µÔ´µ ÍÍØ»¡Ã³ ÀÒ¹͡ ËÃ×ÍàÃÕÂ¡Ç Ò ¾Íà µ (port) ÁÕ´Ç Â¡Ñ¹ 2 ÅѡɳФ×Í ¾Íà µ ÃѺÊÑÒ³ ËÃ×Í ¾Íà µÍÔ¹¾Øµ (input port) áÅÐ ¾Íà µÊ §ÊÑÒ³ ËÃ×Í ¾Íà µàÍÒµ ¾µØ (output port) Ê Ç¹¹ÕÁé ¤Õ ÇÒÁÊíÒ¤ÑÁÒ¡ à¹×Íè §¨Ò¡ãª 㹡ÒÃàª×Íè Áµ ͡ѺÍØ»¡Ã³ ÀÒ¹͡ áÅÐÍØ»¡Ã³ ÀÒ¹͡ àËÅ Ò¹Ñ¹é ¹Ñ¹è àͧ·Õ¨è Ðà» ¹Ê×Íè ¡Åҧ㹡ÒõԴµ ͡ѺÁ¹ØÉ ¡µÑÇÍ ҧ ¾Íà µÍÔ¹¾Øµãª µÍ ¡ÑºÊÇÔµª à¾×Íè ÃѺ¢ ÍÁÙÅ·Õ¼è ãÙ ª §Ò¹¡´» ͹ࢠÒÁÒ «Ö§è àËÁ×͹¡Ñº¡ÒÃ㪠¤ÂÕ º Íà ´ã¹¡Òû ͹¢ ͤÇÒÁࢠҤÍÁ¾ÔÇàµÍÃ
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
l
21
¾Íà µàÍÒµ ¾µØ 㪠µÍ ¡ÑºÅíÒ⾧à¾×Íè ¢ÑºàÊÕ§ µ ͡ѺËÅÍ´ä¿à¾×Íè áÊ´§¼Å µ ͡ѺÁÍàµÍà à¾×Íè ¤Çº¤ØÁ ¡ÒÃËÁع µ ͡Ѻ˹ ǤÇÒÁ¨íÒà¾×èÍà¾ÔèÁ¾×é¹·Õè㹡ÒÃà¡çº¢ ÍÁÙÅ ËÒ¡à»ÃÕºà·Õº¡Ñº¤ÍÁ¾ÔÇàµÍà ¾Íà µàÍÒµ ¾µØ ¡ç¤Í× Ê Ç¹·Õµè Í ¡Ñºà¤Ã×Íè §¾ÔÁ¾ ÃÇÁ¶Ö§Ê ǹ·Õµè Í ¡Ñº¨ÍÁ͹ÔàµÍà à¾×Íè áÊ´§ÀÒ¾ à» ¹µ ¹ 4. àÊ ¹·Ò§ÊÑÒ³ ËÃ×Í ºÑÊ (bus) ¡ÒõԴµ ÍáÅ¡à»ÅÕÂè ¹ÊÑÒ³¢ ÍÁÙÅÃÐËÇ Ò§«Õ¾ÂÕ Ù Ë¹ Ç ¤ÇÒÁ¨íÒ áÅоÍà µ¨Ð¡ÃзíÒº¹ÊÒÂÊÑÒ³¨íҹǹÁÒ¡ àÃÕÂ¡Ç Ò àÊ ¹·Ò§ÊÑÒ³ËÃ×ͺÑÊ â´Â Ạ§à» ¹ºÑÊ¢ ÍÁÙÅ (data bus), ºÑÊáÍ´à´ÃÊ (address bus) áÅÐ ºÑʤǺ¤ØÁ (control bus) ºÑÊ¢ ÍÁÙÅà» ¹ÊÒÂÊÑÒ³·Õºè ÃÃ¨Ø¢Í ÁÙÅÊÒËÃѺ¡ÒûÃÐÁÇżŷѧé ËÁ´ ¢¹Ò´¢Í§ºÑʨТֹé ÍÂÙ ¡Ñº¤ÇÒÁÊÒÁÒö㹡ÒûÃÐÁÇżŢͧ«Õ¾ÂÕ áÙ ÅÐà·¤â¹âÅÂբͧäÁâ¤Ã¤Í¹â·ÃÅàÅÍà µÇÑ ¹Ñ¹é æ ÊíÒËÃѺ 㹧ҹ·ÑÇè 仢¹Ò´¢Í§ºÑÊ¢ ÍÁÙŤ×Í 8 ºÔµ áÅÐã¹» ¨¨Øº¹Ñ ÁÕ¡ÒþѲ¹Ò件֧ 16, 32 áÅÐ 64 ºÔµáÅ Ç ºÑÊáÍ´à´ÃÊà» ¹ÊÒÂÊÑÒ³·Õºè ÃÃ¨Ø¤Ò µíÒá˹ §¢Í§Ë¹ ǤÇÒÁ¨íÒ â´Â¡ÒõԴµ ͡Ѻ˹ Ç ¤ÇÒÁ¨íÒ¹Ñ¹é «Õ¾ÂÕ µÙ Í §¡íÒ˹´µíÒá˹ §·Õµè Í §¡ÒÃÍ Ò¹ËÃ×Íà¢Õ¹¡ ͹ «Ö§è ¡ç¤Í× ¡ÒáíÒ˹´¤ ÒáÍ´à´ÃÊ ¨íҹǹÊÒÂÊÑÒ³¢Í§ºÑÊáÍ´à´Ãʨ֧µ ͧÁÕ¨Òí ¹Ç¹ÁÒ¡ áÅж ÒÂÔ§è ÁÕÁÒ¡à· Òã´ ¨Ðà» ¹¡ÒÃáÊ´§¶Ö§ ¢¹Ò´¢Í§Ë¹ ǤÇÒÁ¨íÒ·Õäè Áâ¤Ã¤Í¹â·ÃÅàÅÍà µÇÑ ¹Ñ¹é ÊÒÁÒöµÔ´µ Íä´ â´ÂÊÒÁÒö¤íÒ¹Ç³ä´ ¨Ò¡ ¨íҹǹáÍ´à´Ãʢͧ˹ ǤÇÒÁ¨íÒ = 2n
â´Â·Õè n ¤×ͨíҹǹÊÒÂÊÑÒ³
µÑÇÍ ҧ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà µÇÑ Ë¹Ö§è ÁÕÊÒÂáÍ´à´ÃÊ 10 àÊ ¹ ´Ñ§¹Ñ¹é äÁâ¤Ã¤Í¹â·ÃÅàÅÍà µÑǹÕÊé ÒÁÒöµÔ´µ ͡Ѻ˹ ǤÇÒÁ¨íÒä´ 210 = 1,024 µíÒá˹ § ËÒ¡µ ͧ¡Ò÷ÃÒº¤ÇÒÁ¨Ø¢Í§Ë¹ ǤÇÒÁ¨íÒ¨ÃÔ§æ ¨Ðµ ͧ·ÃÒº¶Ö§¢¹Ò´¢Í§ºÑÊ¢ ÍÁÙÅ¡ Í¹Ç Ò à» ¹à· Òã´ ËÒ¡à» ¹ 8 ºÔµ ¤ÇÒÁ¨Ø¢Í§Ë¹ ǤÇÒÁ¨íÒ·ÕÁè ÊÕ ÒÂáÍ´à´ÃÊ 10 àÊ ¹ ¨Ð෠ҡѺ 8 x 1024 = 8,192 ºÔµ áµ â´Â·ÑÇè 仹ÔÂÁàÃÕ¡¤ÇÒÁ¨Ø¢Í§Ë¹ ǤÇÒÁ¨íÒã¹Ë¹ ÇÂ亵 (byte) ËÃ×Í ¡ÔâÅ亵 (kilo byte : KB) â´Â 1 亵 ෠ҡѺ 8 ºÔµ áÅÐ 1 ¡ÔâÅ亵 ෠ҡѺ 1,024 亵 (äÁ 㪠1,000 àËÁ×͹¡ÑºË¹ ÇÂÇÑ´·ÑèÇä») ´Ñ§¹Ñé¹äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ·Õè¹íÒÁÒà» ¹µÑÇÍ ҧ¨ÐÁÕ¤ÇÒÁ¨Ø¢Í§Ë¹ Ç ¤ÇÒÁ¨íÒ෠ҡѺ 8,192 ºÔµ ËÃ×Í 1,024 亵 ËÃ×Í 1 ¡ÔâÅ亵 ºÑʤǺ¤ØÁà» ¹¡ÅØ Á¢Í§ÊÒÂÊÑÒ³¤Çº¤ØÁ¡ÒõԴµ Í·Ñé§ËÁ´¢Í§«Õ¾ÕÂ١Ѻ˹ ǤÇÒÁ¨íÒ áÅоÍà µ ÊíÒËÃѺÊÒÂÊÑÒ³¤Çº¤ØÁËÅÑ¡ä´ á¡ ÊÒÂÊÑÒ³àÅ×Í¡-Í Ò¹-à¢Õ¹˹ ǤÇÒÁ¨íÒ ÊÒ ÊÑÒ³àÅ×Í¡-Í Ò¹-à¢Õ¹¢ ÍÁÙšѺ¾Íà µ 5. ǧ¨Ã¡íÒà¹Ô´ÊÑÒ³¹ÒÌ ¡Ò ¹Ñºà» ¹Ê ǹ»ÃСͺ·ÕÊè Òí ¤ÑÁÒ¡ÍÕ¡Ê Ç¹Ë¹Ö§è à¹×Íè §¨Ò¡¡Òà ·íÒ§Ò¹·Ñ§é ËÁ´·Õàè ¡Ô´¢Ö¹é ã¹äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¨Ð¢Ö¹é ÍÂÙ¡ ºÑ ¡ÒáíÒ˹´¨Ñ§ËÇÐâ´Âãª Ê Ñ Ò³¹ÒÌ ¡Ò ËÒ¡ÊÑÒ³¹ÒÌ ¡ÒÁÕ¤ÇÒÁ¶ÕÊè §Ù ¨Ñ§ËÇÐ㹡Ò÷íÒ§Ò¹¢Í§äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡¨ç жÕáè ÅÐÁÕÁÒ¡µÒÁ Ê §¼ÅãË äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¹¹Ñé ÁÕ¤ÇÒÁàÃçÇ㹡ÒûÃÐÁÇżÅÊÙ§ÁÒ¡µÒÁä»´ ÇÂ
22
l
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
¡Ò÷íÒ§Ò¹¢Í§äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ·ÑèÇä»áÅÐá¹Ç·Ò§ã¹¡ÒþѲ¹Ò äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¨ÐÊÒÁÒö·íÒ§Ò¹ä´ àÁ×èͨ ÒÂä¿àÅÕé§áÅе Íǧ¨Ã¡íÒà¹Ô´ÊÑÒ³ ¹ÒÌ ¡ÒãË á¡ Á¹Ñ ¨Ò¡¹Ñ¹é «Õ¾ÂÕ ÀÙ ÒÂã¹äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¨ÐµÔ´µ ͡Ѻ˹ ǤÇÒÁ¨íÒâ»Ãá¡ÃÁà¾×Íè Í Ò¹¢ ÍÁÙŤíÒÊÑè§áÅ Ç·íÒ§Ò¹µÒÁ¤íÒÊÑ觷ÕèºÃèØÍÂÙ ã¹Ë¹ ǤÇÒÁ¨íÒâ»Ãá¡ÃÁ ¹Ñ¹è ËÁÒ¤ÇÒÁÇ Ò µ ͧÁÕ¡ÒÃà¢Õ¹¢ ÍÁÙÅŧã¹Ë¹ ǤÇÒÁ¨íÒâ»Ãá¡ÃÁ¡ ͹ â´ÂäÁâ¤Ã¤Í¹ â·ÃÅàÅÍà ᵠÅÐàºÍà ¨ÐÁÕû٠Ẻ¢Í§¢ ÍÁÙŤíÒÊÑ§è ·Õáè µ¡µ Ò§¡Ñ¹ «Ö§è ¨Ðµ ͧÍÒÈÑ¡Ãкǹ¡ÒÃà¢Õ¹ â»Ãá¡ÃÁ (programming) ÀÒÉÒ·Õãè ª 㹡ÒÃà¢Õ¹â»Ãá¡ÃÁÊÒÁÒöẠ§ä´ 2 ÃдѺ¤×Í ÀÒÉÒÊÙ§ (high language) áÅÐ ÀÒÉÒáÍÊà«ÁºÅÕ (assembly language) â´Â»¡µÔäÁâ¤Ã¤Í¹â·ÃÅàÅÍà µ ͧ¡ÒÃâ»Ãá¡ÃÁ·Õàè ¢Õ¹´ ÇÂÀÒÉÒáÍÊà«ÁºÅÕ à¹×Íè §¨Ò¡ÊÒÁÒö·íÒ§Ò¹ä´ ÃÇ´àÃçǼ Ò¹¡Ãкǹ¡Òà á»Å§¢ ÍÁÙŤíÒÊѧè à» ¹¢ ÍÁÙÅàÅ¢°Ò¹ÊԺˡà¾×Íè ·íÒ§Ò¹µÒÁ¤íÒÊѧè à¾Õ§ 1 ¢Ñ¹é µÍ¹¤×Í á»Å¨Ò¡ÀÒÉÒ áÍÊà«ÁºÅÕà» ¹¢ ÍÁÙÅàÅ¢°Ò¹ÊԺˡ ËÃ×Í·ÕèàÃÕÂ¡Ç Ò Íͻ⤠´ (opcode) áµ ¢ ÍàÊÕ¢ͧ¡ÒÃà¢Õ¹ â»Ãá¡ÃÁ´ ÇÂÀÒÉÒáÍÊà«ÁºÅÕ¤Í× ¼Ùà ¢Õ¹µ ͧ·íÒ¤ÇÒÁࢠÒã¨ã¹ªØ´¤íÒÊÑ§è ¢Í§äÁâ¤Ã¤Í¹â·ÃÅàÅÍà àºÍà ¹¹Ñé æ Í ҧ¶ ͧᷠàÁ×Íè à»ÅÕÂè ¹àºÍà äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡µç Í §àÃÕ¹ÃÙá ÅзíÒ¤ÇÒÁࢠÒ㨪ش¤íÒ Êѧè ãËÁ «Ö§è ÍÒ¨·íÒãË àÊÕÂàÇÅÒÁÒ¡ áÅСÒÃà¢Õ¹â»Ãá¡ÃÁ´ ÇÂÀÒÉÒáÍÊà«ÁºÅÕ ¼Ùà ¢Õ¹µ ͧÁÕ·¡Ñ ÉР㹡ÒÃà¢Õ¹â»Ãá¡ÃÁÊÙ§¾ÍÊÁ¤Çà áÅÐࢠÒ㨶֧ʶһ µÂ¡ÃÃÁ¢Í§äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ໠¹Í ҧ´Õ ã¹¢³Ð·Õ¡è ÒÃà¢Õ¹â»Ãá¡ÃÁ´ ÇÂÀÒÉÒÊÙ§ ÍÒ·Ô ÀÒÉÒ«Õ ÀÒÉÒàºÊÔ¡ µ ͧ¼ Ò¹¡Ãкǹ¡Ò÷Õè àÃÕÂ¡Ç Ò ¤ÍÁä¾Å (compile) à¾×èÍá»Å§ÀÒÉÒÃдѺÊÙ§àËÅ Ò¹Ñé¹à» ¹ÀÒÉÒà¤Ã×èͧËÃ×ÍÍͻ⤠´¢Í§ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà àºÍà ¹¹Ñé æ àÊÕ¡ ͹ áÅÐâ»Ãá¡ÃÁ·Õãè ª 㹡ÒäÍÁä¾Å ¹¹Ñé àÃÕÂ¡Ç Ò ¤ÍÁä¾àÅÍà (complier) ÁÑ¡¨ÐÁÕÃÒ¤Òᾧ àÁ×Íè 㪠à¤Ã×Íè §Á×Í·Ò§«Í¿µ áÇà µÇÑ ¹Õ¼é àÙ ¢Õ¹â»Ãá¡ÃÁÍÒ¨äÁ ¨Òí à» ¹µ ͧ ÈÖ¡ÉÒʶһ µÂ¡ÃÃÁáÅЪش¤íÒÊÑ觢ͧäÁâ¤Ã¤Í¹â·ÃÅàÅÍà àºÍà ¹Ñé¹æ Í ҧÅÖ¡«Öé§ ·Ñ駹Õéà¾ÃÒÐ ¤ÍÁä¾àÅÍà ¨Ð·íÒ˹ Ò·Õãè ¹Ê Ç¹¹Õáé ·¹ ´Ñ§¹Ñ¹é àÁ×Íè ¼Ùã ª §Ò¹à»ÅÕÂè ¹àºÍà äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡àç ¾Õ§ áµ ¨´Ñ ËÒ¤ÍÁä¾àÅÍà ·àÕè ËÁÒÐÊÁÁÒ㪠§Ò¹ áÅÐÈÖ¡ÉÒʶһ µÂ¡ÃÃÁ¢Í§äÁâ¤Ã¤Í¹â·ÃÅàÅÍà àºÍà ãËÁ Í¡Õ àÅ硹 Í¡çÊÒÁÒö㪠§Ò¹ä´ áµ ¢Í àÊÕ¢ͧ¡ÒÃ㪠¤ÍÁä¾àÅÍà ¤Í× ÃÒ¤ÒᾧÁÒ¡
µÑÇá»ÅÀÒÉÒ ·Ò§Í͡˹Ö觢ͧ¡ÒÃà¢Õ¹â»Ãá¡ÃÁäÁâ¤Ã¤Í¹â·ÃÅàÅÍà ´ ÇÂÀÒÉÒÊÙ§â´ÂËÅÕ¡àÅÕè§ ¡ÒÃ㪠¤ÍÁä¾àÅÍà ·ÁÕè ÃÕ Ò¤Òᾧ¤×Í ¡ÒÃ㪠µÇÑ á»ÅÀÒÉÒËÃ×ÍÍÔ¹àµÍà ¾ÃÕµàµÍà (interpreter) â´Â µÑÇá»ÅÀÒÉÒ¹Õ·é Òí ˹ Ò·Õáè »ÅÀÒÉҢͧâ»Ãá¡ÃÁ·Õàè ¢Õ¹¢Ö¹é à¾×Íè Ê §µ Íä»Âѧ«Õ¾ÂÕ ãÙ Ë à¢ Òã¨áÅÐÊÒÁÒö ·íÒ§Ò¹ä´ Êдǡ¢Ö¹é ¡Å ÒǤ×Í á·¹·Õàè ÃÒ¨Ðà¢Õ¹â»Ãá¡ÃÁ´ ÇÂÀÒÉÒáÍÊà«ÁºÅÕËÃ×ÍÀÒÉÒà¤Ã×Íè §«Ö§è ÂÒ¡áÅЫѺ« ͹ÁÒ¡ à»ÅÕè¹ÁÒ㪠â»Ãá¡ÃÁÀÒÉÒÍ×è¹·Õè§ ÒÂ¡Ç Òઠ¹ àºÊÔ¡ áÅÐã¹â»Ãá¡ÃÁ¾Ñ²¹Ò
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
l
23
ÀÒÉÒàºÊÔ¡¨Ðµ ͧÁÕµÇÑ á»ÅÀÒÉÒºÃèØÃÇÁÍÂÙ´ Ç Â ·íÒãË ¼ãÙ ª §Ò¹à¾Õ§à¢Õ¹â»Ãá¡ÃÁÀÒÉÒàºÊÔ¡µÒÁ ÃٻẺ·Õ¡è Òí ˹´ ¨Ò¡¹Ñ¹é µÑÇá»ÅÀÒÉҨзíÒ˹ Ò·Õáè »Åà» ¹¢ ÍÁÙÅ·Õ«è ¾Õ ÂÕ àÙ ¢ Ò㨠à¾×Íè ãË à¡Ô´¡Ò÷íÒ§Ò¹ ä´ ´Ñ§¹Ñ¹é µÑÇá»ÅÀÒÉÒ¨Ö§ÁÕ´Ç Â¡Ñ¹ 2 ÅѡɳФ×Í à» ¹«Í¿µ áÇà Í ҧà´ÕÂÇ áÅÐ à» ¹«Í¿µ áÇà áÅÐÎÒà ´áÇà ·íҧҹà ÇÁ¡Ñ¹ ¡Ã³Õà» ¹«Í¿µ áÇà Í ҧà´ÕÂÇ ã¹â»Ãá¡ÃÁ¾Ñ²¹Ò¨ÐºÃèصÇÑ á»ÅÀÒÉÒäÇ ´Ç  ·íÒãË ¢¹Ò´ ¢Í§â»Ãá¡ÃÁãË áÅе ͧàÃÕ¡㪠§Ò¹·Ñ§é ËÁ´ Ê §¼ÅãË ¡Ò÷íÒ§Ò¹ª Ò áÅСÒäǺ¤ØÁÍØ»¡Ã³ ·Ò§ ÎÒà ´áÇà ¨Ð·íÒä´ äÁ §Ò ¹ѡ áµ ¢Í ´Õ¤Í× ÊÒÁÒö·íÒ§Ò¹ä´ â´ÂÅíҾѧ ¡Ã³Õ㪠ÎÒà ´áÇà áÅЫͿµ áÇà ÃÇ Á¡Ñ¹ ÎÒà ´áÇà ·ãÕè ª ¤Í× äÁâ¤Ã¤Í¹â·ÃÅàÅÍà µÇÑ Ë¹Ö§è ·Õºè ÃÃ¨Ø â»Ãá¡ÃÁá»ÅÀÒÉÒŧã¹Ë¹ ǤÇÒÁ¨íÒâ»Ãá¡ÃÁäÇ áÅ Ç ËÒ¡à» ¹µÑÇá»ÅÀÒÉÒàºÊÔ¡¨ÐàÃÕÂ¡Ç Ò àºÊÔ¡ÍÔ¹àµÍà ¾ÃÕµàµÍà ໠¹µ ¹ «Ö§è µ ͧµ Í˹ ǤÇÒÁ¨íÒà¾ÔÁè àµÔÁ ÍҨ㪠¨Ò¡ÀÒÂã¹äÁâ¤Ã¤Í¹â·ÃÅ àÅÍà µÇÑ ¹Ñ¹é àÅ¡çä´ áµ ¨ÐÁÕ¤ÇÒÁ¨Ø¹Í ÂÁÒ¡ «Ö§è äÁ à» ¹·Õ¹è ÂÔ Á ËÃ×Í㪠˹ ǤÇÒÁ¨íÒà¾ÔÁè àµÔÁÀÒ¹͡ «Ö§è ÊÒÁÒö¡íÒ˹´ãË Á¤Õ ÇÒÁ¨Øä´ µÒÁµ ͧ¡Òà â´Â˹ ǤÇÒÁ¨íÒÀÒ¹͡·Õãè ª Á¡Ñ à» ¹Ë¹ ǤÇÒÁ¨íÒ ÍÕÍ¾Õ ÃÍÁ·ÕÊè ÒÁÒöźáÅÐà¢Õ¹ãËÁ ä´ ¹ºÑ áʹ¹ÑºÅ Ò¹¤Ãѧé ÊíÒËÃѺ«Í¿µ áÇà ··Õè Òí §Ò¹Ã ÇÁ´ ÇÂ¹Ñ¹é ¨Ð·íÒ˹ Ò·Õàè » ¹¾×¹é ·Õàè ¢Õ¹â»Ãá¡ÃÁËÃ×Í·Õàè ÃÕÂ¡Ç Ò à·ç¡« àÍ´ÔàµÍà (text editor) «Ö§è ÁÕ¡Ò÷íÒ§Ò¹¤Å Ò ¡Ñº Notepad ËÃ×Í Wordpad ã¹ Windows áÅеÃǨÊͺäÇ¡ó ËÃ×ÍËÅÑ¡ÀÒÉҢͧâ»Ãá¡ÃÁ ¾Ã ÍÁ ¡Ñ¹¹Ñ¹é Âѧ㪠´Òǹ âËÅ´ËÃ×ÍÊ §¢ ÍÁÙŨҡ¤ÍÁ¾ÔÇàµÍà ÁÒÂѧµÑÇÍÔ¹àµÍà ¾ÃÕµàµÍà àÃÕÂ¡ä´ ÇÒ ¾Ã ÍÁ ÊÃþ㹫Ϳµ áÇà µÇÑ à´ÕÂÇ ´ Ç¡ÒÃ㪠ÎÒà ´áÇà à ÇÁ㹡ÒÃá»ÅÀÒÉÒ ·íÒãË ÊÒÁÒö·íÒ§Ò¹ä´ àÃçÇ¢Öé¹ÁÒ¡ ·Ñé§Âѧ㪠»ÃÐ⪹ 㹡ÒäǺ¤ØÁÍØ»¡Ã³ ·Ò§ÎÒà ´áÇÃ ä´ Í ҧÁÕ»ÃÐÊÔ·¸ÔÀÒ¾ÁÒ¡¡Ç Ò Í ҧäáçµÒÁµÑÇá»Å ÀÒÉÒ·Õèà» ¹«Í¿µ áÇà à¾Õ§Í ҧà´ÕÂÇ¡çÊÒÁÒö¨Ð¾Ñ²¹ÒãË ·íÒ§Ò¹ä´ àÃçÇáÅдվÍæ ¡Ñº¡ÒÃ㪠ÎÒà ´áÇà ÃÇ Á´ Ç ᵠÃҤҢͧâ»Ãá¡ÃÁ¡ç¨ÐÊÙ§ÁÒ¡µÒÁ ã¹·Ò§µÃ§¢ ÒÁ µÑÇá»ÅÀÒÉÒ·Õãè ª ÎÒà ´áÇà ´ Ç ¼Ù ¼ÅÔµÁÑ¡¨Ðá¨¡Ê Ç¹·Õèà» ¹«Í¿µ áÇà ¿ÃÕ áµ µ ͧ«×éÍäÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¨Ò¡¼Ù ¼ÅÔµµÑÇá»Å ÀÒÉÒ෠ҹѹé äÁ ÊÒÁÒö㪠äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ·ÁÕè ¢Õ Ò·ÑÇè ä»ä´ ·íÒãË µÍ §ÃѺÀÒÃÐÃҤҢͧµÑǪԻ·Õè ºÃèØâ»Ãá¡ÃÁá»ÅÀÒÉÒ«Ö§è ÊÙ§¡Ç ÒµÑÇäÁâ¤Ã¤Í¹â·ÃÅàÅÍà ·ÂÕè §Ñ äÁ ÁâÕ »Ãá¡ÃÁÁÒ¡¾ÍÊÁ¤Çà ᵠ¼Ù 㪠§Ò¹äÁ µÍ §¨ Ò¤ Òâ»Ãá¡ÃÁá»ÅÀÒÉÒã¹ÃÒ¤Ò·ÕÊè §Ù Áҡ㹤ÃÒÇà´ÕÂÇ » ¨¨Øº¹Ñ ´ ǤÇÒÁµ×¹è µÑÇ´ Ò¹ ÅÔ¢ÊÔ·¸Ô«ì Í¿µ áÇà áÅÐà¾×Íè » ͧ¡Ñ¹¡ÒäѴÅÍ¡â»Ãá¡ÃÁ ¼Ù¾ ² Ñ ¹Ò¨Ö§¾ÂÒÂÒÁ¼ÅÑ¡´Ñ¹¡ÒÃ㪠µÇÑ á»Å ÀÒÉÒ·Õµè Í §»ÃСͺ¡Ñ¹·Ñ§é ÎÒà ´áÇà áÅЫͿµ áÇà ·Ñ§é ¹Õàé ¾×Íè Êà ҧÁÙŤ Òà¾ÔÁè ãË ¡ºÑ µÑÇ«Í¿µ áÇà «§Öè ÁÑ¡¨Ðᨡ¿ÃÕ
24
l
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
àºÊÔ¡ÍÔ¹àµÍà ¾ÃÕµàµÍà 㹡óբͧÀÒÉÒàºÊÔ¡ (BASIC language) à» ¹ÀÒÉÒ·Õ¼è àÙ ¢Õ¹â»Ãá¡ÃÁãË ¤ÇÒÁʹã¨áÅÐ ¹ÔÂÁà¢Õ¹¡Ñ¹ÁÒ¡ à¹×èͧ¨Ò¡ªØ´¤íÒÊÑè§ÊÒÁÒö·íÒ¤ÇÒÁࢠÒã¨ä´ § Ò µÃ§ä»µÃ§ÁÒ â¤Ã§Êà ҧ¢Í§ â»Ãá¡ÃÁ (structure) ÊÒÁÒö·íÒ¤ÇÒÁࢠÒã¨ä´ §Ò  äÁ «ºÑ « ͹ÁÒ¡ ¨Ö§ÁÕ¡ÒþѲ¹ÒµÑÇá»Åâ»Ãá¡ÃÁ ÊíÒËÃѺÀÒÉÒàºÊÔ¡ áŠǺÃèØŧã¹Ë¹ ǤÇÒÁ¨íÒâ»Ãá¡ÃÁ¢Í§µÑÇäÁâ¤Ã¤Í¹â·ÃÅàÅÍÃ ã¹ºÒ§Ê Ç¹ àÃÕÂ¡Ç Ò àºÊÔ¡ÍÔ¹àµÍà ¾ÃÕµàµÍà (BASIC Interpreter) â´ÂàºÊÔ¡ÍÔ¹àµÍà ¾ÃÕµàµÍà ¹¨Õé Ðá»Å§ ¢ ÍÁÙŤíÒÊѧè ÀÒÉÒàºÊÔ¡à» ¹Íͻ⤠´ãË á¡ «¾Õ ÂÕ àÙ ¾×Íè ·íÒ§Ò¹µÒÁ¤íÒÊÑ§è ´ Ç¡Ãкǹ¡ÒùÕé ·íÒãË ¡ÒÃ㪠§Ò¹äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ÊÒÁÒö¡ÃзíÒä´ ÀÒÂãµ â»Ãá¡ÃÁÀÒÉÒàºÊÔ¡ Ê §¼ÅãË ¡ÒÃ㪠§Ò¹§ Ò¢ֹé Í ҧÁÒ¡ áµ ¢Í ´ Í¢ͧÇÔ¸¡Õ Òùդé Í× ¤ÇÒÁàÃçÇ㹡Ò÷íÒ§Ò¹¢Í§äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¨ÐŴŧ ¨Ø´¹Õàé ͧ¤×Í ¨Ø´Í ͹¢Í§¡ÒÃà¢Õ¹â»Ãá¡ÃÁ´ ÇÂÀÒÉÒàºÊÔ¡ ´Ñ§¹Ñ¹é ¼Ù¼ ÅÔµäÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¨Ö§¾ÂÒÂÒÁËÒÇÔ¸¡Õ ÒÃà¾×Íè ãË äÁâ¤Ã¤Í¹â·ÃÅàÅÍà àÁ×Íè ·íÒ§Ò¹´ ÇÂÀÒÉÒàºÊÔ¡áÅ ÇÁÕ¤ÇÒÁàÃçÇÊÙ§ÁÒ¡¢Ö¹é ·Ò§á¡ 䢤×Í àÅ×͡㪠äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ·ÕèÁÕ¤ÇÒÁàÃçÇ㹡Ò÷íÒ§Ò¹ÊÙ§ÁÒ¡æ áÅÐàÅ×͡㪠äÍ«Õ˹ ǤÇÒÁ¨íÒ·Õãè ª à¡çºË¹ ǤÇÒÁ¨íÒâ»Ãá¡ÃÁÁÕ¤Ò àÇÅÒ㹡ÒÃࢠҶ֧¢ ÍÁÙÅ (access time) µèÒí ÁÒ¡ ã¹» ¨¨Øº¹Ñ ÊÒÁÒö¾Ñ²¹ÒäÁâ¤Ã¤Í¹â·ÃÅàÅÍà ãË ãª ä´ ¡ºÑ ÊÑÒ³¢Í§¹ÒÌ ¡Ò¤ÇÒÁ¶ÕÊè §Ù 50 MHz ¢Öé¹ä»ä´ áÅ Ç ·íÒãË ¤ÇÒÁàÃçÇ㹡ÒáÃзíÒ¤íÒÊÑè§ÀÒÉÒàºÊÔ¡ÊÒÁÒö¡ÃзíÒä´ ÊÙ§ÁÒ¡¶Ö§ 10,000 ¤íÒÊÑ§è µ ÍÇÔ¹Ò·Õ¢¹Öé 仼¹Ç¡¡Ñº¢ ʹբͧÀÒÉÒàºÊÔ¡ã¹àÃ×Íè §¢Í§¤ÇÒÁ§ ÒÂáÅЪش¤íÒÊÑ§è ·Õäè Á «ºÑ « ͹·íÒãË ³ Çѹ¹Õáé ÅÐ͹Ҥµ ¡ÒÃà¢Õ¹â»Ãá¡ÃÁà¾×Íè ¤Çº¤ØÁäÁâ¤Ã¤Í¹â·ÃÅàÅÍà ´Ç ÂÀÒÉÒàºÊÔ¡ ¨Ö§ä´ ÃºÑ ¤ÇÒÁ¹ÔÂÁÁÒ¡¢Ö¹é áÅÐÂÑ§Ê §¼ÅãË ¼·Ù ÊÕè ¹ã¨äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ÊÒÁÒö¡ ÒÇࢠÒÁÒ·íÒ¡Òà àÃÕ¹ÃÙµ ÅÍ´¨¹¡ÒûÃÐÂØ¡µ 㪠§Ò¹ä´ §Ò ¢ֹé áÅÐÊдǡ¢Ö¹é ã¹ÃÙ»·Õè 2-2 áÊ´§¡Ãкǹ¡Ò÷íҧҹ͠ҧ§ Ò¢ͧäÁâ¤Ã¤Í¹â·ÃÅàÅÍà ·ÕèÁÕ¡ÒÃ㪠àºÊÔ¡ ÍÔ¹àµÍà ¾ÃÕµàµÍà àÃÔÁè µ ¹´ Ç¡ÒÃà¢Õ¹â»Ãá¡ÃÁÀÒÉÒàºÊÔ¡º¹¤ÍÁ¾ÔÇàµÍà ¨Ò¡¹Ñ¹é ¨ÐÁÕ¡ÒõÃǨ ÊͺäÇ¡ó ËÃ×͵ÃǨÊ꼂 Òà¢Õ¹â»Ãá¡ÃÁ¶Ù¡µ ͧµÒÁËÅÑ¡ÀÒÉÒàºÊÔ¡ËÃ×ÍäÁ â´ÂµÑÇ«Í¿µ áÇà º¹¤ÍÁ¾ÔÇàµÍà «Ö§è äÁ 㪠¡ÒõÃǨÊÍºÇ Ò â»Ãá¡ÃÁ·Õàè ¢Õ¹·íÒ§Ò¹¶Ù¡µ ͧËÃ×ÍäÁè à¾ÃÒÐà» ¹ä» ä´ ºÍ ¤ÃÑ§é ·Õàè ¢Õ¹â»Ãá¡ÃÁ¶Ù¡ËÅÑ¡äÇ¡ó µÒÁ¢ Í¡íÒ˹´·Ø¡»ÃСÒà ᵠäÁâ¤Ã¤Í¹â·ÃÅàÅÍà ·Òí §Ò¹äÁ µÃ§¡Ñº·ÕèµÑé§ã¨äÇ ¨Ò¡¹Ñ¹é Ê §¢ ÍÁÙÅÍÍ¡·Ò§¾Íà µÍ¹Ø¡ÃÁÁÒÂѧäÁâ¤Ã¤Í¹â·ÃÅàÅÍà «Ö§è ¨ÐÁÕÊÇ ¹¨Ñ´¡Òâ ÍÁÙÅ ·íÒ˹ Ò·ÕÃè ºÑ ¢ ÍÁÙÅáÅеÃǨÊͺ¡ÒÃàª×Íè Áµ ͡Ѻ¾Íà µÍ¹Ø¡ÃÁ (µÒÁÅÙ¡Èà 1) ¨Ò¡¹Ñ¹é ¢ ÍÁÙŨж١ ¶ Ò·ʹµ ÍÁÒÂѧ«Õ¾ÂÕ Ù «Ö§è ¨Ð¨Ñ´¡ÒÃá»Å¢ ÍÁÙÅâ»Ãá¡ÃÁ¹Ñ¹é â´ÂµÔ´µ ͡Ѻ˹ ǤÇÒÁ¨íÒâ»Ãá¡ÃÁ á»ÅÀÒÉÒàºÊÔ¡ áÅ Çà¢Õ¹ŧä»ã¹Ë¹ ǤÇÒÁ¨íÒ·Õãè ª à¡çºâ»Ãá¡ÃÁÀÒÉÒàºÊÔ¡¢Í§¼Ùã ª §Ò¹¼ Ò¹·Ò§ ¾Íà µ¢Í§äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ËÅÑ¡ (µÒÁÅÙ¡Èà 2)
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
l
25
˹ ǤÇÒÁ¨íÒà¡çºâ»Ãá¡ÃÁÀÒÉÒàºÊÔ¡¢Í§¼Ùã ª §Ò¹ «Õ¾ÂÕ Ù
˹ ǤÇÒÁ¨íÒ â»Ãá¡ÃÁ ·ÕèºÃèØâ»Ãá¡ÃÁ á»ÅÀÒÉÒàºÊÔ¡
ǧ¨ÃÊÑÒ³ ¹ÒÌÔ¡Ò
!
˹ ǤÇÒÁ¨íÒ ¢ ÍÁÙÅáÃÁ
¾Íà µ
Ê Ç¹¨Ñ´¡Òâ ÍÁÙÅàº×Íé §µ ¹
¨Ò¡¾Íà µÍ¹Ø¡ÃÁ ¢Í§¤ÍÁ¾ÔÇàµÍÃ
¾Íà µÍÔ¹¾ØµàÍÒµ ¾µØ ÊíÒËÃѺµ ͡Ѻ ÍØ»¡Ã³ ÀÒ¹͡
˹ ǤÇÒÁ¨íÒ ¢ ÍÁÙÅÍÕ; Õ ÃÍÁ
ÃÙ»·Õè 2-2 ¼Ñ§¡Ò÷íÒ§Ò¹¢Í§àºÊÔ¡ÍÔ¹àµÍà ¾ÃÕµàµÍà : äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ·ºÕè ÃèصÇÑ á»Åâ»Ãá¡ÃÁ ÀÒÉÒàºÊÔ¡ àÁ×Íè µ ͧ¡ÒÃÃѹâ»Ãá¡ÃÁ «Õ¾ÂÕ ¨Ù Ðä»Í Ò¹¢ ÍÁÙÅÍÍ¡¨Ò¡Ë¹ ǤÇÒÁ¨íÒà¡çºâ»Ãá¡ÃÁ¢Í§¼Ùã ª §Ò¹ÁÒ»ÃÐÁÇżŠ(µÒÁÅÙ¡Èà 3) ´Ñ§¹Ñ¹é ¨ÐàËç¹Ç Ò ã¹àºÊÔ¡ÍÔ¹àµÍà ¾ÃÕµàµÍà ¨ÐÁÕ¢¹Ñé µÍ¹¡Ò÷íÒ §Ò¹·Õàè ¾ÔÁè ¨Ò¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ·ÇÑè ä» µÃ§·ÕÁè ¢Õ ¹Ñé µÍ¹ã¹¡ÒÃÍ Ò¹-à¢Õ¹˹ ǤÇÒÁ¨íÒÀÒ¹͡·Õè 㪠à¡çºâ»Ãá¡ÃÁ¢Í§¼Ùã ª §Ò¹ áÅШíҹǹÃͺ¢Í§¡ÒÃâ»Ãá¡ÃÁ¢ ÍÁÙÅŧã¹äÁâ¤Ã¤Í¹â·ÃÅàÅÍà Ẻ ¹Õé ¨Ö§¢Ö¹é ÍÂÙ¡ ºÑ ¤ÇÒÁÊÒÁÒö㹡ÒÃâ»Ãá¡ÃÁ«éÒí ¢Í§Ë¹ ǤÇÒÁ¨íÒà¡çºâ»Ãá¡ÃÁ¢Í§¼Ùã ª §Ò¹·Õµè Í ÍÂÙ ÀÒ¹͡áÅÐàÁ×èͤú¡çÊÒÁÒöà»ÅÕè¹ä´
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
l
27
º··Õè 3
á¹Ð¹íÒàºÊÔ¡áʵÁ» 2SX áÅЪشàÃÕ¹ÃÙ ¡Ò÷íÒ§Ò¹ à¾×Íè ãË ¡ÒÃàÃÔÁè µ ¹àÃÕ¹ÃÙä Áâ¤Ã¤Í¹â·ÃÅàÅÍà ÊÒí ËÃѺ¼ÙÊ ¹ã¨ã¹Ç§¡Ç Ò§ ·Ñ§é ·Õàè » ¹¹Ñ¡àÃÕ¹㹠ÃдѺÁѸÂÁÈÖ¡Éҵ͹»ÅÒ ¹ÔÊµÔ ¹Ñ¡ÈÖ¡ÉÒ·ÕÈè ¡Ö ÉÒã¹ÊÒ¢ÒÍÔàÅç¡·ÃÍ¹Ô¡Ê â´ÂµÃ§ ËÃ×Íã¹ÊÒ¢ÒÇÔ·ÂÒ ÊÒʵà áÅÐà·¤â¹âÅÂÕ·ÕèäÁ ä´ ÁÕ¾×é¹°Ò¹â´ÂµÃ§·Ò§ÍÔàÅç¡·ÃÍ¹Ô¡Ê ÃÇÁ件֧ºØ¤¤Å·ÑèÇä»·ÕèãË ¤ÇÒÁ ʹã¨ã¹¡ÒÃÈÖ¡ÉÒáÅÐàÃÕ¹ÃÙ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ÊÒÁÒö·íÒä´ § ÒÂÀÒÂãµ §º»ÃÐÁÒ³·ÕèäÁ ÊÙ§ áµ ãË ¼Å·Õ¤è ÁØ ¤ Òã¹ÃÐÂÐàÇÅÒÍѹÊÑ¹é ¨Ö§àÅ×͡㪠á¹Ç·Ò§¢Í§¡ÒÃ㪠äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ·ºÕè ÃèصÇÑ á»ÅÀÒÉÒàºÊÔ¡ à¹×Íè §¨Ò¡ãª §º»ÃÐÁÒ³·Ò§ÎÒà ´áÇà äÁ Ê§Ù Ê Ç¹«Í¿µ áÇà ËÃ×Íâ»Ãá¡ÃÁ·Õµè Í §·íÒ §Ò¹Ã ÇÁ¡Ñ¹¹Ñ¹é ÁÕ¡ÒÃᨡ¿ÃÕ áÅÐäÁâ¤Ã¤Í¹â·ÃÅàÅÍà ·¢Õè Íá¹Ð¹íÒ¤×Í àºÊÔ¡áʵÁ» 2SX (BASIC Stamp2SX)
á¹Ð¹íÒäÁâ¤Ã¤Í¹â·ÃÅàÅÍà àºÊÔ¡áʵÁ» 2SX ª×Íè ¢Í§àºÊÔ¡áʵÁ» (BASIC Stamp) àÃÔÁè à» ¹·ÕÃè ¨Ù ¡Ñ ¡Ñ¹Í ҧ¡Ç Ò§¢ÇÒ§ÁÒ¡¢Ö¹é ã¹»ÃÐà·È ä·Â㹪 ǧ» 1999 Íѹ໠¹ÁÒ¨Ò¡¡ÒüÅÑ¡´Ñ¹áÅйíÒàʹÍÍ ҧµ Íà¹×Íè §¢Í§ Parallax Inc. ¼Ù¼ ÅÔµ ªÔ»âÁ´ÙÅäÁâ¤Ã¤Í¹â·ÃÅàÅÍà µÇÑ à¡ §¹Õ¨é Ò¡ÊËÃÑ°ÍàÁÃÔ¡ÒáÅкÃÔÉ·Ñ ÍÔ¹â¹àǵտ àÍç¡à¾ÍÃÔàÁ¹µ ¨íÒ¡Ñ´ ã¹»ÃÐà·Èä·Â ·Ñ駹Õé´ Ç¢ Íà´ ¹·ÕèÇ Ò ¼Ù 㪠§Ò¹äÁ ¨íÒà» ¹µ ͧÁÕ¤ÇÒÁÃÙ à¡ÕèÂǡѺÀÒÉÒáÍÊà«ÁºÅբͧ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà àºÍà ã´æ à¾Õ§ÊÒÁÒöà¢Õ¹â»Ãá¡ÃÁ´ ÇÂÀÒÉÒàºÊÔ¡ Íѹ໠¹ÀÒÉÒ·ÕÁè ¤Õ ÇÒÁ «Ñº« ͹¹ Í·ÕÊè ´Ø ¡çÊÒÁÒöà¢Õ¹â»Ãá¡ÃÁà¾×Íè ¤Çº¤ØÁáÅÐ㪠§Ò¹äÁâ¤Ã¤Í¹â·ÃÅàÅÍÃ ä´ ·Ñ§é ÂѧäÁ µ ͧ㪠à¤Ã×Íè §Á×Í㹡ÒþѲ¹Ò·ÕÁè ¤Õ ÇÒÁ«Ñº« ͹ ¡Å ÒǤ×Í à¾Õ§µ ÍÊÒ¨ҡ¾Íà µ¢Í§¤ÍÁ¾ÔÇàµÍà ʧ ¢ ÍÁÙż Ò¹â»Ãá¡ÃÁÊ×Íè ÊÒÃŧÊÙË ¹ ǤÇÒÁ¨íÒ à¾Õ§෠ҹաé ãç ª §Ò¹äÁâ¤Ã¤Í¹â·ÃÅàÅÍÃ ä´ áÅ Ç àºÊÔ¡áʵÁ» (BASIC Stamp) ¤×Íἧǧ¨ÃäÁâ¤Ã¤Í¹â·ÃÅàÅÍà ÊÒí àÃç¨ÃÙ»·Õºè ÃèصÇÑ á»Å§ ÀÒÉÒàºÊÔ¡ËÃ×ÍàºÊÔ¡ÍÔ¹àµÍà ¾ÃÕµàµÍà (BASIC Interpreter) ÃÇÁäÇ ´Ç ¡ѹ ÊÒÁÒö㪠¡ÒÃà¢Õ¹ â»Ãá¡ÃÁ´ ÇÂÀÒÉÒàºÊÔ¡¤Çº¤ØÁ¡Ò÷íÒ§Ò¹ä´ ã¹¡ÒþѲ¹ÒÃкº´ ÇÂàºÊÔ¡áʵÁ» äÁ ¨Òí à» ¹µ ͧ 㪠à¤Ã×Íè §â»Ãá¡ÃÁ (programmer) ËÃ×Íà¤Ã×Íè §àÅÕ¹Ẻ (emulator) áµ Í ҧ㴠à¾Õ§µ ÍÊÒ¨ҡ
28
l
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
¤ÍÁ¾ÔÇàµÍà ࢠҡѺàºÊÔ¡áʵÁ» à· Ò¹Ñé¹ ¡çÊÒÁÒö¾Ñ²¹Òâ»Ãá¡ÃÁä´ áÅ Ç áÅÐà˵ؼŷÕèÁÕ¤íÒÇ Ò áʵÁ» µ Í· Ò¡çà¾×è͵ ͧ¡ÒÃãË ·ÃÒºÇ Ò á¼§Ç§¨ÃäÁâ¤Ã¤Í¹â·ÃÅàÅÍà µÑǹÕéÁÕ¢¹Ò´àÅç¡à· ҡѺ áʵÁ» ËÃ×͵ÃÒä»ÃɳÕÂҡùѹè àͧ ¡ÒþѲ¹Òâ»Ãá¡ÃÁ¢Í§àºÊÔ¡áʵÁ» ¨Ð㪠ª´Ø ¤íÒÊѧè ÀÒÉÒàºÊÔ¡·Õàè ÃÕÂ¡Ç Ò ¾ÕàºÊÔ¡ (PBASIC) «Ö§è ÁÕ´Ç Â¡Ñ¹ 36-39 ¤íÒÊÑ§è ·íÒãË ¡ÒÃàÃÕ¹ÃÙ§ Ò ÂáÅÐÃÇ´àÃçÇ áµ ÅФíÒÊѧè ÊÒÁÒö¹íÒä»ãª ä´ ·¹Ñ ·Õ äÁ µ ͧà¢Õ¹â»Ãá¡ÃÁ ÍÂÁÒ¡ÁÒ 㹢³Ð·Õ¤è ÇÒÁàÃçÇ㹡ÒáÃзíÒ¤íÒÊÑ§è ¢Í§àºÊÔ¡áʵÁ» â´Â੾ÒÐ àºÊÔ¡áʵÁ» 2SX ÊÙ§¶Ö§ 10,000 ¤íÒÊѧè ÀÒÉÒàºÊÔ¡µ ÍÇÔ¹Ò·Õ
i-Stamp ºÍà ´äÁâ¤Ã¤Í¹â·ÃÅàÅÍà àºÊÔ¡áʵÁ» 2SX à¹×Íè §¨Ò¡àºÊÔ¡áʵÁ» 2SX «Ö§è ¾Ñ²¹Ò¢Ö¹é â´Â Parallax ¨Ò¡ÊËÃÑ°ÍàÁÃÔ¡Ò áÁ ÇÒ ¨ÐÁÕ¢´Õ ¤ÇÒÁ ÊÒÁÒö㹡Ò÷íÒ§Ò¹ÊÙ§ § Òµ Í¡ÒÃ㪠§Ò¹ ËÃ×Í¡ÃÐ·Ñ§è «Í¿µ áÇà ÊÒí ËÃѺ¡ÒþѲ¹Ò¡çᨡ¿ÃÕ áµ ·Ç ÒÃÒ¤Òµ ÍâÁ´ÙÅÊÙ§¤×Í 59 àËÃÕÂÊËÃÑ° ËÒ¡¤Ô´à» ¹à§Ô¹ä·Â¨ÐÃÒ¤Ò»ÃÐÁÒ³ 2,400-2,800 ºÒ· (·ÕèÍѵÃÒáÅ¡à»ÅÕè¹»ÃÐÁÒ³ 40-45 ºÒ·µ ÍàËÃÕÂÊËÃÑ°) Ê §¼ÅâÍ¡ÒÊ㹡ÒÃàÃÕ¹ÃÙ äÁâ¤Ã ¤Í¹â·ÃÅàÅÍà Í ҧ§ Ò´ ÇÂàºÊÔ¡áʵÁ» 2SX ÊíÒËÃѺ¤¹ä·Â´Ù¨Ðà» ¹ÀÒÃÐäÁ 㪠¹Í  ´Ñ§¹Ñ¹é ¨Ö§ä´ ÁÕ¤ÇÒÁ¾ÂÒÂÒÁ㹡ÒþѲ¹Òἧǧ¨ÃàºÊÔ¡áʵÁ» 2SX ¢Ö¹é ã¹»ÃÐà·Èä·Â ÀÒÂãµ ¤ÇÒÁà ÇÁÁ×Í ¡Ñº·Ò§ Parallax ¡ÑººÃÔÉ·Ñ ÍÔ¹â¹àǵտ àÍç¡à¾ÍÃÔàÁ¹µ ¨íÒ¡Ñ´ ¨¹ã¹·ÕÊè ´Ø i-Stamp ¡ç¶Í× ¡íÒà¹Ô´¢Ö¹é ÁÒ i-Stamp ¤×ÍàºÊÔ¡áʵÁ» 2SX ÊѪҵÔä·Â ÊÒÁÒö·íÒ§Ò¹ä´ àËÁ×͹¡ÑºâÁ´ÙÅàºÊÔ¡áʵÁ» 2SX (BS2SX-IC) ᵡµ Ò§¡Ñ¹à¾Õ§µ ͧ¨ ÒÂä¿àÅÕÂé § +5V ࢠҷբè Ò 21 ෠ҹѹé ã¹ÃÙ»·Õè 3-1 áÊ´§ ÃÒÂÅÐàÍÕ´¢Í§Ë¹ Ò·Õáè ÅСÒèѴ¢Òàª×Íè Áµ ͧ͢ i-Stamp ã¹¢³Ð·Õµè ÒÃÒ§·Õè 3-1 à» ¹µÒÃÒ§ÊÃØ»ªØ´ ¤íÒÊÑ§è ¢Í§àºÊÔ¡áʵÁ» 2SX ÊíÒËÃѺÃÒÂÅÐàÍÕ´¢Í§¤íÒÊÑ§è ·Ñ§é ËÁ´¢Í§ i-Stamp ËÃ×ÍàºÊÔ¡áʵÁ» 2SX ÊÒÁÒÃ¶Í Ò¹ä´ ¨Ò¡Ë¹Ñ§Ê×Í ¤Ø³ÊÁºÑµ·Ô Ò§ÎÒà ´áÇà áÅЪش¤íÒÊÑ§è ¢Í§àºÊÔ¡áʵÁ» 2SX «Ö§è ¨Ñ´¾ÔÁ¾ â´ÂºÃÔÉ·Ñ ÍÔ¹â¹àǵտ àÍç¡à¾ÍÃÔàÁ¹µ ¨íÒ¡Ñ´ ËÃ×Í´Òǹ âËŴ˹ѧÊ×Í BASIC Stamp Manual V2.0 (à» ¹ÀÒÉÒÍѧ¡ÄÉ) ¨Ò¡àǺ䫵 ¢Í§ Parallax ·Õè www.parallax.com «Ö§è ·Õàè Ǻ¢Í§ Parallax ÂÑ§ä´ ºÃÃ¨Ø¢Í ÁÙÅ·Õàè ¡ÕÂè Ç¢ ͧ¡ÑºàºÊÔ¡áʵÁ» äÇ Í ҧÁÒ¡ÁÒ ·Ñ§é µÑÇÍ ҧ¡ÒÃ㪠§Ò¹ ˹ѧÊ×Í ÊíÒËÃѺÈÖ¡ÉÒ¡ÒùíÒàºÊÔ¡áʵÁ» ä»ãª 㹧ҹ¤Çº¤ØÁµ Ò§æ ÃÇÁ·Ñ§é «Í¿µ áÇà ·ãÕè ª 㹡ÒþѲ¹Ò·Õè ãË ´Òǹ âËÅ´ä´ ¿ÃÕ ¨ÐàËç¹ä´ ÇÒ ËÒ¡µ ͧ¡ÒÃ㪠§Ò¹ i-Stamp ¨Ðµ ͧÁÕἧǧ¨Ã·ÕÁè ÊÕ Ç ¹àª×Íè Áµ ;Íà µÍ¹Ø¡ÃÁ¢Í§ ¤ÍÁ¾ÔÇàµÍà ÁÒÃͧÃѺ´ Ç «Ö§è 㹡ÒÃàÃÕ¹ÃÙá ÅÐ㪠§Ò¹äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ´Ç ÂàºÊÔ¡áʵÁ» 2SX ·Õ¡è Å ÒǶ֧·Ñ§é ËÁ´ã¹Ë¹Ñ§Ê×ÍàÅ Á¹Õ¨é Ð㪠ἧǧ¨Ã·´Åͧ·Õªè Í×è AX-2SX : BASIC Stamp2SX Activity board «Ö§è ¾Ñ²¹Ò¢Ö¹é â´ÂºÃÔÉ·Ñ ÍÔ¹â¹àǵտ àÍç¡à¾ÍÃÔàÁ¹µ ¨íÒ¡Ñ´ ઠ¹¡Ñ¹
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
¡ÒèѴ¢Ò¢Í§ i-Stamp TX RX ATN GND P0 P1 P2 P3 P4 P5 P6 P7
24 23 22 21 20 19 18 17 16 15 14 13
1 2 3 4 5 6 7 8 9 10 11 12
GND RES +5V P15 P14 P13 P12 P11 P10 P9 P8
¢Ò·Õè 1
ª×Íè ¢Ò Tx ËÃ×Í SOUT
2
Rx ËÃ×Í SIN
3
ATN
4
VSS/GND
¢Ò¡ÃÒÇ´ àª×Íè Áµ ͡Ѻ¢Ò GND (¢Ò 5) ¢Í§¾Íà µÍ¹Ø¡ÃÁ¢Í§¤ÍÁ¾ÔÇàµÍà ¼ Ò¹¤Í¹à¹ç¡àµÍà DB-9
5-20
P0-P15
¢Ò¾Íà µÍÔ¹¾ØµàÍÒµ ¾µØ 16 ¢Ò
21
+5V
¢Òä¿àÅÕÂé § +5V ¨Ò¡ÀÒ¹͡
22 23
RES Vss/GND
24
N/A
i-Stamp
˹ ҵҢͧ i-Stamp ¢¹Ò´ 1.7x1.2 ¹ÔÇé
l
29
˹ Ò·Õè Ê §¢ ÍÁÙÅÍ͡Ẻ͹ءÃÁ àª×Íè Áµ ͡Ѻ¢Ò RxD (¢Ò 2) ¢Í§¾Íà µÍ¹Ø¡ÃÁ¢Í§¤ÍÁ¾ÔÇàµÍà ¼ Ò¹¤Í¹à¹ç¡àµÍà DB-9 ÃѺ¢ ÍÁÙÅࢠÒẺ͹ءÃÁ àª×Íè Áµ ͡Ѻ¢Ò TxD (¢Ò 3) ¢Í§¾Íà µÍ¹Ø¡ÃÁ¢Í§¤ÍÁ¾ÔÇàµÍà ¼ Ò¹¤Í¹à¹ç¡àµÍà DB-9 ¢ÒÃÕ૵ÅͨԡÊÙ§ àª×Íè Áµ ͡Ѻ¢Ò DTR (¢Ò 4) ¢Í§¾Íà µÍ¹Ø¡ÃÁ¢Í§ ¤ÍÁ¾ÔÇàµÍà ¼Ò ¹¤Í¹à¹ç¡àµÍà DB-9
¢ÒÃÕ૵ÅͨԡµíÒè ÊíÒËÃѺÃÕ૵ i-Stamp ¢Ò¡ÃÒÇ´ ¢Í§ i-Stamp ¢Ò¹Õäé Á Á¡Õ ÒÃ㪠§Ò¹
ÃÙ»·Õè 3-1 áÊ´§¡ÒèѴ¢ÒáÅСÒ÷íÒ§Ò¹ã¹áµ ÅТҢͧ i-Stamp ¤Ø³ÊÁºÑµ¢Ô ͧ i-Stamp l 㪠àºÊÔ¡áʵÁ» 2SX ÍÔ¹àµÍà ¾ÃÕµàµÍà ÅÔ¢ÊÔ·¸Ô¶ì ¡Ù µ ͧ¨Ò¡ Paralalx Inc., USA. l ¤ÇÒÁ¶ÕÊè Ñ Ò³¹ÒÌ ¡Ò 50MHz ¤ÇÒÁàÃçÇ㹡ÒûÃÐÁÇżŠ10,000 ¤íÒÊѧè ÀÒÉÒ¾ÕàºÊÔ¡µ ÍÇÔ¹Ò·Õ l ¢¹Ò´Ë¹ ǤÇÒÁ¨íÒ 16 ¡ÔâÅ亵 Ạ§à» ¹ 8 Ê Ç¹ Ê Ç¹ÅÐ 2 ¡ÔâÅ亵 à¡çºä´ 8 â»Ãá¡ÃÁ àÃÕ¡ãË ·Òí §Ò¹µ Íà¹×Íè §¡Ñ¹ä´
¢ ÍÁÙÅã¹Ë¹ ǤÇÒÁ¨íÒäÁ Ê Ù ËÒ áÁ äÁ ¨Ò Âä¿àÅÕÂé § à¡çº¢ ÍÁÙÅä´ ¹Ò¹ 10 » à¢ÕÂ¹Åºä´ 100,000 Ãͺ l ˹ ǤÇÒÁ¨íÒáÃÁ»¡µÔ 32 亵 l ˹ ǤÇÒÁ¨íÒáÃÁÊá¤Ãµª á¾´ (scratch pad RAM) 64 亵 Ạ§à» ¹ 2 Ê Ç¹ 1 亵 ÊÒí ËÃѺà¡çº¤ ÒµíÒá˹ §¢Í§ â»Ãá¡ÃÁ áÅÐÍÕ¡ 63 亵 ÊÒí ËÃѺà¡çº¢ ÍÁÙÅ·ÑÇè ä» l 㪠ä¿àÅÕÂé § +5V µ ͧ¡ÒáÃÐáÊ 65mA ã¹¢³Ð·íÒ§Ò¹ áÅÐ 200µA ã¹âËÁ´ÊÅÕ» l àª×Íè Áµ ͡Ѻ¤ÍÁ¾ÔÇàµÍà ¼Ò ¹¾Íà µÍ¹Ø¡ÃÁ RS-232 ÊíÒËÃѺ´Òǹ âËÅ´â»Ãá¡ÃÁ áÅÐÊ×Íè ÊÒâ ÍÁÙÅ l ¨íҹǹ¾Íà µÍÔ¹¾ØµàÍÒµ ¾µØ 16 ª ͧ ·íÒ§Ò¹ÍÔÊÃШҡ¡Ñ¹ ËÃ×ͨѴ໠¹¡ÅØÁ ä´ µ§Ñé áµ 4, 8 áÅÐ 16 ¢Ò l ¤ÇÒÁÊÒÁÒö㹨 Ò¡ÃÐáÊ«Íà Ê/«Ô§¡ µÍ ¢Ò 30mA/30mA ÊÒÁÒö¢Ñº LED áÅÐà«Íà âÇÁÍàµÍà ¢¹Ò´àÅç¡ä´ â´ÂµÃ§ l ¤ÇÒÁÊÒÁÒö㹨 Ò¡ÃÐáÊ«Íà Ê/«Ô§¡ ʧ٠ÊØ´µ Í¡ÅØÁ 8 ¢Ò (P0-7 áÅÐ P8-15) 60mA/60mA l ÁÕä¿áÊ´§ÊÀÒÇСÒ÷íÒ§Ò¹ l ¢¹Ò´¢Í§ºÍà ´ 1.7x1.2 ¹ÔÇé
30
l
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
¡ÅØÁ ¤íÒÊÑ§è ¨Ñ´¡Òâ ÍÁÙÅ ª×Íè ¤íÒÊѧè ÃÒÂÅÐàÍÕ´ CON 㪠¡íÒ˹´¤ Ò¤§·ÕèãË á¡ µÑÇá»Ã DATA DEBUG GET PUT RANDOM READ VAR WRITE
à¡çº¢ ÍÁÙÅŧã¹Ë¹ ǤÇÒÁ¨íÒÍÕÍÕ¾ÃÍÁ¡ ͹¡ÒôÒǹ âËÅ´ â»Ãá¡ÃÁ¾ÕàºÊԡŧã¹àºÊÔ¡áʵÁ» 2SX áÅÐ i-Stamp áÊ´§¤ ҢͧµÑÇá»Ã¼ Ò¹·Ò§¤ÍÁ¾ÔÇàµÍÃ Í Ò¹¢ ÍÁÙŨҡ˹ ǤÇÒÁ¨íÒÊá¤Ãµª á¾´ã¹àºÊÔ¡áʵÁ» 2SX à¡çº¢ ÍÁÙÅŧã¹Ë¹ ǤÇÒÁ¨íÒÊá¤Ãµª á¾´ã¹àºÊÔ¡áʵÁ» 2SX ÊØ Á¢ ÍÁÙŵÑÇàÅ¢ Í Ò¹¢ ÍÁÙÅÃдѺ亵 ¨Ò¡Ë¹ ǤÇÒÁ¨íÒÍÕÍÕ¾ÃÍÁ ÁÒà¡çºäÇ ã¹µÑÇá»Ã 㪠¡íÒ˹´µÑÇá»Ã à¢Õ¹¢ ÍÁÙÅÃдѺ亵 ä»à¡çºäÇ ã¹Ë¹ ǤÇÒÁ¨íÒÍÕÍÕ¾ÃÍÁ
¡ÅØÁ ¤íÒÊÑ§è ¤Çº¤ØÁÅíҴѺ¡Ò÷íÒ§Ò¹ (flow control command) ª×Íè ¤íÒÊѧè ÃÒÂÅÐàÍÕ´ BRANCH ¡ÃÐâ´´ä»ÂѧµíÒá˹ §·Õè¡íÒ˹´µÒÁ¤ ÒµÑÇá»Ã END FOR...NEXT GOTO GOSUB IF...THEN NAP PAUSE RETURN RUN SLEEP STOP
·íÒ§Ò¹ã¹âËÁ´ÊÅÕ»¨¹¡Ç Ò¨ÐÁÕ¡ÒÃÃÕ૵àºÊÔ¡áʵÁ» 2SX Ê §¼ÅãË ¡ÒÃ㪠¾Åѧ§Ò¹Å´Å§àËÅ×Í 50 äÁâ¤ÃáÍÁ» ( µ A) ¡íÒ˹´¨¹Ç¹Ãͺ·Õèµ Í§¡ÒÃǹÅÙ»ËÃ×Í·íÒ§Ò¹«íéÒ ¡ÃÐâ´´ä»ÂѧáÍ´à´ÃÊã´æ
¡ÅØÁ ¤íÒÊÑ§è ¨Ñ´¡ÒÃÊÑÒ³ÍйÒÅÍ¡ ª×Íè ¤íÒÊѧè ÃÒÂÅÐàÍÕ´ DTMFOUT ¡íÒà¹Ô´ÊÑÒ³ DTMF ËÃ×ÍÊÑÒ³»Ø Áâ·ÃÈѾ· FREQOUT ¡íÒà¹Ô´ÊÑҳ䫹 1 ËÃ×Í 2 ¤ÇÒÁ¶Õè µÑé§áµ 0-82.917kHz PWM RCTIME
¡ÅØÁ ¤íÒÊÑ§è ¨Ñ´¡Òâ ÍÁÙÅ͹ءÃÁ ª×Íè ¤íÒÊѧè ÃÒÂÅÐàÍÕ´ SERIN ÃѺ¢ ÍÁÙÅ͹ءÃÁà¢ Ò ÁÕÃٻẺ¢ ÍÁÙÅẺ N-8-1 ËÃ×Í E-7-1 SEROUT Ê §¢ ÍÁÙÅ͹ءÃÁÍÍ¡ã¹ÃٻẺ N-8-1 ËÃ×Í E-7-1 ·Ò§¢Ò S OUT SHIFTIN àÅ×è͹¢ ÍÁÙÅࢠÒẺ͹ءÃÁ SHIFTOUT àÅ×è͹¢ ÍÁÙÅÍ͡Ẻ͹ءÃÁ ¡ÅØÁ ¤íÒÊÑ§è µÒÃÒ§¢ ÍÁÙÅ ª×Íè ¤íÒÊѧè ÃÒÂÅÐàÍÕ´ LOOKDOWN ¤ ¹ËÒµÑÇàÅ¢·ÕèàËÁ×͹¡Ñ¹ áÅ Çà¡çº¤ ÒäÇ ã¹µÑÇá»Ã LOOKUP à» ´µÒÃÒ§¢ ÍÁÙÅ ¡ÅØÁ ¤íÒÊÑ§è »ÃÐÁÇżŷҧ¤³ÔµÈÒʵà ª×Íè ¤íÒÊѧè ÃÒÂÅÐàÍÕ´ + ¤íÒÊÑ觡Òúǡ ¤íÒÊÑ觡ÒÃź
¡ÃÐâ´´ä»Âѧâ»Ãá¡ÃÁ Í à»ÃÕºà·Õºà§×è͹䢡 ͹¡ÒáÃÐâ´´ ËÂØ´·íҧҹ㹪 ǧàÇÅÒÊÑé¹æ ·íÒãË ¡ÒÃ㪠¾Åѧ§Ò¹Å´Å§
* ** /
˹ ǧàÇÅÒ 0-65,536 ÇÔ¹Ò·Õ ¡ÃÐâ´´ÍÍ¡¨Ò¡â»Ãá¡ÃÁ Í Ãѹâ»Ãá¡ÃÁ·Õèµ Í§¡Òà àÅ×Í¡ä´ 8 â»Ãá¡ÃÁ ·íÒ§Ò¹ã¹âËÁ´»ÃÐËÂÑ´¾Åѧ§Ò¹ ËÂØ´¡Ò÷íÒ§Ò¹
HIGH INPUT LOW OUTPUT PULSIN PULSOUT REVERSE TOGGLE XOUT
¤íÒÊÑ觡Òäٳ â´ÂÊ §¤ Ò¼ÅÅѾ¸ àÇÔà ´´ Ò¹µíèÒ (16 ºÔµÅ Ò§) ¡ÅѺÁÒ ¤íÒÊÑ觡Òäٳ â´ÂÊ §¤ Ò¼ÅÅѾ¸ àÇÔà ´´ Ò¹ÊÙ§ (16 ºÔµº¹) ¡ÅѺÁÒ ¤íÒÊÑ觡ÒÃËÒà â´ÂÊ §¤ Ò¼ÅËÒèíҹǹàµçÁ·Õèä´ ¡ÅѺÁÒ
DIG
¤íÒÊÑ觡ÒÃËÒà â´ÂÊ §¤ ÒàÈÉ·ÕèàËÅ×ͨҡ¡ÒÃËÒáÅѺÁÒ ¤íÒÊÑ觤ٳàÅ¢·È¹ÔÂÁ àÅ×è͹¢ ÍÁÙÅä»·Ò§¢ÇÒ 1 ºÔµ ÁÕ¤ Ò෠ҡѺËÒô Ç 2 àÅ×è͹¢ ÍÁÙÅä»·Ò§« Ò 1 ºÔµ ÁÕ¤ Ò෠ҡѺ¤Ù³´ Ç 2 »ÃÐÁÇżÅ੾ÒТ ÍÁÙŵÑÇàŢẺäÁ ¤Ô´à¤Ã×èͧËÁÒ ¤íҹdz¤ Òâ¤ä«¹ (COSINE) ·Ò§µÃÕ⡳ÁÔµÔ àÃÕ¡¤ Ңͧ¢ ÍÁÙŨҡËÅÑ¡·Õè¡íÒ˹´ ã¹ÃÙ»¢Í§àÅ¢°Ò¹ÊÔº
MAX
à¡çº¤ ÒµÑÇá»Ã·ÕèÁÕ¤ Ò¹ ÍÂ¡Ç ÒËÃ×Í෠ҡѺ¢ ÍÁÙÅ·Õè¡íÒ˹´ËÅѧ¤íÒÊÑ觹Õé
¹Ñº¨íҹǹä«à¡ÔÅËÃ×ÍÃͺ¢Í§ÊÑÒ³ÍÔ¹¾Øµ ã¹Â Ò¹¤ÇÒÁ¶Õè 0-312.5kHz
MIN
à¡çº¤ ÒµÑÇá»Ã·ÕèÁÕ¤ ÒÁÒ¡¡Ç ÒËÃ×Í෠ҡѺ¢ ÍÁÙÅ·Õè¡íÒ˹´ËÅѧ¤íÒÊÑ觹Õé
SIN
·íÒãË ¢ÒàÍÒµ ¾Øµà» ¹ÅͨԡÊÙ§ËÃ×Í "1" ¡íÒ˹´ãË ·íҧҹ໠¹ÍÔ¹¾Øµ ·íÒãË ¢ÒàÍÒµ ¾Øµà» ¹ÅͨԡµíèÒËÃ×Í "0" ¡íÒ˹´ãË ·íҧҹ໠¹àÍÒµ ¾Øµ ÇÑ´ÊÑÒ³¾ÑÅÊ ÍÔ¹¾Øµ ¤ÇÒÁÅÐàÍÕ´ 0.8 äÁâ¤ÃÇÔ¹Ò·Õ ( µ s) Ê §ÊÑÒ³¾ÑÅÊ ÍÍ¡ ¤ÇÒÁÅÐàÍÕ´ 0.8 äÁâ¤ÃÇÔ¹Ò·Õ ( µ s) à»ÅÕè¹¢ÒÍÔ¹¾Øµà» ¹àÍÒµ ¾ØµËÃ×ͨҡàÍÒµ ¾Øµà» ¹ÍÔ¹¾Øµ ·íÒãË ¢ÒàÍÒµ ¾Øµ¡ÅѺÅͨԡ ¡íÒà¹Ô´ÃËÑʤǺ¤ØÁÊíÒËÃѺÍØ»¡Ã³ µ ; ǧ͹ءÃÁ X-10
SQR
¤íҹdz¤ Ò䫹 (SINE) ·Ò§µÃÕ⡳ÁÔµÔ ¶Í´ÃÒ¡·ÕèÊͧ
// */ >> << ABS
¡ÅØÁ ¤íÒÊÑ§è ¨Ñ´¡ÒÃÊÑÒ³´Ô¨µÔ ÍÅ ÃÒÂÅÐàÍÕ´ ª×Íè ¤íÒÊѧè ÃÒÂÅÐàÍÕ´ BUTTON µÃǨÊͺ¡ÒÃÃѺ¤ ÒËÃ×Í¡Òá´ÊÇÔµª COUNT
Êà ҧÊÑÒ³ PWM ¢¹Ò´ 8 ºÔµÍÍ¡ä»·Ò§¢Ò¾Íà µ ÇÑ´¤ ÒàÇÅÒ¡ÒûÃШØ/¤Ò»ÃШآͧǧ¨Ã RC
COS
¡ÅØÁ ¤íÒÊÑ§è »ÃÐÁÇżŷҧÅͨԡ ª×Íè ¤íÒÊѧè ÃÒÂÅÐàÍÕ´ & á͹´ (AND) ·Ò§Åͨԡ | ÍÍà (OR) ·Ò§Åͨԡ ^ àÍ硤ÅÙ«Õ¿-ÍÍà (XOR) ·Ò§Åͨԡ DCD àÅ×͡૵ºÔµ·Õèµ Í§¡Òâͧ¢ ÍÁÙÅ¢¹Ò´ 16 ºÔµ NCD áÊ´§ºÔµ¹ÑÂÊíҤѢͧ¢ ÍÁÙÅ¢¹Ò´ 16 ºÔµ REV ÊÅѺºÔµ¢ ÍÁÙÅ
µÒÃÒ§·Õè 1-1 ÊÃØ»¤íÒÊÑ§è ·Ñ§é ËÁ´¢Í§àºÊÔ¡áʵÁ» 2SX
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
l
31
AX-2SX : BASIC Stamp2SX Activity board ἧǧ¨ÃàÃÕ¹ÃÙ¡ Ò÷íÒ§Ò¹¢Í§àºÊÔ¡áʵÁ» 2SX
ἧǧ¨Ã¹Õéä´ ÃѺ¡ÒÃÍ͡ẺÁÒà¾×èÍʹѺʹع¡ÒÃàÃÕ¹ÃÙ áÅÐà¢Õ¹â»Ãá¡ÃÁà¾×èͤǺ¤ØÁ ¡Ò÷íÒ§Ò¹¢Í§àºÊÔ¡áʵÁ» 2SX ÀÒÂãµ ÃÐÂÐàÇÅÒ·ÕÃè Ç´àÃçÇ â´Âº¹á¼§Ç§¨Ã AX-2SX ä´ ¨´Ñ ¡Òà àª×Íè Áµ Í¢Ò¾Íà µ·Ñ§é ËÁ´¢Í§àºÊÔ¡áʵÁ» 2SX «Ö§è ã¹·Õ¹è ãÕé ª i-Stamp á·¹¹Ñ¹é ࢠҡѺǧ¨ÃáÅÐÍØ»¡Ã³ ÊíҤѷդè Çõ ͧÁÕ㹡ÒÃàÃÔÁè µ ¹àÃÕ¹ÃÙ äÁ ÇÒ ¨Ðà» ¹ LED, ÊÇÔµª , ÅíÒ⾧ ËÃ×Í¡Ãзѧè ǧ¨Ã¢ÑºÃÕàÅ áÅÐ Êàµç»à»Íà ÁÍàµÍà ·íÒãË Å´àÇÅÒ㹡Òõ Íǧ¨Ã·´ÅÍ§ä´ ÁÒ¡
ǧ¨Ã¢Í§ºÍà ´ AX-2SX áÅСÒ÷íÒ§Ò¹
ã¹ÃÙ»·Õè 3-2 áÊ´§Åѡɳзҧ¡ÒÂÀÒ¾¢Í§ºÍà ´ AX-2SX Ê Ç¹Ç§¨ÃÊÁºÙó áÊ´§ã¹ÃÙ»·Õè 3-3 «çÍ¡à¡çµ SK1 ¢¹Ò´ 24 ¢Ò㪠ÃͧÃѺ i-Stamp â´ÂÁÕ¡Òõ Íä¿àÅÕÂé § +5V ¨Ò¡Ç§¨Ã¤Çº¤ØÁä¿ àÅÕÂé §¤§·ÕËè Ã×Íǧ¨ÃàáÙàÅàµÍà (regulator) ࢠҷբè Ò 21 ÊÇÔµª RESET (S5) µ Íࢠҷբè Ò 22 à¾×Íè ·íÒ Ë¹ Ò·ÕèÃÕ૵¡Ò÷íÒ§Ò¹·Ñé§ËÁ´¢Í§ i-Stamp ·Õè¢Ò 1-4 µ ÍࢠҡѺ¤Í¹à¹ç¡àµÍà K1 «Öè§à» ¹¤Í¹ à¹ç¡àµÍà Ẻ DB-9 µÑÇàÁÕ 㪠㹡ÒõԴµ ͡Ѻ¤ÍÁ¾ÔÇàµÍà ¼Ò ¹·Ò§¾Íà µÍ¹Ø¡ÃÁà¾×Íè ´Òǹ âËÅ´ â»Ãá¡ÃÁŧº¹ i-Stamp áÅйíÒ¢ ÍÁÙŨҡ i-Stamp ä»áÊ´§¼Åº¹Ë¹ ҨͤÍÁ¾ÔÇàµÍà ¼Ò ¹·Ò§Ë¹ Ò µ Ò§ Debug Terminal ¢Í§â»Ãá¡ÃÁàºÊÔ¡áʵÁ» àÍ´ÔàµÍà ´Ç  RS-232 DOWNLOAD DC INPUT
RESET
ON
i-Stamp OFF
AX-2SX
BASIC Stamp ACTIVITY BOARD LED OUTPUT
P7 P6 P5 P4 P3 P2 P1 P0 P12 SOUND/FREQ. OUTPUT
STEPPER MOTOR
P14 RC-PORT SERIAL DATA
LDR
+5V. P15 GND P11
P10
P9
SWITCH INPUT
P13 RELAY OUT
P8 RY.
RELAY
NC C NO
ÃÙ»·Õè 3-2 áÊ´§Åѡɳзҧ¡ÒÂÀÒ¾¢Í§ AX-2SX ἧǧ¨ÃÊíÒËÃѺàÃÕ¹ÃÙ¡ Ò÷íÒ§Ò¹¢Í§àºÊÔ¡áʵÁ» 2SX â´Â㪠i-Stamp ã¹áµ ÅÐÊ Ç¹¢Í§Ç§¨Ã¨ÐÃкآҾÍà µ¢Í§ i-Stamp ·Õµè Í ãª §Ò¹ ¡µÑÇÍ ҧ ·Õè LED OUTPUT ¨ÐÃÐºØ Ç Ò µ ÍÍÂÙ¡ ºÑ ¢Ò¾Íà µ P0-P7
32
l
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX STEPPER MOTER PHASE A to D COIL D
K2 STEPPER MOTER +V
C
B
16 15 14 13 9
A
LED9 RY
+V RY1 RELAY 12V NC K3 COM RELAY NO OUTPUT CONTACT RATING 250V 5A
R13 1k5 10 8
IC1 ULN2003
4
3
2
1
+5V
7 +5V
6 7
2 3 4 5
K1 DB-9 FEMALE/PCB DOWNLOAD
TxD RxD ATN GND P0 P1 P2 P3 P4 P5 P6 P7
1 2 3 4 5 6 7 8 9 10 11 12
24 23 22 21 20 19 18 17 16 15 14 13
SK1 i-Stamp
NC GND RST +5V. P15 P14 P13 P12 P11 P10 P9 P8
S5 RESET
+5V C2 0.1µF 50V
R15 R14
R14-R15 C1 220 10µF 50V
LDR1
RP1 4k7 * 4
R9-R12 220
R1-R8 470
S1-S4
LED8-LED1
J1 DC INPUT 9-12V
+5V. K4 P15 SERIAL GND DATA
SP1 SPEAKER
S6 ON / OFF +V D1-D4 1N4001 x4
C3 220/25V
+ K5 - DC INPUT
IC2 7805 C4 0.1/50V
C5 47/16V
+5V C6 0.1/50V
¤Ø³ÊÁºÑµ·Ô ҧ෤¹Ô¤¢Í§á¼§Ç§¨Ã AX-2SX l «çÍ¡à¡çµÇ Ò§ 24 ¢Ò ÊíÒËÃѺµÔ´µÑ§é i-Stamp l LED 8 ´Ç§ ·íÒ§Ò¹·ÕÅè ͨԡÊÙ§¾Ã ÍÁµÑǵ Ò¹·Ò¹¨íÒ¡Ñ´¡ÃÐáÊ l ÊÇÔµª ¡´µÔ´»Å Í´Ѻ¾Ã ÍÁµÑǵ Ò¹·Ò¹µ ;ÙÅÍÑ» ·íÒ§Ò¹·ÕÅè ͨԡµèÒí 4 ªØ´ l ÅíÒ⾧ 8 âÍË Á ¾Ã ÍÁµ ͵ÑÇà¡çº»ÃÐ¨Ø¶Ò Â·Í´ÊÑÒ³ 1 ªØ´ l µÑǵ Ò¹·Ò¹á»Ã¤ ÒµÒÁáʧËÃ×Í LDR µ ͡ѺµÑÇà¡çº»ÃШØà» ¹Ç§¨Ã RC ͹ءÃÁ 1 ªØ´ l ǧ¨Ã¢ÑºÊàµç»à»Íà ÁÍàµÍà ẺÂÙ¹âÔ ¾Å Òà ¾Ã ÍÁÁÍàµÍà 1 ªØ´ l ǧ¨Ã¢ÑºÃÕàÅ 12V ¾Ã ÍÁÃÕàÅ , LED áÊ´§¡Ò÷íÒ§Ò¹áÅШشµ Í˹ ÒÊÑÁ¼ÑÊÃÕàÅ à¾×Íè µ Íä»ãª §Ò¹ÀÒ¹͡ 1 ªØ´ l ¤Í¹à¹ç¡àµÍà ÊÒí ËÃѺàª×Íè Áµ ÍÍØ»¡Ã³ ·ãÕè ª ¡ÒÃÊ×Íè ÊÒÃẺ͹ءÃÁ ÍÒ·Ô âÁ´ÙÅ LCD ͹ءÃÁ, à«Íà âÇÁÍàµÍà ÏÅÏ l ¤Í¹à¹ç¡àµÍà DB-9 µÑÇàÁÕÂÊíÒËÃѺàª×Íè Áµ ͡Ѻ¤ÍÁ¾ÔÇàµÍà à¾×Íè ´Òǹ âËÅ´â»Ãá¡ÃÁáÅÐÊ×Íè ÊÒâ ÍÁÙÅ l 㪠áç´Ñ¹ä¿àÅÕÂé §ÍÔ¹¾Øµ 9-16V 500mA â´Âº¹ºÍà ´ÁÕǧ¨Ã¤Çº¤ØÁä¿àÅÕÂé §ãË ¤§·Õ· è Õè +5V ¾Ã ÍÁǧ¨Ã¨Ñ´¢ÑÇé áç´Ñ¹
à¾×èÍ» ͧ¡Ñ¹¡Òè ÒÂáç´Ñ¹ä¿àÅÕ駡ÅѺ¢ÑéÇ
ÃÙ»·Õè 3-3 ǧ¨ÃÊÁºÙó ¢Í§ºÍà ´ AX-2SX
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
l
33
ǧ¨Ã LED 8 ´Ç§
Ê Ç¹áá·Õ¨è Ð͸ԺÒ¤×Í Ç§¨Ã LED ËÃ×Íä´âÍ´à»Å §áʧ 8 ´Ç§ â´Â LED ·Ñ§é ËÁ´¶Ù¡¡íÒ˹´ ãË µÍ ࢠҡѺ¢Ò P0-P7 ¼ Ò¹µÑǵ Ò¹·Ò¹¨íÒ¡Ñ´¡ÃÐáÊ R1-R8 ¤ Ò 510Ω Ç§¨Ã LED ¹Õ·é Òí §Ò¹·ÕÅè ͨԡ ÊÙ§ËÃ×ÍÅͨԡ 1 àÁ×Íè µ ͧ¡ÒÃãË LED µÔ´ÊÇ Ò§ãË Ê§ ¢ ÍÁÙÅ 1 ÍÍ¡ÁÒ·Ò§¢Ò¾Íà µ P0-P7
ǧ¨Ã¢ÑºÊàµç»à»Íà ÁÍàµÍÃ
·Õ¢è Ò P0-P3 ¹Í¡¨Ò¡ãª ¢ºÑ LED áÅ Ç Âѧµ ͡Ѻ IC1 àºÍà ULN2003 â´Â ·Õ¢è Ò P0-P3 ¨Ð¹íÒä»ãª ¢ºÑ Êàµç»à»Íà ÁÍàµÍà ẺÂÙ¹âÔ ¾Å Òà ÀÒÂã¹ IC1 ÁÕÅ¡Ñ É³Ðà» ¹Ç§¨ÃÍÔ¹àÇÍà àµÍà ËÃ×Í ¹Íµà¡µáºº¤ÍÅàÅç¡àµÍà ໠´ ´Ñ§¹Ñ¹é ·Ò§ÍÔ¹¾Øµ¨Ö§ÊÒÁÒöÃѺÊÑÒ³ÅͨԡÃдѺ·Õ·áÕ ÍÅä´ ã¹ ¢³Ð·Õàè ÍÒµ ¾µØ ÊÒÁÒöµ ͡ѺâËÅ´·Õµè Í §¡ÒÃ㪠áç´Ñ¹ÊÙ§¡Ç Ò +5V ä´ â´Âã¹·Õ¹è ãÕé ª ¢ºÑ ÁÍàµÍà ¢¹Ò´ 12V â´Âä¿àÅÕÂé § IC1 ¤×Í +V ä´ ÁÒ¨Ò¡ÀÒ¤¨ ÒÂ俢ͧºÍà ´ AX-2SX àÁ×Íè µ ͧ¡ÒÃãË Êàµç»à»Íà ÁÍàµÍà ã¹à¿Êã´ËÁعãË Ê§ ¢ ÍÁÙÅÅͨԡ 1 ÁÒÂѧ¢Ò¾Íà µ¢Í§ i-Stamp ·Õµè Í ÍÂÙ¡ ºÑ à¿Ê¹Ñ¹é ¨Ò¡¹Ñ¹é IC1 ¨Ð¡ÅѺÅͨԡ໠¹ 0 ¨Ö§·íÒãË à¡Ô´ÊÀÒÇÐàÊÁ×͹໠¹¡ÃÒÇ´ ǧ¨Ã¢Í§âËÅ´·Õèµ ÍÍÂÙ ¡Ñº¢Ò àÍÒµ ¾µØ ¢Í§ IC1 ¨Ö§¤ÃºÇ§¨Ãà¡Ô´¡ÃÐáÊä¿¿ ÒäËÅ ·íÒãË ÁÍàµÍà ·Òí §Ò¹
ǧ¨Ã¢ÑºàÊÕ§
º¹ºÍà ´ AX-2SX ÁÕÊÇ ¹¢ÑºàÊÕ§â´Â㪠ÅÒí ⾧ 8Ω ¢¹Ò´àÅ硵 ͡ѺµÑÇà¡çº»ÃÐ¨Ø¶Ò Â·Í´ ÊÑÒ³ C2 ¤ Ò 10µF ¢Ò¾Íà µ·Õãè ª ¤Í× P12 Íѹ໠¹¡ÒÃáÊ´§ãË àËç¹ÅѡɳÐà´ ¹ÍÕ¡»ÃСÒÃË¹Ö§è ¢Í§ i-Stamp ·ÕÊè ÒÁÒö¢ÑºÊÑÒ³àÊÕ§ÍÍ¡ÅíÒ⾧¢¹Ò´àÅç¡ä´ â´ÂäÁ µÍ §µ Íǧ¨Ã¢Ñºà¾ÔÁè àµÔÁ
ǧ¨ÃÊÇÔµª Í¹Ô ¾Øµ 4 ª ͧ
·Õ¢è Ò P8-P11 ¨Ñ´ÊÃÃãË à» ¹¢Ò¾Íà µÍÔ¹¾Øµ â´Âµ ͡ѺÊÇÔµª ¡´µÔ´»Å Í´Ѻ 4 µÑÇ ÁÕ¡Òõ Í µÑǵ Ò¹·Ò¹ÍÕ¡ 2 µÑÇà¾ÔÁè àµÔÁ·ÕÊè ÇÔµª áµ ÅеÑÇ µÑÇË¹Ö§è ·íÒ˹ Ò·Õ¡è Òí ˹´ÊÀÒÇÐÅͨԡ 1 ãË á¡ ÊÇÔµª áÅТҾÍà µã¹¢³Ð·Õäè Á Á¡Õ Òá¡´ÊÇÔµª à¡Ô´¢Ö¹é «Ö§è ¨ÐàÃÕ¡¡Òõ ͵Ñǵ Ò¹·Ò¹ã¹ÅѡɳйÕÇé Ò µ ;٠ÅÍÑ» (pull-up) â´Âµ Í¢ÒË¹Ö§è ¢Í§µÑǵ Ò¹·Ò¹¡Ñº¢Ò¾Íà µáÅÐÍÕ¡¢ÒË¹Ö§è µ Íä¿àÅÕÂé § +5V ã¹Ç§¨Ã 㪠µÇÑ µ Ò¹·Ò¹ RN1 «Ö§è à» ¹µÑǵ Ò¹·Ò¹à¹çµàÇÔá ¤ Ò 4.7kΩ (µÑǵ Ò¹·Ò¹à¹çµàÇÔá : network resistor à» ¹µÑǵ Ò¹·Ò¹·Õµè Í ¢ÒË¹Ö§è ¢Í§µÑǵ Ò¹·Ò¹·Ñ§é ËÁ´Ã ÇÁ¡Ñ¹ Ê Ç¹¢Ò·Õàè ËÅ×͹íÒÁÒ㪠§Ò¹ä´ ÁÕ¨Òí ¹Ç¹ ¢ÒµÑ§é áµ 5 ¢Ò¢Ö¹é ä» â´ÂÁÕ 1 ¢Òà» ¹¢Òà ÇÁ ·Õàè ËÅ×Íà» ¹¢Ò㪠§Ò¹ ¡µÑÇÍ ҧ µÑǵ Ò¹·Ò¹à¹çµàÇÔá 5 ¢Ò¤ Ò 4.7kΩ ¨Ðà·ÕÂºä´ ¡ºÑ µÑǵ Ò¹·Ò¹ 4.7kΩ 4 µÑǵ Í¢Ò˹֧è à ÇÁ¡Ñ¹) Ê Ç¹µÑǵ Ò¹·Ò¹ÍÕ¡µÑÇ˹Ö觷íÒ˹ Ò·Õè¨íÒ¡Ñ´¡ÃÐáÊÍÔ¹¾ØµãË á¡ ¢Ò¾Íà µ áÅл ͧ¡Ñ¹¡ÒÃÅÑ´ ǧ¨ÃÃÐËÇ Ò§ä¿àÅÕÂé §¡Ñº¡ÃÒÇ´ ·ÍÕè Ò¨à¡Ô´¢Ö¹é ·Õ¢è Ò¾Íà µ¢Í§ i-Stamp ·Ñ§é ¹Õàé ¾×Íè » ͧ¡Ñ¹äÁ ãË ¢Ò¾Íà µ ¢Í§ i-Stamp ·Õµè Í ÍÂÙ¡ ºÑ ÊÇÔµª Í¹Ô ¾Øµä´ ÃºÑ ¤ÇÒÁàÊÕÂËÒ µÑǵ Ò¹·Ò¹´Ñ§¡Å ÒǤ×Í R9-R13 ¤ Ò 220Ω
34
l
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
ǧ¨ÃÊÇÔµª Í¹Ô ¾Øµ¹Õãé ¹ÊÀÒÇл¡µÔäÁ Á¡Õ Òõ ÍÊÇÔµª ¨Ð¡íÒ˹´ãË ÁÅÕ Í¨Ô¡ÊÙ§ËÃ×ÍÅͨԡ 1 Ê §ä»Âѧ¢Ò P8-P11 ¢Í§ i-Stamp àÁ×Íè ¡´ÊÇÔµª ¨Ðà» ¹¡Òõ Í¢Ò¾Íà µÅ§¡ÃÒÇ´ ·íÒãË à¡Ô´ÅͨԡµèÒí ËÃ×ÍÅͨԡ 0 ã¹ÀÒÇзÕèµ ÍÊÇÔµª ŧ¡ÃÒÇ´ ¹Ñé¹ ËÒ¡à¡Ô´ÍغѵÔà˵آÖé¹äÁ Ç Ò¨Ð´ ÇÂÊÒà˵Øã´¡çµÒÁ ·íÒãË à¡Ô´ä¿àÅÕÂé § +5V »ÃÒ¡¯¢Ö¹é ·Õ¢è Ò¾Íà µ P8-P11 ã¹¢³Ð·ÕÊè ÇÔµª ¶¡Ù µ ÍÍÂ٠㹡óշäÕè Á ÁµÕ ÇÑ µ Ò¹ ·Ò¹ R9-R13 µ ÍÍÂÙ¢ Ò¾Íà µ¢Í§ i-Stamp ¨ÐàÊÕÂËÒ·ѹ·Õ áµ ´Ç ¡Òõ ͵Ñǵ Ò¹·Ò¹¨íÒ¡Ñ´¡ÃÐáÊ R9-R13 ¨Ðª Ç» ͧ¡Ñ¹¤ÇÒÁàÊÕÂËÒ¹Õäé ´
ǧ¨Ã¢ÑºÃÕàÅ ¢Ò¾Íà µ·Õ¹è Òí ÁÒ㪠¤Í× P13 â´Â»¡µÔáŠǢҾÍà µ¢Í§ i-Stamp ÊÒÁÒö¢Ñº¡ÃÐáÊä´ 30mA «Ö§è ÍÒ¨äÁ à¾Õ§¾Íµ Í¡ÒâѺâËÅ´¡ÃÐáÊÊ٧ઠ¹ ÃÕàÅ ¨Ö§µ ͧµ Íǧ¨Ã¢Ñºà¾ÔÁè àµÔÁ ã¹Ç§¨Ã¹Õãé ª IC1 àºÍà ULN2003 ઠ¹à´ÕÂǡѺǧ¨Ã¢ÑºÊàµç»à»Íà ÁÍàµÍà ·Ñ§é ¹Õàé ¹×Íè §¨Ò¡ÀÒÂã¹ IC1 ÁÕǧ¨Ã¢ÑºÁÒ¡¶Ö§ 7 ªØ´ 4 ªØ´¹íÒä»ãª ¡ºÑ 㹡ÒâѺÊàµç»à»Íà ÁÍàµÍà áÅйíÒÁÒ㪠¢ºÑ ÃÕàÅÂ Í¡Õ 1 ªØ´ ä¿àÅÕÂé §¢´ ÅÇ´ÃÕàÅ +V ÁÒ¨Ò¡ÀÒ¤¨ ÒÂ俺¹ºÍà ´ AX-2SX ઠ¹à´ÕÂǡѺǧ¨Ã¢ÑºÊàµç»à»Íà ÁÍàµÍà ËÒ¡µ ͧ¡ÒâѺãË ÃàÕ Å ·Òí §Ò¹µ Í§Ê §¢ ÍÁÙÅ 1 ÍÍ¡¨Ò¡¢Ò P13 ä»Âѧ¢Ò 7 ¢Í§ IC1àÁ×Íè ÃÕàÅ ·Òí §Ò¹ LED9 ¨ÐµÔ´ÊÇ Ò§á¨ §ÊÀÒÇСÒ÷íÒ§Ò¹ ¾Ã ÍÁæ ¡Ñºä´ Â¹Ô àÊÕ§µÑ´µ ͧ͢˹ ÒÊÑÁ¼ÑÊÃÕàÅ µÑǵ Ò¹·Ò¹ R14 㪠¨Òí ¡Ñ´¡ÃÐáÊãË á¡ LED9 ÍѵÃÒ·¹¡íÒÅѧ¢Í§Ë¹ ÒÊÑÁ¼ÑÊÃÕàÅ º¹ºÍà ´ AX-2SX ¤×Í 220Vac 5A ¨Ö§ÊÒÁÒö¹íÒä»ãª ¡ºÑ ËÅÍ´ä¿ËÃ×Íà¤Ã×Íè §ãª ä¿¿ Ò¡íÒÅѧÊÙ§ÊØ´äÁ à¡Ô¹ 600 W
ǧ¨ÃµÑǵ Ò¹·Ò¹á»Ã¤ ÒµÒÁáʧ ÅѡɳÐà´ ¹ÍÕ¡»ÃСÒÃË¹Ö§è ·Õàè ºÊÔ¡áʵÁ» 2SX ¤×Í ÊÒÁÒö»ÃÐÁÇżÅÊÑÒ³ÍйÒÅÍ¡ â´Â㪠¢Ò¾Íà µä´ â´ÂµÃ§´ ǤíÒÊÑ§è ¾ÔàÈÉ·Õªè Í×è RCTIME â´Â㪠ËÅÑ¡¡ÒûÃШØ-¤Ò»ÃШآͧǧ¨Ã RC ã¹·Õ¹è µÕé ÇÑ µ Ò¹·Ò¹ã¹Ç§¨Ã RC 㪠µÇÑ µ Ò¹·Ò¹á»Ã¤ ÒµÒÁáʧ (LDR) µ Íà ÇÁ¡ÑºµÑÇà¡çº»ÃÐ¨Ø ¤ Ò¤§·Õè C1 «Ö§è ã¹Ç§¨Ã¹Õãé ª ¤Ò 0.1µF â´Âµ Íǧ¨Ã RC ¹Õàé ¢ ҡѺ¢Ò¾Íà µ P14 ¹Í¡¨Ò¡¹Ñ¹é ÂѧÁÕ¡Òõ ͵Ñǵ Ò¹·Ò¹ R14 ¤ Ò 220Ω à¾×Íè ¡íÒ˹´¡Ò÷íÒ§Ò¹àÃÔÁè µ ¹¢Í§Ç§¨Ã RC áÅÐÂѧ㪠㹡ÒèíÒ¡Ñ´¡ÃÐáÊÍÔ¹¾Øµ·Õäè ËÅ ͹¡ÅѺࢠÒÁÒ㹡óշàÕè ¡Ô´¡ÒäÒ»ÃШآͧµÑÇà¡çº»ÃÐ¨Ø´Ç Â
Ê Ç¹àª×èÍÁµ ÍÍØ»¡Ã³ ·Õè㪠¡ÒÃÊ×èÍÊÒâ ÍÁÙÅẺ͹ءÃÁ º¹ºÍà ´ AX-2SX ä´ ¨´Ñ ÊÃâҾÍà µ P15 ÊíÒËÃѺ㪠㹡ÒâÂÒ¢մ¤ÇÒÁÊÒÁÒö â´Â ÊÒÁÒöàª×Íè Áµ ͡ѺÍØ»¡Ã³ ÀÒ¹͡·Õãè ª ¡ÒÃÊ×Íè ÊÒâ ÍÁÙÅẺ͹ءÃÁ â´Â¨Ñ´àµÃÕÂÁäÇ ã¹ÃٻẺ ¢Í§¤Í¹à¹ç¡àµÍà IDC 3 ¢Ò »ÃСͺ´ Ç¢Òä¿àÅÕÂé § +5V, ¢ÒÊÑÒ³ËÃ×Í P15 áÅТҡÃÒÇ´ ·Õ¢è ÒÊÑÒ³ËÃ×Í¢Ò P15 ¹Ñ¹é µ ͵Ñǵ Ò¹·Ò¹ R15 äÇ à¾×Íè ¨íÒ¡Ñ´¡ÃÐáÊÍÔ¹¾Øµ-àÍÒµ ¾µØ ·Õäè ËÅࢠÒÍÍ¡ ¡ÑºÍØ»¡Ã³ ·àÕè ª×Íè Áµ Í´ Ç ·Ñ§é ¹Õàé ¾×Íè » ͧ¡Ñ¹¤ÇÒÁàÊÕÂËÒ·ÕÍè Ò¨à¡Ô´¢Ö¹é ä´
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
l
35
ÊíÒËÃѺÍØ»¡Ã³ ͹ءÃÁ·Õ¾è ² Ñ ¹Ò¢Ö¹é â´ÂºÃÔÉ·Ñ ÍÔ¹â¹àǵտ àÍç¡à¾ÍÃÔàÁ¹µ ¨íÒ¡Ñ´áÅÐÊÒÁÒö ¹íÒÁÒµ Íä´ ·¹Ñ ·Õ·¤Õè ͹à¹ç¡àµÍà ¹¤Õé Í× SLCD16x2 âÁ´ÙÅ LCD Ẻ͹ءÃÁ¢¹Ò´ 16 µÑÇÍÑ¡Éà 2 ºÃ÷Ѵ áÅÐ ZX-44 ἧǧ¨ÃÊÇÔµª àÁµÃÔ¡« 4N4 ¨Ø´
ÀÒ¤¨ ÒÂä¿
º¹ºÍà ´ AX-2SX ÃѺä¿àÅÕÂé §¨Ò¡áËÅ §¨ ÒÂä¿ÀÒÂ¹Í¡ä´ 2 ·Ò§¤×Í ¼ Ò¹·Ò§á¨ ¡ÍÐá´» àµÍà K2 áÅÐà·Íà ÁÔ¹ÍźÅçÍ¡ K3 ËÒ¡µ ͧ¡ÒÃ㪠ẵàµÍÃÕèà» ¹áËÅ §¨ ÒÂä¿ ã¹¡Ã³Õ㪠ÍÐá´»àµÍà áç´Ñ¹¨Ð¼ ҹǧ¨ÃºÃÔ´¨ D1-D4 à¾×Íè ¨Ñ´¢ÑÇé áç´Ñ¹ãËÁ ¨Ö§·íÒãË ÊÒÁÒö㪠§Ò¹ºÍà ´ AX-2SX ¡ÑºÍÐá´»àµÍà ¢¹Ò´ 9-12V ·ÕÁè ¡Õ ÒèѴ¢ÑÇé Í ҧäáçä´ ¨Ò¡¹Ñ¹é ¨Ðä´ ÃºÑ ¡ÒáÃͧãË àÃÕº ¢Ö¹é ´ Ç C3 áÅÐÅ´ÊÑҳú¡Ç¹¤ÇÒÁ¶ÕÊè §Ù ´ Ç C4 áç´Ñ¹µÃ§¨Ø´¹Õ¤é Í× +V «Ö§è ¹íÒä»ãª ã¹Ç§¨Ã ¢ÑºÊàµç»à»Íà ÁÍàµÍà áÅÐÃÕàÅ ¨Ò¡áç´Ñ¹ +V ¨Ðä´ ÃºÑ ¡ÒÃÅ´áÅФǺ¤ØÁãË ¤§·Õ·è Õè +5V ´ Ç IC2 àºÍà 7805 ·Õàè ÍÒµ ¾µØ ¢Í§ IC2 µ ͵ÑÇà¡çº»ÃÐ¨Ø C5 à¾×Íè ª ÇÂãË ÊÒÁÒö¨ ÒÂáç´Ñ¹µÍºÊ¹Í§µ ÍâËÅ´ä´ Í ҧàËÁÒÐÊÁ ËÃ×ÍàÃÕÂ¡Ç Ò transient response Ê Ç¹ C6 㪠ŴÊÑҳú¡Ç¹¤ÇÒÁ¶ÕÊè §Ù ãË á¡ ä¿àÅÕÂé § +5V
á¹Ð¹íÒâ»Ãá¡ÃÁàºÊÔ¡áʵÁ» àÍ´ÔàµÍà 㹡ÒÃà¢Õ¹â»Ãá¡ÃÁà¾×Íè ¤Çº¤ØÁ¡Ò÷íÒ§Ò¹¢Í§àºÊÔ¡áʵÁ» 2SX ¹Ñ¹é 㪠ÀÒÉÒàºÊÔ¡·Õàè ÃÕ¡ Ç Ò ¾ÕàºÊÔ¡ (PBASIC) â´Â¼ Ò¹â»Ãá¡ÃÁ·Õªè Í×è Ç Ò àºÊÔ¡áʵÁ» àÍ´ÔàµÍà (BASIC Stamp Editor) â»Ãá¡ÃÁ¹Õé¨Ð¶Ù¡ãª 㹡ÒõԴµ ͤÍÁ¾ÔÇàµÍà ¡ÑºàºÊÔ¡áʵÁ» ¼ Ò¹¾Íà µÍ¹Ø¡ÃÁÃÇÁ¶Ö§ãª 㹡Òà à¢Õ¹áÅÐá¡ ä¢â»Ãá¡ÃÁÀÒÉÒàºÊÔ¡ËÃ×Í·íÒ˹ Ò·Õàè » ¹àÍ´ÔàµÍà ´Ç  â´Ââ»Ãá¡ÃÁ¨ÐµÃǨÊͺ¡Òà à¢Õ¹â»Ãá¡ÃÁã¹·Ø¡ºÃÃ·Ñ´Ç Ò¼Ô´äÇ¡ó ËÃ×ÍäÁ áÅÐ㪠㹡ÒÃâËÅ´ËÃ×Íà¢Õ¹â»Ãá¡ÃÁŧº¹µÑÇ àºÊÔ¡áʵÁ» à¾×Íè ·íÒ¡ÒÃÃѹ ¨Ö§¡Å ÒÇä´ ÇÒ â»Ãá¡ÃÁàºÊÔ¡áʵÁ» àÍ´ÔàµÍà à¾Õ§µÑÇà´ÕÂÇ·íÒ§Ò¹ä´ ¤ÃºÇ§¨Ã ·íÒãË ¡ÒÃàÃÕ¹ÃÙà ºÊÔ¡áʵÁ» §Ò ÂáÅÐÁÕ¢¹Ñé µÍ¹¹ Í ÊíÒËÃѺâ»Ãá¡ÃÁ·Õ¹è Òí ÁÒá¹Ð¹íÒ¹Õàé » ¹ àºÊÔ¡áʵÁ» àÍ´ÔàµÍà V2.0 ÃͧÃѺÀÒÉÒ¾ÕàºÊÔ¡¶Ö§àÇÍà ª¹Ñè 2.5 «Ö§è ÁÕ¤ÇÒÁÊÒÁÒöÊÙ§ÁÒ¡
Ãкº¤ÍÁ¾ÔÇàµÍà ·Õèµ Í§¡Òà 㪠«¾Õ ÂÕ àÙ ¾¹àµÕÂÁ 200MHz ¢Ö¹é ä» ¨ÍÀÒ¾ÊÕ SVGA l µÔ´µÑ§é Ãкº»¯Ôºµ Ñ ¡Ô ÒÃÇÔ¹â´ÇÊ 95/98/ME/XP/2000 ËÃ×Í NT l ˹ ǤÇÒÁ¨íÒáÃÁÍ ҧ¹ Í 24 àÁ¡Ð亵 áÅÐÁÕ¾¹ ×é ·ÕÇè Ò §º¹ÎÒà ´´ÔÊ¡ 10 àÁ¡Ð亵 l ¾Íà µÍ¹Ø¡ÃÁÇ Ò§Í ҧ¹ Í 1 ¾Íà µ 㹡óշÕèà¤Ã×èͧ¤ÍÁ¾ÔÇàµÍà äÁ ÁÕ¾Íà µÍ¹Ø¡ÃÁ ÊÒÁÒÃ¶ãª Í»Ø ¡Ã³ á»Å§¾Íà µ USB à» ¹¾Íà µÍ¹Ø¡ÃÁ (USB to Serial port converter) á·¹ä´ l
36
l
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
¡ÒõԴµÑé§â»Ãá¡ÃÁàºÊÔ¡áʵÁ» àÍ´ÔàµÍà 1. µÔ´µÑ§é â»Ãá¡ÃÁàºÊÔ¡áʵÁ» àÍ´ÔàµÍà ¼Ò ¹·Ò§á¼ ¹«Õ´ÃÕ ÍÁ 1.1 ࢠÒä»·Õäè ´àÃ硵ÍÃÕè StampEditor2.0 ¨Ð¾ºä¿Å Setup stamp editor .exe ãË ´ºÑ àºÔÅé ¤ÅÔ¡·Õäè ¿Å ¹¹Ñé à¾×Íè àÃÔÁè µ ¹µÔ´µÑ§é â»Ãá¡ÃÁ 1.2 (¡) ¡Ã³Õ㪠¡ºÑ ÇÔ¹â´ÇÊ 95/98/ME ËÒ¡¡ÒõԴµÑ§é ã¹¢ Í 1.1 à¡Ô´¡ÒöÒÁËÒä¿Å ·Õè à¡ÕÂè Ç¢ ͧ¡Ñº¡ÒèѴ¡ÒÃÃкºÇÔ¹â´ÇÊ ãË Â¡àÅÔ¡¡ÒõԴµÑ§é áÅ ÇࢠÒä»ã¹ä´àÃ硵ÍÃÕè StampEditor2.0 áŠǵԴµÑ駫Ϳµ áÇà àµÃÕÂÁ¾Ã ÍÁÊíÒËÃѺµÔ´µÑé§â»Ãá¡ÃÁ»ÃÐÂØ¡µ ·Õèª×èÍ instmsia.exe â´Â´ÑºàºÔéÅ ¤ÅÔ¡·Õäè ¿Å ¹¹Ñé à¾×Íè àÃÔÁè µÔ´µÑ§é 1.2 (¢) ¡Ã³Õ㪠¡ºÑ ÇÔ¹â´ÇÊ NT/2000/XP ãË àÅ×Í¡ä¿Å instmsiw.exe á·¹ Í ҧäáçµÒÁ ËÒ¡ã¹à¤Ã×Íè §¤ÍÁ¾ÔÇàµÍà ¢Í§¼Ùã ª §Ò¹ä´ Á¡Õ ÒõԴµÑ§é «Í¿µ áÇà àµÃÕÂÁ¾Ã ÍÁ ¹Õäé Ç áÅ Ç â»Ãá¡ÃÁ¨ÐäÁ µ´Ô µÑ§é «éÒí 㹡óշàÕè » ¹àÇÍà ª¹Ñè à´ÕÂǡѹËÃ×͵èÒí ¡Ç Ò ãË ¢Ò Á¢Ñ¹é µÍ¹¹Õäé »ä´ àÅ 2. ´Òǹ âËÅ´¨Ò¡ http://www.parallax.com ËÅѧ¨Ò¡´Òǹ âËÅ´ä¿Å µ´Ô µÑ§é ÁÒàáÅ Ç ãË ´ºÑ àºÔÅé ¤ÅÔ¡·Õäè ¿Å ¹¹Ñé à¾×Íè àÃÔÁè µÔ´µÑ§é àËÁ×͹¡Ñº¢ Í 1.2 ¶ ÒËÒ¡Ãкº»¯ÔºÑµÔ¡ÒÃÇÔ¹â´ÇÊ ÂѧäÁ à¤ÂÁÕ¡ÒõԴµÑ駫Ϳµ áÇà àµÃÕÂÁ¾Ã ÍÁÊíÒËÃѺµÔ´µÑé§ â»Ãá¡ÃÁ»ÃÐÂØ¡µ ãË ¼ãÙ ª §Ò¹µÔ´µÑ§é «Í¿µ áÇà àµÃÕÂÁ¤ÇÒÁ¾Ã ÍÁ´Ñ§¡Å ÒÇ «Ö§è ´Òǹ âËÅ´ä´ ·àÕè Ǻ䫵 ¢Í§ Microsoft Í ҧäáçµÒÁ » ËÒ¹Õé¨Ð¾ºäÁ ÁÒ¡¹Ñ¡ à¹×èͧ¨Ò¡«Í¿µ áÇà »ÃÐÂØ¡µ ËÅÒÂæ µÑÇ ÁÑ¡¨ÐµÔ´µÑ駫Ϳµ áÇà àµÃÕÂÁ¤ÇÒÁ¾Ã ÍÁ¹Õé仾à ÍÁ¡Ñº«Í¿µ áÇà ¢Í§µÑÇàͧàÊÁÍ
¡ÒÃàµÃÕÂÁâ»Ãá¡ÃÁàºÊÔ¡áʵÁ» àÍ´ÔàµÍà ÊÒí ËÃѺµÔ´µ ͡Ѻ i-Stamp 1. à» ´â»Ãá¡ÃÁ¢Ö¹é ÁÒ㪠§Ò¹ â´Âä»·Õè Start à Program à Parallax Inc à Stamp editor 2.0 à BASIC Stamp editor V2.0 ¨Ð»ÃÒ¡¯Ë¹ Òµ Ò§¢Í§â»Ãá¡ÃÁµÒÁÃÙ»·Õè 3-4 2. ä»·Õàè Á¹Ù Edit à Preference ¨Ð»ÃÒ¡¯Ë¹ Òµ Ò§ preference ¢Ö¹é áÅ ÇàÅ×͡˹ Òµ Ò§ Editor operation ä»·Õ¡è Ãͺ Stamp mode and ports àÅ×Í¡ Default Com Port ãË áÊ´§ AUTO áÅзժè Í § Default Project Downlode Mode àÅ×Í¡ãË áÊ´§ Modified ´Ñ§áÊ´§ã¹ÃÙ»·Õè 3-5 3. ¤ÅÔ¡·Õ»è ÁØ OK à¾×Íè ¡ÅѺä»Âѧ˹ Òµ Ò§àÍ´ÔàµÍà ã¹â»Ãá¡ÃÁàºÊÔ¡áʵÁ» àÍ´ÔàµÍà V2 ä´ ÍÒí ¹Ç¤ÇÒÁÊдǡ㹡ÒÃà¢Õ¹â»Ãá¡ÃÁà¾ÔÁè ¢Ö¹é Í ҧÁÒ¡ ÍÒ·Ô ¡ÒÃᡤíÒÊÑ§è µÑÇá»Ã ÅÒàºÅ ´ ÇÂÊÕ, ¡ÒûÃѺà»ÅÕÂè ¹¢¹Ò´¢Í§µÑÇÍÑ¡ÉÃ, ¡ÒûÃѺ à»ÅÕÂè ¹ÊÕ¾¹×é ¢Í§Ë¹ Òµ Ò§áÊ´§¼Å «Ö§è ¼Ùã ª §Ò¹ÊÒÁÒöàÅ×Í¡ä´ µÒÁ¤ÇÒÁµ ͧ¡Òà â´ÂࢠÒä»·Õàè Á¹Ù Edit à Preference à Editor Appearance ´Ñ§ã¹ÃÙ»·Õè 3-6
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX àÅ×Í¡àºÊÔ¡áʵÁ» 2PE àÅ×Í¡àºÊÔ¡áʵÁ» 2P àÅ×Í¡àºÊÔ¡áʵÁ» 2SX àÅ×Í¡àºÊÔ¡áʵÁ» 2E àÅ×Í¡àºÊÔ¡áʵÁ» 2 Preference à» ´Ë¹ Òµ Ò§µÑ駤 Ò áº §¾×é¹·Õèà¢Õ¹â»Ãá¡ÃÁ
l
37
àÅ×Í¡µÑÇá»ÅÀÒÉÒ¾ÕàºÊÔ¡ V2.5 àÅ×Í¡µÑÇá»ÅÀÒÉÒ¾ÕàºÊÔ¡ V2.5 µÃǨÊͺäÇ¡ó ´Ù˹ ǤÇÒÁ¨íÒ Ãѹâ»Ãá¡ÃÁ
à» ´ä¿Å ª ÇÂàËÅ×Í (Help)
Identify
Êà ҧä¿Å ãËÁ à» ´ä¿Å » ´ä¿Å ºÑ¹·Ö¡ä¿Å à» ´Ë¹ Òµ Ò§¤ ¹ËÒä¿Å (explorer) ¾ÔÁ¾ ä¿Å ÍÍ¡à¤Ã×èͧ¾ÔÁ¾ µÑ´¢ ͤÇÒÁ ¤Ñ´ÅÍ¡¢ ͤÇÒÁ ÇÒ§¢ ͤÇÒÁ ¤ ¹ËÒ
à» ´Ë¹ Òµ Ò§ Debug terminal ˹ Òµ Ò§¤ ¹ËÒä¿Å (explorer)
¾×¹é ·Õàè ¢Õ¹â»Ãá¡ÃÁ
ᶺáÊ´§Ê¶Ò¹Ð
áÊ´§µíÒá˹ §à¤Íà à«ÍÃ
ÃÙ»·Õè 3-4 áÊ´§Ë¹ Òµ Ò§ËÅÑ¡¢Í§â»Ãá¡ÃÁàºÊÔ¡áʵÁ» àÍ´ÔàµÍà ¾Ã ÍÁáÊ´§Ê ǹ»ÃСͺµ Ò§æ
ÃÙ»·Õè 3-5 ˹ Òµ Ò§ Editor Operation ÊíÒËÃѺ ÃÙ»·Õè 3-6 ˹ Òµ Ò§ Editor Appearance ÊíÒËÃѺ ¡íÒ˹´¡ÒõԴµ ͧ͢àºÊÔ¡áʵÁ» 2SX àÅ×Í¡¡ÒÃáÊ´§¼Å¢Í§â»Ãá¡ÃÁàÍ´ÔàµÍÃ
38
l
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
ÃÒÂÅÐàÍÕ´â´ÂÊÃØ»¢Í§â»Ãá¡ÃÁàºÊÔ¡áʵÁ» àÍ´ÔàµÍà àÁ¹Ùà¤Ã×Íè §Á×ͨѴ¡ÒÃá¿ Á¢ ÍÁÙÅÁҵðҹáÅСÒþÔÁ¾ ª×Íè ¢Í§àÁ¹Ù¹¤Õé Í× File ÁÕ¡Ò÷íÒ§Ò¹´Ñ§¹Õé New Document
㪠ÊÒí ËÃѺÊà ҧῠÁ¢ ÍÁÙÅãËÁ
Open File
㪠ÊÒí ËÃѺ໠´á¿ Á¢ ÍÁÙÅ ¹ÒÁÊ¡ØÅ .BSX ÊÒÁÒö㪠¤ÂÕ Å ´Ñ ¤×Í Ctrl+O
Save
㪠ÊÒí ËÃѺºÑ¹·Ö¡á¿ Á¢ ÍÁÙÅ㹪×Íè à´ÔÁ ÊÒÁÒö㪠¤ÂÕ Å ´Ñ ¤×Í Ctrl+S
Save As
㪠ÊÒí ËÃѺºÑ¹·Ö¡¢ ÍÁÙÅ àÁ×Íè µ ͧ¡ÒÃà»ÅÕÂè ¹ª×Íè á¿ Á¢ ÍÁÙÅ
Generate Object Code 㪠Êà ҧä¿Å ¹ÒÁÊ¡ØÅ .exe ¢Í§«Íà Êâ»Ãá¡ÃÁ·Õèà¢Õ¹¢Öé¹à¾×èÍàÃÕ¡ 㪠§Ò¹ä´ ·¹Ñ ·Õ â´ÂäÁ µÍ §à» ´â»Ãá¡ÃÁàºÊÔ¡áʵÁ» àÍ´ÔàµÍà ¢¹Öé ÁÒ Print
㪠¾ÁÔ ¾ «Íà Êä¿Å (á¿ Á¢ ÍÁÙÅÀÒÉÒàºÊÔ¡·Õàè ¢Õ¹¢Ö¹é ) ¤ÕÂÅ ´Ñ ¤×Í Ctrl+P
Close File
㪠ÊÒí ËÃѺ» ´á¿ Á¢ ÍÁÙÅ
Exit
㪠ÊíÒËÃѺÍÍ¡¨Ò¡â»Ãá¡ÃÁ
àÁ¹Ùá¡ ä¢á¿ Á¢ ÍÁÙÅ ª×Íè ¢Í§àÁ¹Ù¹¤Õé Í× Edit ÁÕÃÒÂÅÐàÍÕ´¢Í§à¤Ã×Íè §Á×Í ÍÂã¹àÁ¹Ù Edit µ Í仹Õé Undo
㪠¡àÅÔ¡¡ÒÃ㪠§Ò¹à¤Ã×Íè §Á×Íᡠ䢢 ÍÁÙÅ¡ ͹˹ Ò¹Õé ¤ÕÂÅ ´Ñ ¤×Í Ctrl+Z
Cut
㪠µ´Ñ à¾×Íè  ÒµíÒá˹ §¢Í§¢ ͤÇÒÁ·Õàè Å×Í¡ ¤ÕÂÅ ´Ñ ¤×Í Ctrl+X
Copy
㪠¤´Ñ ÅÍ¡¢ ͤÇÒÁ ¤ÕÂÅ ´Ñ ¤×Í Ctrl+C
Paste
㪠ÇÒ§¢ ͤÇÒÁ·Õµè ´Ñ ËÃ×ͤѴÅÍ¡ÁÒ ¤ÕÂÅ ´Ñ ¤×Í Ctrl+V
Select All
㪠àÅ×Í¡¢ ͤÇÒÁ·Ñ§é ËÁ´ã¹á¿ Á¢ ÍÁÙÅ ¤ÕÂÅ ´Ñ ¤×Í Ctrl+A
Find/Replace
㪠¤¹ ËÒáÅÐá·¹·Õ¢è Í ¤ÇÒÁ ¤ÕÂÅ ´Ñ ¤×Í Ctrl+F
Find Nex
㪠¤¹ ËÒ¢ ͤÇÒÁµ Íä» ¤ÕÂÅ ´Ñ ¤×Í »ØÁ F3
Preference
㪠»ÃѺà»ÅÕÂè ¹á¡ ä¢¾ÒÃÒÁÔàµÍà µÒ §æ ¢Í§àºÊÔ¡áʵÁ» àÍ´ÔàµÍà ÁÕ´Ç Â¡Ñ¹ 6 Ê Ç¹¤×Í 1. »ÃѺ¡ÒÃáÊ´§¼Å¢Í§Ë¹ Òµ Ò§àÍ´ÔàµÍà (Editor Appearance)
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
l
39
2. »ÃѺ¡ÒÃáÊ´§¼Å¢Í§Ë¹ Òµ Ò§ Debug Terminal (Debug Appearance) 3. ¡íÒ˹´¡Ò÷íÒ§Ò¹¢Í§àºÊÔ¡áʵÁ» àÍ´ÔàµÍà (Editor Operation) 4. ¡íÒ˹´ÃٻẺ¡Ò÷íÒ§Ò¹¢Í§´Õº¡Ñ (Debug Function) 5. ¡íÒ˹´ÃÒÂÅÐàÍÕ´¾Íà µ¢Í§¤ÍÁ¾ÔÇàµÍà ·ãÕè ª ´ºÕ ¡Ñ (Debug Port) 6. àÅ×Í¡¡ÒèѴ¡ÒÃä¿Å áÅÐä´àÃ硵ÍÃÕè (File & Directories) ¶Ö§áÁ ÇÒ ·ÕËè ¹ Òµ Ò§ Preference ¨Ð㪠»ÃѺ¡Ò÷íÒ§Ò¹¢Í§â»Ãá¡ÃÁàºÊÔ¡áʵÁ» àÍ´ÔàµÍÃ ä´ áµ ã¹¡ÒÃ㪠§Ò¹¨ÃÔ§ â»Ãá¡ÃÁ¨Ð»ÃѺà»ÅÕÂè ¹áÅÐàÅ×Í¡¤ Ò·Õàè ËÁÒÐÊÁâ´ÂÍѵâ¹ÁѵÍÔ ÂÙá Å Ç
àÁ¹ÙàÅ×Í¡ä´àÃ硵տ (Directive) ÁÕà¤Ã×Íè §Á×Í Í 3 µÑÇËÅÑ¡¤×Í 1. Stamp : àÅ×Í¡Ãع ¢Í§àºÊÔ¡áʵÁ» 2 ·Õµè Í §¡Ò÷íÒ§Ò¹ (BS2, BS2E, BS2SX, BS2P, «Ö§è ÁÕ´Ç Â¡Ñ¹ 5 ÊÕá·¹Ãع ¢Í§àºÊÔ¡áʵÁ» ¡äç ´ BS2PE) ËÃ×ͨÐàÃÕ¡㪠§Ò¹¼ Ò¹»ØÁ ÊÕà¢ÕÂÇ㪠àÅ×Í¡àºÊÔ¡áʵÁ» 2 (BS2) ÊÕᴧ㪠àÅ×Í¡àºÊÔ¡áʵÁ» 2E (BS2E) ÊÕ¹Òéí à§Ô¹ãª àÅ×Í¡àºÊÔ¡áʵÁ» 2SX (BS2SX) i-Stamp ¨Ð㪠ä´àÃ硵տµÑǹÕé ÊÕàËÅ×ͧ㪠à Å×Í¡àºÊÔ¡áʵÁ» 2P (BS2P) ÊÕ¹Òéí µÒÅ㪠àÅ×Í¡àºÊÔ¡áʵÁ» 2PE (BS2PE) 2. Port : àÅ×Í¡¾Íà µÍ¹Ø¡ÃÁ·Õµè Í §¡ÒõԴµ Í´ Ç 3. PBASIC : 㪠àÅ×Í¡µÑÇá»ÅÀÒÉÒàºÊÔ¡ ÁÕãË àÅ×Í¡ 2 Ãع ¤×Í PBASIC 2.0 áÅÐ PBASIC 2.5 ÊíÒËÃѺã¹Ë¹Ñ§Ê×ÍàÅ Á¹Õé ¨Ð㪠PBASIC2.5 à» ¹ËÅÑ¡
àÁ¹ÙáÊ´§¡Ò÷íÒ§Ò¹ ª×Íè ¢Í§àÁ¹Ù¹¤Õé Í× Run à» ¹àÁ¹Ùà¤Ã×Íè §Á×Í·ÕÁè ºÕ ·ºÒ·ÁÒ¡·ÕÊè ´Ø ã¹¡ÒþѲ¹ÒáÅÐ㪠§Ò¹àºÊÔ¡ áʵÁ» ÁÕà¤Ã×Íè §Á×Í Í·ѧé ÊÔ¹é 5 µÑǤ×Í RUN
㪠ÊÒí ËÃѺÃѹâ»Ãá¡ÃÁ·Õàè ¢Õ¹¢Ö¹é ÊÒÁÒö㪠¤ÂÕ Å ´Ñ ¤×Í Ctrl+R
Check Syntax 㪠µÃǨÊͺäÇ¡ó ¢Í§â»Ãá¡ÃÁÇ Ò ÁÕ¡ÒÃ㪠¤Òí ÊÑ§è ¼Ô´¾ÅÒ´ËÃ×ÍäÁ ¤ÕÂÅ ´Ñ ¤×Í Ctrl+T
40
l
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
Memory Map 㪠µÃǨÊͺ¤ Ңͧ˹ ǤÇÒÁ¨íҢͧàºÊÔ¡áʵÁ» ¤ÕÂÅ ´Ñ ¤×Í Ctrl+M Debug
㪠µÔ´µ ÍàºÊÔ¡áʵÁ» ¡Ñº¤ÍÁ¾ÔÇàµÍà àÁ×èÍ㪠à¤Ã×èͧÁ×͹Õé˹ Òµ Ò§ Debug Terminal ¨Ð»ÃÒ¡¯¢Ö¹é ¤ÕÂÅ ´Ñ ¤×Í Ctrl+D
Identify
㪠¤¹ ËÒàºÊÔ¡áʵÁ» ·µÕè Í ¡Ñº¾Íà µÍ¹Ø¡ÃÁ ¤ÕÂÅ ´Ñ ¤×Í Ctrl+I
·Õàè Á¹Ùà¤Ã×Íè §Á×͹ըé ÐÁÕà¾Õ§ Memory Map áÅÐ Debug à· Ò¹Ñ¹é ·Õàè Á×Íè àÃÕ¡㪠§Ò¹áŠǨлÃÒ¡¯ ˹ Òµ Ò§áÊ´§¡Ò÷íÒ§Ò¹¢Ö¹é ÁÒãËÁ ¹Í¡¹Ñ¹é ¨ÐáÊ´§¡Ò÷íÒ§Ò¹¼ Ò¹ºÒà áÊ´§Ê¶Ò¹Ð (status bar) «Ö§è ÍÂÙ´ Ò ¹Å Ò§¢Í§Ë¹ Òµ Ò§ËÅÑ¡¢Í§â»Ãá¡ÃÁ ¹Í¡à˹×Í仨ҡ¹Ñ¹é à¤Ã×Íè §Á×ͷѧé ËÁ´ã¹àÁ¹Ù¹ÂÕé ¡àÇ ¹ Check Syntax ¨ÐÊÒÁÒö㪠§Ò¹ä´ ¡µç Í àÁ×Íè àºÊÔ¡áʵÁ» àª×Íè Áµ ÍࢠҡѺ¤ÍÁ¾ÔÇàµÍà áÅÐÊÒÁÒö µÔ´µ ÍÊ×Íè ÊÒáѹä´
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
l
41
¡Ô¨¡ÃÃÁ·Õè 1 : àª×Íè Áµ Í i-Stamp ¡Ñºá¼§Ç§¨Ã AX-2SX áÅФÍÁ¾ÔÇàµÍà ¨Ø´»ÃÐʧ¤
á¹Ð¹íÒ¡Òõ Í㪠§Ò¹Ã ÇÁ¡Ñ¹ÃÐËÇ Ò§ i-Stamp ἧǧ¨ÃäÁâ¤Ã¤Í¹â·ÃÅàÅÍà àºÊÔ¡áʵÁ» ¡ºÑ AX2SX ἧǧ¨ÃàÃÕ¹ÃÙ¡ Ò÷íҧҹ͠ҧ¶Ù¡µ ͧ ÃÇÁ¶Ö§¡Òõ ÍࢠҡѺ¤ÍÁ¾ÔÇàµÍà à¾×Íè àµÃÕÂÁ¤ÇÒÁ¾Ã ÍÁ ¡ ͹¡ÒõԴµÑ§é â»Ãá¡ÃÁ
ÍØ»¡Ã³ áÅÐà¤Ã×èͧÁ×Í 1. ἧǧ¨Ã i-Stamp 2. ἧǧ¨Ã AX-2SX 3. ÊÒÂàª×Íè Áµ ;Íà µÍ¹Ø¡ÃÁ¢Í§¤ÍÁ¾ÔÇàµÍà ËÃ×ÍÊÒ CX-232 4. ¤ÍÁ¾ÔÇàµÍà ·µÕè ´Ô µÑ§é Ãкº»¯ÔºµÑ ¡Ô ÒÃÇÔ¹â´ÇÊ áÅÐâ»Ãá¡ÃÁàºÊÔ¡áʵÁ» àÍ´ÔàµÍà V2.0 ¾Ã ÍÁ·Ñ§é ÁÕ¾Íà µÍ¹Ø¡ÃÁÇ Ò§Í ҧ¹ Í 1 ¾Íà µ 5. µÑÇá»Å§ USB à» ¹¾Íà µÍ¹Ø¡ÃÁ (USB to Serial port converter) 㹡óÕà¤Ã×Íè §¤ÍÁ¾ÔÇàµÍà ·Õè 㪠äÁ ÁÕ¾Íà µÍ¹Ø¡ÃÁ
ÇÔ¸Õ¡ÒÃ
1.1 ¹íÒ i-Stamp µÔ´µÑ§é ŧº¹«çÍ¡à¡çµ 24 ¢Òº¹á¼§Ç§¨Ã AX-2SX µÒÁ·ÔÈ·Ò§ã¹ÃÙ»·Õè A1-1
µÔ´µÑé§ i-Stamp â´ÂËѹ´ Ò¹·ÕèÁÕ ÃͺҡàÇ Òä»·Ò§« ÒÂÁ×Í áÅÐ ¢Òµ Í㪠§Ò¹·Ñ§é ËÁ´¢Í§ i-Stamp µ ͧŧ㹫çÍ¡à¡çµÍ ҧÊÁºÙó ·Ø¡¢Ò ÃÙ»·Õè A1-1 áÊ´§¡ÒõԴµÑ§é i-Stamp ŧº¹ºÍà ´ AX-2SX
42
l
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
1.2 µ ÍÊÒÂàª×Íè Áµ ÍÃÐËÇ Ò§¾Íà µÍ¹Ø¡ÃÁ¢Í§¤ÍÁ¾ÔÇàµÍà ¡ºÑ ἧǧ¨Ã AX-2SX ´Ñ§ã¹ÃÙ»·Õè A1-2 µ Íä»Âѧ¾Íà µÍ¹Ø¡ÃÁ ¢Í§¤ÍÁ¾ÔÇàµÍà ¤Í¹à¹ç¡àµÍà DB-9 µÑÇàÁÕ $ % & '
ÊÒÂàª×èÍÁµ Í ¾Íà µÍ¹Ø¡ÃÁ ´ Ò¹µÑÇàÁÕÂ
! " #
ÊÒÂàª×èÍÁµ Í ¾Íà µÍ¹Ø¡ÃÁ ´ Ò¹µÑǼÙ
ÊÒÂÁÑŵԤÍà 9 àÊ ¹
RS-232 DOWNLOAD DC INPUT
RESET
ON
i-Stamp OFF
AX-2SX
BASIC Stamp ACTIVITY BOARD LED OUTPUT
P7 P6 P5 P4 P3 P2 P1 P0 P12 SOUND/FREQ. OUTPUT
STEPPER MOTOR
P14 RC-PORT SERIAL DATA
LDR
P9
SWITCH INPUT
P13 RELAY OUT
P8 RY.
RELAY
P10
$ % & '
P11
! " #
+5V. P15 GND
NC C NO
¤Í¹à¹ç¡àµÍà DB-9 µÑǼÙ
ÃÙ»·Õè A1-2 áÊ´§¡ÒÃàª×Íè Áµ ÍÃÐËÇ Ò§á¼§Ç§¨Ã AX-2SX ¡Ñº¤ÍÁ¾ÔÇàµÍà ¼Ò ¹¾Íà µÍ¹Ø¡ÃÁ 1.3 ¨ ÒÂä¿ãË á¡ Ç§¨Ã áÅ Çà» ´â»Ãá¡ÃÁàºÊÔ¡áʵÁ» àÍ´ÔàµÍà V2.0 1.4 µÃǨÊÍºÇ Ò â»Ãá¡ÃÁàºÊÔ¡áʵÁ» àÍ´ÔàµÍà ÊÒÁÒöµÔ´µ ͡Ѻ i-Stamp ä´ ËÃ×ÍäÁ â´Â ¡´¤Õ Ctrl I ËÃ×Í㪠àÁÒÊ ¤ÅÔ¡é »ØÁ Identify ËÃ×ÍࢠÒä»·Õàè Á¹Ù Run àÅ×Í¡ Identify ¶ Ò·Ø¡Í ҧ¶Ù¡µ ͧ ¨Ð»ÃÒ¡¯Ë¹ Òµ Ò§áÊ´§¡ÒõԴµ ʹѧã¹ÃÙ»·Õè A1-3 ¨ÐàËç¹Ç Ò㹪 ͧ COM1 ¨Ð»ÃÒ¡¯ª×èÍ BASIC Stamp2SX V1.0 à» ¹¡ÒÃᨠ§ãË ·ÃÒºÇ Ò â»Ãá¡ÃÁÊÒÁÒöµÔ´µ ͡Ѻ àºÊÔ¡áʵÁ» 2SX ÍÔ¹àµÍà ¾ÃÕµàµÍÃ ä´ áÅ Ç 1.5 ·´Åͧà¢Õ¹â»Ãá¡ÃÁ§ ÒÂæ µÒÁ¢Ñ¹é µÍ¹´Ñ§¹Õé 1.5.1 àÅ×Í¡ä´àÃ硵տËÃ×ͪ¹Ô´¢Í§àºÊÔ¡áʵÁ» ·Õèµ Í§¡ÒÃ㪠§Ò¹ ä»·ÕèàÁ¹Ù Directive àÅ×Í¡ Stamp à BS2SX ´Ñ§ã¹ÃÙ»·Õè A1-4 ¨Ð»ÃÒ¡¯¢ ͤÇÒÁ {$STAMP BS2SX} ¢Ö¹é º¹ºÃ÷Ѵáá ¡´ Enter
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
l
43
ÃÙ»·Õè A1-3 áÊ´§¼Å¡ÒõÃǨÊͺ¡ÒõԴµ ͡Ѻ àºÊÔ¡áʵÁ» 2SX ¢Í§â»Ãá¡ÃÁàºÊÔ¡áʵÁ» àÍ´ÔàµÍà V2 ¶ Ò»ÃÒ¡¯¢ ͤÇÒÁ BASIC Stamp 2SX 㹪 ͧ device Type áÊ´§Ç Ò ¡ÒõԴµ ÍÊÁºÙó ÃÙ»·Õè A1-4 áÊ´§¡ÒÃàÅ×Í¡ä´àÃ硵տÃкت¹Ô´¢Í§ àºÊÔ¡áʵÁ» à» ¹àºÊÔ¡áʵÁ» 2SX ÊÒÁÒö㪠§Ò¹ä´ 1.5.2 ÂѧÍÂÙ· àÕè Á¹Ù Directive àÅ×Í¡¾Íà µÍ¹Ø¡ÃÁ·Õµè ´Ô µ ͡Ѻ i-Stamp â´ÂàÅ×Í¡ Port à Com1 (ËÃ×Í Com Í×¹è æ µÒÁ·Õµè Í äÇ ¨ÃÔ§) ´Ñ§ÃÙ»·Õè A1-5 ¨Ð»ÃÒ¡¯¢ ͤÇÒÁ {$PORT COM1} ¢Ö¹é º¹ºÃ÷Ѵ ·ÕÊè ͧ ¡´ Enter 1.5.3 ÂѧÍÂÙ· àÕè Á¹Ù Directive àÅ×Í¡àÇÍà ª¹Ñè ¢Í§â»Ãá¡ÃÁàÍ´ÔàµÍà PBASIC à Version2.5 ´Ñ§ÃÙ»·Õè A1-6 ¨Ð»ÃÒ¡¯¢ ͤÇÒÁ {$PBASIC 2.5} ¢Ö¹é º¹ºÃ÷Ѵ·ÕÊè ÒÁ ¡´ Enter 1.5.4 ¾ÔÁ¾ ¤Òí Êѧè debug welcome à» ¹¡ÒÃÊѧè ãË i-Stamp Ê §¢ ͤÇÒÁ welcome ä»áÊ´§ Âѧ˹ Òµ Ò§ Debug Terminal ¢Í§â»Ãá¡ÃÁàºÊÔ¡áʵÁ» àÍ´ÔàµÍà áÅ Ç¡´ Enter 1.5.5 ¡´»ØÁ Run ¨Ð»ÃÒ¡¯Ë¹ Òµ Ò§µÃǨÊͺ¡ÒÃàª×Íè Áµ ÍàºÊÔ¡áʵÁ» áÅлÃÒ¡¯Ë¹ Ò µ Ò§ Debug Terminal áÊ´§¢ ͤÇÒÁ welcome ´Ñ§ã¹ÃÙ»·Õè A1-7
ÃÙ»·Õè A1-5 áÊ´§¡ÒÃàÅ×Í¡ä´àÃ硵տÃкؾÍà µ ÃÙ»·Õè A1-6 áÊ´§¡ÒÃàÅ×Í¡ä´àÃ硵տÃкصÇÑ á»Å ͹ءÃÁ·Õãè ª àª×Íè Áµ ͡ѺàºÊÔ¡áʵÁ» 2SX ÀÒÉÒ PBASIC 2.5
44
l
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
ÃÙ»·Õè A1-8 áÊ´§Ë¹ Òµ Ò§ Debug Terminal Íѹ໠¹Ë¹ Òµ Ò§¡ÒõԴµ ÍÃÐËÇ Ò§àºÊÔ¡áʵÁ» 2SX ¡Ñº¤ÍÁ¾ÔÇàµÍà ¼ Ò¹¾Íà µÍ¹Ø¡ÃÁ «Ö觼٠㪠§Ò¹ÊÒÁÒöÃѺáÅÐÊ §¢ ÍÁÙÅ͹ءÃÁ¼ Ò¹·Ò§Ë¹ Òµ Ò§¹Õéä´ µÅÍ´àÇÅÒ áÅзء¤ÃÑ§é ·ÕÁè ¡Õ ÒÃ㪠¤Òí Êѧè debug ˹ Òµ Ò§¹Õ¨é Ðà» ´¢Ö¹é â´ÂÍѵâ¹ÁÑµÔ ÃÙ»·Õè A1-9 ˹ Òµ ҧᨠ§äÁ ¾ºàºÊÔ¡áʵÁ» 2SX ãË µÃǨÊͺ ÊÒÂáÅСÒÃàª×Íè Áµ Í·Õ¤è ͹à¹ç¡àµÍà º¹ºÍà ´ AX-2SX ÃÇÁ·Ñ§é ¡Òà ¨ ÒÂä¿ãË á¡ i-Stamp ¼ Ò¹ºÍà ´·´Åͧ AX-2SX 1.5.6 ¡´ÊÇÔµª RESET º¹ºÍà ´ AX-2SX â»Ãá¡ÃÁ¨ÐáÊ´§¢ ͤÇÒÁà´ÔÁº¹Ë¹ Òµ Ò§ Debug Terminal «éÒí ÍÕ¡ à¹×Íè §¨Ò¡¡Òá´ÊÇÔµª RESET à» ¹¡ÒÃÊѧè ãË äÁâ¤Ã¤Í¹â·ÃÅàÅÍà àÃÔÁè ·íÒ§Ò¹ãËÁ Í¡Õ ¤Ãѧé 1.5.7 ¶ Ò»ÃÒ¡¯¢ ͤÇÒÁµÒÁÃÙ»·Õè A1-9 áÊ´§Ç Ò ¡ÒÃàª×Íè Áµ ÍÃÐËÇ Ò§¤ÍÁ¾ÔÇàµÍà ¡ºÑ i-Stamp Å ÁàËÅÇ «Ö§è ÍÒ¨à¡Ô´¨Ò¡ÊÒÂàª×Íè Áµ Í CX-232 ¢Ò´ËÃ×͵ ÍäÁ ¶¡Ù µ ͧ ãË ·Òí ¡ÒõÃǨÊͺ ÊÒÂàª×Íè Áµ Í CX-232 â´ÂÁÕä´ÍÐá¡ÃÁ¡Òõ ÍÊÒ CX-232 áÊ´§ã¹ÃÙ»·Õè A1-2 1.6 ËÒ¡à¢Õ¹â»Ãá¡ÃÁ·´ÅͧàÃÕºà ÍÂáÅ Ç µ ͧ¡ÒÃà¡çºã¹ÃٻῠÁ¢ ÍÁÙÅ ÊÔ觷Õèµ Í§¡ÃзíÒ¤×Í ãË ºÑ¹·Ö¡á¿ Á¢ ÍÁÙÅâ´Â¡íÒ˹´ãË Á¹Õ ÒÁÊ¡ØÅ .bsx àÊÁÍ à¹×Íè §¨Ò¡àºÊÔ¡áʵÁ» 2SX ÍÔ¹àµÍà ¾ÃÕµ àµÍà ¨Ð·íÒ¡ÒÃá»Åâ»Ãá¡ÃÁ¹ÒÁÊ¡ØÅ .bsx ෠ҹѹé ÊíÒËÃѺ¡ÒÃ㪠â»Ãá¡ÃÁàºÊÔ¡áʵÁ» àÍ´ÔàµÍà áÅСÒÃ㪠¤íÒÊÑ觷Ñé§ËÁ´¢Í§ i-Stamp ËÃ×Í àºÊÔ¡áʵÁ» 2SX ÊÒÁÒÃ¶Í Ò¹ä´ ¨Ò¡Ë¹Ñ§Ê×ͤسÊÁºÑµ·Ô Ò§ÎÒà ´áÇà áÅЪش¤íÒÊÑ§è ¢Í§àºÊÔ¡áʵÁ» 2SX «Ö§è ¨Ñ´¾ÔÁ¾ â´ÂºÃÔÉ·Ñ ÍÔ¹â¹àǵտ àÍç¡à¾ÍÃÔàÁ¹µ ¨íÒ¡Ñ´
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
l
45
º··Õè 4
àºÊÔ¡áʵÁ» 2SX ¡Ñº ¡ÒâѺÍØ»¡Ã³ áʧáÅÐÊà ҧÊÑÒ³àÊÕ§
¡ÒÃáÊ´§ãË àË繶֧»ÃÐ⪹ ¢Í§¡ÒùíÒäÁâ¤Ã¤Í¹â·ÃÅàÅÍà ä»ãª §Ò¹Í ҧ§ ÒÂáÅÐàËç¹ ªÑ´à¨¹·ÕÊè ´Ø ¤×Í ¡ÒâѺÍØ»¡Ã³ áʧáÅÐàÊÕ§ ÍØ»¡Ã³ ¾¹×é °Ò¹·ÕÊè ÒÁÒö¡íÒà¹Ô´áÊ§ä´ ¤Í× ä´âÍ´à»Å § áʧËÃ×Í LED (Light Emitting Diode) Ê Ç¹¡ÒÃÊ §ÊÑÒ³àÊÕ§¨Ð㪠ÅÒí ⾧໠¹µÑÇáÊ´§¼Å¡Òà ·íÒ§Ò¹ 㹺·¹Õ¨é СŠÒǶ֧¡ÒùíÒäÁâ¤Ã¤Í¹â·ÃÅàÅÍà àºÊÔ¡áʵÁ» 2SX ÁÒµ Í㪠§Ò¹¡ÑºÍØ»¡Ã³ ¾×¹é °Ò¹·Ñ§é Êͧ¡ÅØÁ ¼ Ò¹·Ò§â¤Ã§§Ò¹áÅСԨ¡ÃÃÁµ Ò§æ 9 ¡Ô¨¡ÃÃÁ µÑ§é áµ ¡¨Ô ¡ÃÃÁ§ Ò·ÕÊè ´Ø ¤×Í Ç§¨Ã 信оÃÔº, ǧ¨Ã¹ÑºàÅ¢°Ò¹Êͧ«Ö§è áÊ´§´ Ç LED à¾×Íè »ÃÐ⪹ 㹡ÒÃàÃÕ¹ÃÙà кºµÑÇàÅ¢°Ò¹Êͧ Íѹ໠¹ÃкºµÑÇàÅ¢ËÅÑ¡¢Í§Ç§¨Ã´Ô¨µÔ ÍÅáÅÐäÁâ¤Ã¤Í¹â·ÃÅàÅÍà , ·´ÅͧÊà ҧÊÑÒ³àÊէ͠ҧ § ÒÂà¾×Íè ¹íÒä»ãª à » ¹à¤Ã×Íè §ãË ¨§Ñ ËÇÐ áÅСÒÃÊà ҧÊÑÒ³¤ÇÒÁ¶Õâè ¹ µ´¹µÃÕà¾×Íè 㪠໠¹¾×¹é °Ò¹ã¹ ¡ÒÃà¢Õ¹â»Ãá¡ÃÁãË äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ÊÒÁÒöàÅ ¹´¹µÃÕà» ¹à¾Å§ä´ ËÑÇ㨢ͧ¡Ò÷íÒ§Ò¹¡ÑºÍØ»¡Ã³ 㹡ÅØÁ ¹Õ¤é Í× ¡ÒäǺ¤ØÁãË ¢Ò¾Íà µËÃ×Í¢Òµ Í㪠§Ò¹¢Í§àºÊÔ¡ áʵÁ» 2SX à» ¹¢Ò¾Íà µàÍÒµ ¾µØ (output) à¾×Íè Ê §ÊÑÒ³ÅͨԡÊÙ§ËÃ×͵èÒí Í͡仢ѺÍØ»¡Ã³ áʧÃÇÁ·Ñé§Ê §ÊÑÒ³à¾×è͢ѺÍÍ¡ÅíÒ⾧ãË ä´ ÂÔ¹ +5V
¾Íà µàÍÒµ ¾Øµ (output port) : à» ¹¢Ò㪠§Ò¹¢Í§äÁâ¤Ã
¤Í¹â·ÃÅàÅÍà ·Õè㪠㹡ÒÃÊ §ÊÑҳ俿 ÒÍÍ¡ä»ÂѧÍØ»¡Ã³ ·Õè µ Íà ÇÁ´ Ç 㹡óշÊÕè § à» ¹ÊÑÒ³ÅͨԡÁÕ´Ç Â¡Ñ¹ 2 ÅѡɳР¤×Í Åͨԡ 0 áÅÐÅͨԡ 1 «Ö§è ¨Ð¢Ö¹é ÍÂÙ¡ ºÑ ÅѡɳСÒõ Íǧ¨Ã ¢Í§ÍØ»¡Ã³ ·¡Õè ºÑ ¾Íà µàÍÒµ ¾µØ ¹Ñ¹é ¶ ÒãË ·Òí §Ò¹´ ÇÂÅͨԡ 0 ÁÑ¡ ¨Ðµ Íǧ¨Ãã¹ÅѡɳСÃÐáÊ«Ô§¡ (sink current) ¶ Ò·íÒ§Ò¹´ Ç Åͨԡ 1 ¨Ðµ Íǧ¨Ãã¹ÅѡɳСÃÐáÊ«ÍÃ Ê (source current) ÊíÒËÃѺ i-Stamp (ἧǧ¨ÃàºÊÔ¡áʵÁ» 2SX) ÁÕ¤ÇÒÁÊÒÁÒö㹠¡ÒâѺ¡ÃÐáÊÍÍ¡¢Ò¾Íà µàÍÒµ ¾Øµ·Ñé§áºº¡ÃÐáÊ«Ô§¡ áÅСÃÐáÊ «Íà Ê෠ҡѹ¤×Í 30mA µ Í¢Ò áµ ÃÇÁ¡Ñ¹ 8 ¢Ò෠ҡѺ 60mA ¹Í¡ ¨Ò¡¹ÑÂé §Ñ ÊÒÁÒÃ¶Ê §ÊÑÒ³ÍÍ¡ä»ã¹áºº¤ÇÒÁ¶Õäè ´ ´Ç Â
i-Stamp
2
R1 510 LED1
¡ÃÐáÊä¿¿ ÒäËż Ò¹âËÅ´à¢ Ò ä»ã¹¢Ò¾Íà µ
(¡) ¡ÒâѺÍØ»¡Ã³ Ẻ¡ÃÐáÊ«Ô§¡ ¢Í§¢Ò¾Íà µàÍÒµ ¾µØ ¡ÃÐáÊä¿¿ ÒäËÅÍÍ¡¨Ò¡ ¢Ò¾Íà µä»ÂѧâËÅ´ i-Stamp
2 R1 510 LED1
(¢) ¡ÒâѺÍØ»¡Ã³ Ẻ¡ÃÐáÊ«Íà ʢͧ¢Ò¾Íà µàÍÒµ ¾µØ
46
l
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
¡ÒáíÒ˹´ãË ¢Ò¾Íà µà» ¹àÍÒµ ¾Øµ ¡ÒáíÒ˹´ãË ¢Ò¾Íà µ P0-P15 ¢Í§àºÊÔ¡áʵÁ» 2SX ·íҧҹ໠¹àÍÒµ ¾µØ ¨Ðµ ͧà¢Õ¹ ¢ ÍÁÙÅ 1 ä»ÂѧÃÕ¨ÔÊàµÍà DIR ¡ ͹àÊÁÍ â´Â¶ Òµ ͧ¡ÒÃãË ¢Ò P0 à» ¹¢ÒàÍÒµ ¾Øµ µ ͧà¢Õ¹ â»Ãá¡ÃÁ´Ñ§¹Õé DIR0 = 1
¨Ò¡¹Ñ¹é à¢Õ¹¢ ÍÁÙÅ·Õµè Í §¡ÒÃÊ §ÍÍ¡ä»Âѧ¢Ò¾Íà µ¹Ñ¹é â´ÂÊÒÁÒöà¢Õ¹â»Ãá¡ÃÁä´ ´§Ñ ¹Õé OUT0 = 1 à» ¹¡ÒÃÊ §¢ ÍÁÙÅ 1 ÍÍ¡ä»Âѧ¢Ò P0 OUT0 = 0 à» ¹¡ÒÃÊ §¢ ÍÁÙÅ 0 ÍÍ¡ä»Âѧ¢Ò P0
¡Ô¨¡ÃÃÁ·Õè 2 : ááàÃÔÁè àÃÕ¹ÃÙ´ Ç Â信оÃÔº ¹Õ¤è Í× ¨Ø´àÃÔÁè µ ¹·Õáè ʹ¤ÅÒÊÔ¡¢Í§¡ÒÃàÃÕ¹ÃÙä Áâ¤Ã¤Í¹â·ÃÅàÅÍà 信оÃÔº Âѧ໠¹¡Ò÷´Åͧ ·ÕèÁÑ¡¶Ù¡¹íÒÁÒàʹÍà¾×èÍàÃÔèÁµ ¹àÃÕ¹ÃÙ ¡ÒÃà¢Õ¹â»Ãá¡ÃÁäÁâ¤Ã¤Í¹â·ÃÅàÅÍà Í ҧ§ Ò·ÕèÊØ´ áÅÐÂÔè§ ´ ǤÇÒÁÊÒÁÒö¢Í§àºÊÔ¡»áʵÁ» 2SX ÂÔ§è ª Ç¡ÒÃàÃÔÁè µ ¹§ ÒÂà¾ÔÁè ¢Ö¹é ÍÕ¡ ´ ǤíÒÊѧè à¾Õ§ 3 ¤íÒÊÑ§è ¤×Í LOW (Ê §ÊÑÒ³µèÒí ), HIGH (Ê §ÊÑÒ³ÅͨԡÊÙ§) áÅÐ PAUSE (˹ ǧàÇÅÒ) ã¤Ãæ ¡çÊÒÁÒö Êà ҧâ»Ãá¡ÃÁ信оÃÔºä´
ÍØ»¡Ã³ áÅÐà¤Ã×èͧÁ×Í 1. ἧǧ¨Ã i-Stamp áÅÐ AX-2SX 2. ÊÒÂàª×Íè Áµ ;Íà µÍ¹Ø¡ÃÁ¢Í§¤ÍÁ¾ÔÇàµÍà ËÃ×ÍÊÒ CX-232 3. ¤ÍÁ¾ÔÇàµÍà ·µÕè ´Ô µÑ§é Ãкº»¯ÔºµÑ ¡Ô ÒÃÇÔ¹â´ÇÊ áÅÐâ»Ãá¡ÃÁàºÊÔ¡áʵÁ» àÍ´ÔàµÍà V2.0 4. µÑÇá»Å§ USB à» ¹¾Íà µÍ¹Ø¡ÃÁ (USB to Serial port converter) 㹡óÕà¤Ã×Íè §¤ÍÁ¾ÔÇàµÍà ·Õè 㪠äÁ ÁÕ¾Íà µÍ¹Ø¡ÃÁ
ÇÔ¸Õ¡Òà 2.1 ¹íÒ i-Stamp µÔ´µÑ§é ŧº¹«çÍ¡à¡çµ 24 ¢Òº¹á¼§Ç§¨Ã AX-2SX 㪠ǧ¨Ãã¹ÃÙ»·Õè A2-1 㹡Ò÷´Åͧ 2.2 à¢Õ¹â»Ãá¡ÃÁ·Õè A2-1 ºÑ¹·Ö¡ã¹ª×Íè ä¿Å ACT0201.BSX 2.3 ´Òǹ âËÅ´â»Ãá¡ÃÁ Êѧࡵ¼Å¡Ò÷íÒ§Ò¹ àÁ×Íè â»Ãá¡ÃÁ·íÒ§Ò¹ ¾Íà µ P0 ¨Ð¶Ù¡ÊÑ§è §Ò¹à» ¹àÍÒµ ¾µØ áÅ ÇÊ §Åͨԡ 0 ·íÒãË LED ´Ñº ¾Ã ÍÁ¡ÑºË¹ ǧàÇÅÒ 500 ÁÔÅÅÔÇ¹Ô Ò·ÕáÅ ÇÊ §Åͨԡ 1 ãË LED µÔ´ÊÇ Ò§ áÅÐ˹ ǧàÇÅÒä» 500 ÁÔÅÅÔÇ¹Ô Ò·Õઠ¹¡Ñ¹ ·íÒઠ¹¹ÕÊé ÅѺ¡Ñ¹ ¡ç¨ÐàËç¹ LED ¡Ð¾ÃÔº
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
+5V 21
i-Stamp
22 RST 23 GND
SW1 RESET
2
5 R1 510 LED1
ÃÙ»·Õè A2-1 ǧ¨Ã¢Ñºä¿¡Ð¾ÃÔº 1 ´Ç§´ Ç i-Stamp 㹡Ԩ¡ÃÃÁ·Õè 2 '******************************************************* ' Program : LED Blinking ' Filename : ACT0201.BSX ' Processor : BASIC Stamp 2sx ' Copyright (C) 2003 Innovative Experiment Co.,Ltd. '******************************************************* '{$STAMP BS2sx} '{$PBASIC 2.5} LED CON 0 ' Define P0 as LED DELAY CON 500 ' Define DELAY as 500 MAIN: HIGH PAUSE LOW PAUSE GOTO
LED DELAY LED DELAY MAIN
' ' ' ' '
Set P0=1 Delay Clear P0=0 Delay Jump to main
â»Ãá¡ÃÁ·Õè A2-1 â»Ãá¡ÃÁ¢Ñºä¿¡Ð¾ÃÔº 1 ´Ç§´ Ç i-Stamp 㹡Ԩ¡ÃÃÁ·Õè 2
à¡Ãç´à¾ÔÁè àµÔÁ l à»ÅÕÂ è ¹¤ Ò˹ ǧàÇÅÒã¹â»Ãá¡ÃÁ ¨Ò¡ 500 ÁÔÅÅÔÇ¹Ô Ò·Õ à» ¹¤ ÒÍ×¹è Êѧࡵ¼ÅÅѾ¸ ·äÕè ´
à·¤¹Ô¤à¾ÔÁè àµÔÁ l ã¹¡Ã³Õ¹Ê Õé ÒÁÒöÂغâ»Ãá¡ÃÁËÅÑ¡ MAIN â´Â㪠¤Òí Êѧè TOGGLE ä´ ´§Ñ ¹Õé MAIN :
TOGGLE LED PAUSE DELAY GOTO MAIN
l
47
48
l
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
¡Ô¨¡ÃÃÁ·Õè 3 : 信оÃÔº 8 ´Ç§ ¨Ò¡ä¿¡Ð¾ÃÔº 1 ´Ç§ ÁÒà¾ÔÁè ·Ñ¡ÉСÒÃà¢Õ¹â»Ãá¡ÃÁà¾×Íè ãË ÊÒÁÒö¢Ñº LED ä´ ÁÒ¡¡Ç Ò 1 µÑÇ ã¹¡Ô¨¡ÃÃÁ¹ÕÁé ÒÅͧ¢Ñº LED 8 ´Ç§ â´Â¨Ð㪠¤ÇÒÁÃÙà ¡ÕÂè ǡѺ¡ÒáíÒ˹´¤ Ò¾Íà µãË à» ¹àÍÒµ ¾µØ â´Â¡ÒáíÒ˹´¤ Ò·ÕÃè ¨Õ ÊÔ àµÍà DIR Ê Ç¹¤ Ò·Õµè Í §¡ÒÃáÊ´§¨ÃÔ§æ ¨ÐÊ §ä»ÃÕ¨ÊÔ àµÍà OUTL
ÇÔ¸Õ¡Òà 3.1 㪠ǧ¨Ãã¹ÃÙ»·Õè A3-1 㹡Ò÷´Åͧ áÅ Çà¢Õ¹â»Ãá¡ÃÁ·Õè A3-1 ºÑ¹·Ö¡ã¹ª×Íè ä¿Å ACT0301.BSX '********************************************************* ' Program : 8 LEDs Blinking ' Filename : ACT0301.BSX ' Processor : BASIC Stamp 2SX/i-Stamp '********************************************************* '{$STAMP BS2sx} '{$PBASIC 2.5} DELAY CON 500 ' Define DELAY as 500 DIRL=%11111111 ' Set P0-P7 as outputs OUTL=%01010101 ' Set initial value to P0-P7 MAIN: PAUSE DELAY OUTL=~OUTL GOTO MAIN
' Delay ' Complement P0-P7 ' Jump to main
ã¹â»Ãá¡ÃÁ¹Õ¡é Òí ˹´¢Ò¾Íà µ P0-P7 à» ¹àÍÒµ ¾µØ ·Ñ§é ËÁ´´ Ç¡ÒáíÒ˹´·Õè DIRL áÅÐµÑ§é ¤ ÒàÃÔÁè µ ¹ ¢Í§ LED ´ ǤíÒÊѧè OUTL à» ¹ %01010101 «Ö§è ¡ç¤Í× ¡íÒ˹´ãË LED µÔ´´ÑºÊÅѺ´Ç§¡Ñ¹ä»
â»Ãá¡ÃÁ·Õè A3-1 â»Ãá¡ÃÁ¢Ñºä¿¡Ð¾ÃÔº 8 ´Ç§´ Ç i-Stamp 㹡Ԩ¡ÃÃÁ·Õè 3 +5V 21 SW1 RESET
P7
22 RST 23 GND
i-Stamp
P6 P5
12 11
R8 R7
10
R6
9
R5
8
R4
7
R3
6
R2
5
R1
P4 P3 P2 P1 P0
ÃÙ»·Õè A3-1 ǧ¨Ã¢Ñºä¿¡Ð¾ÃÔº 8 ´Ç§
LED8 LED7 LED6 LED5 LED4 LED3 LED2 LED1
3.2 ´Òǹ âËÅ´â»Ãá¡ÃÁ Êѧࡵ¼Å¡Òà ·íÒ§Ò¹ ¨ÐàËç¹ LED µÔ´´ÑºÊÅѺ´Ç§¡Ñ¹ 令Ãѧé ÅÐ 4 ´Ç§
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
l
Ê Ç¹»ÃСͺ¢Í§¢ ÍÁÙÅ
¢ ÍÁÙÅ·Õãè ª 㹡ÒûÃÐÁÇżŢͧäÁâ¤Ã¤Í¹â·ÃÅàÅÍà ÊÒÁÒö¡ÃзíÒä´ µ§Ñé áµ 1 ºÔµ ¢Ö¹é ä» ÊíÒËÃѺàºÊÔ¡áʵÁ» 2SX ¨Ð·íÒ§Ò¹¡Ñº¢ ÍÁÙÅ 1-16 ºÔµ â´ÂÁÕ¡ÒáíÒ˹´â¤Ã§Êà ҧ Ê Ç¹»ÃСͺ¢Í§¢ ÍÁÙÅ·Õèà» ¹Áҵðҹà´ÕÂǡѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍà µÑÇÍ×è¹·ÑèÇâÅ¡áÅÐ àËÁ×͹¡Ñºã¹¤ÍÁ¾ÔÇàµÍà ´Ç  ´Ñ§¹Õé 亵 ¹ÔºàºÔÅÊÙ§ (4 ºÔµº¹) ¹ÔºàºÔŵíÒè (4 ºÔµÅ Ò§) MSB LSB ºÔµ 7 ºÔµ 6 ºÔµ 5 ºÔµ 4 ºÔµ 3 ºÔµ 2 ºÔµ 1 ºÔµ 0 ¢ ÍÁÙÅ * % $ # " ! 2 2 2 2 2 2 2 2 ¤ Ò¹íÒé ˹ѡ 128 64 32 16 8 4 2 1 * ÊÒÁÒöà»ÅÕÂè ¹á»Å§ä´
ºÔµ-¹ÔºàºÔÅ-亵 -àÇÔà ´
·Ñ§é ËÁ´à» ¹ª×Íè ˹ Ç¢ͧ¢ ÍÁÙÅ·Õãè ª 㹡ÒûÃÐÁÇżŢͧäÁâ¤Ã¤Í¹â·ÃÅàÅÍà ºÔµ (bit) à» ¹¢¹Ò´¢Í§¢ ÍÁÙÅàÅ¢°Ò¹Êͧ·Õàè Åç¡·ÕÊè ´Ø à· Ò¡Ñº 1 ËÅÑ¡¢Í§àÅ¢°Ò¹Êͧ ¹ÔºàºÔÅ (nibble) ÁÕ¢¹Ò´à· ҡѺ 4 ºÔµ 亵 (byte) ÁÕ¢¹Ò´à· ҡѺ 8 ºÔµ àÇÔô (word) ÁÕ¢¹Ò´à· ҡѺ 16 ºÔµ ËÃ×Í 2 亵 ª×Íè àÇÔô (16 ºÔµ) ª×Íè 亵 (8 ºÔµ) DIRH ª×Íè ¹ÔºàºÔÅ (4 ºÔµ) DIRD DIRC ª×Íè ºÔµ DIR15 DIR14 DIR13 DIR12 DIR11 DIR10 DIR9 2 2 2' ¢Ò 2 # 2 " 2 ! 2
DIRS
DIR8 2&
DIR7 2%
DIRB DIR6 DIR5 2$ 2#
DIRL DIR4 2"
DIR3 2!
DIRA DIR2 DIR1 2 2
DIR0 2
µÒÃÒ§áÊ´§¤ÇÒÁÊÑÁ¾Ñ¹¸ ¢Í§¢Ò¾Íà µ¡ÑºÃÕ¨ÔÊàµÍà ¡íÒ˹´·ÔÈ·Ò§ DIR â´Â¨Ñ´à» ¹¡ÅØ ÁµÑé§áµ ÃдѺºÔµ, ¹ÔºàºÔÅ, 亵 áÅÐàÇÔô ª×Íè àÇÔô (16 ºÔµ) OUTS ª×Íè 亵 (8 ºÔµ) OUTH OUTL ª×Íè ¹ÔºàºÔÅ (4 ºÔµ) OUTD OUTC OUTB OUTA ª×Íè ºÔµ OUT15 OUT14 OUT13 OUT12 OUT11 OUT10 OUT9 OUT8 OUT7 OUT6 OUT5 OUT4 OUT3 OUT2 OUT1 OUT0 2 2 2' 2& 2% 2$ 2# 2" 2! 2 2 2 ¢Ò 2 # 2 " 2 ! 2
µÒÃÒ§áÊ´§¤ÇÒÁÊÑÁ¾Ñ¹¸ ¢Í§¢Ò¾Íà µ¡ÑºÃÕ¨ÊÔ àµÍà à¡çº¢ ÍÁÙÅàÍÒµ ¾µØ OUT â´Â¨Ñ´à» ¹¡ÅØÁ µÑ§é áµ ÃдѺºÔµ, ¹ÔºàºÔÅ, 亵 áÅÐàÇÔô
49
50
l
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
¡Ô¨¡ÃÃÁ·Õè 4 : ä¿ÇÔ§è 8 ´Ç§ ¨Ò¡ä¿¡Ð¾ÃÔºàÃÕ¹ÃÙà ¾ÔÁè ÍÕ¡¢Ñ¹é Ë¹Ö§è ¡Ñº¤íÒÊѧè << áÅÐ >> à¾×Íè 㪠àÅ×Íè ¹ºÔµ¢ ÍÁÙÅàÅ¢°Ò¹ÊÍ§ä» ·Ò§« ÒÂËÃ×Í¢ÇÒ ·íÒãË à¡Ô´à» ¹Ç§¨Ãä¿ÇÔ§è ·Ò§« ÒÂËÃ×Í¢ÇÒ 8 ´Ç§ ¢Ö¹é ÍÂÙ¡ ºÑ ¡ÒÃà¢Õ¹â»Ãá¡ÃÁ
ÇÔ¸Õ¡Òà 4.1 Âѧ¤§ãª ǧ¨Ãã¹ÃÙ»·Õè A3-1 㹡Ò÷´Åͧ 4.2 à¢Õ¹â»Ãá¡ÃÁ·Õè A4-1 ºÑ¹·Ö¡ã¹ª×Íè ä¿Å ACT0401.BSX '********************************************************* ' Program : 8-LEDs running light ' Filename : ACT0401.BSX ' Processor : BASIC Stamp 2SX/i-Stamp '********************************************************* '{$STAMP BS2sx} '{$PBASIC 2.5} DELAY CON 100 ' Define DELAY as 100 DIRL=%11111111 RELOAD: OUTL=%00000001 MAIN: PAUSE DELAY IF OUTL=%10000000 THEN RELOAD OUTL=OUTL<<1 GOTO MAIN
' ' ' ' ' ' '
Set P0-P7 as outputs Set initial value to P0-P7 Delay Check last stage reload when P7 had shown. Shift LEDs to left Jump to main
ã¹â»Ãá¡ÃÁ㪠¤Òí Êѧè IF µÃǨÊÍºÇ Ò·íÒ§Ò¹¶Ö§µíÒá˹ §ÊØ´· ÒÂáÅ ÇËÃ×ÍäÁ ¶ ÒäÁ ¨ÐàÅ×Íè ¹ºÔµä»·Ò§ « Ò 1 ºÔµ áÅ Çǹ¡ÅѺä»Âѧâ»Ãá¡ÃÁËÅÑ¡ÍÕ¡¤Ãѧé àÁ×Íè ¤ÃºÃͺ ¤ Ò OUTL=%10000000 â»Ãá¡ÃÁ¨ÐÇ¡ ¡ÅѺÁÒâËÅ´¤ ÒãËÁ Í¡Õ ¤ÃÑ§é ¡ ͹ࢠÒÊÙâ »Ãá¡ÃÁËÅÑ¡µ Íä» áÅШзíÒઠ¹¹Õäé »àÃ×Íè Âæ à» ¹ä¿ÇÔ§è ǹ« Ò 8 ´Ç§
â»Ãá¡ÃÁ·Õè A4-1 â»Ãá¡ÃÁ¢Ñºä¿ÇÔ§è 8 ´Ç§ã¹¡Ô¨¡ÃÃÁ·Õè 4
4.3 ´Òǹ âËÅ´â»Ãá¡ÃÁ Êѧࡵ¼Å¡Ò÷íÒ§Ò¹ àÁ×Íè àÃÔÁè ·íÒ§Ò¹¨ÐàËç¹ LED µÔ´äÅ àÃÕ§¡Ñ¹·ÕÅÐ1 ´Ç§ ¨Ò¡ P0 ä»Âѧ P7
à¡Ãç´à¾ÔÁè àµÔÁ
·´Åͧà»ÅÕè¹â»Ãá¡ÃÁãË áÊ´§ä¿ÇÔ觡ÅѺ¨Ò¡ P7 ÁÒÂѧ P0 â´Âà»ÅÕ蹤 ÒàÃÔèÁµ ¹à» ¹ %10000000 áÅÐà»ÅÕÂ è ¹·ÔÈ·Ò§¡ÒÃàÅ×Íè ¹ºÔµ¨Ò¡ OUTL=OUTL<<1 à» ¹ OUTL=OUTL>>1 l
à·¤¹Ô¤à¾ÔÁè àµÔÁ l
¡ÒÃàÅ×Íè ¹ºÔµä»·Ò§« Ò ÁÕ¤Ò à·Õº෠ҡѺ¡Òäٳ¤ Òà´ÔÁ´ Ç 2 Ê Ç¹¡ÒÃàÅ×Íè ¹ºÔµä»·Ò§¢ÇÒÁÕ¤Ò à·Õº෠ҡѺ¡ÒÃËÒä Òà´ÔÁ´ Ç 2
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
l
51
¡Ô¨¡ÃÃÁ·Õè 5 : ä¿ÇÔ§è 8 ´Ç§ 2 ·ÔÈ·Ò§ à¾ÔÁè ·Ñ¡ÉСÒÃà¢Õ¹â»Ãá¡ÃÁ¨Ò¡¡Ô¨¡ÃÃÁ·Õè 4 â´Â㪠¡ÒÃǹÅÙ»´ ǤíÒÊѧè FOR....NEXT áÅÐ ¤íÒÊѧè DCD à¾×Íè ¡íÒ˹´Ê¶Ò¹ÐàÍÒµ ¾µØ Êà ҧ໠¹Ç§¨Ãä¿ÇÔ§è 2 ·ÔÈ·Ò§ á·¹¡ÒÃ㪠¤Òí Êѧè >> áÅÐ <<
ÇÔ¸Õ¡Òà 5.1 Âѧ¤§ãª ǧ¨Ãã¹ÃÙ»·Õè A3-1 㹡Ò÷´Åͧ 5.2 à¢Õ¹â»Ãá¡ÃÁ·Õè A5-1 ºÑ¹·Ö¡ã¹ª×Íè ä¿Å ACT0501.BSX '******************************************************* ' Program : 2-ways 8 LEDs running light ' Filename : ACT0501.BSX ' Processor : BASIC Stamp 2SX/i-Stamp '******************************************************* '{$STAMP BS2sx} '{$PBASIC 2.5} DELAY CON 200 ' Define DELAY as 200 I VAR Byte ' Define I as byte variable DIRL=%11111111 RELOAD: OUTL=%00000001 MAIN: FOR I=0 TO 6 OUTL=DCD I PAUSE DELAY NEXT
' ' ' ' ' '
Set P0-P7 as outputs Set initial value to P0-P7 Set loop I=0 to 6 Set bit 2^I=1, others=0 Delay End loop
FOR I=7 TO 1 OUTL=DCD I PAUSE DELAY NEXT
' ' ' '
Set loop I=7 downto 1 Set bit 2^I=1, others=0 Delay End loop
GOTO MAIN
' Jump to main
ã¹â»Ãá¡ÃÁ¹Õ¨é ÐÍÒÈÑ¡ÒÃµÑ§é µÑÇá»ÃÁÒ·íҧҹǹÅÙ» (I) áÅСíÒ˹´Ê¶Ò¹ÐàÍÒµ ¾µØ â´Â㪠¿§ ¡ ª¹Ñè DCD 㹡ÒÃ૵ºÔµ·Õè 2n ´ ÇÂ
â»Ãá¡ÃÁ·Õè A5-1 â»Ãá¡ÃÁ¢Ñºä¿ÇÔ§è 8 ´Ç§ 2 ·Ôȷҧ㹡Ԩ¡ÃÃÁ·Õè 5 5.3 ´Òǹ âËÅ´â»Ãá¡ÃÁ Êѧࡵ¼Å¡Ò÷íÒ§Ò¹ LED ¨ÐµÔ´äÅ àÃÕ§¡Ñ¹¤Ãѧé ÅÐ 1 ´Ç§¨Ò¡ P0 ä» P7 áÅ ÇÇÔ§è ¡ÅѺä»-ÁÒµÅÍ´àÇÅÒ
à¡Ãç´à¾ÔÁè àµÔÁ l à¾ÔÁ è ¡Ò÷íÒ§Ò¹ÅÙ»¨Ò¡ FOR I=0 To 6
áÅÐ FOR
I=7 TO 1 à» ¹ FOR I=7 TO 1
à» ¹ FOR I=0 TO 6 STEP STEP 2 Êѧࡵ¼ÅÅѾ¸ ·äÕè ´
2
52
l
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
¡Ô¨¡ÃÃÁ·Õè 6 : ǧ¨Ã¹ÑºáÅÐáÊ´§¼ÅàÅ¢°Ò¹Êͧ 8 ºÔµ àÅ¢°Ò¹ÊͧÁÕ¨Òí ¹Ç¹ÊÁÒªÔ¡à¾Õ§ 2 µÑǤ×Í 0 ¡Ñº 1 áµ àÁ×Íè ¹ÑºÁÒµ Íà ÇÁ¡Ñ¹¨Ò¡Ë¹Ö§è à» ¹Êͧ, ÊÒÁ, ÊÕè 仨¹¶Ö§á»´µÑÇËÃ×ÍàÃÕÂ¡Ç Ò 8 ºÔµ ¨Ð·íÒãË Á¨Õ Òí ¹Ç¹µÑÇàÅ¢·Õàè ¡ÕÂè Ç¢ ͧà¡Ô´¢Ö¹é ÁÒ¡¶Ö§ 28 = 256 µÑǤ×Í 00000000 ¶Ö§ 11111111 㹡Ԩ¡ÃÃÁ¹Õ¹é Òí àʹÍâ»Ãá¡ÃÁ·Õ¤è Ǻ¤ØÁãË àºÊÔ¡áʵÁ» 2SX áÊ´§ ¤ ÒµÑÇàÅ¢°Ò¹Êͧ¢¹Ò´ 8 ºÔµÍÍ¡ÁÒâ´ÂáÊ´§¼Å¼ Ò¹ LED ·Õµè Í ¡Ñº¢Ò¾Íà µ P0-P7 â´Â¢ ÍÁÙÅ·Õè P0 à» ¹¢ ÍÁÙźԵ·ÕÁè ¹Õ ÂÑ ÊíҤѵèÒí ÊØ´ËÃ×Í LSB áÅТ ÍÁÙÅ·Õè P7 à» ¹¢ ÍÁÙŢͧºÔµ·ÕÁè ¹Õ ÂÑ ÊíÒ¤ÑÊÙ§ÊØ´ËÃ×Í MSB ¡Ô¨¡ÃÃÁ¹Õé¨Ö§ÁÕ»ÃÐ⪹ 㹡ÒÃáÊ´§¤ ÒµÑÇàÅ¢·Ñé§ËÁ´¢Í§àÅ¢°Ò¹Êͧ¢¹Ò´ 8 ºÔµ à¹×èͧ¨Ò¡ â»Ãá¡ÃÁ¨Ð·ÂÍÂÊ §¤ Ңͧ¢ ÍÁÙÅÁÒáÊ´§¤Ãѧé ÅÐ 1 ¤ Ò áÅ ÇÁÕ¡ÒÃ˹ ǧàÇÅÒà¾×Íè ãË ÊÒÁÒöÁͧàËç¹ ¢ ÍÁÙÅÍ ҧªÑ´à¨¹ ¡ ͹·Õ¨è ÐÊ §¤ ÒãËÁ ÍÍ¡ÁÒáÊ´§¼Å
ÇÔ¸Õ¡Òà 6.1 Âѧ¤§ãª ǧ¨Ãã¹ÃÙ»·Õè A3-1 㹡Ò÷´Åͧ à¢Õ¹â»Ãá¡ÃÁ·Õè A6-1 ºÑ¹·Ö¡ã¹ª×Íè ä¿Å ACT0601.BSX 6.2 ´Òǹ âËÅ´â»Ãá¡ÃÁä»Âѧ i-Stamp áŠǴټšÒ÷íÒ§Ò¹¢Í§ LED ·Õè P0-P7 '{$STAMP BS2sx} '{$PBASIC 2.5} '********************************************************* ' Program : Binary Counter ' Filename : ACT0601.BSX ' Processor : BASIC Stamp 2SX/i-Stamp '********************************************************* LEDs VAR OUTL ' LEDs on Pins 0 - 7 CNTR VAR Byte MinCnt CON 0 ' Counter start value MaxCnt CON 255 ' Counter end value DELAY CON 500 ' Delay time in milliseconds Initialize: DIRL = %11111111
' Make all pins outputs
MAIN: FOR CNTR = MinCnt TO MaxCnt LEDs = CNTR PAUSE DELAY NEXT GOTO Main END
' Loop through all count values ' Show count on LEDs ' Pause before next number ' Do it again
ã¹â»Ãá¡ÃÁ¡íÒ˹´¢Íºà¢µ¢Í§¡ÒùѺáÅÐáÊ´§¼ÅäÇ ·Õè 0-255 â´Â¡íÒ˹´¤ Ò·Õµè ÇÑ á»Ã MinCnt áÅÐ MaxCnt áÅ ÇǹÅÙ»à¾×Íè à¾ÔÁè ¤ Ò ¨Ò¡¹Ñ¹é Ê §¤ Ò·Õµè Í §¡ÒÃáÊ´§¼Åä»ÂѧµÑÇá»Ã LEDs «Ö§è ¡ç¤Í× µÑÇá»Ã·Õãè ª á·¹ ¡Ãкǹ¡ÒÃáÊ´§¼Å·Õè¾Íà µàÍÒµ ¾Øµ P0-P7 ËÃ×Í OUTL â´ÂÁÕ¡ÒáíÒ˹´ãË ¢Ò¾Íà µ P0-P7 à» ¹¢Ò ¾Íà µàÍÒµ ¾µØ ¡ ͹áÅ Ç´ ǤíÒÊѧè DIRL=11111111 àÁ×Íè áÊ´§¤Ãº¡ç¨Ðǹ¡ÅѺä»àÃÔÁè µ ¹ãËÁ
â»Ãá¡ÃÁ·Õè A6-1 â»Ãá¡ÃÁ¹ÑºàÅ¢°Ò¹Êͧ 8 ºÔµ
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
l
53
àÁ×Íè àÃÔÁè ·íÒ§Ò¹ LED ·Ø¡µÑǨдѺËÁ´ ¨Ö§ÁÕ¤Ò à· Ò¡Ñº 00000000 ¨Ò¡¹Ñ¹é ¨ÐàÃÔÁè ¹Ñº ¤ Òáá·Õè áÊ´§¤×Í 00000001 («Ö§è ෠ҡѺ 1) ¶Ñ´ÁÒà» ¹ 00000010 (෠ҡѺ 2) äÅ ä»àª ¹¹Õé ¨¹¶Ö§ 11111111 (෠ҡѺ 255) áÅÐã¹ÃÐËÇ Ò§¤ Ò¨ÐÁÕ¡ÒÃ˹ ǧàÇÅÒ à¾×Íè ãË ÊÒÁÒöÁͧàË繡ÒÃáÊ´§¼ÅÍ ҧªÑ´à¨¹ ´Ñ§áÊ´§µÒÁÃÙ» P7
P6
P5
P4
P3
P2
P1
P0
27 26 25 24 23 22 21 20 = 0 0 0 0 0 0 0 0 2%x0 2$x0 2#x0 2"x0 2!x0 2 x0 2 x0 2 x0 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0
P7
P6
P5
P4
P3
P2
P1
P0
=
0
=
1
=
2
=
&
=
##
27 26 25 24 23 22 21 20 = 0 0 0 0 0 0 0 1 2%x0 2$x0 2#x0 2"x0 2!x0 2 x0 2 x0 2 x1 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1
P7
P6
P5
P4
P3
P2
P1
P0
27 26 25 24 23 22 21 20 = 0 0 0 0 0 0 1 0 2%x0 2$x0 2#x0 2"x0 2!x0 2 x0 2 x0 2 x1 0 + 0 + 0 + 0 + 0 + 0 + 2 + 0
P7
P6
P5
P4
P3
P2
P1
P0
27 26 25 24 23 22 21 20 = 1 0 0 0 0 0 0 0 2%x1 2$x0 2#x0 2"x0 2!x0 2 x0 2 x0 2 x0 128 + 0 + 0 + 0 + 0 + 0 + 0 + 0
P7
P6
P5
P4
P3
P2
P1
P0
27 26 25 24 23 22 21 20 = 1 1 1 1 1 1 1 1 2%x0 2$x0 2#x0 2"x0 2!x0 2 x0 2 x0 2 x1 128 + 64 + 32 + 16 + 8 + 4 + 2 + 1
54
l
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
¡Ô¨¡ÃÃÁ·Õè 7 : ä¿ÇÙº 1 ª ͧ ¨Ò¡ä¿ÇÔ觷Õè㪠¤íÒÊÑ觾×é¹°Ò¹ ¢ÂѺÁÒÍÕ¡¢Ñé¹Ë¹Ö觡Ѻ¡ÒÃ㪠¤íÒÊÑè§ PWM «Öè§àÁ×è͹íÒÁҢѺ LED ¨ÐÊÒÁÒö¤Çº¤ØÁ¤ÇÒÁÊÇ Ò§¢Í§ LED ä´
ÇÔ¸Õ¡ÒÃ
7.1 ¹íÒ i-Stamp µÔ´µÑ§é ŧº¹«çÍ¡à¡çµ 24 ¢Òº¹á¼§Ç§¨Ã AX-2SX 㪠ǧ¨Ãã¹ÃÙ»·Õè A7-1 㹡Ò÷´Åͧ +5V 21 SW1 RESET
i-Stamp
22 RST 23 GND
2
5 R1 510 LED1
ÃÙ»·Õè A7-1 ǧ¨Ãä¿ÇÙº 1 ´Ç§¤Çº¤ØÁ¤ÇÒÁÊÇ Ò§´ Ç i-Stamp 㹡Ԩ¡ÃÃÁ·Õè 6 7.2 à¢Õ¹â»Ãá¡ÃÁ·Õè A7-1 ºÑ¹·Ö¡ã¹ª×Íè ä¿Å ACT0601.BSX áÅ Ç´Òǹ âËÅ´ä»Âѧ i-Stamp '********************************************************* ' Program : Twinkling LED ' Filename : ACT0701.BSX ' Processor : BASIC Stamp 2SX/i-Stamp '********************************************************* '{$STAMP BS2sx} '{$PBASIC 2.5} LED CON 0 ' Define P0 as LED I VAR Byte ' Define I as byte variable CYCLE CON 25 ' Define CYCLE as 25 MAIN: FOR I=0 TO 90 PWM LED,I,CYCLE NEXT FOR I=90 TO 0 PWM LED,I,CYCLE NEXT GOTO MAIN
' Set 0 to 35% duty cycle ' Send PWM to LED ' Do loop ' ' ' '
Set 35% to 0 duty cycle Send PWM to LED Do loop Jump to main
ËÅÑ¡¡Ò÷íÒ§Ò¹¢Í§â»Ãá¡ÃÁ¤×Í Êà ҧÊÑÒ³ PWM â´Â㪠¤Òí Êѧè PWM ÍÍ¡¢Ñº LED â´Â¨ÐÊ § ¤ Ò DUTY äÅ àÃÕ§µÑ§é áµ 0 ¨¹¶Ö§ 90 ËÃ×Í»ÃÐÁÒ³ 35% ¹Ñ¹è àͧ «Ö§è ¤ Ò¹Õ¨é зíÒãË LED µÔ´ÊÇ Ò§¾Í´ÕáÅ Ç ¨Ö§¨Ð»ÃѺ¤ ÒŧÁÒ·íÒãË LED µÔ´ËÃÕÅè § ¨¹´ÑºÊ¹Ô·ÍÕ¡¤Ãѧé
â»Ãá¡ÃÁ·Õè A7-1 â»Ãá¡ÃÁ¢Ñº LED ãË ·Òí §Ò¹ã¹ÅѡɳÐä¿ÇÙº
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
l
55
7.3 ´Òǹ âËÅ´â»Ãá¡ÃÁ Êѧࡵ¼Å¡Ò÷íÒ§Ò¹ àÁ×Íè ǧ¨Ã·íÒ§Ò¹ LED ·Õµè Í ¡Ñº¢Ò¾Íà µ P0 ¨Ð¤ ÍÂæ µÔ´ÊÇ Ò§¢Ö¹é ÁÒ¨¹¶Ö§¨Ø´ÊÇ Ò§·ÕÊè ´Ø ¨Ò¡¹Ñ¹é ¤ÇÒÁÊÇ Ò§¨Ð¤ ÍÂæ ŴŧáÅдѺ㹷ÕÊè ´Ø ¨Ò¡¹Ñ¹é ¨Ðǹ¡ÅѺÁÒµÔ´ÊÇ Ò§ÍÕ¡¤Ãѧé
à¡Ãç´à¾ÔÁè àµÔÁ ã¹â»Ãá¡ÃÁÊÒÁÒö¡íÒ˹´ª ǧàÇÅÒ㹡ÒÃà¾ÔèÁÅ´¤ÇÒÁÊÇ Ò§¢Í§ LED ä´ ¨Ò¡¤ Ò¤§·Õè CYCLE áÅж Òµ ͧ¡ÒôټŢͧ DUTY à¾ÔÁ è àµÔÁ ãË ·Òí ¡ÒûÃѺ¤ Ò·ÕÅè »Ù FOR l
¾ÑÅÊ Ç´Ô ¸ ÁÍ´ÙàŪѹè ËÃ×Í ¡ÒÃÁÍ´Ùàŵ·Ò§¤ÇÒÁ¡Ç Ò§¢Í§¾ÑÅÊ à» ¹¡Ãкǹ¡Ò÷íÒãË à¡Ô´Åͨԡ ÊÙ§ËÃ×ÍÅͨԡ 1 ã¹ÃÐÂÐàÇÅÒ·ÕèÊÒÁÒö¤Çº¤ØÁä´ à¾×èÍ¡íÒ˹´¤ Òáç´Ñ¹·Ò§ÍйÒÅÍ¡â´Â㪠¡Ãкǹ¡Òà ·Ò§´Ô¨µÔ ÍÅ ã¹ÃÙ»·Õè B7-1 áÊ´§¤ÇÒÁÊÑÁ¾Ñ¹¸ ¢Í§¤ÇÒÁ¡Ç Ò§¾ÑÅÊ ËÃ×ͤ Ò´ÔǵÕäé «à¡ÔÅ·ÕÁè µÕ Í ¤ Òáç´Ñ¹ ¶ ÒËÒ¡¤ Ò ´ÔǵÕäé «à¡ÔÅËÃ×ͤҺàÇÅÒ·Õàè ¡Ô´ÃдѺáç´Ñ¹ÊÙ§ÁÕ¤Ò ÁÒ¡ áç´Ñ¹àÍÒµ ¾µØ ¢Í§Ç§¨Ã PWM ¡ç¨ÐÊÙ§ ã¹·Ò§µÃ§¢ ÒÁ ¶ Ò¤ Ò´ÔǵÕäé «à¡ÔŵèÒí áç´Ñ¹àÍÒµ ¾µØ ¡ç¨ÐÁÕ¤Ò ¹ ͵ÒÁ ¹Ñ¹è ËÁÒ¤ÇÒÁÇ Ò ¡Ãкǹ¡Òà PWM à» ¹¡ÒÃÊà ҧáç´Ñ¹ â´Â¡ÒûÃѺ¤ Ò´ÔǵÕäé «à¡ÔŢͧÊÑÒ³¾ÑÅÊ áÅзÕàè ÍÒµ ¾µØ ¢Í§Ç§¨Ã PWM ÁÑ¡¨Ðµ Íǧ¨Ã¡Ãͧ¤ÇÒÁ¶Õµè Òèí ¼ Ò¹ à¾×Íè Å´ÊÑҳú¡Ç¹¤ÇÒÁ¶ÕÊè §Ù áÅзíÒãË áç´Ñ¹ÍйÒÅÍ¡·Õàè ÍÒµ ¾µØ ¹Ñ¹é ÁÕ¤Ò ·Õ¤è §·Õáè ¹ ¹Í¹ÁÒ¡¢Ö¹é ´ Ç ¤íÒÊѧè PWM àºÊÔ ¡ áʵÁ» 2SX ÁÕ ¤í Ò ÊÑè § ÊÃ Ò §ÊÑ Ò³ PWM â´Â੾ÒФ×Í PWM â´ÂÁÕû٠Ẻ¤íÒÊÑ§è ´Ñ§¹Õé
(¡) 20% Vout = 20% x 5V = 1.0V
PWM pin, duty, cycles
â´Â·Õè
pin ¤×Í ¢Ò¾Íà µ¢Í§àºÊÔ¡áʵÁ» 2SX
¤×Í ¤ ҢͧµÑÇá»Ã ÁÕ¤ ÒµÑé§áµ 0-255 à» ¹µÑÇ¡íÒ˹´¤ Ò´ÔǵÕäé «à¡ÔŢͧÊÑÒ³ PWM cycles ¤×Í ¤ ҢͧµÑÇá»Ã¡íÒ˹´¨íҹǹ Ãͺ¢Í§¡ÒÃÊà ҧÊÑÒ³ PWM â»Ãá¡ÃÁµÑÇÍ ҧÁÕ´§Ñ ¹Õé duty
(¢) 50% Vout = 50% x 5V = 2.5V
DUTY CYCLES DIRS = CYCLES
(¤) 80% Vout = 80% x 5V = 4.0V
ÃÙ»·Õè B7-1 áÊ´§¤ÇÒÁÊÑÁ¾Ñ¹¸ ¢Í§¤ÇÒÁ¡Ç Ò§¢Í§ ¾ÑÅÊ ¡ºÑ áç´Ñ¹àÍÒµ ¾µØ
VAR BYTE VAR BYTE $FF = 100
MAIN: FOR DUTY = 0 to 20 STEP 2 PWM 0, DUTY, CYCLES NEXT FOR DUTY = 20 to 0 STEP 2 PWM 0, DUTY, CYCLES NEXT GOTO MAIN
56
l
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
¡Ô¨¡ÃÃÁ·Õè 8 : à¤Ã×Íè §ãË ¨§Ñ ËÇÐ (Metronome) ËÅѧ¨Ò¡ãª àºÊÔ¡áʵÁ» 2SX ¢ÑºÍØ»¡Ã³ áʧÁҾͤÇà 㹡Ԩ¡ÃÃÁ¹Õ¨é ÐàÃÔÁè ࢠÒÊÙ¡ ÒâѺÍØ»¡Ã³ àÊէ͠ҧÅíÒ⾧º Ò§ àÊÁ×Í¹Ë¹Ö§è ¡Ò÷íÒãË äÁâ¤Ã¤Í¹â·ÃÅàÅÍà à ͧ ËÃ×Í Ê §àÊÕ§ ä´ ¤íÒÊÑ§è ·Õ·è Òí ˹ Ò·Õ¹è ¤Õé Í× FREQOUT áÅÐ㹡Ԩ¡ÃÃÁ¹Õ¨é ÐàÃÔ¹è µ ¹´ ÇÂà¢Õ¹â»Ãá¡ÃÁ¤Çº¤ØÁãË àºÊÔ¡áʵÁ» 2SX ¡íÒà¹Ô´ÊÑҳ໠¹ª Ç§æ ·ÕèÁÕÃÐÂÐË Ò§¤§·Õè ¨Ö§àÃÕ¡§Ò¹·Õè·íÒ¹ÕéÇ Ò à¤Ã×èͧãË ¨Ñ§ËÇÐ â´Â¼Ù 㪠§Ò¹ ÊÒÁÒö»ÃѺà»ÅÕ蹨ѧËÇТͧÊÑÒ³àÊÕÂ§ä´ Í ҧÍÔÊÃеÒÁµ ͧ¡ÒÃ
ÇÔ¸Õ¡ÒÃ
8.1 ¹íÒ i-Stamp µÔ´µÑ§é ŧº¹«çÍ¡à¡çµ 24 ¢Òº¹á¼§Ç§¨Ã AX-2SX 㪠ǧ¨Ãã¹ÃÙ»·Õè A8-1 㹡Ò÷´Åͧ +5V 21 SW1 RESET
i-Stamp
22 RST 23 GND
P12
17
C1 10µF 50V SP1 Speaker
ÃÙ»·Õè A8-1 ǧ¨ÃÊà ҧÊÑÒ³àÊÕ§໠¹¨Ñ§ËÇÐËÃ×Íà¤Ã×Íè §ãË ¨§Ñ ËÇд Ç i-Stamp ¡ÒÃÊà ҧÊÑÒ³àÊÕ§¢Í§àºÊÔ¡áʵÁ» 2SX 㪠¤Òí Êѧè à¾Õ§ 1 ¤íÒÊÑ§è ¾Ã ÍÁ¡Ñ¹¹Ñ¹é ÂѧÊÒÁÒö¼ÊÁ
ÊÑÒ³ à¾×Íè ãË à¡Ô´ÊÑҳ䫹 ËÅÒ¤ÇÒÁ¶Õè ·íÒãË Ê Ñ Ò³àÊÕ§·Õäè ´ Á¤Õ ÇÒÁËÅÒ¡ËÅÒ áÅйíÒä»ãª §Ò¹ Í ҧ¡Ç Ò§¢ÇÒ§ ¤íÒÊÑ§è ·ÕÁè ºÕ ·ºÒ·ÊíҤѴѧ¡Å ÒǤ×Í FREQOUT ¤íÒÊÑ§è ¹Õãé ª ÊÒí ËÃѺ¡íÒà¹Ô´ÊÑҳ䫹 ˹֧è ËÃ×Í ÊͧÊÑҳ㹪 ǧÃÐÂÐàÇÅÒ·Õ¡è Òí ˹´ ÁÕû٠Ẻ¡ÒÃ㪠§Ò¹¤íÒÊÑ§è ´Ñ§¹Õé FREQOUT ¢Ò·Õãè ª ʧ , ÃÐÂÐàÇÅÒ·ÕÊè § , ¤ÇÒÁ¶Õ·è ÊÕè § 1 , {¤ÇÒÁ¶Õ·è ÊÕè § 2} ¢Ò·Õãè ª ʧ : à» ¹¢Ò¾Íà µ¢Í§àºÊÔ¡áʵÁ» 2SX àÅ×Í¡ä´ µ§Ñé áµ P0 ¶Ö§ P15 ÃÐÂÐàÇÅÒ·ÕÊè § : ÊÒÁÒö¡íÒ˹´¤ Òä´ µ§Ñé áµ 0 - 65535 â´Â 1 ¤ Ò¨Ð෠ҡѺ¤ ҢͧàÇÅÒ 0.4 ÁÔÅÅÔÇ¹Ô Ò·Õ ¤ÇÒÁ¶Õ·è ãÕè ª ʧ : ¤ Òµ Í˹ Ç¢ͧ¤ÇÒÁ¶Õ·è ÊÕè § ෠ҡѺ 2.5Hz ÊÒÁÒö¡íÒ˹´¤ Òä´ µ§Ñé áµ 0-32,767 µÑÇÍ ҧ¡ÒÃ㪠¤Òí Êѧè FREQOUT ÁÕ´§Ñ ¹Õé FREQOUT 12,1000,1000
¨Ð¡íÒà¹Ô´ÊÑÒ³¤ÇÒÁ¶Õè 2,500 Hz ´ Ǫ ǧàÇÅÒ 400 ÁÔÅÅÔÇ¹Ô Ò·Õ·¢Õè Ò P12 ¶ Òµ ͧ¡ÒÃÊà ҧãË à¡Ô´ 2 ¤ÇÒÁ¶Õè ÊÒÁÒöà¢Õ¹â»Ãá¡ÃÁä´ ´§Ñ ¹Õé FREQOUT 0,1000,1000,1200
¤ÇÒÁ¶ÕÊè ͧ¤ÇÒÁ¶Õ¤è Í× 2,500 áÅÐ 3,000Hz ¨Ð¼ÊÁࢠҴ Ç¡ѹáÅÐãË àÊÕ§àËÁ×͹¡ÑºàÊÕ§´¹µÃÕËÃ×ÍàÊÕ§¡Ãдԧè ÊíÒËÃѺ¡ÒÃËÂØ´¡íÒà¹Ô´àÊÕ§·íÒä´ â´Â¡íÒ˹´ãË ¤Ò ¤ÇÒÁ¶Õàè · ҡѺ 0
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
l
57
8.2 à¢Õ¹â»Ãá¡ÃÁ·Õè A8-1 ºÑ¹·Ö¡ã¹ª×Íè ä¿Å ACT0801.BSX '***************************************************** ' Program : Metronome ' Filename : ACT0801.BSX '***************************************************** '{$STAMP BS2sx} '{$PBASIC 2.5} INTERVAL CON 500 ' Define INTERVAL as 500 SPK CON 12 ' Define SPK as P12 DURATION VAR Word ' Define DURATION as Word variable FREQ VAR Word ' Define FREQ as Word variable DURATION=125 FREQ=1200 MAIN: FREQOUT
' Set duration 50ms ' Set frequency 3kHz
SPK,DURATION,FREQ
' Send frequency OUTPUT TO P12
PAUSE
INTERVAL-((DURATION*4)/10) ' Interval time 500ms,Delay = 500-(0.4)DURATION ms
GOTO
MAIN
' Jump TO main
ã¹â»Ãá¡ÃÁ¹Õé i-Stamp ¨Ð¡íÒà¹Ô´¤ÇÒÁ¶Õè 3kHz à» ¹àÇÅÒ 50 ÁÔÅÅÔÇ¹Ô Ò·Õ áÅ ÇËÂØ´à» ¹àÇÅÒ 450 ÁÔÅÅÔ ÇÔ¹Ò·Õ ¨Ò¡¡ÒùíÒ¤ Ò INTERVAL ÁÒź¡ÑºàÇÅÒ DURATION «Ö§è µ ͧ¤Ù³´ Ç 0.4 à¾×Íè »ÃѺ˹ ÇÂãË à· Ò¡Ñ¹ àÊÕ¡ ͹ ·íҧҹǹઠ¹¹Õäé »Í ҧµ Íà¹×Íè §
â»Ãá¡ÃÁ·Õè A8-1 â»Ãá¡ÃÁÊà ҧÊÑÒ³àÊÕ§໠¹¨Ñ§ËÇÐ㹡Ԩ¡ÃÃÁ·Õè 8 8.3 ´Òǹ âËÅ´â»Ãá¡ÃÁ Êѧࡵ¼Å¡Ò÷íÒ§Ò¹ àÁ×Íè ǧ¨Ã·íÒ§Ò¹ ¨Ðä´ Â¹Ô àÊÕ§ µÔ´é ´Ñ§à» ¹¨Ñ§ËÇÐË Ò§¡Ñ¹»ÃÐÁÒ³ 0.5 ÇÔ¹Ò·Õ
58
l
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
¡Ô¨¡ÃÃÁ·Õè 9 : i-Stamp àÅ ¹â¹ µ´¹µÃÕ ËÅѧ¨Ò¡ÊÒÁÒöÊà ҧÊÑÒ³àÊÕÂ§ä´ ¨Ò¡¤íÒÊѧè FREQOUT 㹡Ԩ¡ÃÃÁ·Õè 8 áÅ Ç ´ ÇÂËÅÑ¡ ¡ÒÃà´ÕÂǡѹÊÒÁÒö㪠¤Òí Êѧè FREQOUT ¹Õãé ¹¡ÒÃÊà ҧÊÑÒ³¤ÇÒÁ¶Õâè ¹ µ´¹µÃÕä´ «Ö§è ã¹¢Ñ¹é µ ¹¹Õé ÁÕ 8 ¤ÇÒÁ¶ÕÊè Òí ËÃѺ 8 µÑÇâ¹ µ´¹µÃÕ¾¹×é °Ò¹¤×Í â´ (C), àà (D), ÁÕ (E), ¿Ò (F), «ÍÅ (G), ÅÒ (A), ·Õ (B) áÅÐâ´ÊÙ§ (C1)
ÇÔ¸Õ¡ÒÃ
9.1 Âѧ¤§ãª ǧ¨Ãã¹ÃÙ»·Õè A8-1 㹡Ò÷´Åͧ à¢Õ¹â»Ãá¡ÃÁ·Õè A9-1 ºÑ¹·Ö¡ã¹ª×Íè ä¿Å ACT0901.BSX 9.2 ´Òǹ âËÅ´â»Ãá¡ÃÁä»Âѧ i-Stamp áÅ Ç¿ §àÊÕ§·Õàè ¡Ô´¢Ö¹é ¨Ò¡ÅíÒ⾧ i-Stamp ¨Ð¢ÑºÊÑÒ³àÊÕ§⹠µ´¹µÃÕ·§Ñé 8 µÑÇÍÍ¡ÁÒàÃÔÁè ¨Ò¡ ⴠ仨¹¶Ö§ â´ÊÙ§ áÅ ÇǹãËÁ '****************************************************** ' Program : Melody note playing ' Filename : ACT0801.BSX ' Processor : BASIC Stamp 2SX/i-Stamp '****************************************************** '{$STAMP BS2sx} '{$PBASIC 2.5} SPK CON 12 ' Define SPK as P12 FREQ VAR Word ' Define FREQ as word variable I VAR Byte ' Define I as counter byte variable C D E F G A B C1
CON CON CON CON CON CON CON CON
419 470 528 559 627 704 789 837
' ' ' ' ' ' ' '
Note Note Note Note Note Note Note Note
C Frequency D Frequency E Frequency F Frequency G Frequency A Frequency B Frequency C1 Frequency
MAIN: FOR I=0 TO 7 LOOKUP I,[C,D,E,F,G,A,B,C1],FREQ FREQOUT SPK,1250,FREQ PAUSE 200 NEXT PAUSE 1000 GOTO MAIN
' ' ' ' ' ' '
Set loop 8 times Get data from table Send frequency output to P12 Delay 200ms Do loop Delay 1s Jump to main
àÁ×Íè àÃÔÁè ·íÒ§Ò¹â»Ãá¡ÃÁ¨ÐÍ Ò¹¤ Ò¤ÇÒÁ¶Õµè ÇÑ â¹ µ 8 µÑÇ·Õàè ¡çºäÇ ã¹µÒÃÒ§ÁҢѺ໠¹àÊÕ§ÍÍ¡·ÕÅè Òí ⾧ â´ÂàÃÕ§µÒÁÅíҴѺ¨Ò¡â´, àÃ, ÁÕ, ¿Ò, ....¨¹¶Ö§ â´ÊÙ§ ÁÕ¨§Ñ ËÇÐËÂØ´ÃÐËÇ Ò§µÑÇâ¹ µ 200 ÁÔÅÅÔÇ¹Ô Ò·Õ àÁ×Íè àÅ ¹ ¤Ãº·Ø¡µÑÇáÅÑǨÐ˹ ǧàÇÅÒÍÕ¡ 1 ÇÔ¹Ò·Õ ¡ ͹·Õ¨è Ðǹ¡ÅѺä»àÃÔÁè µ ¹àÅ ¹ãËÁ µÍ ä»
â»Ãá¡ÃÁ·Õè A9-1 â»Ãá¡ÃÁÊà ҧÊÑÒ³àÊÕ§໠¹¨Ñ§ËÇÐ㹡Ԩ¡ÃÃÁ·Õè 9
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
µÒÃÒ§¢ ÍÁÙŢͧµÑÇâ¹ µ´¹µÃÕ (¤ÇÒÁ¶Õè : frequency ÁÕ˹ ÇÂà» ¹ Hz) MIDI Note C 0 Db 1 D 2 Eb 3 E 4 F 5 Gb 6 G 7 Ab 8 A 9 Bb 10 B 11
Frequency 8.1757989156 8.6619572180 9.1770239974 9.7227182413 10.3008611535 10.9133822323 11.5623257097 12.2498573744 12.9782717994 13.7500000000 14.5676175474 15.4338531643
MIDI Note 12 13 14 15 16 17 18 19 20 21 22 23
Frequency 16.3515978313 17.3239144361 18.3540479948 19.4454364826 20.6017223071 21.8267644646 23.1246514195 24.4997147489 25.9565435987 27.5000000000 29.1352350949 30.8677063285
MIDI Note 24 25 26 27 28 29 30 31 32 33 34 35
Frequency 32.7031956626 34.6478288721 36.7080959897 38.8908729653 41.2034446141 43.6535289291 46.2493028390 48.9994294977 51.9130871975 55.0000000000 58.2704701898 61.7354126570
C Db D Eb E F Gb G Ab A Bb B
36 37 38 39 40 41 42 43 44 45 46 47
65.4063913251 69.2956577442 73.4161919794 77.7817459305 82.4068892282 87.3070578583 92.4986056779 97.9988589954 103.8261743950 110.0000000000 116.5409403795 123.4708253140
48 49 50 51 52 53 54 55 56 57 58 59
130.8127826503 138.5913154884 146.8323839587 155.5634918610 164.8137784564 174.6141157165 184.9972113558 195.9977179909 207.6523487900 220.0000000000 233.0818807590 246.9416506281
60 61 62 63 64 65 66 67 68 69 70 71
261.6255653006 277.1826309769 293.6647679174 311.1269837221 329.6275569129 349.2282314330 369.9944227116 391.9954359817 415.3046975799 440.0000000000 466.1637615181 493.8833012561
C Db D Eb E F Gb G Ab A Bb B
72 73 74 75 76 77 78 79 80 81 82 83
523.2511306012 554.3652619537 587.3295358348 622.2539674442 659.2551138257 698.4564628660 739.9888454233 783.9908719635 830.6093951599 880.0000000000 932.3275230362 987.7666025122
84 85 86 87 88 89 90 91 92 93 94 95
1046.5022612024 1108.7305239075 1174.6590716696 1244.5079348883 1318.5102276515 1396.9129257320 1479.9776908465 1567.9817439270 1661.2187903198 1760.0000000000 1864.6550460724 1975.5332050245
96 97 98 99 100 101 102 103 104 105 106 107
2093.0045224048 2217.4610478150 2349.3181433393 2489.0158697766 2637.0204553030 2793.8258514640 2959.9553816931 3135.9634878540 3322.4375806396 3520.0000000000 3729.3100921447 3951.0664100490
C Db D Eb E F Gb G Ab A Bb B
108 109 110 111 112 113 114 115 116 117 118 119
4186.0090448096 4434.9220956300 4698.6362866785 4978.0317395533 5274.0409106059 5587.6517029281 5919.9107633862 6271.9269757080 6644.8751612791 7040.0000000000 7458.6201842894 7902.1328200980
120 121 122 123 124 125 126 127
8372.0180896192 8869.8441912599 9397.2725733570 9956.0634791066 10548.0818212118 11175.3034058561 11839.8215267723 12543.8539514160
l
59
60
l
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
¡Ô¨¡ÃÃÁ·Õè 10 : äÁâ¤ÃÁÔÇÊÔ¡ ÁÒ¶Ö§¡Ô¨¡ÃÃÁ¹Õéä´ àÇÅÒ㪠¤ÇÒÁÃÙ ¨Ò¡¡ÒÃàÊÕ§⹠µ´¹µÃÕ ÁÒà¢Õ¹â»Ãá¡ÃÁ¤Çº¤ØÁãË àºÊÔ¡ áʵÁ» ºÃÃàŧà¾Å§ãË ¿ § â´Â¡ÒÃ㪠¢ ÍÁÙÅã¹µÒÃÒ§¤ÇÒÁ¶Õèâ¹ µ´¹µÃÕ·ÕèÃдѺµ Ò§æ »ÃСͺ¡Ñº ¤íÒÊѧè FREQOUT áÅФíÒÊѧè LOOKUP ¡ç¨Ðä´ Ç§´¹µÃÕºÃÃàŧàÅç¡æ º¹âµ зíҧҹ͠ҧ§ Ò´ÒÂ
ÇÔ¸Õ¡ÒÃ
10.1 Âѧ¤§ãª ǧ¨Ãã¹ÃÙ»·Õè A8-1 㹡Ò÷´Åͧ à¢Õ¹â»Ãá¡ÃÁ·Õè A10-1 ºÑ¹·Ö¡ã¹ª×Íè ä¿Å ACT1001.BSX 10.2 ´Òǹ âËÅ´â»Ãá¡ÃÁä»Âѧ i-Stamp ¿ §àÊÕ§¨Ò¡ÅíÒ⾧ àÁ×Íè ǧ¨Ã·íÒ§Ò¹ ¨Ðä´ Â¹Ô àÊÕ§à¾Å§ Greensleeves ´Ñ§¢Ö¹é áÅÐàÁ×Íè ¨ºà¾Å§¨ÐÁÕªÇ §ËÂØ´ »ÃÐÁÒ³ 1 ÇÔ¹Ò·Õ ¨Ò¡¹Ñ¹é ¨ÐàÃÔÁè µ ¹¢ÑºàÊÕ§à¾Å§ÍÕ¡¤Ãѧé ǹä»àª ¹¹Õµé ÅÍ´àÇÅÒ '******************************************************** ' Program : Simpe Melody Box ' Filename : ACT0901.BSX ' Processor : BASIC Stamp 2SX/i-Stamp ' Copyright (C) 2003 Innovative Experiment Co.,Ltd. '********************************************************* '{$STAMP BS2SX} '{$PBASIC 2.5} SPK CON 12 ' Define SPK as P12 DURATION VAR Word ' Define DURATION1 as word variable FREQ VAR Word ' Define FREQ1 as word variable STEPSIZE VAR Word ' Define STEPSIZE as word variable I VAR Byte ' Define I as byte variable TEMP VAR Nib ' Define TEMP as nibble variable NOTE VAR Byte ' Define NOTE as byte variable C2 DL2 D2 EL2 E2 F2 GL2 G2 AL2 A2 BL2 B_2
CON CON CON CON CON CON CON CON CON CON CON CON
837 887 940 996 1055 1117 1184 1254 1329 1408 1492 1580
' ' ' ' ' ' ' ' ' ' ' '
Note Note Note Note Note Note Note Note Note Note Note Note
C2 Frequency Db2 Frequency D2 Frequency Eb2 Frequency E2 Frequency F2 Frequency Gb2 Frequency G2 Frequency Ab2 Frequency A2 Frequency Bb2 Frequency B2 Frequency
C3
CON
1674
' Note C3 Frequency
â»Ãá¡ÃÁ·Õè A9-1 â»Ãá¡ÃÁäÁâ¤ÃÁÔÇÊԡ㹡Ԩ¡ÃÃÁ·Õè 10 (ÁÕµÍ )
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX DL3 D3 EL3 E3 F3 GL3 G3 AL3 A3 BL3 B_3
CON CON CON CON CON CON CON CON CON CON CON
1774 1879 1991 2110 2235 2368 2509 2658 2816 2983 3161
' ' ' ' ' ' ' ' ' ' '
Note Note Note Note Note Note Note Note Note Note Note
P S
CON CON
0 $FFFF
' Pause ' Stop
l
61
Db3 Frequency D3 Frequency Eb3 Frequency E3 Frequency F3 Frequency Gb3 Frequency G3 Frequency Ab3 Frequency A3 Frequency Bb3 Frequency B3 Frequency
MAIN: LOOKUP I,[G2,BL2,C3,D3,EL3,D3,C3,A2, F2,G2,A2,BL2,G2,G2,F2,G2,A2,F2,D2,G2, BL2,C3,D3,E3,D3,C3,A2,F2,G2,A2,BL2,A2, G2,GL2,E2,GL2,G2,S],FREQ ' LOOKUP I,[4,8,4,8,2,4,8,4,6,2,4,8,4, 6,2,4,8,4,8,4,8,4,8,2,4,8,4,6,2,4,8, 2,4,6,2,4,8,0],DURATION ' IF FREQ=$FFFF THEN EXIT_LOOP ' FREQOUT SPK,250*DURATION, FREQ ' I=I+1 ' GOTO MAIN '
Read notes table
Read beats table End of song? Make sound from table with beat Increase index to next note Back to play next note
EXIT_LOOP: I=0 PAUSE 1000 GOTO MAIN
â»Ãá¡ÃÁ·Õè A10-1 â»Ãá¡ÃÁäÁâ¤ÃÁÔÇÊԡ㹡Ԩ¡ÃÃÁ·Õè 10 (¨º)
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
l
63
º··Õè 5
àºÊÔ¡áʵÁ» 2SX ¡Ñº ¡ÒÃÃѺÊÑÒ³ÍÔ¹¾Øµ¨Ò¡ÊÇÔµª
àÁ×Íè µ ͧ¡ÒÃ㪠§Ò¹äÁâ¤Ã¤Í¹â·ÃÅàÅÍà àºÊÔ¡áʵÁ» 2SX ÃѺÊÑÒ³¨Ò¡ÀÒ¹͡¨Ðµ ͧ ¡íÒ˹´ãË ¢Ò¾Íà µ¢Í§àºÊÔ¡áʵÁ» 2SX ãË à» ¹ ¾Íà µÍÔ¹¾Øµ áµ Í ҧäáçµÒÁ ·Ø¡¤ÃÑ§é ·Õàè ¡Ô´¡Òà ÃÕ૵ËÃ×ÍËÅѧ¨Ò¡·Õàè ÃÔÁè µ ¹¨ ÒÂä¿¢Ò¾Íà µ·Ñ§é ËÁ´¢Í§àºÊÔ¡áʵÁ» 2SX ¨Ðä´ ÃºÑ ¡ÒáíÒ˹´ãË à» ¹ ¾Íà µÍÔ¹¾Øµ¡ ͹㹷ѹ·Õ ¨Ò¡¹Ñ¹é ¨Ö§à»ÅÕÂè ¹à» ¹àÍÒµ ¾µØ ËÃ×ÍÂѧ¤§à» ¹ÍÔ¹¾ØµáÅ Çáµ â»Ãá¡ÃÁ·Õàè ¢Õ¹ ¢Ö¹é ÍØ»¡Ã³ ·àÕè » ¹¾×¹é °Ò¹·ÕÊè ´Ø ¢Í§¡ÒÃÊà ҧÊÑÒ³ÍÔ¹¾Øµ¤×Í ÊÇÔµª (switch)
¡ÒáíÒ˹´ãË ·íҧҹ໠¹¢ÒÍÔ¹¾Øµ¡ÑºÊÇÔµª ¡ÒáíÒ˹´ãË ¾Íà µ¢Í§àºÊÔ¡áʵÁ» 2SX ·íҧҹ໠¹¢ÒÍÔ¹¾Øµ ¨Ðµ ͧà¢Õ¹¢ ÍÁÙÅ 0 ä»ÂѧÃÕ¨ÊÔ àµÍà DIR 㹺Ե·Õãè ª á·¹µíÒá˹ §¢Í§¢Ò¾Íà µ·Õµè Í §¡Òà 㹢³Ð·Õ·è Ò§ÎÒà ´áÇà ËÃ×Í¡Òà µ Íǧ¨Ã¨Ðµ ͧ¡ÃзíÒÊÔ§è ÊíÒ¤Ñ 2 Í ҧ¤×Í 1. µ ͵Ñǵ Ò¹·Ò¹à¢ Ò·Õ¢è Ò¾Íà µ¡Ñºä¿àÅÕÂé § ËÃ×ÍàÃÕÂ¡Ç Ò ¡Òõ ͵Ñǵ Ò¹·Ò¹¾ÙÅÍÑ» (pull-up ËÁÒ¶֧ ¡Òõ Í¢ÒµÑǵ Ò¹·Ò¹¢ ҧ˹֧è ࢠҡѺä¿àÅÕÂé § +5V Ê Ç¹ÍÕ¡¢ÒË¹Ö§è ¢Í§µÑǵ Ò¹·Ò¹µ Íà¢ Ò ¡Ñº¨Ø´·Õµè Í §¡Òà ·íÒãË ã¹ÀÒÇл¡µÔ·¨Õè ´Ø ¹Ñ¹é ¨ÐÁÕʶҹÐÅͨԡ໠¹ 1 â´ÂµÑǵ Ò¹·Ò¹·Õãè ª Á¤Õ Ò ÍÂÙ ÃÐËÇ Ò§ 4.7-10kΩ) ·Ñ§é ¹Õàé ¾×Íè ¡íÒ˹´ãË ¢Ò¾Íà µ +5V ¹Ñ¹é ÁÕʶҹÐÅͨԡ 1 µÅÍ´àÇÅÒ·Õäè Á Á¡Õ Òá´ 10k ÊÇÔµª áÅÐàÁ×èÍ¡´ÊÇÔµª ¨ÐàÊÁ×͹¡Ñº¡Òõ Í¢Ò 220 P8 ¾Íà µÅ§¡ÃÒÇ´ ãË ä´ Åͨԡ 0 ·íÒãË àºÊÔ¡ i-Stamp áʵÁ» 2SX ÃÙÇ Ò à¡Ô´¡Òá´ÊÇÔµª Í¹Ô ¾ØµáÅ Ç BASIC Stamp2SX
S1
2. µ ͵Ñǵ Ò¹·Ò¹Í¹Ø¡ÃÁ¡Ñº¢Ò¾Íà µ·Õè µ ͡ѺÊÇÔµª ·Ñ§é ¹Õàé ¾×Íè ¨íÒ¡Ñ´¡ÃÐáÊä¿¿ Ò·Õäè ËÅà¢ Ò ÊÙ¢ Ò¾Íà µ Íѹ໠¹¡Òê Ç» ͧ¡Ñ¹äÁ ãË ¢Ò¾Íà µ ÃÙ»·Õè 5-1 ¡Òõ ÍÊÇÔµª ࢠҡѺ¢Ò¾Íà µ¢Í§àºÊÔ¡ àÊÕÂËÒ à¹×Íè §¨Ò¡¡ÃÐáÊä¿¿ ÒäËÅࢠÒÁÒà¡Ô¹ä» áʵÁ» 2SX áÅÐ i-Stamp
64
l
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
ã¹´ Ò¹¡ÒÃà¢Õ¹â»Ãá¡ÃÁÊÒÁÒö㪠¡ÒõÃǨÊͺ¤ Ò·ÕÃè ¨Õ ÊÔ àµÍà IN à¾×Íè µÃǨÊͺʶҹР·Õ¢è Ò¾Íà µ¹Ñ¹é ËÃ×ͨÐ㪠¤Òí Êѧè BUTTON 㹡óշ¢Õè Ò¾Íà µ¹Ñ¹é µ ͡ѺÊÇÔµª Ẻ¡´µÔ´»Å Í´Ѻ㹠¡ÒÃÍ Ò¹¤ ÒÍÔ¹¾Øµ
¢ ͤÇÃÃÐÇѧ㹡ÒÃ㪠§Ò¹¢Ò¾Íà µ¢Í§àºÊÔ¡áʵÁ» 2SX à» ¹¢ÒÍÔ¹¾Øµ àÁ×Íè ÁÕ¡ÒÃ㪠§Ò¹¢Ò¾Íà µã´¢Í§àºÊÔ¡áʵÁ» 2SX à» ¹ÍÔ¹¾ØµáÅ Ç ¨Ðµ ͧÃÐÁÑ´ÃÐÇѧÍÂ Ò à¢Õ¹¢ ÍÁÙÅ 1 ŧã¹ÃÕ¨ÊÔ àµÍà DIR ·Õµè Òí á˹ §ºÔµ¢Í§¢Ò¾Íà µ·Õ¡è Òí ˹´à» ¹ÍÔ¹¾ØµÍ ҧà´ç´ ¢Ò´ ¡µÑÇÍ ҧ ËÒ¡¡íÒ˹´¢Ò P0-P3 à» ¹¢ÒÍÔ¹¾Øµ áÅÐÁÕ¡Òõ ÍÊÇÔµª ¾Ã ÍÁµÑǵ Ò¹·Ò¹¾ÙÅÍÑ» ࢠҷբè Ò¾Íà µ·Ñ§é 3 áÅ Ç µ ͧäÁ à¢Õ¹¤íÒÊÑ§è µ Í仹ÕÍé  ҧà´ç´¢Ò´ DIRA = %1111
à¹×Íè §¨Ò¡¤íÒÊÑ§è ´Ñ§¡Å ÒÇà» ¹¡ÒáíÒ˹´ãË ¢Ò¾Íà µã¹¡ÅØÁ A «Ö§è ¡ç¤Í× ¢Ò P3-P0 à» ¹àÍÒµ ¾µØ ÊíÒËÃÑºÊ §áç´Ñ¹ÍÍ¡ ã¹¢³Ð·ÕÇè §¨Ã·Ò§ÎÒà ´áÇà ¡ÅѺ¡íÒ˹´ãË ¢Ò P3-P0 à» ¹ÍÔ¹¾ØµÊíÒËÃѺáç ´Ñ¹à¢ Ò ËÒ¡ÁÕ¡Òá´ÊÇÔµª à¡Ô´¢Ö¹é ¨Ðà» ¹¡Òõ Í¢Ò¾Íà µ¹Ñ¹é æ ŧ¡ÃÒÇ´ ·íÒãË à¡Ô´¡ÒÃÅѴǧ¨Ã·Ò§ àÍÒµ ¾µØ ¢Í§¢Ò¾Íà µ¹Ñ¹é ŧ¡ÃÒÇ´ ·¹Ñ ·Õ Ê §¼ÅãË ¢Ò¾Íà µ¹Ñ¹é àÊÕÂËÒÂä´
à¡ÕèÂǡѺ¡Ô¨¡ÃÃÁ㹺·¹Õé ¡Ô¨¡ÃÃÁ·Õè¨Ðä´ ·´Åͧ¡Ñ¹ã¹º·¹Õé¨Ðà» ¹¡ÒÃá¹Ð¹íÒãË ãª §Ò¹äÁâ¤Ã¤Í¹â·ÃÅàÅÍà àºÊÔ¡ áʵÁ» 2SX ¡ÑºÍØ»¡Ã³ Í¹Ô ¾Øµ¾×¹é °Ò¹ ¹Ñ¹è ¤×Í ÊÇÔµª ¡´µÔ´»Å Í´Ѻ áŠǹíÒä»áÊ´§¼Å¡ÒÃÃѺ ÊÑÒ³¨Ò¡ÊÇÔµª ´Ç ÂáʧËÃ×ÍàÊÕ§ â´Â¨ÐàÃÔÁè ¨Ò¡¡ÒõԴµ ͡ѺÊÇÔµª µÇÑ à´ÕÂÇ ¡ÒÃÍ Ò¹¤ Ò¨Ò¡ÊÇÔµª ¡Ò÷íҧҹà ÇÁ¡Ñº¤íÒÊѧè PWM à¾×Íè Êà ҧ໠¹ÊÇÔµª ËÃÕäè ¿Í ҧ§ Ò ¡ÒÃÊà ҧà¡ÁÂÍ´ÎÔµ ËÑÇ¡ Í ÍÔàÅç¡·ÃÍ¹Ô¡Ê áÅл ´· Ò´ Ç¡Ò÷íÒ§Ò¹¡Ñº¤íÒÊѧè FREQOUT à¾×Íè Êà ҧ¡ÃÔ§è ´¹µÃÕ
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
l
65
¡Ô¨¡ÃÃÁ·Õè 11 : ÃѺÊÑÒ³ÍÔ¹¾Øµ¨Ò¡ÊÇÔµª Í ҧ§ Ò ¡Ô¨¡ÃÃÁ¹Õàé » ¹¡Ô¨¡ÃÃÁááã¹Ë¹Ñ§Ê×ÍàÅ Á¹Õ·é ¡Õè Òí ˹´ãË àºÊÔ¡áʵÁ» 2SX µ ͧÁÕ¡ÒÃÃѺÊÑÒ³ ÍÔ¹¾Øµ¨Ò¡ÊÇÔµª à¾×Íè ¹íÒÁÒ»ÃÐÁÇżŠáÅ ÇáÊ´§¼Å¡Ò÷íÒ§Ò¹¼ Ò¹·Ò§¢Ò¾Íà µàÍÒµ ¾µØ â´Â¤íÒÊÑ§è § Ò·ÕÊè ´Ø ·Õãè ª 㹡ÒÃÃѺÊÑÒ³ÍÔ¹¾Øµ¤×Í IN ª×Íè àÇÔô (16 ºÔµ) ª×Íè 亵 (8 ºÔµ) DIRH ª×Íè ¹ÔºàºÔÅ (4 ºÔµ) DIRD DIRC ª×Íè ºÔµ DIR15 DIR14 DIR13 DIR12 DIR11 DIR10 DIR9 2 2 2' ¢Ò 2 # 2 " 2 ! 2
DIRS
DIR8 2&
DIR7 2%
DIRB DIR6 DIR5 2$ 2#
DIRL DIR4 2"
DIR3 2!
DIRA DIR2 DIR1 2 2
DIR0 2
µÒÃÒ§áÊ´§¤ÇÒÁÊÑÁ¾Ñ¹¸ ¢Í§¢Ò¾Íà µ¡ÑºÃÕ¨ÔÊàµÍà ¡íÒ˹´·ÔÈ·Ò§ DIR â´Â¨Ñ´à» ¹¡ÅØ ÁµÑé§áµ ÃдѺºÔµ, ¹ÔºàºÔÅ, 亵 áÅÐàÇÔô ª×Íè àÇÔô (16 ºÔµ) ª×Íè 亵 (8 ºÔµ) ª×Íè ¹ÔºàºÔÅ (4 ºÔµ) ª×Íè ºÔµ IN15 ¢Ò 2 #
IN14 2 "
IND
INS
INH IN13 2 !
IN12 2
IN11 2
IN10 2
INC
IN9 2'
IN8 2&
IN7 2%
IN6 2$
INB
INL IN5 2#
IN4 2"
IN3 2!
IN2 2
INA
IN1 2
IN0 2
µÒÃÒ§áÊ´§¤ÇÒÁÊÑÁ¾Ñ¹¸ ¢Í§¢Ò¾Íà µ¡ÑºÃÕ¨ÊÔ àµÍÃ Í¹Ô ¾Øµ IN â´Â¨Ñ´à» ¹¡ÅØÁ µÑ§é áµ ÃдѺºÔµ, ¹ÔºàºÔÅ, 亵 áÅÐàÇÔô
ÇÔ¸Õ¡ÒÃ
11.1 㪠ǧ¨Ãã¹ÃÙ»·Õè A11-1 㹡Ò÷´Åͧ +5V
RP1/1 4.7k
R2 220
P8
P0 i-Stamp
S1
ÃÙ»·Õè A11-1 ǧ¨Ã·´Åͧ¡ÒÃÃѺÊÑÒ³ÍÔ¹¾Øµ¨Ò¡ÊÇÔµª
R3 510
LED1
66
l
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
'{$STAMP BS2sx} '{$PBASIC 2.5} '********************************************************* ' Program : Basic input output ' Filename : ACT1101.BSX ' Processor : BASIC Stamp 2SX/i-Stamp ' Copyright (C) 2003 Innovative Experiment Co.,Ltd. '********************************************************* DIRC=%0000 DIRA=%1111 CHK_KEY: IF IN8=0 THEN LIGHT DARK:
LOW 0 GOTO CHK_KEY
LIGHT:
HIGH 0 GOTO CHK_KEY
àÃÔÁè µ ¹â»Ãá¡ÃÁ´ Ç¡ÒáíÒ˹´·ÔÈ·Ò§¢Í§¢Ò¾Íà µâ´Â¤íÒÊѧè DIRC = %0000 ¹Ñ¹è ¤×Í¡íÒ˹´ãË ¢Ò¾Íà µ¡ÅØÁ C «Ö§è »ÃСͺ´ ÇÂ¢Ò P8-P11 à» ¹ÍÔ¹¾Øµ ÊíÒËÃѺ¢Ò¾Íà µ·Õãè ª µÍ ¡ÑºÊÇÔµª 㹡Ԩ¡ÃÃÁ¹Õ¤é Í× P8 ¨Ò¡¹Ñ¹é â»Ãá¡ÃÁ¨Ð¡íÒ˹´ãË ¢Ò¾Íà µã¹¡ÅØÁ A «Ö§è »ÃСͺ´ Ç¢ҾÍà µ P0-P3 à» ¹àÍÒµ ¾µØ â»Ãá¡ÃÁ ¨Ð·íÒ¡ÒõÃǨÊͺʶҹТͧ¢Ò P8 Ç Òà» ¹ 0 ËÃ×ÍäÁ «Ö§è ¡ç¤Í× µÃǨÊÍºÇ Ò ÊÇÔµª ¶¡Ù ¡´ËÃ×ÍäÁ ¶ ÒäÁ ÁÕ ¡ËÒá´ÊÇÔµª ¡ç¨ÐÊ §ÊÑÒ³Åͨԡ 0 ËÃ×ÍÅͨԡµèÒí ä»Âѧ¢Ò P0 áÅж ÒËÒ¡ÁÕ¡Òá´ÊÇÔµª àºÊÔ¡áʵÁ» 2SX ¨Ð¡ÃÐâ´´ÁÒ·íÒ§Ò¹·ÕèµíÒá˹ § LIGHT à¾×èÍÊ §ÊÑÒ³Åͨԡ 1 ËÃ×ÍÅͨԡÊÙ§ä»Âѧ¢Ò¾Íà µ P0 ¶Ñ´¨Ò¡¹Ñ¹é àºÊÔ¡áʵÁ» 2SX ¡ç¨Ð¡ÃÐⴴ仵ÃǨÊͺʶҹзբè Ò P8 ÍÕ¡ ¶ ÒÊÇÔµª 处 ¤§¶Ù¡¡´ÍÂÙ ¡ç¨ÐÂѧ ÁÕ¡ÒÃÊ §ÊÑÒ³Åͨԡ 1 ä»·Õ¢è Ò¾Íà µ P0 µÅÍ´àÇÅÒ·ÕÁè ¡Õ Òá´ÊÇÔµª ·Òí ãË ¢Ò P8 à» ¹Åͨԡ 0
â»Ãá¡ÃÁ·Õè A11-1 â»Ãá¡ÃÁÃѺÊÑÒ³ÍÔ¹¾Øµ¨Ò¡ÊÇÔµª Í ҧ§ Ò 11.2 à¢Õ¹â»Ãá¡ÃÁ·Õè A11-1 ºÑ¹·Ö¡ã¹ª×Íè ä¿Å ACT1101.BSX 11.3 ´Òǹ âËÅ´â»Ãá¡ÃÁä»Âѧ i-Stamp áÅ Ç·´Åͧ¡´ÊÇÔµª S1 «Ö§è µ ͡Ѻ¢Ò¾Íà µ P8 Êѧࡵ¡Òà ·íÒ§Ò¹¢Í§ LED àÁ×Íè ¡´ÊÇÔµª ¤Ò § LED ¨ÐµÔ´ÊÇ Ò§µÒÁ¡Òá´ÊÇÔµª áÅдѺŧàÁ×Íè »Å ÍÂÊÇÔµª
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
l
67
¡Ô¨¡ÃÃÁ·Õè 12 : ÊÇÔµª ¤Çº¤ØÁä¿ àÁ×Íè ÊÒÁÒÃ¶Í Ò¹¤ ÒÊÇÔµª áŠǹíÒÁÒáÊ´§¼ÅÍ ҧ§ ÒÂä´ ¨Ò¡¡Ô¨¡ÃÃÁ·Õè 11 ÁҶ֧㹡Ԩ¡ÃÃÁ ¹Õ¨é Ðà¾ÔÁè ¤ÇÒÁ«Ñº« ͹¢Í§¡ÒÃáÊ´§¼ÅáÅСÒÃÃѺ¤ ÒÍÕ¡àÅ硹 Í â´Âà¾ÔÁè ÊÇÔµª ࢠÒä»ÍÕ¡ 1 µÑÇ·Õ¢è Ò ¾Íà µ P9 áÅÐ LED ·Õ¢è Ò¾Íà µ P1 ´Ñ§¹Ñ¹é àºÊÔ¡áʵÁ» 2SX ¨Ö§µ ͧÁÕ¡ÒõÃǨÊͺà¾ÔÁè ¢Ö¹é ÍÕ¡¢Ñ¹é Ë¹Ö§è ¨Ò¡ ¡´ÊÇÔµª ËÃ×ÍäÁ à¾ÔÁè à» ¹ ÊÇÔµª µÇÑ ä˹¶Ù¡¡´ ¨Ò¡¹Ñ¹é àºÊÔ¡áʵÁ» 2SX ¨Ð·íÒ¡ÒûÃÐÁÇÅ ¼ÅáÅÐãË ¼ÅÅѾ¸ ·Ò§àÍÒµ ¾µØ ·Õ¢è Ò P0 áÅÐ P1 ᵡµ Ò§¡Ñ¹µÒÁ¼Å¡ÒõÃǨÊͺ·Õ¾è º ¹Ñ¹è ¤×Í ËÒ¡ ÊÇÔµª µÇÑ ·ÕËè ¹Ö§è ¶Ù¡¡´ ¡ç¨ÐÁÕ¡ÒÃáÊ´§¼ÅãË ·ÃҺẺ˹֧è áÅж ÒÊÇÔµª Í¡Õ µÑǶ١¡´ ¡ÒÃáÊ´§¼Å¡ç ¨Ðà»ÅÕè¹ä»ã¹ÍÕ¡ÃٻẺ˹Öè§
ÇÔ¸Õ¡Òà 12.1 㪠ǧ¨Ãã¹ÃÙ»·Õè A12-1 㹡Ò÷´Åͧ +5V
i-Stamp
21
22 RST 23 GND
SW1 RESET +5V RP1/4 4k7
P0 RP2/4 4k7 R1 220
P1 13 14
P8
5
R1 510
LED1-P0
R2 510
LED2-P1
6
P9
R2 220
S1 (P8)
S2 (P9)
ÃÙ»·Õè A12-1 ǧ¨Ã·´Åͧ¡ÒÃÃѺÊÑÒ³ÍÔ¹¾Øµ¨Ò¡ÊÇÔµª ÁÒ¡¡Ç Ò 1 µÑÇ 12.2 à¢Õ¹â»Ãá¡ÃÁ·Õè A12-1 ºÑ¹·Ö¡ã¹ª×Íè ä¿Å ACT1201.BSX ´Òǹ âËÅ´â»Ãá¡ÃÁä»Âѧ i-Stamp 12.4 ·´Åͧ¡´ÊÇÔµª S1 «Ö§è µ ͡Ѻ¢Ò¾Íà µ P8 Êѧࡵ¡Ò÷íÒ§Ò¹¢Í§ LED áÅмŷÕËè ¹ Òµ Ò§ Debug Terminal àÁ×Íè ¡´ÊÇÔµª S1 ·Õ¢è Ò P8, LED ·Õ¢è Ò¾Íà µ P0 ¨ÐµÔ´ÊÇ Ò§µÒÁ¡Òá´ÊÇÔµª áÅдѺŧàÁ×Íè »Å ÍÂÊÇÔµª ã¹¢³Ð·ÕËè ¹ Òµ Ò§ Debug Terminal ¡ç¨ÐáÊ´§¤ Ò 0 àÁ×Íè ¡´ÊÇÔµª áÅÐ 1 àÁ×Íè »Å ÍÂÊÇÔµª
68
l
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
'{$STAMP BS2sx} '{$PBASIC 2.5} '********************************************************* ' Program : Switch-controlled light ' Filename : ACT1201.BSX ' Processor : BASIC Stamp 2SX/i-Stamp ' Copyright (C) 2003 Innovative Experiment Co.,Ltd. '********************************************************* DO DEBUG HOME DEBUG ? IN8 ' Display value of IN8 and IN9 on Debug terminal DEBUG ? IN9 IF (IN8=0) THEN HIGH 0 PAUSE 100 ELSEIF (IN9=0) THEN HIGH 1 PAUSE 100 ELSE PAUSE 100 ENDIF LOW 0 LOW 1 PAUSE 100 LOOP
â»Ãá¡ÃÁ·Õè A12-1 â»Ãá¡ÃÁÃѺÊÑÒ³ÍÔ¹¾Øµ¨Ò¡ÊÇÔµª 2 µÑÇ 12.5 ·´Åͧ¡´ÊÇÔµª S2 «Ö§è µ ͡Ѻ¢Ò¾Íà µ P9 Êѧࡵ¡Ò÷íÒ§Ò¹¢Í§ LED áÅмŷÕËè ¹ Òµ Ò§ Debug Terminal àÁ×Íè ¡´ÊÇÔµª S2 ·Õ¢è Ò P9, LED ·Õ¢è Ò¾Íà µ P1 ¨ÐµÔ´ÊÇ Ò§µÒÁ¡Òá´ÊÇÔµª áÅдѺŧàÁ×Íè »Å ÍÂÊÇÔµª ã¹¢³Ð·ÕËè ¹ Òµ Ò§ Debug Terminal ¡ç¨ÐáÊ´§¤ Ò 0 àÁ×Íè ¡´ÊÇÔµª áÅÐ 1 àÁ×Íè »Å ÍÂÊÇÔµª
ÃÙ»·Õè A12-2 ¼Å¡Ò÷íÒ§Ò¹¢Í§â»Ãá¡ÃÁº¹Ë¹ Òµ Ò§ Debug Terminal
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
l
69
¡Ô¨¡ÃÃÁ·Õè 13 : ÊÇÔµª ¤Çº¤ØÁä¿áºº¡´µÔ´¡´´Ñº 㹡Ԩ¡ÃÃÁ·Õè 11 áÅÐ 12 «Ö§è à» ¹¡ÒÃÍ Ò¹¤ ÒÊÑÒ³ÍÔ¹¾Øµ¨Ò¡ÊÇÔµª ¹¹Ñé ¨Ð¾ºÇ Ò àÁ×Íè »Å Í ÊÇÔµª ʶҹзҧàÍÒµ ¾µØ ¡ç¨Ð¡ÅѺä»à» ¹¤ Òà´ÔÁ¤×ÍÅͨԡ 0 ·íÒãË àÁ×Íè µ ͧ¡ÒÃãË ÁàÕ ÍÒµ ¾µØ à» ¹ Åͨԡ 1 ¡çµÍ §¡´ÊÇÔµª µÅÍ´àÇÅÒ ´Ñ§¹Ñ¹é 㹡Ԩ¡ÃÃÁ¹Õ¨é §Ö ¾Ñ²¹Òâ»Ãá¡ÃÁÁÒÍÕ¡¢Ñ¹é ˹֧è â´ÂÊÒÁÒö ·Õ¨è Ð㪠ÊÇÔµª à¾Õ§µÑÇà´ÕÂÇ㹡ÒÃÊѧè ãË àÍÒµ ¾µØ à» ¹Åͨԡ 1 ËÃ×Í 0 ¤ Ò§äÇ áÅÐà»ÅÕÂè ¹á»Å§àÁ×Íè ÁÕ¡Òá´ÊÇÔµª ¤ÃÑ§é µ Íä» ¨ÐàÃÕ¡¡Ò÷íҧҹẺ¹ÕÇé Ò ·çÍ¡à¡ÔÅÊÇÔµª (toggle switch)
ÇÔ¸Õ¡Òà 13.1 㪠ǧ¨Ãã¹ÃÙ»·Õè A13-1 㹡Ò÷´Åͧ +5V 21
i-Stamp
22 RST 23 GND
SW1 RESET +5V RP1/4 4k7
P0 R9 220
5 R1 510
13
P8
LED1
S1
ÃÙ»·Õè A11-1 ǧ¨Ã·´Åͧ¡ÒÃÃѺÊÑÒ³ÍÔ¹¾Øµ¨Ò¡ÊÇÔµª 13.2 à¢Õ¹â»Ãá¡ÃÁ·Õè A13-1 㹪×Íè ä¿Å ACT1301.BSX '{$STAMP BS2sx} '{$PBASIC 2.5} '******************************************************* ' Program : Toggle switch ' Filename : ACT1301.BSX ' Processor : BASIC Stamp 2SX/i-Stamp '******************************************************* LED CON 0 ' Define LED as P0 SWITCH CON 8 ' Define SWITCH as P8 input SW_VAR VAR Byte ' Define SW_VAR as byte variable LOW LED ' Off light MAIN: BUTTON SWITCH,0,255,0,SW_VAR,1,TOGGLE_LIGHT ' Wait for switch is pressed GOTO MAIN ' Jump to main TOGGLE_LIGHT: TOGGLE LED PAUSE 200 GOTO MAIN
' Toggle light status ' Delay ' Jump to main
â»Ãá¡ÃÁ·Õè A13-1 â»Ãá¡ÃÁÊÇÔµª ¤Çº¤ØÁä¿áºº¡´µÔ´¡´´Ñº
70
l
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
13.3 ´Òǹ âËÅ´â»Ãá¡ÃÁä»Âѧ i-Stamp 13.4 ·´Åͧ¡´ÊÇÔµª S1 «Ö§è µ ͡Ѻ¢Ò¾Íà µ P8 áŠǻŠÍ Êѧࡵ¡Ò÷íÒ§Ò¹¢Í§ LED àÁ×Íè ¡´ÊÇÔµª S1 ·Õ¢è Ò P8, LED ·Õ¢è Ò¾Íà µ P0 ¨ÐµÔ´ÊÇ Ò§µÒÁ¡Òá´ÊÇÔµª áÅÐÂѧ¤§µÔ´ ¤ Ò§áÁ Ç Ò¨Ð»Å ÍÂÊÇÔµª áÅ Ç 13.5 ·´Åͧ¡´ÊÇÔµª S1 «éÒí ÍÕ¡¤Ãѧé Êѧࡵ¡Ò÷íÒ§Ò¹¢Í§ LED àÁ×Íè ¡´ÊÇÔµª LED ·Õ¢è Ò¾Íà µ P0 ¨Ð´ÑºÅ§
à¡Ãç´à¾ÔÁè àµÔÁ ã¹â»Ãá¡ÃÁ㪠¤Òí Êѧè BUTTON 㹡ÒÃÃÍÃѺÊÇÔµª â´Â·Õ¡è Òí ˹´¤ Ò¾ÒÃÒÁÔàµÍà delay à» ¹ 255 «Ö§è ËÁÒ¶֧äÁ Á¡Õ Ò÷íÒâ»Ãá¡ÃÁ«éÒí ¶ ÒÂѧ¡´ÊÇÔµ« ¤Ò §ÍÂÙ¹ ¹Ñè àͧ l
Í Ò¹¤ ÒÊÇÔµª ´Ç ¤íÒÊѧè BUTTON ÁÕû٠Ẻ¡ÒÃ㪠§Ò¹¤íÒÊÑ§è ´Ñ§¹Õé BUTTON pin,downstate,delay,rate,bytevariable,targetstate,address
à» ¹¤íÒÊÑè§ÊíÒËÃÑºÍ Ò¹¤ ҢͧÊÇÔµª ÍÔ¹¾Øµ ÊÒÁÒö¡íÒ˹´ãË ÁÕ¡Òû ͧ¡Ñ¹¡ÒáÃÐà¾×èÍÁÍѹà¹×èͧÁÒ¨Ò¡¡Òá´ ÊÇÔµª ËÃ×Í¡ÒÃàºÒ« (bounce) â´Â¤íÒÊÑ§è ¹Õ¨é СíÒ˹´ãË àºÊÔ¡áʵÁ» 2SX Êà ҧÊÑÒ³¡Òá´ÊÇÔµª «Òéí (autorepeat) áÅСÃÐâ´´ä»ÂѧµíÒá˹ §·ÕèÃкض Ò»Ø Á·Õè¡´¹Ñ鹵ç¡Ñº¤ Ò·Õè¡íÒ˹´äÇ ·Õè targetstate â´Âǧ¨ÃÊà ҧ ÊÑÒ³¡Òá´¤Õ¹ ÊÕé ÒÁÒöãË áÍ¡µÕ¿ËÃ×Í·íÒ§Ò¹·ÕÅè ͨԡ 0 ËÃ×Í 1 ¡çä´ pin 㪠¡Òí ˹´µíÒá˹ §¢Í§¢Ò¾Íà µ¢Í§àºÊÔ¡áʵÁ» 2SX ·Õµè Í ¡ÑºÊÇÔµª downstate 㪠ÊÒí ËÃѺ¡íÒ˹´Ê¶Ò¹ÐÅͨԡàÁ×Íè ÊÇÔµª ¶¡Ù ¡´ 0 : à¡Ô´Åͨԡ 0 àÁ×Íè ÁÕ¡Òá´ÊÇÔµª (㹡Ԩ¡ÃÃÁ·Õè 13 àÅ×Í¡à§×Íè ¹ä¢¹Õ)é 1 : à¡Ô´Åͨԡ 1 ¢Ö¹é ·Õ¢è Ò¾Íà µ·Õ¡è Òí ˹´àÁ×Íè ÁÕ¡Òá´ÊÇÔµª à¡Ô´¢Ö¹é delay 㪠¡íÒ˹´ÃÐÂÐË Ò§¢Í§ª ǧàÇÅÒ¡ ͹·Õè¨ÐÊà ҧÊÑÒ³¡Òá´ÊÇÔµª «éíÒ Ë¹ Ǥ×Í ÁÔÅÅÔÇÔ¹Ò·Õ ¶ Ò෠ҡѺ 0 ¨ÐäÁ Á¡Õ ÒÃá¡ Ê Ñ Ò³Ãº¡Ç¹¨Ò¡¡Òá´ÊÇÔµª ·íÒãË Á¡Õ ÒÃÊà ҧÊÑÒ³¡´ÊÇÔµª «Òéí ·Ñ¹·Õ ¤ Ò·ÕÍè Ò ¹ ä´ ÍÒ¨¼Ô´¾ÅÒ´ä´ ¶ Ò¤ Ò delay ෠ҡѺ 255 ¨Ðá¡ » ËÒ¹Õäé ´ áµ ¨ÐäÁ Á¡Õ ÒÃÊà ҧÊÑÒ³¡´ÊÇÔµª «Òéí rate 㪠¡Òí ˹´¨íҹǹ¢Í§Ç§Ãͺã¹ÃÐËÇ Ò§¡ÒÃÊà ҧÊÑÒ³¡´ÊÇÔµª «Òéí bytevariable ¤ Ò¹Õ¨é е ͧ¡íÒ˹´ãË à» ¹ 0 ¡ ͹㪠¤Òí Êѧè BUTTON ¤Ãѧé áá targetstate 㪠¡Òí ˹´à§×Íè ¹ä¢¢Í§¡Òá´ÊÇÔµª 0 : äÁ Á¡Õ Òá´ÊÇÔµª 1 : ÊÇÔµª ¶¡Ù ¡´ address à» ¹ÅÒàºÅ·Õ¡è Òí ˹´µíÒá˹ §·Õâè »Ãá¡ÃÁ¨Ð¡ÃÐâ´´ä» ¶ Ò»ØÁ ·Õ¡è ´ÁÕ¤Ò µÃ§¡Ñº¤ Ò targetstate
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
l
71
¤íÒ͸ԺÒÂà¾ÔèÁàµÔÁ ÊÇÔµª ¡´µÔ´»Å Í´Ѻ·ÕÁè ãÕ ª §Ò¹¡Ñ¹ÍÂÙ· ÇÑè æ ä» àÁ×Íè ÁÕ¡Òá´ÊÇÔµª 1 ¤Ãѧé ÊÑÒ³¾ÑÅÊ ·àÕè ¡Ô´¨Ò¡¡Òá´ ÊÇÔµª ÍÒ¨¨ÐÁÕÁÒ¡¡Ç Ò 1 ÅÙ¡ ´Ñ§¹Ñ¹é ¡ÒÃÍ Ò¹¤ Ò¨Ò¡¡Òá´ÊÇÔµª Í񬊫 ¤Ò ·Õ¼è ´Ô ¾ÅÒ´ÍÍ¡ÁÒ ¤íÒÊѧè BUTTON ¨Ð·íÒ Ë¹ Ò·Õàè ËÁ×͹¡Ñº¡Òá´¤Õº Íà ´·Õ¤è ÍÁ¾ÔÇàµÍà ¡Å ÒǤ×Í àÁ×Íè ÁÕ¡Òá´¤Õ¨ ÐÁÕµÇÑ ÍÑ¡ÉûÃÒ¡¯·ÕËè ¹ Ò¨Í ¶ ÒÁÕ¡Òà ¡´¤Õ¤ Ò §äÇ àÇ ¹ÃÐÂÐ仪ÑÇè ¤ÃÙ µÑÇÍÑ¡ÉõÑÇà´ÔÁ¨Ð¾ÔÁ¾ «Òéí ÍÍ¡ÁÒáÊ´§·ÕËè ¹ Ò¨Í ¤íÒÊѧè BUTTON ¡çÊÒÁÒö¡íÒ˹´ ãË ·Òí §Ò¹àª ¹¹Õäé ´
ÃдѺáç´Ñ¹¡ ͹¡´ÊÇÔµª
ÊÑҳú¡Ç¹·Õèà¡Ô´¢Öé¹ ÃдѺáç´Ñ¹ËÅѧ¡´ÊÇÔµª (à¹×èͧ¨Ò¡ÊÇÔµª µ Íŧ¡ÃÒÇ´ äÇ )
áÊ´§ÅѡɳТͧÊÑҳú¡Ç¹·Õàè ¡Ô´¡Òèҡ¡Òá´ÊÇÔµª ËÃ×ÍàÃÕÂ¡Ç Ò ¡ÒÃàºÒ« (bounce) ¢Í§ÊÇÔµª ¤íÒÊѧè BUTTON ¶Ù¡Í͡ẺÁÒãË ãª ã¹â»Ãá¡ÃÁÅÙ» 㹡ÒÃǹÅٻᵠÅФÃÑ§é ¤íÒÊѧè BUTTON ¨ÐµÃǨ ÊͺʶҹТͧ¢Ò·Õ¡è Òí ˹´ àÁ×Íè ¢Ò·Õµè ÃǨÊͺÁÕ¤Ò µÃ§¡Ñº¤ Ò downstate ¤íÒÊѧè BUTTON ¨Ð» ͧ¡Ñ¹¡ÒÃàºÒ« ¨Ò¡¡Òá´ÊÇÔµª ¨Ò¡¹Ñ¹é ¶ ÒµÃǨÊ꼂 ÒÁÕ¡Òá´¤ÕÂá ¹ ¹Í¹ áÅСíÒ˹´¤ Ò targetstate äÇ à· Ò¡Ñº 1 â»Ãá¡ÃÁ ¨Ð¡ÃÐâ´´ä»ÂѧµíÒá˹ §áÍ´à´ÃÊ·Õ¡è Òí ˹´äÇ áµ ¶Ò ¡íÒ˹´¤ Ò tagetstate ෠ҡѺ 0 â»Ãá¡ÃÁ¨Ð¡ÃзíÒ¤íÒÊÑ§è ¶Ñ´ä» ¶ ÒÊÇÔµª 处 ¤§¤ ҧʶҹÐÍÂÙ· Õè downstate ¤íÒÊѧè BUTTON ¨Ð·íÒ¡ÒùѺ¨íҹǹ¡ÒÃǹÅÙ»¢Í§â»Ãá¡ÃÁ àÁ×Íè ¤ Ò¨íҹǹ·Õ¹è ºÑ ÁÕ¤Ò à· Ò¡Ñº¤ Ò delay ¤íÒÊѧè BUTTON ¨Ð·íÒ¡ÒáÃеع ¡Ò÷íÒ§Ò¹µÒÁ·ÕÃè кØäÇ ã¹ tagetstate áÅÐáÍ´à´ÃÊÍÕ¡¤ÃÑ§é ¹Ñ¹è ¤×ͨзíÒ¡ÒÃáÊ´§¤ ҢͧÊÇÔµª ·¶Õè ¡Ù ¡´¹Ñ¹é «éÒí ÍÕ¡¤Ãѧé ËÅѧ¨Ò¡¹Õ¶é Ò ÊÇÔµª 处 ÍÂÙ· ÊÕè ÀÒÇÐ downstate ¤íÒÊÑè§ BUTTON ¨ÐµÃǨÊͺ¤ Ò¨íҹǹ rate à¾×èÍ¡ÃÐµØ ¹¡Ò÷íÒ§Ò¹ÍÕ¡¤ÃÑé§ ¨Ðà¡Ô´¡ÒÃáÊ´§¤ Ò ¢Í§ÊÇÔµª µÇÑ ¹Ñ¹é Í ҧµ Íà¹×Íè § àËÁ×͹¡Ñº¡ÒäÕ¤ Ò §æ º¹¤Õº Íà ´¢Í§¤ÍÁ¾ÔÇàµÍà ¨¹¡Ç Ò¨Ðà¡Ô´¡ÒûŠÍÂÊÇÔµª áÅÐâ»Ãá¡ÃÁ·íÒ¡ÒõÃǨÊͺ¾º
72
l
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
¡Ô¨¡ÃÃÁ·Õè 14 : ÊÇÔµª ËÃÕäè ¿©ºÑº¡ÃÐà» Ò ã¹¡Ô¨¡ÃÃÁ¹Õ¨é йíÒ¤ÇÒÁÃÙ¨ Ò¡¡ÒÃÍ Ò¹¤ ÒÊÇÔµª 2 µÑǼ¹Ç¡à¢ ҡѺ¤íÒÊѧè PWM à¾×Íè Êà ҧ໠¹Ç§¨Ã ÊÇÔµª ËÃÕäè ¿ (dimmer switch) â´ÂàºÊÔ¡áʵÁ» 2SX ¨ÐÍ Ò¹¤ Ò¨Ò¡ÊÇÔµª ÇÒ µÑÇã´¶Ù¡¡´ ¨Ò¡¹Ñ¹é ¨Ð¹íҼŷÕÍè Ò ¹ä´ ¹¹Ñé 令Ǻ¤ØÁ¤ÇÒÁÊÇ Ò§¢Í§ LED ´ Ç¡Ò÷íÒ§Ò¹¢Í§¤íÒÊѧè PWM ¾Ã ÍÁ¡Ñ¹ÂѧÁÕ ¡ÒÃ㪠¤Òí Êѧè MIN áÅÐ MAX à¾×Íè ¡íÒ˹´¢Íºà¢µ¢Í§¡ÒÃÊ §¤ Òä»Âѧ¤íÒÊѧè PWM ¡ÒÃËÃÕäè ¿ã¹¡Ô¨¡ÃÃÁ¹Õãé ª LED à» ¹µÑÇá·¹ ´Ñ§¹Ñ¹é ¨Ö§äÁ ÊÒÁÒö㪠ǧ¨Ã¹Õäé »¤Çº¤ØÁËÅÍ´ä¿äÊ ·Õèµ Í§¡ÒÃáç´Ñ¹ÊÙ§ä´ â´ÂµÃ§ ËÒ¡µ ͧ¡Òèе ͧà¾ÔèÁǧ¨Ã¢ÑºâËÅ´¡ÃÐáÊÊÙ§ â´Â¹íÒÊÑÒ³ àÍÒµ ¾µØ ¨Ò¡¢Ò¾Íà µ¢Í§àºÊÔ¡áʵÁ» 2SX ä»ãª 㹡ÒäǺ¤ØÁ «Ö§è ¨Ðµ ͧ㪠·¡Ñ ÉÐ㹡Òõ Íǧ¨Ã ÍÔàÅç¡·Ã͹Թ¡Ê à¾ÔÁè àµÔÁ
ÇÔ¸Õ¡ÒÃ
14.1 㪠ǧ¨Ãã¹ÃÙ»·Õè A14-1 㹡Ò÷´Åͧ +5V 21
i-Stamp
22 RST 23 GND
SW1 RESET +5V RP1/4 4k7
P0 RP2/4 4k7 R1 220
5 R1 510
13 14
P8 P9
R2 220
S1 (P8) UP
S2 (P9) DOWN
ÃÙ»·Õè A14-1 ǧ¨ÃÊÇÔµª ËÃÕäè ¿â´Â㪠i-Stamp 14.2 à¢Õ¹â»Ãá¡ÃÁ·Õè A14-1 ºÑ¹·Ö¡ã¹ª×Íè ä¿Å ACT1401.BSX
LED1
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
l
73
'*************************************************** ' Program : LED Dimmer ' Filename : ACT1401.BSX ' Processor : BASIC Stamp 2Sx/i-Stamp ' Copyright (C) 2003 Innovative Experiment Co.,Ltd. '*************************************************** LED CON 0 ' Define P0 as LED I VAR BYTE ' Define I as byte variable N VAR NIB ' Define N as nibble variable CYCLE CON 25 ' Define CYCLE as 25 SW_UP VAR IN8 ' Define SW_UP as P8 input SW_DOWN VAR IN9 ' Define SW_DOWN as P9 input MAIN:
IF SW_UP=1 THEN CHK_DOWN I=(I MIN 1)-1
CHK_DOWN: IF SW_DOWN=1 THEN SEND_PWM I=(I MAX 127)+1 SEND_PWM:
FOR N=1 TO 3 PWM LED,I,CYCLE NEXT GOTO MAIN
' Check SW_UP pressed? ' Decrease PWM if pressed, ,minimum 0
' Check SW_DOWN pressed? ' Increase PWM if pressed, ,maximum 128 ' ' ' '
Set loop 3 times Send PWM to LED Do loop Jump to main
ËÅÑ¡¡Ò÷íÒ§Ò¹¢Í§â»Ãá¡ÃÁ¤×Í ãª ÊÇÔµª ·µÕè Í ¡Ñº¢Ò¾Íà µ P8 áÅÐ P9 à¾×Íè ¤Çº¤ØÁ¡ÒÃÊà ҧÊÑÒ³ PWM ·ÕÊè § ÍÍ¡ä»Âѧ¢Ò¾Íà µ P0 à¾×Íè ¢Ñº LED â´Â¡íÒ˹´¢Íºà¢µ¢Í§¡ÒÃà¾ÔÁè ¤ Ò´ Ç¿ §¡ ª¹Ñè MAX à¾×Íè äÁ ãË Á¤Õ Ò à¾ÔÁè ÁÒ¡¡Ç Ò 128 áÅÐ㪠¿§ ¡ ª¹Ñè MIN à¾×Íè ¡íÒ˹´¢Íºà¢µ¢Í§¡ÒÃÅ´äÁ ãË µÒèí ¡Ç Ò 0
â»Ãá¡ÃÁ·Õè A11-1 â»Ãá¡ÃÁÊÇÔµª ËÃÕäè ¿ãª ·´Åͧ¡ÒÃÃѺ¤ ÒÍÔ¹¾Øµ¨Ò¡ÊÇÔµª 2 µÑÇ à¾×Íè ¹íÒ令Ǻ¤ØÁ¤ÇÒÁÊÇ Ò§¢Í§ LED ·Õµè Í ÍÂÙ· Ò§àÍÒµ ¾µØ
à¡Ãç´à¾ÔÁè àµÔÁ l ÊÒÁÒö¡íÒ˹´ª ǧàÇÅÒ㹡ÒÃàà §-ËÃÕè LED ä´ ¨Ò¡¤ Ò¤§·Õè â´Â»ÃѺ¤ ÒÅÙ» FOR N=1 TO 3
à» ¹¤ ÒÍ×è¹
74
l
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
¡Ô¨¡ÃÃÁ·Õè 15 : ËÑÇ¡ ÍÂÍÔàÅç¡·ÃÍ¹Ô¡Ê ¹Õ¤è Í× ¡Ô¨¡ÃÃÁ·Õªè Ç ÂãË ÊÒÁöàÃÕ¹ÃÙ¡ Ò÷íÒ§Ò¹¢Í§àºÊÔ¡áʵÁ» 2SX ËÃ×Í i-Stamp ¡ÑºÍØ»¡Ã³ ÍÔ¹¾ØµàÍÒµ ¾µØ ·Ñ§é ËÁ´ä´ 㹤ÃÒÇà´ÕÂÇ â´Â੾ÒСѺ¡ÒâѺÍØ»¡Ã³ áʧáÅТѺÊÑÒ³àÊÕ§ÍÍ¡ ·Ò§ÅíÒ⾧ àÁ×Íè àºÊÔ¡áʵÁ» 2SX ÊÒÁÒöÃѺ¤ ÒÍÔ¹¾Øµ¨Ò¡ÊÇÔµª ä´ â´Â¡Ô¨¡ÃÃÁ¹Õäé ´ ÃºÑ ¡ÒùíÒàÊ¹Í ã¹ÃÙ»¢Í§à¡ÁàÊÕÂè §·ÒÂÍÀÔÁËÒÍÁµÐ¹ÔÃ´Ñ Ã ¡ÒÅ ¹Ñ¹è ¤×Í à¡ÁËÑÇ¡ ÍÂ
ÇÔ¸Õ¡ÒÃ
15.1 㪠ǧ¨Ãã¹ÃÙ»·Õè A15-1 㹡Ò÷´Åͧ +5V
i-Stamp
21
22 RST 23 GND
SW1 RESET +5V RP1/4 4k7
S1
R3 220
13
P8
P0 P1
P12
5
R1 510
LED1-P0
R2 510
LED2-P1
6
17
C1 10µF 50V SP1 Speaker
ÃÙ»·Õè A15-1 ǧ¨Ãà¡ÁàÊÕÂè §·Ò : ËÑÇ¡ ÍÂÍÔàÅç¡·ÃÍ¹Ô¡Ê â´Â㪠i-Stamp 15.2 à¢Õ¹â»Ãá¡ÃÁ·Õè A15-1 ºÑ¹·Ö¡ã¹ª×Íè ä¿Å ACT1501.BSX ´Òǹ âËÅ´â»Ãá¡ÃÁä»Âѧ i-Stamp 15.3 ·´Åͧ¡´ÊÇÔµª S1 ·Õµè Í ¡Ñº¢Ò¾Íà µ P8 áÅ ÇÊѧࡵ¡Ò÷íÒ§Ò¹¢Í§ LED áÅÐÅíÒ⾧ àÁ×Íè àÃÔÁè ¨ ÒÂä¿àÅÕÂé § LED ·Õµè Òí á˹ § P0 «Ö§è 㪠᷹ ËÑÇ ¨ÐµÔ´ÊÇ Ò§ àÁ×Íè ¡´ÊÇÔµª ·µÕè Í ¡Ñº ¢Ò¾Íà µ P8 ¨ÐàËç¹ LED ·Ñ§é Êͧ´Ç§µÔ´ÊÅѺä»ÁÒ ¾Ã ÍÁæ ¡Ñºä´ Â¹Ô àÊÕ§ µçÍ¡ ´§ÑÍÍ¡¨Ò¡ÅíÒ⾧ Í ҧµ Íà¹×Íè §¨¹¡Ç ҨлŠÍÂÊÇÔµª ä»ÊÑ¡ÃÐÂÐ˹֧è àÊÕ§¨Ð´ÑºÅ§¾Ã ÍÁæ ¡Ñº LED ¨ÐµÔ´¤ Ò§·Õ´è ǧ 㴴ǧ˹֧è à» ¹¡ÒÃáÊ´§¼Å¡ÒÃàÊÕÂè §·Ò ËÑÇ ËÃ×Í ¡ Í ¼Å·Õèä´ ¨Ò¡¡Ô¨¡ÃÃÁ¹Õé¤×Í ÊÒÁÒöÊà ҧǧ¨Ãà¡ÁÍ ҧ§ ÒÂæ ¾Ã ÍÁ·Ñé§à¢ Ò㨶֧¤ÇÒÁ ÊÑÁ¾Ñ¹¸ ¢Í§¡ÒÃÃѺ¤ ÒÍÔ¹¾Øµ¡Ñº¡ÒÃÊ §¤ ÒÍÍ¡àÍÒµ ¾Øµ·Ñé§ã¹ÃÙ»¢Í§ÊÑÒ³Åͨԡ»¡µÔ áÅÐã¹ÃÙ»¢Í§ÊÑÒ³àÊÕ§
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
l
75
'*********************************************************** ' Program : Head or toe ' Filename : ACT1501.BSX ' Processor : BASIC Stamp 2Sx/i-Stamp ' Copyright (C) 2003 Innovative Experiment Co.,Ltd. '************************************************************ '{$STAMP BS2sx} '{$PBASIC 2.5} LED0 CON 0 ' Define LED0 as P0 LED1 CON 1 ' Define LED1 as P1 SPK CON 12 ' Define SPK as P12 SWITCH VAR IN8 ' Define SWITCH as P8 input I VAR Byte ' Define I as counter byte variable OUTPUTLED0 OUTPUTLED1
' Make LED0 as output ' Make LED1 as output
RESET:
HIGH LED0 LOW LED1
' Set initial value to P0,P1
MAIN: LOOP_:
IF SWITCH=1 THEN MAIN TOGGLE LED0 TOGGLE LED1 FREQOUTSPK,25,600 PAUSE 20 IF SWITCH=0 THEN LOOP_
' Wait SWITCH pressed ' Flip 2 LEDs
FOR I=0 TO 49 TOGGLE LED0 TOGGLE LED1 FREQOUTSPK,25,600 PAUSE 20 NEXT GOTO MAIN
' Loop 50 times later ' Flip 2 LEDs
' Make sound "TOK" on speaker ' Delay 20ms ' Loop until SWITCH depressed
' ' ' '
Make sound "TOK" on speaker Delay 20ms Do loop Jump to main
â»Ãá¡ÃÁ·Õè A15-1 â»Ãá¡ÃÁà¡ÁàÊÕÂè §·ÒÂËÑÇ-¡ ÍÂÍÔàÅç¡·ÃÍ¹Ô¡Ê ¤Çº¤ØÁ¡ÒÃÊØÁ ¤ Ò´ Ç i-Stamp
à·¤¹Ô¤à¾ÔÁè àµÔÁ
l ã¹â»Ãá¡ÃÁÁÕ¡ÒûÃСÒÈàÍÒµ ¾µ Ø ´ ǤíÒÊѧè OUTPUT áÅÐ㪠¤Òí Êѧè TOGGLE 㹡ÒÃÊÅѺ
ʶҹТͧàÍÒµ ¾Øµ
¤íÒàµ×͹
à¡ÁàÊÕ觷ҷÕèÊà ҧ¢Öé¹¹ÕéÁըش»ÃÐʧ¤ à¾Õ§à¾×èÍÈÖ¡ÉÒ¡Ò÷íÒ§Ò¹¢Í§äÁâ¤Ã¤Í¹â·ÃÅàÅÍÃ à· Ò¹Ñ¹é ¨Ö§¢ÍãË ¼àÙ ÃÕ¹¾Ô¨ÒóҶ֧¤ÇÒÁàËÁÒÐÊÁ㹡ÒùíÒä»ãª §Ò¹ l
76
l
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
¡Ô¨¡ÃÃÁ·Õè 16 : ¡ÃÔ§è àÊÕ§´¹µÃÕ ¹Õè¤×Í¡Ô¨¡ÃÃÁ»ÃÐÂØ¡µ 㪠§Ò¹·ÕèÊÒÁÒö¹íÒä»ãª ä´ ¨ÃÔ§ â´Â¡ÒùíÒ¤ÇÒÁÃÙ ã¹àÃ×èͧ¡ÒÃÍ Ò¹¤ Ò ÊÑÒ³ÍÔ¹¾Ø¨Ò¡ÊÇÔµª ÃÇ Á¡Ñº¡ÒÃÊà ҧÊÑÒ³àÊÕ§´ ǤíÒÊѧè FREQOUT ÊÒÁÒö¹íÒÁҾѲ¹Ò à» ¹ ¡ÃÔ§è àÊÕ§´¹µÃÕ ·Õ¤è Ǻ¤ØÁ¡Ò÷íÒ§Ò¹´ ÇÂäÁâ¤Ã¤Í¹â·ÃÅàÅÍà «Ö§è ÊÒÁÒöà»ÅÕÂè ¹àÊÕ§´¹µÃÕ ä´ µÒÁ·Õµè Í §¡ÒÃà¾Õ§à¢Õ¹â»Ãá¡ÃÁ¡íÒ˹´¤ Ò¤ÇÒÁ¶ÕÅè §ä»ãËÁ ෠ҹѹé
ÇÔ¸Õ¡Òà 16.1 㪠ǧ¨Ãã¹ÃÙ»·Õè A16-1 㹡Ò÷´Åͧ +5V
i-Stamp
21
22 RST 23 GND
SW1 RESET +5V
P12 RP1/4 4k7
R9 220
13
17
C1 10µF 50V SP1 Speaker
P8
S1
ÃÙ»·Õè A16-1 ǧ¨Ã¡ÃÔ§è àÊÕ§´¹µÃÕâ´Â㪠i-Stamp ÊíÒËÃѺÈÖ¡ÉÒ¡ÒÃÃѺÊÑÒ³ÍÔ¹¾Øµ¨Ò¡ÊÇÔµª 16.2 à» ´â»Ãá¡ÃÁàºÊÔ¡áʵÁ» àÍ´ÔàµÍà à¢Õ¹â»Ãá¡ÃÁ·Õè A16-1 ºÑ¹·Ö¡ã¹ª×Íè ä¿Å ACT1601.BSX 16.3 ´Òǹ âËÅ´â»Ãá¡ÃÁä»Âѧ i-Stamp 16.4 ·´Åͧ¡´ÊÇÔµª S1 àÁ×Íè ¡´ÊÇÔµª ¨Ðä´ Â¹Ô àÊÕ§à¾Å§ Mission Impossible ã¹¢³Ð·Õ¢è ºÑ àÊÕ§´¹µÃÕ¹¹Ñé i-Stamp ¨ÐäÁ ʹã¨ÃѺÊÑÒ³ÍÔ¹¾Øµ¨Ò¡ÊÇÔµª Í¡Õ ¨¹¡Ç Ò¨ÐàÅ ¹´¹µÃÕ¨º
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
l
77
'{$STAMP BS2sx} '{$PBASIC 2.5} '****************************************************** ' Program : Melody chime ' Filename : ACT1601.BSX ' Processor : BASIC Stamp 2SX/i-Stamp ' Copyright (C) 2003 Innovative Experiment Co.,Ltd. '****************************************************** SPK CON 12 ' Define SPK as P12 DURATION VAR Word ' Define DURATION as word variable FREQ VAR Word ' Define FREQ as word variable SWITCH VAR IN8 ' Define SWITCH as P8 input I VAR Byte ' Define I as counter byte variable ' Note frequency table C CON 419 CH CON 444 D CON 470 EL CON 498 E CON 528 F CON 559 FH CON 592 G CON 627 AL CON 665 A CON 704 AH CON 746 B CON 789 C1 CON 837 P CON 0
' ' ' ' ' ' ' ' ' ' ' ' ' '
Note C Frequency Note C# Frequency Note D Frequency Note Eb Frequency Note E Frequency Note F Frequency Note F# Frequency Note G Frequency Note Ab Frequency Note A Frequency Note A# Frequency Note B Frequency Note C1 Frequency Pause
MAIN: IF SWITCH=1 THEN MAIN ' Wait for switch is pressed FOR I=0 TO 32 ' Set 33 notes loop LOOKUP I,[G,P,G,P,AH,P,C1,P,G,P,G,P,F,P,FH,P,G,P,G, P,AH,P,C1,P,G,P,G,P,F,P,FH,P,G],FREQ ' Read notes table LOOKUP I,[1,2,1,2,2,1,1,1,1,2,1,1,1,1,1,1,1,2,1,2, 1,1,1,1,1,2,1,2,1,1,1,1,1],DURATION ' Read beats table FREQOUT SPK,390*DURATION,FREQ NEXT GOTO MAIN
' Make sound from table with beat ' Do loop ' Goto play again
¡Ò÷íÒ§Ò¹àÃÔÁè µ ¹àÁ×Íè ÁÕ¡Òá´ÊÇÔµª ·µÕè Í ¡Ñº¢Ò P8 â´Âã¹â»Ãá¡ÃÁ¹Õãé ª ¤Òí Êѧè IN8 à¾×Íè ¡íÒ˹´ãË ¢Ò¾Íà µ P8 à» ¹ÍÔ¹¾ØµáÅ Ç㪠µÇÑ á»Ã SWITCH à» ¹µÑÇ·íҧҹ᷹ â»Ãá¡ÃÁ㹺Ã÷Ѵ IF SWITCH=1 THEN MAIN à» ¹¡ÒáíÒ˹´ãË i-Stamp ǹÃÍ¡Òá´ÊÇÔµª áÅзѹ·Õ·¡ Õè ´â»Ãá¡ÃÁ¨Ð´Ö§¤ Ò¤ÇÒÁ¶Õµè ÇÑ â¹ µ (Note frequency table) áÅФÇÒÁÂÒǵÑÇâ¹ µáµ ÅеÑÇ·Õàè ¡çºäÇ ã¹µÒÃҧᵠÅЪشÍÍ¡ÁÒàÅ ¹µÒÁÅíÒ ´Ñº â´Â㪠¤Òí Êѧè LOOKUP ¨¹¡Ç ҨФú 33 µÑÇ·ÕÃè кØäÇ ã¹¡Òõѧé ÅÙ»¨Ö§¡ÅѺࢠÒÊÙâ »Ãá¡ÃÁËÅÑ¡ãËÁ Í¡Õ ¤Ãѧé
â»Ãá¡ÃÁ·Õè A16-1 â»Ãá¡ÃÁÊà ҧ¡ÃÔ§è àÊÕ§´¹µÃÕ㹡Ԩ¡ÃÃÁ·Õè 16
78
l
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
à¡Ãç´à¾ÔÁè àµÔÁ
l ·´Åͧᵠ§à¾Å§àͧ â´Âᡠ䢤 Ò㹤íÒÊѧè LOOKUP ·Õãè ª àÃÕ¡µÒÃÒ§µÑÇâ¹ µáÅеÒÃÒ§¤ÇÒÁ
ÂÒÇâ¹ µã¹ºÃ÷Ѵ
LOOKUP I,[G,P,G,P,AH,P,C1,P,G,P,G,P,F,P,FH,P,G,P,G, P,AH,P,C1,P,G,P,G,P,F,P,FH,P,G],FREQ ' Read notes table LOOKUP I,[1,2,1,2,2,1,1,1,1,2,1,1,1,1,1,1,1,2,1,2, 1,1,1,1,1,2,1,2,1,1,1,1,1],DURATION ' Read beats table
ÃÇÁ·Ñ§é à»ÅÕÂè ¹¨íҹǹÅÙ»ãË à· Ò¡Ñº¨íҹǹµÑÇâ¹ µ·ÕÁè ´Õ Ç Â·Õºè Ã÷Ѵ FOR I=0 TO 32
' Set 33 notes loop
à¹×Íè §¨Ò¡µÒÁµÑÇÍ ҧ¨ÐàÅ ¹´¹µÃÕä´ à¾Õ§ 33 µÑÇâ¹ µ l ·Õâè »Ãá¡ÃÁ㹺Ã÷Ѵ LOOKUP ¨ÐàËç¹Ç ÒÁÕ¤Ò µÑÇá»ÃÁÒ¡ÁÒ ᵠ´Ç ¤ÇÒÁÊÒÁÒö¢Í§µÑÇ
á»ÅÀÒÉÒ¾ÕàºÊÔ¡ã¹àÇÍà ª¹Ñè 2.5 ÊÒÁÒö¢Ö¹é ºÃ÷ѴãËÁ ä´ â´Â㪠à¤Ã×Íè §ËÁÒ¨ØÅÀÒ¤ (,) à» ¹µÑÇàª×Íè Á â§ã¹áµ ÅкÃ÷Ѵ
à·¤¹Ô¤à¾ÔÁè àµÔÁ ã¹â»Ãá¡ÃÁä´ Á¡Õ ÒáíÒ˹´¤ ÒµÑǤٳ´ Ç 390 ãË ¡ºÑ µÑÇá»Ã DURATION ¶ Ò»ÃѺ¤ ÒŴŧ ¨Ð·íÒãË ¨§Ñ ËÇТͧà¾Å§àÃçÇ¢Ö¹é l
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
l
79
º··Õè 6
ÊÒþѹâ¤Ã§§Ò¹áʧ-àÊÕ§-ÊÇÔµª ¡ÑºàºÊÔ¡áʵÁ» 2SX 㹺·¹Õé¨Ð¹íÒàʹÍà¡ÕèÂǡѺ¡ÒùíÒ¤ÇÒÁÃÙ ·Õèä´ ¨Ò¡¡ÒâѺÍØ»¡Ã³ àÍÒµ ¾Øµ·Ñé§áʧáÅÐàÊÕ§ ¼¹Ç¡¡Ñº¤ÇÒÁÃ٠㹡ÒÃÃѺÊÑÒ³ÍÔ¹¾Øµ¨Ò¡ÊÇÔµª ¢Í§äÁâ¤Ã¤Í¹â·ÃÅàÅÍà àºÊÔ¡áʵÁ» 2SX ÁÒÊà ҧ໠¹â¤Ã§§Ò¹·ÕÊè ÒÁÒö·íÒ§Ò¹áÅÐ㪠§Ò¹ä´ ¨ÃÔ§ áµ äÁ ÂÒ¡à¡Ô¹ä» â´ÂÂѧὧ´ ǤÇÒÁʹء ʹҹ㹡ÒÃàÃÕ¹ÃÙá ÅÐãË ¤ÇÒÁÃÙà ¾×Íè ½ ¡·Ñ¡Éд Ò¹¡ÒÃà¢Õ¹â»Ãá¡ÃÁ¢Ö¹é ä»ÍÕ¡ÃдѺ˹֧è
¡Ô¨¡ÃÃÁ·Õè 17 : àµ×͹» ´»Ãе٠´ ÇÂÊÇÔµª ¡´µÔ´»Å Í´Ѻ 1 µÑÇ, LED 1 µÑÇ áÅÐÅíÒ⾧ÍÕ¡ 1 µÑÇ ¼¹Ç¡¡Ñº¡ÒÃà¢Õ¹â»Ãá¡ÃÁ à¾×Íè ¤Çº¤ØÁäÁâ¤Ã¤Í¹â·ÃÅàÅÍà àºÊÔ¡áʵÁ» 2SX ¡çÊÒÁÒöÊà ҧÃкºàµ×͹ÀÑÂÍ ҧ§ ÒÂæ ä´ ã¹ ªÑÇè àÇÅÒäÁ ¡¹Õè Ò·Õ â´Â㹡Ԩ¡ÃÃÁ¹Õ¹é Òí àʹ͡ÒÃÊà ҧÃкºàµ×͹¡Òû ´»Ãе٠ËÒ¡»ÃеÙà» ´ÍÍ¡¨Ð ÁÕ¡ÒÃᨠ§àµ×͹·Ñ§é ã¹ÃÙ»¢Í§áʧáÅÐÊÑÒ³àÊÕ§ áÅд ÇÂá¹Ç¤Ô´à´ÕÂǡѹ¹ÕÊé ÒÁÒö¹íÒä»»ÃÐÂØ¡µ Êà ҧà¤Ã×Í¢ Ò¡ѹ¢âÁÂä´ äÁ ÂÒ¡
ÇÔ¸Õ¡Òà 17.1 㪠ǧ¨Ãã¹ÃÙ»·Õè A17-1 㹡Ò÷´Åͧ +5V 21
P0
22 RST 23 GND
SW1 RESET +5V RP1/4 4k7
S1
5 R1 510 LED1
i-Stamp R9 220
13
P8
P12
17
C1 10µF 50V SP1 Speaker
ÃÙ»·Õè A17-1 ǧ¨ÃÃкºàµ×͹» ´»Ãе٠¤Çº¤ØÁ¡Ò÷íÒ§Ò¹´ Ç i-Stamp
80
l
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
17.2 à» ´â»Ãá¡ÃÁàºÊÔ¡áʵÁ» àÍ´ÔàµÍà à¢Õ¹â»Ãá¡ÃÁ·Õè A17-1 ºÑ¹·Ö¡ã¹ª×Íè ä¿Å ACT1701.BSX '{$STAMP BS2sx} '{$PBASIc 2.5} '********************************************************* ' Program : Door alarm ' Filename : ACT1701.BSX ' Processor : BASIC Stamp 2SX/i-Stamp ' Copyright (C) 2003 Innovative Experiment Co.,Ltd. '********************************************************* DIRC=%0000 'Port C group as INPUT DIRA=%1111 'Port A group as output CHK_DOOR:
IF IN8=1 THEN OPEN OUT0=0 GOTO CHK_DOOR
OPEN:
OUT0=1 FREQOUT 12,10,800 GOTO CHK_DOOR
¡Ò÷íÒ§Ò¹àÃÔÁè µ ¹´ Ç¡ÒõÃǨÊͺ¡Òá´ÊÇÔµª ·Õè P8 ´ ǤíÒÊѧè IF THEN ¶ ÒËÒ¡ÁÕ¡Òá´ÊÇÔµª ¹Ñ¹è ¤×Í »Ãеٻ´ ÍÂÙ i-Stamp ¡ç¨Ðǹ·íÒ§Ò¹µÃǨÊͺ͹Ùã ¹ÅÙ» CHK_DOOR ¹Ñ¹é ¨¹¡Ç Ò ¨µÐÁÕ¡ÒûŠÍ ÊÇÔµª ·Òí ãË ¢Ò P8 ÁÕÅͨԡ໠¹ 1 à§×Íè ¹ä¢¢Í§¡ÒõÃǨÊͺ໠¹¨ÃÔ§ i-Stamp ¨Ð¡ÃÐâ´´ÁÒ·íÒ§Ò¹ÂѧµíÒ á˹ § OPEN à¾×Íè ¢Ñº LED ·Õµè Í ÍÂÙ¡ ºÑ ¾Íà µ P0 áÅТѺàÊÕ§ÍÍ¡ÅíÒ⾧·Õµè Í ÍÂÙ¡ ºÑ ¢Ò¾Íà µ P12 ¨Ò¡¹Ñ¹é ǹ¡ÅѺ仵ÃǨÊͺãËÁ ËÒ¡ÊÇÔµª Â§Ñ à» ´Ç§¨ÃÍÂÙ áÊ´§Ç Ò »ÃеÙÂ§Ñ à» ´ÍÂÙ i-Stamp ¡¸¨¹Ç¹¡ÅѺÁҢѺ LED áÅТѺàÊÕ§ÍÍ¡·Ò§ÅíÒ⾧µ Íä»
â»Ãá¡ÃÁ·Õè A17-1 â»Ãá¡ÃÁÊà ҧÃкºàµ×͹» ´»ÃеÙ㹡Ԩ¡ÃÃÁ·Õè 17 17.3 ´Òǹ âËÅ´â»Ãá¡ÃÁä»Âѧ i-Stamp ¨Ò¡¹Ñ¹é » ´ä¿àÅÕÂé §Ç§¨Ã 17.4 ¡´ÊÇÔµª S1 ¤ Ò§äÇ ¡Í ¹à» ´ä¿àÅÕÂé § Êѧࡵ¡Ò÷íÒ§Ò¹¢Í§ LED áÅÐÅíÒ⾧ ¾ºÇ Ò äÁ Á¡Õ Ò÷íÒ§Ò¹ã´æ ¤×Í LED äÁ µ´Ô ÊÇ Ò§ áÅÐäÁ Á¡Õ ÒâѺàÊÕ§ã´æ ÍÍ¡·Ò§ÅíÒ⾧ 17.5 »Å ÍÂÊÇÔµª S1 Êѧࡵ¡Ò÷íÒ§Ò¹¢Í§ LED áÅÐÅíÒ⾧ ·Ñ¹·Õ·è »Õè Å ÍÂÊÇÔµª S1 ·Õµè Í ¡Ñº¢Ò¾Íà µ P8 ãË à» ´Ç§¨Ã ¨ÐàÊÁ×Í¹Ç Ò »ÃеÙà» ´ i-Stamp µÃǨ¨Ñºä´ ¨Ð·íÒ¡ÒâѺ LED ãË ÊÇ Ò§¾Ã ÍÁæ ¡Ñº¢ÑÂàÊÕ§ÊÑÒ³àµ×͹ÍÍ¡·Ò§ÅíÒ⾧
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
l
81
¡Ô¨¡ÃÃÁ·Õè 18 : ä¿ÇÔ§è 15 â»Ãá¡ÃÁ ¨Ò¡¡Ô¨¡ÃÃÁ·Õè 4 áÅÐ 5 «Ö§è à» ¹¡ÒÃà¢Õ¹â»Ãá¡ÃÁ¤Çº¤ØÁä¿ÇÔ§è Í ҧ§ Ò ´ ÇÂËÅÑ¡¡ÒÃà´ÕÂÇ ¡Ñ¹ËÒ¡áµ ÁÕ¡ÒÃà¾ÔèÁàµÔÁ¡ÒÃÃѺÊÑÒ³¤Çº¤ØÁ¨Ò¡ÊÇÔµª ¼¹Ç¡à¢ ҡѺ¤íÒÊÑè§Ç¹ÅÙ»¾×é¹°Ò¹ ÍÒ·Ô ¤íÒÊѧè FOR...NEXT, >> áÅÐ << ¡çÊÒÁÒö·Õ¨è ÐÊà ҧǧ¨Ãä¿ÇÔ§è ·ÕÁè ¡Õ ÒÃáÊ´§¼Åᵡµ Ò§¡Ñ¹¶Ö§ 15 Ẻ ·Ñ§é ÂѧÊÒÁÒö´Ñ´á»Å§â»Ãá¡ÃÁà¾Õ§àÅ硹 Í¡ç¨ÐÊÒÁÒöà¾ÔÁè àµÔÁÃٻẺ¡ÒÃáÊ´§¼Åä´ Í ҧ § Ò´Ò ´Ñ§¹Ñ¹é 㹡Ԩ¡ÃÃÁ¹Õ¨é §Ö áÊ´§ãË àË繶֧¢ Í´Õ㹡ÒþѲ¹ÒÃкº¤Çº¤ØÁẺâ»Ãá¡ÃÁä´ â´Â 㪠äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ´ Ç¡ÒÃá¡ «Í¿µ áÇà à¾Õ§àÅ硹 Í ¡çÊÒÁÒöÊà ҧ§Ò¹ãËÁ æ ä´ â´ÂäÁ µÍ § á¡ ä¢Ç§¨ÃËÃ×ÍÎÒà ´áÇÃ
ÇÔ¸Õ¡Òà 18.1 㪠ǧ¨Ãã¹ÃÙ»·Õè A18-1 㹡Ò÷´Åͧ +5V 21
i-Stamp
22 RST 23 GND
SW1 RESET
P7 P6 P5 P4
+5V RP1/4 4k7
S1
R9 220
P3 13
P8
P2 P1 P0
P12
12 11 10 9 8 7 6 5
17
4& #
LED8-P7
4% #
LED7-P6
4$ #
LED6-P5
4# #
LED5-P4
4" #
LED4-P3
4! #
LED3-P2
4 #
LED2-P1
4 #
LED1-P0
C1 10µF 50V SP1 Speaker
ÃÙ»·Õè A18-1 ǧ¨Ãä¿ÇÔ§è 15 â»Ãá¡ÃÁ¤Çº¤ØÁ¡Ò÷íÒ§Ò¹´ Ç i-Stamp
82
l
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
'{$STAMP BS2sx} '{$PBASIC 2.5} '********************************************************* ' Program : 8-LEDs random light ' Filename : ACT1801.BSX ' Processor : BASIC Stamp 2SX/i-Stamp '********************************************************* RAND VAR Byte RUNNING VAR RAND.NIB0 COUNTN VAR Byte BT VAR Byte DIRL=%11111111 CHK_START: BUTTON 8,0,200,250,BT,1,START GOTO CHK_START START:
FREQOUT 12,1000,1000 RANDOM RAND BRANCH RUNNING,[FINAL,ZeroL,ZeroR,TripleL, TripleR,FirstR,FirstL,BOUND,CENTER,LEFT,RIGHT, SepL,SepR,CoupleR,CoupleL]
FINAL:
OUTL=%11111111 FOR COUNTN=0 TO 3 PAUSE 180 OUTB=OUTB<<1:OUTA=OUTA>>1 NEXT RETURN
ZeroR:
OUTL=%11111111 FOR COUNTN=0 TO 7 PAUSE 180 OUTL=OUTL<<1 NEXT RETURN
ZeroL:
OUTL=%11111111 FOR COUNTN=0 TO 7 PAUSE 180 OUTL=OUTL>>1 NEXT RETURN
TripleR:
OUTL=%01010101 FOR COUNTN=0 TO 7 PAUSE 180 OUTL=OUTL<<1 NEXT RETURN
â»Ãá¡ÃÁ·Õè A18-1 â»Ãá¡ÃÁä¿ÇÔ§è 15 ÃٻẺ¤Çº¤ØÁ´ Ç i-Stamp (ÁÕµÍ )
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
TripleL:
OUTL=%10101010 FOR COUNTN=0 TO 7 PAUSE 180 OUTL=OUTL>>1 NEXT RETURN
FirstR:
OUTL=%10000001 FOR COUNTN=0 TO 3 PAUSE 180 OUTA=OUTA<<1 NEXT FOR COUNTN=3 TO 0 PAUSE 180 OUTB=OUTB>>1 NEXT RETURN OUTL=%10000001 FOR COUNTN=0 TO 3 PAUSE 180 OUTB=OUTB>>1 NEXT FOR COUNTN=3 TO 0 PAUSE 180 OUTA=OUTA<<1 NEXT RETURN OUTL=%00011000 FOR COUNTN=0 TO 3 PAUSE 180 OUTA=OUTA>>1:OUTB=OUTB<<1 NEXT RETURN OUTL=%10000001 FOR COUNTN=0 TO 3 PAUSE 180 OUTA=OUTA<<1:OUTB=OUTB>>1 NEXT RETURN OUTL=%00000101 FOR COUNTN=0 TO 7 PAUSE 180:OUTL=OUTL<<1 NEXT RETURN OUTL=%10100000 FOR COUNTN=0 TO 7 PAUSE 180:OUTL=OUTL>>1 NEXT RETURN
FirstL:
BOUND:
CENTER:
CoupleR:
CoupleL:
â»Ãá¡ÃÁ·Õè A18-1 â»Ãá¡ÃÁä¿ÇÔ§è 15 ÃٻẺ¤Çº¤ØÁ´ Ç i-Stamp (ÁÕµÍ )
l
83
84
l
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
LEFT:
OUT0=1 FOR COUNTN=0 TO 7 PAUSE 180:OUTL=OUTL<<1 NEXT RETURN
RIGHT:
OUT7=1 FOR COUNTN=7 TO 0 PAUSE 180:OUTL=OUTL>>1 NEXT RETURN
SepL:
GOSUB LEFT:GOSUB RIGHT RETURN
SepR:
GOSUB RIGHT:GOSUB LEFT RETURN
â»Ãá¡ÃÁ¤Çº¤ØÁ㹡Ԩ¡ÃÃÁ¹ÕÊé ÒÁÒöẠ§Í¡à» ¹ 2 Ê Ç¹ËÅÑ¡æ ¤×Í â»Ãá¡ÃÁµÃǨÊͺ¡Òá´ÊÇÔµª à¾×Íè àÃÔÁè µ ¹·íÒ§Ò¹ áÅÐâ»Ãá¡ÃÁ ÍºÃèØû٠Ẻ¡ÒÃáÊ´§¢Í§ LED ·Ñ§é 8 ´Ç§·Õ¾è Íà µ P0-P7 àÁ×Íè µÃǨ Êͺ¡Òá´ÊÇÔµª ´Ç ¤íÒÊѧè BUTTON ä´ áÅ Ç i-Stamp ¨Ð¡ÃÐâ´´ÁÒ·íÒ¡ÒÃÊØÁ ¤ Òà¾×Íè àÅ×Í¡â»Ãá¡ÃÁ Í ¢Í§¡ÒÃáÊ´§¼Åã¹ÃٻẺµ Ò§æ â´Â¤ Ò·ÕÊè ÁØ ä´ ¨Ðà¡çºäÇ ã¹µÑÇá»Ã RAND ¨Ò¡¹Ñ¹é ¹íÒ੾ÒÐ 4 ºÔµÅ Ò§ËÃ×Í ¹ÔºàºÔÅ 0 ÁÒ㪠à¹×Íè §¨Ò¡ÁÕâ»Ãá¡ÃÁ Í¢ͧ¡ÒÃáÊ´§¼Å 15 ÃٻẺ µÑÇá»Ã¢¹Ò´ 4 ºÔµ¨Ö§à¾Õ§¾Íµ Í ¡ÒùíÒªÕµé Òí á˹ § «Ö§è ¡ÃзíÒâ´Â¤íÒÊѧè BRANCH ·Õâè »Ãá¡ÃÁ Í¢ͧ¡ÒÃáÊ´§¼Åã¹áººµ Ò§æ ¹Ñ¹é ¨ÐàËç¹Ç Ò ãª ¤Òí ÊÑ§è ¾×¹é °Ò¹·Ñ§é ÊÔ¹é ¹Ñ¹è à» ¹¡ÒÃáÊ´§ ãË àËç¹Ç Ò ËÒ¡ÁÕ¡Ãкǹ¡ÒäԴ·Õ´è Õ ¡ç¨ÐÊÒÁÒöÊà ҧ¼Å·Ò§àÍÒµ ¾µØ ·ÕËè ÅÒ¡ËÅÒ´ Ç¡ÒÃà¢Õ¹â»Ãá¡ÃÁ ·Õäè Á «ºÑ « ͹ â´ÂäÁ ¨Òí à» ¹µ ͧà»ÅÕÂè ¹ËÃ×Íá¡ ä¢ÎÒà ´áÇà ãËÁ
â»Ãá¡ÃÁ·Õè A18-1 â»Ãá¡ÃÁä¿ÇÔ§è 15 ÃٻẺ¤Çº¤ØÁ´ Ç i-Stamp (ÁÕµÍ ) 18.2 à¢Õ¹â»Ãá¡ÃÁ·Õè A18-1 ´Òǹ âËÅ´ä»Âѧ i-Stamp 18.3 ¡´ÊÇÔµª S1 ä»àÃ×Íè Âæ Êѧࡵ¡ÒÃáÊ´§¼Å¢Í§ LED ·Ñ§é 8 ´Ç§ ËÅѧ¨Ò¡¡´ÊÇÔµª S1 ã¹·Ø¡¤Ãѧé LED ·Ñ§é 8 ´Ç§¨Ð·íÒ§Ò¹µÒÁ·Õ¡è Òí ˹´äÇ ã¹â»Ãá¡ÃÁ Í ¢Í§ÃٻẺ¡ÒÃáÊ´§¼Å «Ö§è ᵡµ Ò§¡Ñ¹ä»¶Ö§ 15 â»Ãá¡ÃÁ â´Â¡´ 1 ¤ÃÑ§é ¨ÐáÊ´§ 1 ÃٻẺ ÍÒ·Ô ä¿ÇÔ§è ¨Ò¡« ÒÂ仢ÇÒ, ä¿ÇÔ§è ¨Ò¡¢ÇÒ仫 ÒÂ, ä¿ÇÔ§è ¨Ò¡»ÅÒ« Ò¢ÇÒࢠÒÊÙÈ ¹Ù  ¡ÅÒ§, ä¿ÇÔ§è ¨Ò¡Èٹ ¡ÅÒ§ÍÍ¡ä»·Ò§« ÒÂáÅТÇÒ, ä¿ÇÔ§è ÊÅѺ´Ç§« ÒÂáÅТÇÒ à» ¹µ ¹
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
l
85
¡Ô¨¡ÃÃÁ·Õè 19 : ÃÙàÅçµµ ÍàÔ Åç¡·ÃÍ¹Ô¡Ê Íա˹֧è à¡ÁàÊÕÂè §·Ò·ÕÊè ÒÁÒö¹íÒǧ¨ÃÍÔàÅç¡·ÃÍ¹Ô¡Ê à¢ Òä»·íÒ§Ò¹·´á·¹ä´ áÅÐà» ¹Ë¹Ö§è ã¹ ¡ÒûÃÐÂØ¡µ 㪠§Ò¹·Õäè ´ ÃºÑ ¤ÇÒÁ¹ÔÂÁÊÙ§¨Ò¡¹Ñ¡àÅ ¹ ¹Ñ¡·´ÅͧäÁâ¤Ã¤Í¹â·ÃÅàÅÍà à¹×Íè §¨Ò¡ã¹¡Òà Êà ҧÃÙàÅçµµ ÍàÔ Åç¡·ÃÍ¹Ô¡Ê ·¤Õè Ǻ¤ØÁ´ ÇÂäÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¹¹Ñé ¨Ðä´ àÃÕ¹ÃÙá ·º·Ø¡àÃ×Íè §·Õàè ¡ÕÂè Ç¢ ͧ ¡Ñºàª×Íè Áµ ÍÍØ»¡Ã³ ÀÒ¹͡¡ÑºäÁâ¤Ã¤Í¹â·ÃÅàÅÍà äÁ ÇÒ ¨Ðà» ¹¡ÒâѺÍØ»¡Ã³ àÍÒµ ¾µØ ¨íҹǹÁÒ¡ ¡ÒÃÃѺ¤ ÒÊÇÔµª à¾×Íè àÃÔÁè µ ¹¡Ò÷íÒ§Ò¹ ¡ÒâѺÊÑÒ³àÊÕ§·Õµè Í §ÁÕ¡ÒÃà»ÅÕÂè ¹á»Å§µÒÁÊÀÒÇÐáÇ´ Å ÍÁ¢Í§¡Ò÷íÒ§Ò¹¨ÃÔ§ ´ Ò¹â»Ãá¡ÃÁà» ¹¤ÇÒÁ· Ò·Ò·Õèµ Í§à¢Õ¹ãË à¡Ô´¡ÒÃÊØ Á¤ ÒÁÕ¡ÒáÃШÒ Í ҧà¾Õ§¾Í à¾×Íè ãË ¡ÒÃàÅ ¹à¡Á¹ÕÁé ÍÕ ÃöÃÊáÅÐà» ¹¸ÃÃÁ
ÇÔ¸Õ¡Òà 19.1 㪠ǧ¨Ãã¹ÃÙ»·Õè A19-1 㹡Ò÷´Åͧ 19.2 à¢Õ¹â»Ãá¡ÃÁ·Õè A19-1 ºÑ¹·Ö¡ã¹ª×Íè ä¿Å ACT1901.BSX ´Òǹ âËÅ´ä»Âѧ i-Stamp +5V 21
i-Stamp
22 RST 23 GND
SW1 RESET
P7 P6 P5 P4
+5V RP1/4 4k7
S1
R9 220
P3 13
P8
P2 P1 P0
P12
12 11 10 9 8 7 6 5
17
4& # 4% # 4$ # 4# # 4" # 4! # 4 # 4 #
LED8-P7 LED7-P6 LED6-P5 LED5-P4 LED4-P3 LED3-P2 LED2-P1 LED1-P0
C1 10µF 50V SP1 Speaker
ÃÙ»·Õè A19-1 ǧ¨Ãà¡ÁàÊÕÂè §·Ò : ÃÙàÅçµµ ÍàÔ Åç¡·ÃÍ¹Ô¡Ê ¤Çº¤ØÁ¡Ò÷íÒ§Ò¹´ Ç i-Stamp
86
l
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
'******************************************************* ' Program : Roullette ' Filename : ACT1901.BSX ' Processor : BASIC Stamp 2SX/i-Stamp ' Copyright (C) 2003 Innovative Experiment Co.,Ltd. '******************************************************* '{$STAMP BS2sx} '{$PBASIC 2.5} SPK SWITCH I J
CON VAR VAR VAR
12 IN8 Byte Byte
' ' ' '
Define Define Define Define
SPK as P12 SWITCH as P8 input I as counter byte variable J as counter byte variable
DIRL=%11111111 RESET:OUTL=%00000000
' Set P0-P7 as outputs ' Set initial value to P0-P7
MAIN:
IF SWITCH=1 THEN MAIN OUTL=%00000001 GOSUB ROLL RANDOM I PAUSE 20 IF SWITCH=0 THEN LOOP_
' ' ' ' ' '
Wait SWITCH pressed Load first stage LEDs Call roll LEDs subroutine Random times in byte Delay 20ms Loop until SWITCH depressed
I=(I/4)+(I//8) MIN 32 FOR J=0 TO I GOSUB ROLL PAUSE 20+(5*J) NEXT
' ' ' ' '
Calculate random times Roll LEDs as calculated value Call roll LEDs subroutine Delay 20ms and slower in every times Do loop
LOOP_:
PAUSE GOTO ROLL:
5000 RESET
' Delay 5s. (stop already) ' Jump to restart
FREQOUT SPK,25,1200 ' Make sound "TIK.." on speaker IF OUTL=%10000000 THEN RELOAD ' Check last stage reload when P7 had shown. OUTL=OUTL<<1 ' Shift LEDs to left RETURN ' Return
RELOAD: OUTL=%00000001 RETURN
' Reload ' Return
ËÑÇ㨢ͧâ»Ãá¡ÃÁ¹Õ¤é Í× ¡ÒÃÊØÁ ¤ Ò «Ö§è ¡ç¤Í× â»Ãá¡ÃÁã¹µíÒá˹ § LOOP_ â´Âª ǧàÇÅÒ㹡ÒÃÊØÁ ¤ Ò ¶Ù¡¡íÒ˹´´ Ǥ Ңͧ I «Ö§è ä´ ¨Ò¡¡Òäíҹdz㹺Ã÷Ѵ I=(I/4)+(I//8) MIN 32 ¨Ò¡¹Ñ¹é ¨Ð¹íÒ¤ Ңͧ I ·Õäè ´ ÁÒËÒ¤ Ò¼ÅÅѾ¸ ¢Í§¡Ò÷íÒ§Ò¹ «Ö§è à¡çºäÇ ã¹µÑÇá»Ã J àÁ×Íè »Å ÍÂÊÇÔµª LED ·Õ¾è Íà µ P0-P7 Âѧ¤§ÇÔ§è µ Íä» ÍÕ¡µÒÁ¤ ҢͧµÑÇá»Ã I áÅÐËÂشŧàÁ×Íè J=I ¡ç¨Ðä´ ¼ÅÅѾ¸ ¢Í§¡ÒÃàÊÕÂè §·ÒÂÍÍ¡ÁÒ
â»Ãá¡ÃÁ·Õè A19-1 â»Ãá¡ÃÁÃÙàÅçµµ ÍàÔ Åç¡·ÃÍ¹Ô¡Ê ¤Çº¤ØÁ´ Ç i-Stamp (ÁÕµÍ )
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
l
87
13.3 ·´Åͧ¡´ÊÇÔµª S1 ·Õµè Í ¡Ñº¢Ò¾Íà µ P8 áÅ ÇÊѧࡵ¡Ò÷íÒ§Ò¹¢Í§ LED áÅÐÅíÒ⾧ àÁ×Íè àÃÔÁè µ ¹·íÒ§Ò¹ LED ·Ñ§é ËÁ´¨Ð´ÑºÍÂÙ¡ Í ¹ ¨¹¡Ãзѧè àÁ×Íè ¡´ÊÇÔµª S1 (P8) LED ¨ÐµÔ´ äÅ ä»·ÕÅÐË¹Ö§è ´Ç§´ ÇÂÍѵÃÒàÃçǤ ÒË¹Ö§è ¾Ã ÍÁ¡ÑºÊ §ÊÑÒ³àÊÕ§ÍÍ¡ÁҢѺÅíÒ⾧ àÁ×Íè »Å ÍÂÊÇÔµª LED ¨ÐÇÔ§è ª Òŧ ¨¹¡Ãзѧè ËÂØ´ÍÂÙ¡ ºÑ ·Õè áÅÐ˹ ǧàÇÅÒãË LED µÔ´¤ Ò§¹Ò¹ÍÕ¡ 5 ÇÔ¹Ò·Õ ¡ ͹¨Ð´Ñº ŧáÅСÅѺࢠÒÊÙ ¡Ò÷íÒ§Ò¹¤ÃÑ駵 Íä» ÊÔ§è ·Õ¼è àÙ ÃÕ¹¨Ðä´ ¨Ò¡¡Ô¨¡ÃÃÁ¹Õ¤é Í× ¤ÇÒÁÊÒÁÒö㹡ÒÃà¢Õ¹â»Ãá¡ÃÁà¾×Íè ÃѺ¤ ÒÍÔ¹¾ØµÁÒ »ÃÐÁÇżŠ¨Ò¡¹Ñ¹é ¨Ðᨠ§¼Å¡Ò÷íÒ§Ò¹¼ Ò¹ÍØ»¡Ã³ àÍÒµ ¾µØ ·Ñ§é LED áÅÐÅíÒ⾧ à¾Õ§ᵠµÍ §¨Ñ´ ÅíҴѺ¡ Í¹Ç Ò ¨ÐãË ¢ºÑ àÊÕ§ËÃ×Íáʧ¡ ͹
à¡Ãç´à¾ÔÁè àµÔÁ ã¹â»Ãá¡ÃÁ㪠¡ÒÃÊØÁ ¨íҹǹ¤ÃÑ§é ¢Í§¡ÒÃǹáÊ´§¼Å¡ ͹·Õ¨è ÐËÂشŧ´ ǤíÒÊѧè RANDOM áÅÐËÒÃàÍÒ੾ÒФ Ò·Õãè ª äÁ µÒèí ¡Ç Ò 32 áµ äÁ à¡Ô¹ 71 (â´Â¤íҹdz¨Ò¡¤ ÒÊØÁ ÊÙ§ÊØ´ 255 µÒÁâ»Ãá¡ÃÁ 㹺Ã÷Ѵ I=(I/4)+(I//8) MIN 32 ä´ [255 / 4]+[255 / / 8] = 63+8) ¹íÒ¤ Ò¹Õäé »à» ¹µÑÇá»Ã ǹÅÙ» «Ö§è ÁÕ¤Ò à¾ÔÁè ¢Ö¹é àÃ×Íè Âæ áŠǹíÒÁÒ¤Ù³¡Ñº 5 ºÇ¡´ Ç 20 ·íÒãË ¤Ò àÇÅÒ˹ ǧÃÇÁà¾ÔÁè ¤ ÒÁÒ¡¢Ö¹é Í ҧµ Íà¹×èͧ l
à·¤¹Ô¤à¾ÔÁè àµÔÁ ã¹â»Ãá¡ÃÁä´ ¹Òí â»Ãá¡ÃÁã¹Ê ǹ·Õ·è Òí ¡ÒÃàÅÕÍè ¹ LED ÁÒà» ¹â»Ãá¡ÃÁ Í ROLL ·íÒãË ÊÒÁÒöàÃÕ¡㪠§Ò¹ã¹¤ÃÑ§é µ Íæ ä»ä´ Êдǡ¢Ö¹é l
88
l
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
¡Ô¨¡ÃÃÁ·Õè 20 : ËÕºà¾Å§ 㹡Ԩ¡ÃÃÁ¹Õ¨é Ðà¾ÔÁè àµÔÁÍØ»¡Ã³ Êà ҧÊÑÒ³ÍÔ¹¾Øµà¢ Òä»ÍÕ¡ ¹Ñ¹è ¤×Íà¾ÔÁè ÊÇÔµª à» ¹ 4 µÑÇ áµ ¶Ö§áÁ ¹¨Ðà¾ÔèÁ¨íҹǹÊÇÔµª ÁÒ¡¢Öé¹ ¡çÂѧÊÒÁÒö㪠¤ÇÒÁÃÙ ¾×é¹°Ò¹à´ÔÁ㹡Ԩ¡ÃÃÁ·Õè¼ Ò¹ÁÒࢠÒÁÒ ¨Ñ´¡ÒÃÊÇÔµª Í¹Ô ¾Øµ·Õàè ¾ÔÁè ÁÒ¡¢Ö¹é ä´ ã¹¡Ô¨¡ÃÃÁà» ¹¡ÒÃÊà ҧâ¤Ã§§Ò¹ ËÕºà¾Å§ ËÃ×Í Melody box ·Õºè ÃèØàÊÕ§´¹µÃբͧà¾Å§µ Ò§æ äÇ 4 à¾Å§ àÅ×Í¡àÅ ¹ä´ â´Â¡Òá´ÊÇÔµª »ÃШíÒà¾Å§¹Ñ¹é æ
ÇÔ¸Õ¡ÒÃ
20.1 㪠ǧ¨Ãã¹ÃÙ»·Õè A20-1 㹡Ò÷´Åͧ +5V 21 SW1 RESET +5V
RP4/4 4k7
RP3/4 4k7
i-Stamp
22 RST 23 GND
R8 510
P3
R7 510
P2
RP2/4 4k7
RP1/4 4k7 R4 R3 R2 R1 R1-R4 220 x4
S4 (P11) S3 (P10) S2 (P9) Song#4 Song#3 Song#2
R6 510
P1 16
P11 15 P10 14 P9 13 P8
R5 510
P0
P12
17
LED4-P3 LED3-P2 LED2-P1 LED1-P0
C1 10µF 50V SP1 Speaker
S1 (P8) Song#1
ÃÙ»·Õè A20-1 ǧ¨ÃËÕºà¾Å§ÍÔàÅç¡·ÃÍ¹Ô¡Ê 4- in-1 ¤Çº¤ØÁ´ Ç i-Stamp 20.2 à¢Õ¹â»Ãá¡ÃÁ·Õè A20-1 ºÑ¹·Ö¡ã¹ª×Íè ä¿Å ACT2001.BSX ´Òǹ âËÅ´ä»Âѧ i-Stamp 20.3 ·´Åͧ¡´ÊÇÔµª ·ÅÕ ÐµÑÇ ËÅѧ¨Ò¡·Õ¡è ´ÊÇÔµª áµ ÅеÑÇ LED »ÃШíÒÊÇÔµª ¹¹Ñé ¨ÐµÔ´ÊÇ Ò§ ¡µÑÇÍ ҧ LED1 ¤Ù¡ ºÑ ÊÇÔµª S1 à» ¹µ ¹ ¨Ò¡¹Ñ¹é ¨Ðä´ Â¹Ô àÊÕ§à¾Å§·Õáè µ¡µ Ò§¡Ñ¹ä»ã¹áµ ÅФÃѧé ã¹ËÕºà¾Å§¹Õºé ÃèØäÇ ·§Ñé ÊÔ¹é 4 à¾Å§ ¤×Í Greensleeves, Entertainer, Jingle Bell áÅÐ Mission Impossible àÃÕ§仵ÒÁÅíҴѺ¢Í§ ÊÇÔµª S1, S2, S3 áÅÐ S4 ÊíÒËÃѺ LED ¢Í§ÊÇÔµª áµ ÅеÑǨдѺŧàÁ×Íè àÅ ¹à¾Å§¹Ñ¹é æ ¨º
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX '{$STAMP BS2sx} '{$PBASIC 2.5} '*************************************************** ' Program : Melody Box ' Filename : ACT2001.BSX ' Processor : BASIC Stamp 2SX/i-Stamp ' Copyright (C) 2003 Innovative Experiment Co.,Ltd. '*************************************************** SPK CON 12 ' Define SPK as P12 DURATION VAR Word ' Define DURATION1 as Word variable FREQ VAR Word ' Define FREQ1 aS word variable STEPSIZE VAR Word ' Define STEPSIZE as Word variable I VAR Byte ' Define I As byte variable TEMP VAR Nib ' Define TEMP as nibble variable NOTE VAR Byte ' Define NOTE as byte variable ' Note frequency table C2 CON 837 DL2 CON 887 D2 CON 940 EL2 CON 996 E2 CON 1055 F2 CON 1117 GL2 CON 1184 G2 CON 1254 AL2 CON 1329 A2 CON 1408 BL2 CON 1492 B_2 CON 1580
' ' ' ' ' ' ' ' ' ' ' '
Note Note Note Note Note Note Note Note Note Note Note Note
C2 Frequency Db2 Frequency D2 Frequency Eb2 Frequency E2 Frequency F2 Frequency Gb2 Frequency G2 Frequency Ab2 Frequency A2 Frequency Bb2 Frequency B2 Frequency
C3 DL3 D3 EL3 E3 F3 GL3 G3 AL3 A3 BL3 B_3
CON CON CON CON CON CON CON CON CON CON CON CON
' ' ' ' ' ' ' ' ' ' ' '
Note Note Note Note Note Note Note Note Note Note Note Note
C3 Frequency Db3 Frequency D3 Frequency Eb3 Frequency E3 Frequency F3 Frequency Gb3 Frequency G3 Frequency Ab3 Frequency A3 Frequency Bb3 Frequency B3 Frequency
P S
CON CON
DIRA=%1111
1674 1774 1879 1991 2110 2235 2368 2509 2658 2816 2983 3161 0 $FFFF
' Pause ' Stop ' Set P0-P3 as outputs
MAIN: TEMP=NCD(~INC&$000F) ' Get input IF TEMP=0 THEN MAIN ' Wait for switch pressed by TEMP OUTA=DCD(TEMP-1) ' Get switch input I=0 BRANCH TEMP-1,[SONG1,SONG2,SONG3,SONG4] ' Branch to song 1-4 GOTO MAIN ' Back to main if inputs not valid
â»Ãá¡ÃÁ·Õè A20-1 â»Ãá¡ÃÁËÕºà¾Å§ã¹¡Ô¨¡ÃÃÁ·Õè 20 (ÁÕµÍ )
l
89
90
l
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
SONG1:LOOKUP I,[G2,BL2,C3,D3,EL3,D3,C3,A2,F2,G2,A2,BL2,G2,G2, F2,G2,A2,F2,D2,G2,BL2,C3,D3,E3,D3,C3,A2,F2,G2,A2,BL2,A2, G2,GL2,E2,GL2,G2,S],FREQ ' Read notes table LOOKUP I,[4,8,4,8,2,4,8,4,6,2,4,8,4,6,2,4,8,4,8,4,8,4, 8,2,4,8,4,6,2,4,8,2,4,6,2,4,8,0],DURATION ' Read beats table IF FREQ=$FFFF THEN EXIT1 FREQOUT SPK,250*DURATION,FREQ I=I+1 GOTO SONG1
' ' ' '
End of song? Make sound from table with beat Increase index to next note Back to play next note
SONG2:LOOKUP I,[D2,EL2,E2,C3,E2,C3,E2,C3,C3,D3,EL3,E3,C3,D3,E3, GL2,EL3,C3,P,D2,EL2,E2,C3,E2,C3,E2,C3,A2,G2,GL2,A2,C3,E3, D3,C3,A2,D3,S],FREQ ' Read notes table LOOKUP I,[2,2,2,4,2,4,2,8,2,2,2,2,2,2,4,2,4,8,4,2,2,2,4, 2,4,2,8,2,2,2,2,2,4,2,2,2,8,0],DURATION ' Read beats table IF FREQ=$FFFF THEN EXIT1 FREQOUT SPK,250*DURATION,FREQ I=I+1 GOTO SONG2
' ' ' '
End of song? Make sound from table with beat Increase index to next note Back to play next note
SONG3:LOOKUP I,[E2,E2,E2,E2,E2,E2,E2,G2,C2,D2,E2,P,F2,F2,F2,F2, E2,E2,E2,D2,D2,E2,D2,G2,S],FREQ ' Read notes table LOOKUP I,[4,4,6,4,4,6,4,4,6,2,8,2,4,4,6,4,4,6,4,4,6,4,6,4,0],DURATION ' Read beats table IF FREQ=$FFFF THEN EXIT1 ' End of song? FREQOUT SPK,180*DURATION,FREQ ' Make sound from table with beat I=I+1 ' Increase index to next note PAUSE 5 GOTO SONG3 ' Back to play next note SONG4:LOOKUP I,[G2,P,G2,P,BL2,P,C3,P,G2,P,G2,P,F2,P,GL2,P,G2,P,G2, P,BL2,P,C3,P,G2,P,G2,P,F2,P,GL2,P,G2,S],FREQ ' Read notes table LOOKUP I,[1,2,1,2,2,1,1,1,1,2,1,1,1,1,1,1,1,2,1,2,1,1,1,1, 1,2,1,2,1,1,1,1,1,0],DURATION ' Read beats table IF FREQ=$FFFF THEN EXIT1 FREQOUT SPK,390*DURATION,FREQ I=I+1 GOTO SONG4 EXIT1:OUTA=%0000 GOTO MAIN
' ' ' '
End of song? Make sound from table with beat Increase index to next note Back to play next note
' Off LEDs ' Jump to main
àÃÔÁè µ ¹´ Ç¡ÒÃÃÍÃѺÊÇÔµª 4 µÑÇÊíÒËÃѺàÅ×Í¡à¾Å§ â´Ââ»Ãá¡ÃÁ¨Ðà¡çº¤ ÒʶҹТͧÊÇÔµª àÍÒäÇ à¾×Íè » ͧ¡Ñ¹¡ÒáÃд͹¢Í§Ë¹ ÒÊÑÁ¼ÑÊÊÇÔµª àÇÅÒ¡´ áŠǹíÒ¤ Ò·Õàè ¡çº¹Õäé »ãª ã¹¡ÒõÃǨÊͺ¡Òá´áÅÐàÅ×Í¡ à¾Å§´ Ç â´Âãª Ç¸Ô ¡Õ ÒÃãÊ ¤Ò $FFF äÇ ·Ò Âà¾Å§à¾×Íè ¡íÒ˹´¡ÒÃÊÔ¹é ÊØ´á·¹¡ÒáíÒ˹´ÅÙ» FOR Ẻà´ÔÁ àÁ×Íè ¨ºà¾Å§ LED ¨Ð´ÑºÅ§áÅ Ç¡ÅѺÁÒàÃÔÁè µ ¹ÃѺÊÇÔµ« ãËÁ Í¡Õ ¤Ãѧé
â»Ãá¡ÃÁ·Õè A20-1 â»Ãá¡ÃÁËÕºà¾Å§ã¹¡Ô¨¡ÃÃÁ·Õè 20 (¨º)
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
l
91
à¡Ãç´à¾ÔÁè àµÔÁ ·´Åͧà»ÅÕÂè ¹à¾Å§µÒÁµ ͧ¡Òà â´Â¡íÒ˹´µÑÇâ¹ µáÅШѧËÇÐ(beat) »ÃСͺ´ ÇÂ Ê Ç¹ µÒÃҧ⹠µ´¹µÃÕ´äÙ ´ 㹡Ԩ¡ÃÃÁ·Õè 8 i-Stamp àÅ ¹â¹ µ´¹µÃÕ l
·Õâè »Ãá¡ÃÁ㹺Ã÷Ѵ LOOKUP ¨ÐàËç¹Ç ÒÁÕ¤Ò µÑÇá»ÃÁÒ¡ÁÒ ᵠ´Ç ¤ÇÒÁÊÒÁÒö¢Í§ µÑÇá»ÅÀÒÉÒ¾ÕàºÊÔ¡ã¹àÇÍà ª¹Ñè 2.5 ÊÒÁÒö¢Ö¹é ºÃ÷ѴãËÁ ä´ â´Â㪠à¤Ã×Íè §ËÁÒ¨ØÅÀÒ¤ (,) à» ¹µÑÇ àª×Íè Áâ§ã¹áµ ÅкÃ÷Ѵ l
à·¤¹Ô¤à¾ÔÁè àµÔÁ l Êѧࡵã¹â»Ãá¡ÃÁÁÕ¡ÒÃãªÑ¤Òí Êѧè DCD 㹡ÒÃ૵¤ ÒºÔµ 2n â´ÂÃѺ¤ ÒÍÔ¹¾Øµ¨Ò¡ÊÇÔµª à¾×Í è
·íÒãË LED áµ ÅдǧµÔ´ÊÇ Ò§áÊ´§µíÒá˹ §¢Í§à¾Å§·Õàè Å ¹ÍÂÙã ¹¢³Ð¹Ñ¹é ä´
92
l
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
¡Ô¨¡ÃÃÁ·Õè 21 : «ÒÇ´ àÍ¿à¿¡µ 4 Ẻ à» ¹ÍÕ¡Ë¹Ö§è ¡Ô¨¡ÃÃÁ·Õáè Ê´§ãË àË繶֧¡ÒÃ㪠ǧ¨ÃẺà´ÔÁ áµ à»ÅÕÂè ¹â»Ãá¡ÃÁ¤Çº¤ØÁ·íÒãË ä´ §Ò¹ËÃ×ÍÊÔ§è »ÃдÔÉ° ãËÁ ´ Ç¡ÒÃ㪠ǧ¨Ãà´ÕÂÇ ¡ÑºËÕºà¾Å§ã¹¡Ô¨¡ÃÃÁ·Õè 20 à¾Õ§à¢Õ¹â»Ãá¡ÃÁ ¤Çº¤ØÁãËÁ ¡ç¨Ðä´ à» ¹à¤Ã×Íè §Êà ҧàÊÕ§෤¹Ô¤¾ÔàÈÉËÃ×Í«ÒÇ´ àÍ¿à¿¡µ 4 Ẻ àÊÕ§෤¹Ô¤¾ÔàÈÉËÃ×Í«ÒÇ´ àÍ¿à¿¡µ ¹ÊÕé ÒÁÒöÊà ҧ¢Ö¹é ä´ äÁ ÂÒ¡¨Ò¡¤íÒÊѧè FREQOUT à¾Õ§ ¨Ñ´¡Òä ÒµÑÇá»Ã·Õàè ¡ÕÂè Ç¢ ͧäÁ ÇÒ ¨Ðà» ¹¤ Ò¤ÇÒÁ¶ÕËè Ã×ͤ Ңͧª ǧàÇÅÒ㹡ÒÃà¡Ô´àÊէ͠ҧáºÂÅ ´ ǤíÒÊѧè ǹÅٻ͠ҧ FOR...NEXT ¡ç¨Ð·íÒãË ä´ àÊÕ§ÊÑÒ³·Õáè »Å¡áµ¡µ Ò§
ÇÔ¸Õ¡ÒÃ
21.1 㪠ǧ¨Ãã¹ÃÙ»·Õè A21-1 㹡Ò÷´Åͧ à¢Õ¹â»Ãá¡ÃÁ·Õè A20-1 ºÑ¹·Ö¡ã¹ª×Íè ä¿Å ACT2001.BSX ´Òǹ âËÅ´ä»Âѧ i-Stamp 21.2 ·´Åͧ¡´ÊÇÔµª ·ÅÕ ÐµÑÇ ËÅѧ¨Ò¡·Õ¡è ´ÊÇÔµª áµ ÅеÑÇ LED »ÃШíÒÊÇÔµª ¹¹Ñé ¨ÐµÔ´ÊÇ Ò§ ¡µÑÇÍ ҧ LED1 ¤Ù¡ ºÑ ÊÇÔµª S1 à» ¹µ ¹ ¨Ò¡¹Ñ¹é ¨Ðä´ Â¹Ô àÊÕ§·Õáè µ¡µ Ò§¡Ñ¹ä» »ÃСͺ´ ÇÂàÊÕ§¹¡, àÊÕ§¨Ò¹ºÔ¹, àÊÕ§ä«àù áÅÐàÊÕ§» ¹àÅà«Íà â´Âã¹ÊÇÔµª S1, S2 áÅÐ S4 ËÒ¡ä´ Â¹Ô àÊÕ§µ Íà¹×Íè §µ ͧ¡´¤ Ò§ áµ ¶Ò à» ¹ àÊÕ§ä«àùãË ¡´ÊÇÔµª S3 ¤Ãѧé à´ÕÂÇ +5V 21 SW1 RESET +5V
RP4/4 4k7
RP3/4 4k7
i-Stamp
22 RST 23 GND
R8 510
P3
R7 510
P2
RP2/4 4k7
RP1/4 4k7 R4 R3 R2 R1 R1-R4 220 x4
R6 510
P1 16
P11 15 P10 14 P9 13 P8
R5 510
P0
P12
17
S4 (P11) S3 (P10) S2 (P9) S1 (P8) Effect#4 Effect#3 Effect#2 Effect#1
ÃÙ»·Õè A21-1 ǧ¨Ã«ÒÇ´ àÍ¡à¿¡µ 4 Ẻ¤Çº¤ØÁ´ Ç i-Stamp
LED4-P3 LED3-P2 LED2-P1 LED1-P0
C1 10µF 50V SP1 Speaker
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
l
93
'{$STAMP BS2sx} '{$PBASIC 2.5} '******************************************************** ' Program : Sound effect box ' Filename : ACT2101.BSX ' Processor : BASIC Stamp 2Sx/i-Stamp '******************************************************** SPK CON 12 ' Define SPK as P12 DURATION VAR Word ' Define DURATION1 as word variable STEPSIZE VAR Word ' Define STEPSIZE as word variable FREQ VAR Word ' Define FREQ1 as word variable SWITCH VAR IN8 ' Define SWITCH as P8 input MAIN:
BRANCH NCD(~INC&$000F),[MAIN,BIRD,UFO,SIREN,LASER] ' Get switch GOTO MAIN ' Back to main if inputs not valid
BIRD:
DURATION=50 STEPSIZE=25 FOR FREQ=2200 TO 2000 STEP STEPSIZE ' Make sound from FREQOUT SPK,DURATION,FREQ NEXT PAUSE 100 GOTO MAIN
' Set duration 20ms ' Set step size=25 => 62.5Hz 5.5kHz downto 5kHz step 62.5Hz ' Send frequency ' Do loop ' Jump to main
UFO:
DURATION=10 ' Set duration 4ms STEPSIZE=30 ' Set step size=30 => 75Hz FOR FREQ=1200 TO 2550 STEP STEPSIZE ' Make sound from 3kHz to 6.375kHz step 75Hz FREQOUT SPK,DURATION,FREQ ' Send frequency NEXT ' Do loop FOR FREQ=2550 TO 1200 STEP STEPSIZE ' Make sound from 6.375kHz downto 3kHz step 75Hz FREQOUT SPK,DURATION,FREQ ' Send frequency NEXT ' Do loop GOTO MAIN ' Jump to main
SIREN:
DURATION=50 ' Set duration 20ms STEPSIZE=10 ' Set step size=10 => 25Hz FOR FREQ=1200 TO 2550 STEP STEPSIZE ' Make sound from 3kHz to 6.375kHz step 25Hz FREQOUTSPK,DURATION,FREQ ' Send frequency NEXT ' Do loop FOR FREQ=2550 TO 1200 STEP STEPSIZE ' Make sound from 6.375kHz downto 3kHz step 25Hz FREQOUT SPK,DURATION,FREQ ' Send frequency NEXT ' Do loop GOTO MAIN ' Jump to main
LASER:
' Set duration 2ms ' Set step size=20 => 50Hz ' Make sound from 5kHz to 7.5kHz
DURATION=5 STEPSIZE=20 FOR FREQ=2000 TO 3000 STEP STEPSIZE step 50Hz FREQOUT SPK,DURATION,FREQ NEXT GOTO MAIN
' Send frequency ' Do loop ' Jump to main
â»Ãá¡ÃÁ·Õè A21-1 â»Ãá¡ÃÁ«ÒÇ´ àÍ¿à¿¡µ 4 Ẻ㹡Ԩ¡ÃÃÁ·Õè 21
94
l
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
¡Ò÷íÒ§Ò¹¢Í§¤íÒÊѧè NCD à» ¹¤íÒÊѧè áÊ´§ºÔµ¹ÑÂÊíÒ¤ÑÊÙ§ÊØ´¢Í§¢ ÍÁÙÅ¢¹Ò´ 16 ºÔµ àÁ×Íè ¡ÃзíÒ¤íÒÊÑ§è ¹Õé
àºÊÔ¡áʵÁ» 2SX ¨ÐµÃǨÊͺ¢ ÍÁÙŵÑÇàÅ¢·Õµè Í · Ò¤íÒÊÑ§è ¹ÕÇé Ò ÁÕºµÔ ã´à» ¹ 1 ËÃ×ÍäÁ ¶ ÒÁÕ ºÔµ·Õàè » ¹ 1 ºÔµã´ à» ¹ºÔµ·ÕÁè ¹Õ ÂÑ ÊíÒ¤ÑÊÙ§ÊØ´ ¨Ò¡¹Ñ¹é ºÇ¡¤ Òà¾ÔÁè Íա˹֧è ¡µÑÇÍ ҧ ¢ ÍÁÙÅ 1100 ºÔµ·Õàè » ¹ 1 ÁÕ 2 ºÔµ¤×Í ºÔµ 3 áÅкԵ 2 áµ ºµÔ ·ÕÁè ¹Õ ÂÑ ÊíÒ¤ÑÊÙ§ÊØ´¤×Í ºÔµ 3 ¨Ðä´ ¤Ò 3 ÍÍ¡ÁҺǡ´ Ç 1 ¡ÅÒÂà» ¹ 4 ´Ñ§¹Ñ¹é ËÅѧ¨Ò¡¡ÃзíÒ ¤íÒÊÑ§è ¹Õ¨é Ðä´ ¼ÅÅѾ¸ ÍÍ¡ÁÒà» ¹ 4 ÊÒÁÒö¤Ô´Â ͹¡ÅѺ仵ÃǨÊÍºÇ Ò ¢ ÍÁÙÅ¹Õºé µÔ ·Õàè » ¹ 1 ºÔµã´ÁÕ¹ÂÑ ÊíÒ¤Ñ ÊÙ§ÊØ´ä´ ´ Ç¡ÒùíÒ¼ÅÅѾ¸ ·äÕè ´ ¹ÅÕé º´ ÇÂË¹Ö§è ¡ç¨Ð·ÃÒººÔµ·Õàè » ¹ 1 ·ÕÁè ¹Õ ÂÑ ÊíÒ¤ÑÊÙ§ÊØ´ 㹡óշàÕè » ¹ 0 ·Ñ§é ËÁ´ ËÅѧ¨Ò¡¡ÃзíÒ¤íÒÊѧè NCD ¨Ðä´ ¤Ò ÍÍ¡ÁÒà» ¹ 0 â»Ãá¡ÃÁµÑÇÍ ҧáÊ´§¡Ò÷íÒ§Ò¹ÁÕ´§Ñ ¹Õé W1 = %1101 ºÔµ¹ÑÂÊíÒ¤ÑÊÙ§ÊØ´·Õàè «µà» ¹ 1 ¤×ͺԵ 3 DEBUG ? NCD W1 áÊ´§¤ Ò NCD ¢Í§ W1 »ÃÐ⪹ ¢Í§¤íÒÊÑ§è ¹Õ¤é Í× ª ÇÂãË ¡ÒõÃǨÊͺ¢¹Ò´¢Í§¢ ÍÁÙÅÊÒÁÒö·íÒä´ àÃçÇ·ÕÊè ´Ø ¨Ò¡µÑÇÍ ҧ¡ ͹˹ Ò¹Õé ´ Ç ¡ÒÃ㪠¤Òí Êѧè NCD µÃǨÊͺ¢ ÍÁÙÅ W1 ·íÒãË ·Ã񼊫 ÇÒ ¢ ÍÁÙÅã¹ W1 ÁÕ¢¹Ò´ 4 ºÔµ
àÁ×Íè àÃÔÁè µ ¹¨ÐµÃǨÊͺ¡Òá´ÊÇÔµª ·§Ñé 4 µÑÇ ¶ ÒµÑÇã´¶Ù¡¡´ ¡ç¨Ðä»Êѧè ãË ¡Òí à¹Ô´àÊÕ§ᵡ µ Ò§¡Ñ¹â´Ââ»Ãá¡ÃÁµÃǨÊͺÊÇÔµª ·§Ñé 4 µÑÇ ¨Ò¡µÑÇá»Ã INC áŠǹíÒÁÒ¡ÅѺÅͨԡ áÅеѴ੾ÒÐ 4 ºÔµÅ Ò§ÁÒ㪠¡ÃÐâ´´ä»ÂÑ§Ê Ç¹µ Ò§æ ¢Í§â»Ãá¡ÃÁ´ ǤíÒÊѧè BRANCH
à¡Ãç´à¾ÔÁè àµÔÁ l
·´Åͧà»ÅÕÂè ¹àÊÕ§àÍ¿à¿¡µ à» ¹àÊÕ§Í×¹è æ
à·¤¹Ô¤à¾ÔÁè àµÔÁ l ¨ÐÊÑ§à¡µÇ Ò¶ ÒÁÕ¡Òá´ÊÇÔµª ¾Ã ÍÁ¡Ñ¹ 2 µÑÇ¢Ö¹ é ä» â»Ãá¡ÃÁ¨Ð¡íÒà¹Ô´ÊÑÒ³àÊÕ§¢Í§
ÊÇÔµª ·ÕèÁÕÅíҴѺÊÙ§¡Ç Ò àª ¹ ¶ Ò¡´ÊÇÔµª S1 áÅÐ S2 «Ö觵 ÍÍÂÙ ¡Ñº¢Ò¾Íà µ P8 áÅÐ P9 ¾Ã ÍÁ¡Ñ¹ â»Ãá¡ÃÁ¡ç¨Ð·íÒ§Ò¹à¾×Íè ¡íÒà¹Ô´àÊÕ§¢Í§ÊÇÔµª S2 ·Õ¡è ºÑ ¢Ò¾Íà µ P9 à¾Õ§Í ҧà´ÕÂÇ Íѹ໠¹¼ÅÁÒ ¨Ò¡¡Ò÷íÒ§Ò¹¢Í§¤íÒÊѧè NCD «Ö§è ¾Ô¨ÒóÒ੾ÒФ ÒºÔµ·ÕÊè §Ù ·ÕÊè ´Ø à· Ò¹Ñ¹é
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
l
95
º··Õè 7
àºÊÔ¡áʵÁ» 2SX ¡Ñº ¡ÒâѺâËÅ´¡ÃÐáÊÊÙ§ â´Â¤ÇÒÁÊÒÁÒö¾×¹é °Ò¹¢Í§¾Íà µ¢Í§àºÊÔ¡áʵÁ» 2SX áÅ ÇäÁ ÊÒÁÒö¹íÒ仢ѺÍØ»¡Ã³ àÍÒµ ¾µØ ¡ÃÐáÊÊÙ§¨íҾǡ¢´ÅÇ´â´ÂµÃ§ä´ à¹×Íè §¨Ò¡ÁÕ¤ÇÒÁÊÒÁÒö㹡Òè Ò¡ÃÐáÊä´ à¾Õ§ 2025mA ã¹¢³Ð·Õâè ËÅ´àËÅ Ò¹Ñ¹é µ ͧ¡ÒáÃÐáÊäÁ ¹Í Â¡Ç Ò 100mA ´Ñ§¹Ñ¹é ¶ Òµ ͧ¡ÒâѺÍØ»¡Ã³ àËÅ Ò ¹Õ¨é е Í§Ê §¢ ÍÁÙż Ò¹ÍØ»¡Ã³ ··Õè Òí ˹ Ò·Õ¨è Ò Â¡ÃÐáÊ੾ÒÐ àÃÕ¡ÍØ»¡Ã³ àËÅ Ò¹ÕÇé Ò ÍØ»¡Ã³ ä´ÃàÇÍà (driver) áÅÐÍØ»¡Ã³ ä´ÃàÇÍà ·ãÕè ª §Ò¹§ Ò·ÕÊè ´Ø ¤×Í äÍ«Õ¢ºÑ (Transistor driver IC) äÍ«Õ·ãÕè ª 㹡ÒâѺâËÅ´¡ÃÐáÊÊÙ§ÁÑ¡¨ÐÁÕǧ¨Ã·Ò§àÍÒµ ¾µØ à» ¹áºº¤ÍÅàÅç¡àµÍà ໠´ ·íÒãË ÊÒÁÒö㪠¡ºÑ áç´Ñ¹äÁ µÒèí Ç Ò 30V ¢Ö¹é ÍÂÙ¡ ºÑ äÍ«Õã¹áµ ÅÐàºÍà ÊíÒËÃѺäÍ«Õ¢ºÑ ËÃ×ÍäÍ«Õä´ÃàÇÍà ·Õè ¡ÁÒ͸ԺÒ¤×Í ULN2003 à» ¹äÍ«ÕÍ¹Ô àÇÍà àµÍà ä´ÃàÇÍà ÀÒÂ㹺ÃèØÍ¹Ô àÇÍà àµÍà ࡵ 7 µÑÇ ÊÒÁÒö㪠¡ºÑ áç´Ñ¹ä´ ʧ٠ÊØ´ +50V ¡ÃÐáÊàÍÒµ ¾µØ ÊÙ§ÊØ´ã¹áµ ÅТÒ෠ҡѺ 500mA ¹Í¡¨Ò¡ ¹Ñ¹é Âѧµ Íä´âÍ´» ͧ¡Ñ¹äÇ ··Õè ¡Ø ¢ÒàÍÒµ ¾µØ ·íÒãË ÊÒÁÒöµ ÍâËÅ´·Õàè » ¹¢´ÅÇ´ä´ ·¹Ñ ·Õ ¡ÒèѴǧ¨Ã áÅТҵ Í㪠§Ò¹¢Í§ ULN2003 áÊ´§ã¹ÃÙ»·Õè 7-1 VL(max) +50V
+5V 9 D6 D5 D4 D3 D2 D1 D0
ULN2003
7
10
6
11
5
12
4
13
3
14
2
15
1
16
8
Q6
IL(max) 500mA
Q5 Q4 Q3 Q2 Q1 Q1
ÃÙ»·Õè 7-1 ¡ÒèѴǧ¨ÃáÅТҵ Í㪠§Ò¹¢Í§äÍ«Õ¢ºÑ âËÅ´¡ÃÐáÊÊÙ§àºÍà ULN2003
96
l
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
¡ÒâѺÃÕàÅ ´Ç ÂàºÊÔ¡áʵÁ» 2SX ÃÕàÅ ໠¹ÍØ»¡Ã³ áÁ àËÅç¡ä¿¿ ÒáººË¹Ö§è ·Õãè ª 㹡ÒõѴµ Íǧ¨Ã ÁÕÊ Ñ Åѡɳ áÊ´§µÒÁÃÙ»·Õè 7-2 àÁ×Íè ¢´ÅÇ´ÃÕàÅ Á¡Õ ÃÐáÊä¿¿ ÒäËż Ò¹ ¨Ðà¡Ô´Ê¹ÒÁáÁ àËÅç¡¢Ö¹é ·íÒãË Ë¹ ÒÊÑÁ¼ÑÊâÅËÐ·Õ»è ¡µÔ à» ´Ç§¨Ãᡨҡ¡Ñ¹¶Ù¡´Ù´µÔ´¡Ñ¹ à¡Ô´¡Òõ Íǧ¨Ã¢Ö¹é Ê Ç¹Ë¹ ÒÊÑÁ¼ÑÊ·Õ»è ¡µÔµÍ ǧ¨Ã¡ç¨Ðá¡ÍÍ¡ ¨Ò¡¡Ñ¹ à¡Ô´¡ÒÃà» ´Ç§¨Ã¢Ö¹é á·¹ ÃÕàÅ â´Â·ÑÇè 仨ÐÁÕ˹ ÒÊÑÁ¼ÑÊ·Ò§àÍÒµ ¾µØ 2 Ẻ·ÕÁè ¤Õ ÇÒÁà¡ÕÂè Ç ¢ ͧ¡Ñ¹¤×Í Ë¹ ÒÊÑÁ¼ÑÊ»¡µÔµÍ ǧ¨ÃËÃ×Í NC (Normaly Closed) áÅР˹ ÒÊÑÁ¼ÑÊ»¡µÔà» ´Ç§¨Ã ËÃ×Í NO (Normally Opened) 㹡óբͧ˹ ÒÊÑÁ¼ÑÊ»¡µÔµÍ ǧ¨Ã àÁ×Íè ÃÕàÅ ·Òí §Ò¹ ˹ ÒÊÑÁ¼ÑÊ ªØ´¹Õ¨é Ðᡨҡ¡Ñ¹¡ÅÒÂà» ¹à» ´Ç§¨Ã ˹ ÒÊÑÁ¼Ñʪش¹Õ¨é §Ö 㪠¡µç Í àÁ×Íè µ ͧ¡ÒÃãË ÃàÕ Å µ´Ñ ǧ¨ÃàÁ×Íè ·íÒ§Ò¹ Ê Ç¹Ë¹ ÒÊÑÁ¼ÑÊ»¡µÔà» ´Ç§¨ÃàÁ×èÍÃÕàÅ ·íÒ§Ò¹ ˹ ÒÊÑÁ¼Ñʪش¹Õé¨Ðµ ͡ѹ¡ÅÒÂà» ¹» ´Ç§¨Ã ´Ñ§¹Ñ鹨֧㪠˹ ÒÊÑÁ¼Ñʪش¹Õé¡çµ ÍàÁ×è͵ ͧ¡ÒÃãË ÃÕàÅ µ Íǧ¨ÃàÁ×èÍ·íÒ§Ò¹ ´Ñ§¹Ñé¹Ë¹ ÒÊÑÁ¼ÑÊÃÕàÅ ¨Ö§ àÊÁ×͹໠¹ÊÇÔµª 2 ·Ò§ËÃ×Í DPST (Double Pole Single Throw) 㹡ÒâѺÃÕàÅ ¢Í§àºÊÔ¡áʵÁ» 2SX ·Õè¡ÁÒà» ¹µÑÇÍ ҧ㹺·¹Õé ¨Ð㪠äͫբѺàºÍà ULN2003 «Öè§ÊÒÁÒö·íÒä´ § ÒÂÁÒ¡à¾Õ§µ Í¢Ò¾Íà µ¢Í§àºÊÔ¡áʵÁ» 2SX ࢠҡѺÍÔ¹¾Øµ¢Í§ ULN2003 Ê Ç¹àÍÒµ ¾µØ µ ÍࢠҡѺ¢´ÅÇ´¢Í§ÃÕàÅ ´Ñ§ã¹ÃÙ»·Õè 7-3 àÁ×Íè µ ͧ¡ÒâѺãË ÃàÕ Å ·Òí §Ò¹ ÊÒÁÒö´íÒà¹Ô¹¡Òô ÇÂ¢Ñ¹é µÍ¹´Ñ§¹Õé DIRS
1. ¡íÒ˹´ãË ¾Íà µ¢Í§àºÊÔ¡áʵÁ» 2SX à» ¹àÍÒµ ¾µØ â´Âà¢Õ¹¢ ÍÁÙÅ 1 ä»·ÕÃè ¨Õ ÊÔ àµÍÃ
2. ¨Ò¡¹Ñ¹é Ê §¢ ÍÁÙÅÅͨԡ 1 ä»Âѧ¾Íà µàÍÒµ ¾µØ ´ ǤíÒÊѧè OUT ËÃ×Í HIGH ¡çä´ àÁ×Íè äÍ«Õ ULN2003 ·íÒ§Ò¹¡ç¨Ð¡ÅѺÅͨԡ໠¹ 0 ·íÒãË à¡Ô´¡ÃÐáÊäËż Ò¹¢´ÅÇ´¢Í§ÃÕàÅ ·µÕè Í ÍÂÙ ¡Ñº¢ÒàÍÒµ ¾µØ ÃÕàÅ ·µÕè Í à» ¹âËÅ´ÍÂÙ¡ ¨ç зíÒ§Ò¹ +V (5-12V)
COIL
NC C NO
¾Íà µ¢Í§ àºÊÔ¡áʵÁ» 2SX
1 ULN2003 16
NC C NO RY1
ÃÙ»·Õè 7-2 ÊÑÅѡɳ ¢Í§ÃÕàÅ Ẻ ÃÙ»·Õè 7-3 µÑÇÍ ҧǧ¨Ã¢ÑºÃÕàÅ ¢Í§àºÊÔ¡áʵÁ» 2SX «Ö§è ˹ ÒÊÑÁ¼ÑÊà´ÕÂè Ç µ ͧ¢Ñº¼ Ò¹äÍ«Õ¢ºÑ âËÅ´¡ÃÐáÊÊÙ§àºÍà ULN2003
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
l
97
¡Ô¨¡ÃÃÁ·Õè 22 : i-Stamp ¢ÑºÃÕàÅ ¨Ò¡Ç§¨ÃÊÇÔµª ¡´µÔ´¡´´Ñºã¹¡Ô¨¡ÃÃÁ·Õè 13 ¹íÒÁÒ»ÃѺ»Ãاǧ¨Ã·Ò§àÍÒµ ¾µØ á·¹·Õàè ´ÔÁ¢Ñº LED à»ÅÕÂè ¹ÁÒà» ¹Ç§¨Ã¢ÑºâËÅ´¡ÃÐáÊÊÙ§´ ÇÂäÍ«Õ ULN2003 à¾×Íè ¹íÒä»ãª ¢ºÑ ÃÕàÅÂ Í¡Õ ·Í´Ë¹Ö§è
ÇÔ¸Õ¡Òà 22.1 㪠ǧ¨Ãã¹ÃÙ»·Õè A22-1 㹡Ò÷´Åͧ +V RY1 RELAY 12V.
LED1 RY
S1
R2 220
13
P8
P13
NC NC
+12V
NO NC CONTACT 250V. 5A.
10
+5V RP1/1 4.7k
+ COM NC
R13 1k5
8
9
i-Stamp
L1 LAMP-12V
7
18
IC1 ULN2003
ÍÐá´»àµÍà 12V
RS-232 DOWNLOAD
+ DC INPUT
ËÅÍ´ä¿12V
RESET
ON
i-Stamp OFF
AX-2SX
BASIC Stamp ACTIVITY BOARD LED OUTPUT
P7 P6 P5 P4 P3 P2 P1 P0 P12 SOUND/FREQ. OUTPUT
STEPPER MOTOR
P14 RC-PORT SERIAL DATA
LDR
+5V. P15 GND P11
P10
P9
SWITCH INPUT
ÃÙ»·Õè A22-1 ǧ¨ÃÊÇÔµª à» ´» ´â´Â㪠ÃàÕ Å ÊÒí ËÃѺ i-Stamp
P13 RELAY OUT
P8 RY.
RELAY
NC C NO
˹ ÒÊÑÁ¼ÑÊÃÕàÅÂ
98
l
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
22.2 à¢Õ¹â»Ãá¡ÃÁ·Õè A22-1 ºÑ¹·Ö¡ã¹ª×Íè ä¿Å ACT2201.BSX ´Òǹ âËÅ´â»Ãá¡ÃÁä»Âѧ i-Stamp '{$STAMP BS2sx} '{$PBASIC 2.5} '******************************************************** ' Program : Switch controlled relay ' Filename : ACT2201.BSX ' Processor : BASIC Stamp 2SX/i-Stamp ' Copyright (C) 2003 Innovative Experiment Co.,Ltd. '******************************************************** RELAY CON 13 ' Define RELAY as P13 SWITCH CON 8 ' Define SWITCH as P8 input SW_VAR VAR Byte ' Define SW_VAR as byte variable LOW RELAY ' Set relay as output=0 MAIN: BUTTON SWITCH,0,255,0,SW_VAR,1,TOGGLE_RELAY ' Wait for switch is pressed GOTO MAIN ' Jump to main TOGGLE_RELAY: TOGGLE RELAY PAUSE 200 GOTO MAIN
' Toggle relay status ' Delay ' Jump to main
â»Ãá¡ÃÁ·Õè A22-1 â»Ãá¡ÃÁÊÇÔµª à» ´» ´â´Â㪠ÃàÕ Å ¤Çº¤ØÁ¡Ò÷íÒ§Ò¹´ Ç i-Stamp 22.3 ·´Åͧ¡´ÊÇÔµª S1 «Ö§è µ ͡Ѻ¢Ò¾Íà µ P8 áŠǻŠÍ Êѧࡵ¡Ò÷íÒ§Ò¹¢Í§ÃÕàÅ áÅÐËÅÍ´ä¿ ·Õµè Í ¡ÑºË¹ ÒÊÑÁ¼ÑʢͧÃÕàÅ àÁ×Íè ¡´ÊÇÔµª S1 ·Õ¢è Ò P8 ÃÕàÅ ·Òí §Ò¹ LED ·Õµè Òí á˹ § RY µÔ´ÊÇ Ò§ ¾Ã ÍÁæ ¡Ñºä´ Â¹Ô àÊÕ§ µ Í˹ ÒÊÑÁ¼ÑÊÃÕàÅ áÅÐËÅʹ俵ԴÊÇ Ò§ áÅÐÂѧ¤§µÔ´¤ Ò§áÁ ÇÒ ¨Ð»Å ÍÂÊÇÔµª áÅ Ç 22.4 ¡´ÊÇÔµª S1 «éÒí ÍÕ¡¤Ãѧé Êѧࡵ¡Ò÷íÒ§Ò¹¢Í§ÃÕàÅ áÅÐËÅÍ´ä¿·Õµè Í ¡ÑºË¹ ÒÊÑÁ¼ÑʢͧÃÕàÅ àÁ×Íè ¡´ÊÇÔµª Í¡Õ ¤Ãѧé ÍØ»¡Ã³ ·§Ñé ËÁ´ËÂØ´·íÒ§Ò¹
à·¤¹Ô¤à¾ÔÁè àµÔÁ
¶ Òµ ͧ¡ÒÃà¾ÔÁè ¡ÒÃ˹ ǧàÇÅÒ㹡ÒÃà» ´ÍÍ¡ä» 2 ÇÔ¹Ò·Õ áÅÐàÁ×Íè » ´ãË Ë¹ ǧàÇÅÒÍÍ¡ä» 5 ÇÔ¹Ò·Õ ÊÒÁÒö·íÒä´ â´Âá¡ ä¢â»Ãá¡ÃÁÊ Ç¹ TOGGLE_RELAY ´Ñ§¹Õé l
TOGGLE_RELAY: DELAY_ON: DELAY_OFF: TOGGLE_NEXT:
IF OUT13=1 THEN DELAY_OFF PAUSE 2000 GOTO TOGGLE_NEXT PAUSE 5000 TOGGLE RELAY GOTO MAIN
‘ Check current state ‘ Delay 2 second (ON delay) ‘ Delay 5 sec. (OFF delay) ‘ Toggle relay status ‘ Jump to main
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
l
99
¡Ô¨¡ÃÃÁ·Õè 23 : i-Stamp ¢ÑºÊàµç»à»Íà ÁÍàµÍà Ẻ 1 à¿Ê 㹡Ԩ¡ÃÃÁ¹Õ¨é йíÒàºÊÔ¡áʵÁ» 2SX ä»ãª §Ò¹Ã ÇÁ¡ÑºÍØ»¡Ã³ ¡ÃÐáÊÊÙ§ÍÕ¡µÑÇË¹Ö§è ¹Ñ¹è ¤×Í Êàµç»à»Íà ÁÍàµÍà (stepper motor) â´Â¨ÐàÃÔÁè ´ Ç¡ÒâѺÊàµç»à»Íà ÁÍàµÍà Ẻ 1 à¿Ê´ ÇÂäÍ«Õ ¢ÑºâËÅ´àºÍà ULN2003 â´Â㪠ÊÇÔµª 2 µÑÇÊíÒËÃѺ¡íÒ˹´·ÔÈ·Ò§¡ÒÃËÁع¢Í§Êàµç»à»Íà ÁÍàµÍà â´Â¶ ÒËÒ¡» ͹ÊÑÒ³àÃÕ§¡Ñ¹µÒÁà¿Ê 1-2-3-4 ¢Í§ÁÍàµÍà áÅ Ç Êàµç»à»Íà ÁÍàµÍà ¨ÐËÁعµÒÁà¢çÁ ¹ÒÌ ¡ÒËÃ×ÍËÁع价ҧ¢ÇÒ
ÇÔ¸Õ¡Òà 23.1 㪠ǧ¨Ãã¹ÃÙ»·Õè A23-1 㹡Ò÷´Åͧ 23.2 µ ÍÊàµç»à»Íà ÁÍàµÍà ࢠҷդè ͹à¹ç¡àµÍà STEPPER MOTOR º¹ºÍà ´ AX-2SX 23.3 à¢Õ¹â»Ãá¡ÃÁ·Õè A23-1¨Ò¡¹Ñ¹é ´Òǹ âËÅ´ä»Âѧ i-Stamp 23.4 ¡´ÊÇÔµª S1 ·Õµè Í ÍÂÙ¡ ºÑ ¢Ò¾Íà µ P8 ¤ Ò§äÇ Êѧࡵ¡Ò÷íÒ§Ò¹¢Í§ LED áÅÐÊàµç»à»Íà ÁÍàµÍà ÁÍàµÍà ¨ÐËÁع价ҧ¢ÇÒËÃ×͵ÒÁà¢çÁ¹ÒÌ ¡Ò ã¹¢³Ð·Õè LED ·Õ¢è Ò¾Íà µ P0-P3 ¡ç¨ÐµÔ´ àÃÕ§¡Ñ¹à» ¹ä¿ÇÔ§è 4 ´Ç§µÒÁ¡ÒÃËÁع¢Í§Êàµç»à»Íà ÁÍàµÍà â´ÂàÃÔÁè ¨Ò¡ LED ¢Í§¢Ò P0 ¡ ͹ STEPPER MOTER PHASE A to D COIL D
C
B
+5V
K1 STEPPER MOTER
i-Stamp
21
22 RST 23 GND
SW1 RESET
16 15 14 13 +12V
+5V RP1/4 4k7
9
IC1 ULN2003 4
RP2/4 4k7 R1 220
13 14
P8 P9
P3 P2 P1 P0
3
2
1
8 7 6 5 R3-R6 510 x4
R2 220
S1 (P8) RIGHT
S2 (P9) LEFT
A
LED1-LED4
ÃÙ»·Õè A23-1 ǧ¨Ã¢ÑºÊàµç»à»Íà ÁÍàµÍà Ẻ 1 à¿Ê¤Çº¤ØÁâ´Â i-Stamp
8
100
l
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
'{$STAMP BS2sx} '{$PBASIC 2.5} '-******************************************************* ' Program : 1 Phase stepper motor control ' Filename : ACT2301.BSX ' Processor : BASIC Stamp 2SX/i-Stamp ' Copyright (C) 2003 Innovative Experiment Co.,Ltd. '******************************************************** DELAY SW_LEFT SW_RIGHT
CON VAR VAR
100 IN9 IN8
' Define DELAY as 100 ' Define SW_LEFT as P9 input ' Define SW_RIGHT as P8 input
DIRA=%1111
' Set P0-P3 as outputs
OUTA=%0001
' Set initial value to P0*P3
MAIN: IF SW_LEFT=0 THEN CCW IF SW_RIGHT=0 THEN CW GOTO MAIN
' Counterclockwise when SW_LEFT pressed ' Clockwise when SW_RIGHT pressed ' Jump to main
CW:
' ' ' '
PAUSE DELAY IF OUTA=%1000 THEN RELOAD_CW OUTA=OUTA<<1 GOTO MAIN
RELOAD_CW: OUTA=%0001 GOTO MAIN CCW:
PAUSE DELAY IF OUTA=%0001 THEN RELOAD_CCW OUTA=OUTA>>1 GOTO MAIN
RELOAD_CCW: OUTA=%1000 GOTO MAIN
Delay Check last stage reload when P7 had shown. Shift LEDs to left Jump to main
' Set initial value to P0*P3 ' Jump to main ' ' ' '
Delay Check last stage reload when P7 had shown. Shift LEDs to right Jump to main
' Set initial value to P0*P3 ' Jump to main
àÃÔÁè µ ¹·íÒ§Ò¹¨ÐÁÕ¡ÒÃµÑ§é ¤ ÒàÃÔÁè µ ¹·ÕÊè ൨áá໠¹ %0001 «Ö§è ¨ÐàËç¹ä´ ¨Ò¡¡ÒõԴ¢Í§ LED àÁ×Íè ¡´ ÊÇÔµª RIGHT (P8) ¨ÐÁÕ¡ÒÃàÅ×Íè ¹ºÔµà¾×Íè » ͹¢ ÍÁÙÅẺà¾ÔÁè ¤ Ò¢Ö¹é ·íÒãË ÁÍàµÍà ËÁعµÒÁà¢çÁ¹ÒÌ ¡Ò ¶ Ò¡´ ÊÇÔµª LEFT (P9) ¨ÐÁÕ¡ÒÃàÅ×Íè ¹ºÔµ (LED) à¾×Íè » ͹¢ ÍÁÙÅẺŴ¤ Òŧ ·íÒãË ÁÍàµÍà ËÁع·Ç¹à¢çÁ¹ÒÌ ¡Ò ËÃ×Í¡ÅѺ·ÔÈ·Ò§¡Ñ¹¹Ñ¹è àͧ
â»Ãá¡ÃÁ·Õè A23-1 â»Ãá¡ÃÁ¢ÑºÊàµç»à»Íà ÁÍàµÍà Ẻ˹֧è à¿Ê¤Çº¤ØÁ¡Ò÷íÒ§Ò¹´ Ç i-Stamp
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
l
101
23.5 ¡´ÊÇÔµª S2 ·Õµè Í ÍÂÙ¡ ºÑ ¢Ò¾Íà µ P9 ¤ Ò§äÇ Êѧࡵ¡Ò÷íÒ§Ò¹¢Í§ LED áÅÐÊàµç»à»Íà ÁÍàµÍà ÁÍàµÍà ¨ÐËÁع价ҧ« ÒÂËÃ×ͷǹà¢çÁ¹ÒÌ ¡Ò ã¹¢³Ð·Õè LED ·Õ¢è Ò¾Íà µ P0-P3 ¡ç¨ÐµÔ´ àÃÕ§¡Ñ¹à» ¹ä¿ÇÔ§è 4 ´Ç§µÒÁ¡ÒÃËÁع¢Í§Êàµç»à»Íà ÁÍàµÍà â´ÂàÃÔÁè ¨Ò¡ LED ¢Í§¢Ò P3 ¡ ͹ «Ö§è ¨ÐµÃ§¢ ÒÁ¡Ñº¼Åã¹¢ Í 23.4
à¡Ãç´à¾ÔÁè àµÔÁ l ÊÒÁÒö»ÃѺ¤ÇÒÁàÃçǢͧ¡ÒÃËÁعÁÍàµÍà â´Â¡ÒÃà¾ÔÁ è -Å´¤ ҢͧµÑÇá»Ã DELAY Êѧࡵ¼Å
·Õèä´ ¨Ò¡¡ÒÃà»ÅÕ蹤 Ò áÅз´ÅͧËÒ¤ ÒàÇÅÒ·Õè¹ Í·ÕèÊØ´·ÕèÁÍàµÍà ËÁØ¹ä´ ¨¹¡Ç Ò᡹ÁÍàµÍà ¨Ð µÍºÊ¹Í§¡ÒÃà»ÅÕÂè ¹áŧäÁ ·¹Ñ ·íÒãË à¡Ô´¡ÒÃÊÑ¹è ¤ Ò§¨¹ÍÒ¨ËÂØ´ÍÂÙ· µÕè Òí á˹ §à´ÔÁ (zero torque) ÃÙ ¨Ñ¡¡ÑºÊàµç»à»Íà ÁÍàµÍà ẺÂÙ¹Ôâ¾Å ÒÃ
à» ¹ÁÍàµÍà Ẻ˹Ö觷ÕèÁÕ¡ÒÃËÁعẺ໠¹¨Ñ§ËÇÐËÃ×Í àÃÕÂ¡Ç Òà» ¹Êàµç» ¡Å ÒǤ×Í àÁ×èͨ ÒÂÊÑÒ³ãË á¡ ÁÍàµÍà Í ҧ¶Ù¡µ ͧ ÁÍàµÍà ¨ÐËÁعä»à» ¹¨Ñ§ËÇÐ Ê Ç¹ ¨ÐËÁع« ÒÂËÃ×Í¢ÇÒ¢Ö¹é ÍÂÙ¡ ºÑ ¢ÑÇé ¢Í§¡Òè ÒÂä¿ãË á¡ ¢´ ÅÇ´ÀÒÂã¹ÁÍàµÍà ¤ÇÒÁÅÐàÍÕ´¢Í§¡ÒÃËÁع¢Í§ Êàµç»à»Íà ÁÍàµÍà ¨Ð¢Ö¹é ÍÂÙ¡ ºÑ â¤Ã§Êà ҧ¢Í§Êàµç»à»Íà ÁÍàµÍà áÅÐǧ¨Ã¢Ñº â´Âǧ¨Ã¢ÑºÊÒÁÒöª ÇÂãË ¡Òà ËÁع¢Í§Êàµç»à»Íà ÁÍàµÍà Á¤Õ ÇÒÁÅÐàÍÕ´ÁÒ¡¢Ö¹é ä´
PHASE 4
PHASE 4
+V PHASE 3
PHASE 3
â¤Ã§Êà ҧ¢Í§Êàµç»à»Íà ÁÍàµÍà ẺÂÙ¹âÔ ¾Å Òà áÊ´§´Ñ§ ã¹ÃÙ»·Õè B23-1 Êàµç»à»Íà ÁÍàµÍà Ẻ¹Õ¨é ÐÁÕ¡Òþѹ¢´ ÅÇ´ 2 ¢´º¹áµ ÅТÑéÇáÁ àËÅ硢ͧÊàµàµÍà ᵠÅТ´ ÃÙ»·Õè B23-1 â¤Ã§Êà ҧ¢Í§Êàµç»à»Íà ÁÍàµÍà Ạ§à» ¹ 2 à¿Ê ÃÇÁÁÍàµÍà ·§Ñé µÑÇÁÕ¢´ÅÇ´·Ñ§é ÊÔ¹é 4 à¿Ê ẺÂÙ¹âÔ ¾Å Òà ¤×Í à¿Ê 1, 2, 3 áÅÐ 4 ÁÕ¡Òõ ÍÊÒÂÍÍ¡ÁÒ¨Ò¡¢´ÅÇ´ áµ ÅТ´à¾×Íè ¨ ÒÂä¿àÅÕÂé § ·íÒãË Êàµç»à»Íà ÁÍàµÍà Ẻ Êàµç»·Õè PHASE 1 PHASE 2 PHASE 3 PHASE 4 1 ·íÒ§Ò¹ ¹Õ¨é §Ö ÁÕ·§Ñé Ẻ 5 áÅÐ 6 ÊÒ â´ÂÊÒ·Õè 5 ¤×ÍÊÒ¨ ÒÂä¿ 2 ·íÒ§Ò¹ àÅÕÂé § Ê Ç¹¡Ã³Õ 6 ÊÒ ¨Ðµ ͧ¹íÒÊÒÂä¿àÅÕÂé §¢Í§¢´ÅÇ´ 3 ·íÒ§Ò¹ ·Ñ§é 2 ¢Í§ÁÍàµÍà ÁÒµ Íà ÇÁ¡Ñ¹ áŠǨ ÒÂ俨֧¨Ð·íÒãË 4 ·íÒ§Ò¹ Êàµç»à»Íà ÁÍàµÍà ·Òí §Ò¹ä´ PHASE 2
PHASE 1
PHASE 2 +V PHASE 1
+V
µÒÃÒ§·Õè B23-1 ÅíҴѺ¡Òû ͹ÊÑÒ³à¾×Íè ¢Ñº à» ¹ ¡ÒÃ¢Ñ º ·Õè ÁÕ ÃÙ » Ẻ§ Ò Â·Õè ÊØ ´ â´Â» Í ¹ÊÑ Ò³ Êàµç»à»Íà ÁÍàµÍà Ẻ¿ÙÅÊàµç»Ë¹Ö§è à¿Ê ¡ÒâѺÊàµç»à»Íà ÁÍàµÍà Ẻ 1 à¿Ê
¡Ãеع ¢´ÅÇ´¤Ãѧé ÅÐà¿Ê㹪 ǧàÇÅÒ˹֧è äÅ àÃÕ§¡Ñ¹ä» ઠ¹ àÃÔÁè µ ¹¨Ò¡à¿Ê·Õè 1 µ Í´ ÇÂà¿Ê·Õè 2, 3 áÅÐ 4 áÅ Ç
102
l
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX +V P4
9
i-Stamp BS2SX-IC
P3
4
13
P2
3
14
P1
2
P0
1
ULN2003
P3
P2
P1 P1-4 STEPPER MOTOR COIL
15 16
8
ÃÙ»·Õè B23-2 ǧ¨Ã¢ÑºÊàµç»à»Íà ÁÍàµÍà ¢Í§àºÊÔ¡áʵÁ» 2SX â´Â㪠äÍ«Õ ULN2003 ǹ¡ÅѺÁÒà¿Ê·Õè 1 ãËÁ ËÃ×ͨÐãË àÃÔÁè ¨Ò¡à¿Ê·Õè 1 ä»Âѧà¿Ê·Õè 4, 3 áÅÐ 2 áÅ Çǹ¡ÅѺÁÒà¿Ê·Õè 1 ÍÕ¡¤ÃÑ§é ´ Ç ÅíҴѺ¡Òû ͹ÊÑÒ³¡Ãеع ·Õµè Ò §¡Ñ¹ ·íÒãË ·ÈÔ ·Ò§ã¹¡ÒÃËÁع¢Í§Êàµç»à»Íà ÁÍàµÍà Êǹ·Ò§¡Ñ¹ ã¹µÒÃÒ§·Õè B23-1 áÊ´§ÅíҴѺ¡Òû ͹ÊÑÒ³à¾×Íè ¢ÑºÊàµç»à»Íà ÁÍàµÍà Ẻ˹֧è à¿Ê
àºÊÔ¡áʵÁ» 2SX ¡Ñº¡ÒâѺÊàµç»à»Íà ÁÍàµÍÃ
à¹×èͧ¨Ò¡¢Ò¾Íà µ¢Í§àºÊÔ¡áʵÁ» 2SX àÁ×èÍ·íҧҹ໠¹àÍÒµ ¾ØµÁÕ¤ÇÒÁÊÒÁÒö㹡Òè Ò¡ÃÐáÊ»ÃÐÁÒ³ 10-20 mA ´Ñ§¹Ñ鹨֧äÁ ÊÒÁÒö¹íÒ仢Ѻ Êàµç»à»Íà ÁÍàµÍà ẺÂÙ¹âÔ ¾Å ÒÃ ä´ â´ÂµÃ§ ¨Ðµ Í§Ê §ÊÑÒ³·Õãè ª 㹡ÒâѺÊàµç»à»Íà ÁÍàµÍà ¼Ò ¹äÍ«ÕËÃ×Íǧ¨Ã ¢Ñº¡ÃÐáÊÊÙ§ «Ö§è ã¹·Õ¹è ¢Õé Íá¹Ð¹íÒäÍ«ÕàºÍà ULN2003 ´Ñ§ÁÕµÇÑ Í ҧǧ¨ÃáÊ´§ã¹ÃÙ»·Õè B23-2 ¡ÒÃà¢Õ¹â»Ãá¡ÃÁ¤Çº¤ØÁµ ͧ¡íÒ˹´àÊÕ¡ Í¹Ç Òµ ͧ¡ÒâѺÊàµç»à»Íà ÁÍàµÍà ã¹ÅѡɳÐã´ ¨Ò¡¹Ñ¹é ¨Ö§Ê §¢ ÍÁÙÅ ä»Âѧ¢Ò¾Íà µ·Õµè Í ¡Ñº ULN2003 ·Ø¡¤ÃÑ§é ·ÕÊè § ¢ ÍÁÙÅÍÍ¡ä»ã¹áµ ÅÐÊàµç» µ ͧ˹ ǧàÇÅÒàÅ硹 Í ¡ Í¹Ê §¢ ÍÁÙÅ ¢Í§¡ÒÃËÁعã¹Êàµç»µ Íä» ·Ñ§é ¹Õàé ¾×Íè ãË äÍ«Õ¢ºÑ áÅÐÊàµç»à»Íà ÁÍàµÍà ÊÒÁÒöµÍºÊ¹Í§¡Ñº¢ ÍÁÙÅä´ ·¹Ñ ¡ ͹·Õ¨è Ð ÃѺ¢ ÍÁÙÅãËÁ µÍ ä» ¨íҹǹ¾ÑÅÊ ·ãÕè ª 㹡ÒâѺÊàµç»à»Íà ÁÍàµÍà ËÁع¤ÃºË¹Ö§è Ãͺ¨Ðᵡµ Ò§¡Ñ¹ä» ¢Ö¹é ÍÂÙ¡ ºÑ â¤Ã§Êà ҧ¢Í§ÁÍàµÍà áÅÐÃٻẺ㹡ÒâѺ ËÒ¡ÁÍàµÍà Á¤Õ ÇÒÁÅÐàÍÕ´ 7.5 ͧÈÒµ ÍÊàµç» ¶ Òµ ͧ¡ÒÃãË ËÁع¤ÃºÃͺµ Í§Ê §¾ÑÅÊ 48 ÅÙ¡ ¤íÒ¹Ç¹ä´ ¨Ò¡¡ÒÃà¤Å×Íè ¹·Õàè » ¹Ç§¡ÅÁ˹֧è ÃͺÁÕÁÁØ ÃÇÁ 360 ͧÈÒ ¹íÒ¤ÇÒÁÅÐàÍÕ´¢Í§Êàµç»à»Íà ÁÍàµÍà ÁÒËÒà 360 ä´ ¤Ò ෠ҡѺ 48 㹡óբºÑ ẺÎÒÅ ¿Êàµç» ¨íҹǹ¾ÑÅÊ ·ãÕè ª ¡¨ç Ðà¾ÔÁè à» ¹ 2 à· Ò ¶ ÒËҡ㪠ÁÍàµÍà 7.5 ͧÈÒµ ÍÊàµç» µ Í§Ê §¾ÑÅÊ ·§Ñé ÊÔ¹é 96 ÅÙ¡ ÊíÒËÃѺ¡ÒâѺãË ÁÍàµÍà ËÁع¤Ãº 1 Ãͺ ¤ÇÒÁàÃçǢͧ¡ÒÃËÁع¨Ð¢Ö¹é ÍÂÙ¡ ºÑ ÍѵÃÒ¡ÒÃÊ §¢ ÍÁÙÅä»Âѧǧ¨Ã¢ÑºáÅСÒõͺʹͧ¢Í§µÑÇÁÍàµÍà ¶ ÒËÒ¡Ê § ¢ ÍÁÙÅä´ àÃçÇà· Òã´ ÁÍàµÍà ¡ç¨ÐËÁعàÃçÇ¢Öé¹à· Ò¹Ñé¹ Í ҧäáçµÒÁ µÑÇÊàµç»à»Íà ÁÍàµÍà ¡çÁÕ¢ ͨíҡѴ㹡ÒÃÃѺ ÊÑÒ³¾ÑÅÊ ·ÊÕè § ÁÒ¡Ãеع ઠ¹¡Ñ¹ ËÒ¡Ê §ÊÑÒ³ÁÒàÃçÇà¡Ô¹ä» Êàµç»à»Íà ÁÍàµÍà ¨ÐËÂØ´ËÁع ·Ñ§é ¹Õàé ¹×Íè §¨Ò¡ µÑÇÊàµç»à»Íà ÁÍàµÍà äÁ ÊÒÁÒöµÍºÊ¹Í§¾ÑÅÊ ¡Ãеع ·ÕÊè § ÁÒä´ ·¹Ñ
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
l
103
¡Ô¨¡ÃÃÁ·Õè 24 : i-Stamp ¢ÑºÊàµç»à»Íà ÁÍàµÍà Ẻ 2 à¿Ê ¡ÒâѺÊàµç»à»Íà ÁÍàµÍà ẺÊͧà¿Ê¨ÐÁÕÅ¡Ñ É³Ð¤Å Ò¡ѺẺ˹֧è à¿Ê ºÒ§·ÕàÃÕ¡¡ÒâѺ Ẻ¹ÕÇé Ò áºº¿ÙÅÊàµç» (full step) áµ á·¹·Õ¨è ÐÊ §ÊÑÒ³¡Ãеع à¾Õ§à¿Êà´ÕÂÇ ã¹¡ÒâѺẺ¹Õé ¨Ð» ͹ÊÑÒ³¡Ãеع ä»Âѧà¿Ê¢Í§ÁÍàµÍà ·ÍÕè ÂÙã ¡Å ¡¹Ñ ã¹àÇÅÒà´ÕÂǡѹáÅÐàÃÕ§ÅíҴѺ¡Ñ¹ä»àª ¹ à´ÕÂǡѺẺ˹֧è à¿Ê ´Ñ§áÊ´§ã¹µÒÃÒ§·Õè A24-1 ¤×ÍàÃÔÁè µ ¹´ Ç» ͹ÊÑÒ³¡Ãеع ä»Âѧà¿Ê·Õè 1 áÅÐ 2 ¾Ã ÍÁ¡Ñ¹ã¹Êàµç»·Õè 1 ã¹Êàµç»·Õè 2 ¨Ð» ͹ÊÑÒ³ä»Âѧà¿Ê·Õè 2 áÅÐ 3 ¶Ñ´ÁÒã¹à¿Ê·Õè 3 ¨Ð·íÒ¡Òû ͹ÊÑÒ³¡ÃШع ä»·Õàè ¿Ê 3 áÅÐ 4 ã¹Êàµç»·Õè 4 ¨Ð» ͹ÊÑÒ³ä»Âѧà¿Ê·Õè 4 áÅÐ 1 áÅ Çǹ¡ÅѺ价Õàè ¿Ê·Õè 1 áÅÐ 2 ÍÕ¡¤ÃÑ§é ´ Ç¡ÒâѺẺ¹Õ·é Òí ãË ä´ áçºÔ´ËÃ×ͷͤ (toque) ÁÒ¡ ¡Ç ÒẺ˹֧è à¿Ê áµ ¢Í àÊÕ¤×Í ãª ¾Åѧ§Ò¹ã¹¡ÒâѺà¾ÔÁè ÁÒ¡¢Ö¹é Êàµç»·Õè PHASE 1 PHASE 2 PHASE 3 PHASE 4 1 ·íÒ§Ò¹ ·íÒ§Ò¹ 2 ·íÒ§Ò¹ ·íÒ§Ò¹ 3 ·íÒ§Ò¹ ·íÒ§Ò¹ 4 ·íÒ§Ò¹ ·íÒ§Ò¹
µÒÃÒ§·Õè A24-1 ÅíҴѺ¡Òû ͹ÊÑÒ³à¾×Íè ¢Ñº Êàµç»à»Íà ÁÍàµÍà Ẻ¿ÙÅàµç»Êͧà¿Ê
ÇÔ¸Õ¡Òà 24.1 Âѧ㪠ǧ¨Ãã¹ÃÙ»·Õè A23-1 㹡Ò÷´Åͧ 24.2 µ ÍÊàµç»à»Íà ÁÍàµÍà ࢠҷդè ͹à¹ç¡àµÍà STEPPER MOTOR º¹ºÍà ´ AX-2SX 24.3 à¢Õ¹â»Ãá¡ÃÁ·Õè A24-1¨Ò¡¹Ñ¹é ´Òǹ âËÅ´ä»Âѧ i-Stamp 24.4 ¡´ÊÇÔµª S1 ·Õµè Í ÍÂÙ¡ ºÑ ¢Ò¾Íà µ P8 ¤ Ò§äÇ Êѧࡵ¡Ò÷íÒ§Ò¹¢Í§ LED áÅÐÊàµç»à»Íà ÁÍàµÍà ÁÍàµÍà ¨ÐËÁع价ҧ¢ÇÒËÃ×͵ÒÁà¢çÁ¹ÒÌ ¡Ò ã¹¢³Ð·Õè LED ·Õ¢è Ò¾Íà µ P0-P3 ¡ç¨ÐµÔ´ àÃÕ§¡Ñ¹à» ¹ä¿ÇÔ§è 4 ´Ç§µÒÁ¡ÒÃËÁع¢Í§Êàµç»à»Íà ÁÍàµÍà â´ÂàÃÔÁè ¨Ò¡ LED ¢Í§¢Ò P0 ¡ ͹ ÊÔ§è ·Õáè µ¡µ Ò§¨Ò¡¡Ô¨¡ÃÃÁ·Õè 23 ¤×Í ¤ÇÒÁàÃçÇ㹡ÒÃËÁع¢Í§ÁÍàµÍà ¨ÐŴŧ áµ ÁáÕ Ã§ºÔ´à¾ÔÁè ¢Ö¹é 24.5 ¡´ÊÇÔµª S2 ·Õµè Í ÍÂÙ¡ ºÑ ¢Ò¾Íà µ P9 ¤ Ò§äÇ Êѧࡵ¡Ò÷íÒ§Ò¹¢Í§ LED áÅÐÊàµç»à»Íà ÁÍàµÍà ÁÍàµÍà ¨ÐËÁع价ҧ« ÒÂËÃ×ͷǹà¢çÁ¹ÒÌ ¡Ò ã¹¢³Ð·Õè LED ·Õ¢è Ò¾Íà µ P0-P3 ¡ç¨ÐµÔ´ àÃÕ§¡Ñ¹à» ¹ä¿ÇÔ§è 4 ´Ç§µÒÁ¡ÒÃËÁع¢Í§Êàµç»à»Íà ÁÍàµÍà â´ÂàÃÔÁè ¨Ò¡ LED ¢Í§¢Ò P3 ¡ ͹ «Ö§è ¨ÐµÃ§¢ ÒÁ¡Ñº¼Åã¹¢ Í 24.4 ÊÔ§è ·Õáè µ¡µ Ò§¨Ò¡¡Ô¨¡ÃÃÁ·Õè 23 ¤×Í ¤ÇÒÁàÃçÇ㹡ÒÃËÁع¢Í§ÁÍàµÍà ¨ÐŴŧ áµ ÁáÕ Ã§ºÔ´à¾ÔÁè ¢Ö¹é
104
l
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
'{$STAMP BS2sx} '{$PBASIC 2.5} '******************************************************** ' Program : 2 Phases stepper motor controller ' Filename : ACT2401.BSX ' Processor : BASIC Stamp 2SX/i-Stamp ' Copyright (C) 2003 Innovative Experiment Co.,Ltd. '******************************************************** DELAY SW_LEFT SW_RIGHT STAGE
CON VAR VAR VAR
100 IN9 IN8 Byte
' ' ' '
Define Define Define Define
DELAY as 100 SW_LEFT as P9 input SW_RIGHT as P8 input STAGE as byte variable
DIRA=%1111 STAGE=0 GOSUB DRIVE
' Set P0-P3 as outputs ' Set initial STAGE as 0 ' Drive stepper motor
MAIN:
IF SW_LEFT=0 THEN CCW IF SW_RIGHT=0 THEN CW GOTO MAIN
' Counterclockwise when SW_LEFT pressed ' Clockwise when SW_RIGHT pressed ' Jump to main
CW:
STAGE=(STAGE+1)//4 GOSUB DRIVE GOTO MAIN
' Increase stage within 0*3 ' Drive stepper motor ' Jump to main
CCW:
STAGE=(STAGE-1)//4 GOSUB DRIVE GOTO MAIN
' Increase stage within 0*3 ' Drive stepper motor ' Jump to main
DRIVE:
LOOKUP STAGE,[%0011,%0110,%1100,%1001],OUTA ' Get data PAUSE DELAY ' Delay RETURN ' Return
ÊíÒËÃѺã¹â»Ãá¡ÃÁ¹Õ¨é ÐµÑ§é ¤ ÒàÃÔÁè µ ¹¤×Í %0011 «Ö§è ÊÑ§à¡µä´ ¨Ò¡¡ÒõԴ¢Í§ LED ¡Ò÷íÒ§Ò¹ËÅÑ¡æ ¨Ð¤Å Ò¡Ѻâ»Ãá¡ÃÁ¢ÑºÊàµç»à»Íà ÁÍàµÍà Ẻ 1 à¿Ê à¾ÕÂ§áµ Ç¸Ô ãÕ ¹¡ÒùíÒ¤ ÒÁÒ㪠᷹·Õ¨è Ð㪠¡ÒÃàÅ×Íè ¹ ºÔµ ¨Ð㪠µÇÑ á»Ã STAGE 㹡ÒáíÒ˹´ÅíҴѺãË ÍÂÙã ¹¢Íºà¢µ 0-3 «Ö§è ¨ÐÍ Ò§ÍÔ§¤ Òã¹µÒÃÒ§¡ÒâѺÊàµç»à»Íà ÁÍàµÍà ẺÊͧà¿Ê
â»Ãá¡ÃÁ·Õè A24-1 â»Ãá¡ÃÁ¢ÑºÊàµç»à»Íà ÁÍàµÍà ẺÊͧà¿Ê¤Çº¤ØÁ¡Ò÷íÒ§Ò¹´ Ç i-Stamp
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
l
105
¡Ô¨¡ÃÃÁ·Õè 25 : i-Stamp ¢ÑºÊàµç»à»Íà ÁÍàµÍà ẺÎÒÅ ¿Êàµç» ¡ÒâѺÊàµç»à»Íà ÁÍàµÍà ã¹áºº¹Õàé » ¹áºº·Õäè ´ ÃºÑ ¤ÇÒÁ¹ÔÂÁÁÒ¡·ÕÊè ´Ø à¹×Íè §¨Ò¡ÊÒÁÒöª Ç ãË Êàµç»à»Íà ÁÍàµÍà ÊÒÁÒöËÁØ¹ä´ Í ҧÅÐàÍÕ´ÁÒ¡¢Öé¹à» ¹Êͧ෠Ңͧ¤ÇÒÁÅÐàÍÕ´»¡µÔ¢Í§ Êàµç»à»Íà ÁÍàµÍà â´ÂÁÕû٠Ẻ¡ÒâѺãË ËÁعáÊ´§ã¹µÒÃÒ§·Õè A25-1 ¨ÐàËç¹ä´ ÇÒ ¡ÒâѺÊàµç»à»Íà ÁÍàµÍà Ẻ¹Õéà» ¹¡ÒüÊÁ¼ÊÒ¹ÃÐËÇ Ò§¡ÒâѺẺ˹Öè§áÅÐÊͧà¿Ê ¡Å ÒǤ×Í ÁÕ·Ñ駡Òû ͹ ÊÑÒ³¡Ãеع ä»Âѧ¢´ÅÇ´à¾Õ§à¿Êà´ÕÂÇáÅÐẺ¾Ã ÍÁ¡Ñ¹Êͧà¿Ê㹪 ǧàÇÅÒË¹Ö§è ´ Ç¡ÒâѺ Ẻ¹ÕÊé § ¼ÅãË áçºÔ´·Õäè ´ ¨Ò¡¡ÒÃËÁعà¾ÔÁè ¢Ö¹é à¾ÃÒÐÃÐÂзҧ㹡ÒÃËÁعÊѹé ŧ ¤ÇÒÁ¶Ù¡µ ͧ¢Í§ µíÒá˹ §·ÕËè ÁعÁÕà¾ÔÁè ÁÒ¡¢Ö¹é à¾Õ§ᵠÇÒ ã¹¡ÒâѺµ ͧᵠÅÐÊàµç»¨ÐãË ¼Åà¾Õ§¤ÃÖ§è Êàµç»¢Í§¡ÒâѺ »¡µÔ ´Ñ§¹Ñ¹é ËÒ¡µ ͧ¡ÒÃãË ¡ÒÃà¤Å×Íè ¹·Õàè » ¹ä»áººàµçÁÊàµç» ¨Ðµ ͧ¡íÒ˹´ãË ·Òí ¡ÒÃËÁØ¹ä» 2 Êàµç» µ Íà¹×èͧ¡Ñ¹ Êàµç»·Õè PHASE 1 1 ·íÒ§Ò¹ 2 ·íÒ§Ò¹ 3 4 5 6 7 8 ·íÒ§Ò¹
PHASE 2 ·íÒ§Ò¹ ·íÒ§Ò¹ ·íÒ§Ò¹ -
PHASE 3 ·íÒ§Ò¹ ·íÒ§Ò¹ ·íÒ§Ò¹ -
PHASE 4 ·íÒ§Ò¹ ·íÒ§Ò¹ ·íÒ§Ò¹
µÒÃÒ§·Õè A25-1 ÅíҴѺ¡Òû ͹ÊÑÒ³à¾×Íè ¢Ñº Êàµç»à»Íà ÁÍàµÍà ẺÎÒÅ ¿Êàµç»
ÇÔ¸Õ¡Òà 25.1 㪠ǧ¨Ãã¹ÃÙ»·Õè A25-1 㹡Ò÷´Åͧ 25.2 µ ÍÊàµç»à»Íà ÁÍàµÍà ࢠҷդè ͹à¹ç¡àµÍà STEPPER MOTOR º¹ºÍà ´ AX-2SX 25.3 à¢Õ¹â»Ãá¡ÃÁ·Õè A24-1¨Ò¡¹Ñ¹é ´Òǹ âËÅ´ä»Âѧ i-Stamp 25.4 ·´Åͧ¡´ÊÇÔµª ·§Ñé 4 µÑÇ áÅ ÇÊѧࡵ¡Ò÷íÒ§Ò¹¢Í§Êàµç»à»Íà ÁÍàµÍà áÅСÒÃáÊ´§¼Å¢Í§ LED ·Ñ§é 4 µÑÇ·Õµè Í ¡Ñº¾Íà µ P0-P3 㹡Ԩ¡ÃÃÁ¹Õàé »ÅÕÂè ¹¡ÒâѺÊàµç»à»Íà ÁÍàµÍà ໠¹áººÎÒÅ ¿Êàµç» «Ö§è ãË ¡ÒÃà¤Å×Íè ¹·ÕËè ¹Ö§è ¤Ãѧé ᡹ËÁع¨ÐºÔ´ä»à¾Õ§¤ÃÖ§è à´ÕÂÇà· Ò¹Ñ¹é ·íÒãË ¤ÇÒÁÅÐàÍÕ´·Õäè ´ ÁÒ¡¡Ç ÒẺ¡ÒâѺẺàµçÁà¿Ê 2 à· Ò â´Â¡Ò÷íÒ§Ò¹ËÅÑ¡æ ¨Ð¤Å Ò¡Ѻ¡ÒâѺÊàµç»à»Íà ÁÍàµÍà Ẻ 2 à¿Ê à¾Õ§à¾ÔÁè ÊÇÔµª ÊÒí ËÃѺ
106
l
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
STEPPER MOTER PHASE A to D COIL D
C
B
+5V 21
K1 STEPPER MOTER
i-Stamp
22 RST 23 GND
SW1 RESET
16 15 14 13 +12V
RP3/4 4k7
9
IC1 ULN2003 4
+5V
RP4/4 4k7
RP1/4 4k7 R4
RP2/4 4k7
R3 R2 R1
16
P11 15 P10 14 P9 13 P8
R1-R4 220 x4
S4 (P11) S3 (P10) S2 (P9) L_CONT R_CONT LEFT
A
P3 P2 P1 P0
3
2
8
1
8 7 6 5 R5-R8 510 x4
LED1-LED4
S1 (P8) RIGHT
ÃÙ»·Õè A25-1 ǧ¨Ã¢ÑºÊàµç»à»Íà ÁÍàµÍà ẺÎÒÅ ¿Êàµç»¤Çº¤ØÁ´ Ç i-Stamp '{$STAMP BS2sx} '{$PBASIC 2.5} '******************************************************* ' Program : Stepper motor controller in half step mode ' : with continuous function ' Filename : ACT2501.BSX ' Processor : BASIC Stamp 2SX/i-Stamp ' Copyright (C) 2003 Innovative Experiment Co.,Ltd. '******************************************************** DELAY SW_L_CONT SW_R_CONT SW_LEFT SW_RIGHT STAGE L_CONT R_CONT
CON VAR VAR VAR VAR VAR VAR VAR
100 IN11 IN10 IN9 IN8 Byte Bit Bit
' ' ' ' ' ' ' '
Define Define Define Define Define Define Define Define
DELAY as 100 SW_L_CONT as P11 input SW_R_CONT as P10 input SW_LEFT as P9 input SW_RIGHT as P8 input STAGE as byte variable L_CONT as flag R_CONT as flag
â»Ãá¡ÃÁ·Õè A25-1 â»Ãá¡ÃÁ¢ÑºÊàµç»à»Íà ÁÍàµÍà ẺÎÒÅ ¿Êàµç»¤Çº¤ØÁ¡Ò÷íÒ§Ò¹ ´ Ç i-Stamp (ÁÕµÍ )
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
DIRA=%1111 STAGE=0 L_CONT=0 R_CONT=0 GOSUB DRIVE MAIN:
' ' ' ' '
l
107
Set P0-P3 as outputs Set initial STAGE as 0 Clear left continue flag Clear right continue flag Drive stepper motor
IF (SW_LEFT)AND(SW_RIGHT) THEN MAIN_1 ' Check any switch are pressed? L_CONT=0:R_CONT=0 ' Clear both flags if not
MAIN_1: IF SW_LEFT=0 THEN CCW IF SW_RIGHT=0 THEN CW IF SW_L_CONT=1 THEN MAIN_2 L_CONT=1:R_CONT=0
' ' ' '
MAIN_2: IF SW_R_CONT=1 THEN MAIN_3 L_CONT=0:R_CONT=1
' Check right continue switch ' Set right continue flag, clear left continue
MAIN_3: IF L_CONT=1 THEN CCW IF R_CONT=1 THEN CW GOTO MAIN
' Drive left continue if L_CONT=1 ' Drive right continue if R_CONT=1 ' Jump to main
CW:
STAGE=(STAGE+1)//8 GOSUB DRIVE GOTO MAIN
' Increase stage within 0-8 ' Drive stepper motor ' Jump to main
CCW:
STAGE=(STAGE-1)//8 GOSUB DRIVE GOTO MAIN
' Increase stage within 0-8 ' Drive stepper motor ' Jump to main
DRIVE:
LOOKUP STAGE,[%0001,%0011,%0010,%0110, %0100,%1100,%1000,%1001],OUTA ' Get data PAUSE RETURN
DELAY
Counterclockwise when SW_LEFT pressed Clockwise when SW_RIGHT pressed Check left continue switch Set left continue flag, clear right continue
' Delay ' Return
â»Ãá¡ÃÁ·Õè A25-1 â»Ãá¡ÃÁ¢ÑºÊàµç»à»Íà ÁÍàµÍà ẺÎÒÅ ¿Êàµç»¤Çº¤ØÁ¡Ò÷íÒ§Ò¹ ´ Ç i-Stamp (¨º) ¡ÒÃËÁعµ Íà¹×Íè §à¢ ÒÁÒ´ Ç â´Â¶ Ò¡´ÊÇÔµª ËÁعµ Íà¹×Íè §« Ò (ÊÇÔµª S4 ·Õµè Í ¡Ñº¢Ò¾Íà µ P11) ËÃ×Í¢ÇÒ (ÊÇÔµª S3 ·Õµè Í ¡Ñº¢Ò¾Íà µ P10) Êàµç»à»Íà ÁÍàµÍà ¨ÐËÁعµ Íà¹×Íè §ä»àÃ×Íè Âæ ¨¹¡Ç ҨРÊѧè ËÁعµ Íà¹×Íè §¡ÅѺ¢ Ò§ ¶ Òµ ͧ¡ÒÃËÂØ´ ãË ¡´ÊÇÔµª ËÁع« Ò (S2) ËÃ×Í¢ÇÒ (S3) Ẻ»¡µÔà¾×Íè ¡àÅÔ¡¡Ò÷íҧҹẺµ Íà¹×èͧä´
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
l
109
º··Õè 8
àºÊÔ¡áʵÁ» 2SX ¡Ñº ¡Ò÷íÒ§Ò¹à¡ÕèÂǡѺàÇÅÒ ã¹¡Ò÷íÒ§Ò¹¢Í§àºÊÔ¡áʵÁ» 2SX ¨Ðµ ͧÁÕÊ Ñ Ò³¹ÒÌ ¡ÒÁÒà¡ÕÂè Ç¢ ͧáÅд Ç¡Ò÷íÒ§Ò¹ ã¹áººÍÔ¹àµÍà ¾ÃÕµËÃ×Íá»Åâ»Ãá¡ÃÁ¹Õé ·íÒãË äÁ ÊÒÁÒöÃÐºØªÇ §àÇÅÒ·Õáè ¹ ¹Í¹ã¹áµ ÅФíÒÊѧè ä´ Ê §¼ÅãË ¡ÒÃ㪠àºÊÔ¡áʵÁ» 2SX ¨Ñ´¡Òô Ò¹àÇÅÒ·íÒä´ Í ҧ¨íÒ¡Ñ´ áµ ¡äç ´ ÃºÑ ¡Òê´àªÂ´ ǤíÒÊÑ§è ·Õãè ª ¨´Ñ ¡Òô Ò¹àÇÅÒâ´Â੾ÒÐ ¹Ñ¹è ¤×Í ¤íÒÊѧè PAUSE «Ö§è 㪠ÊÒí ËÃѺ˹ ǧàÇÅÒã¹Ë¹ Ç¢ͧÁÔÅÅÔÇ¹Ô Ò·Õ áÅÐàÁ×è͵ ͧ¡ÒÃãË ÁÕ¤ Ò àÇźҷÕèà¾ÔèÁ¢Ö鹡çÊÒÁÒö㪠â»Ãá¡ÃÁÅٻࢠÒÁÒª Ç 㹺·¹Õºé Ãèء¨Ô ¡ÃÃÁ·Õàè ¡ÕÂè Ç¢ ͧ¡Ñº¡ÒèѴ¡Òô Ò¹àÇÅÒ áÅйíҼŢͧàÇÅҹѹé ÁÒ㪠¤Çº¤ØÁ Ãкºà¾×èÍ¡ ÍãË à¡Ô´¡Ò÷íҧҹẺÍѵâ¹ÁѵÔÍÂÙ 4 ¡Ô¨¡ÃÃÁ µÑé§áµ ǧ¨ÃµÑé§àÇÅÒÍ ҧ§ ÒÂ, ÅÙ¡µØ Á ¹ÒÌ ¡Ò (pendulum), à¤Ã×Íè §µÑ§é àÇÅÒ 80 ÇÔ¹Ò·Õ áÅÐÊÇÔµª ä¿¡ ͹¹Í¹ (bed timer)
¡Ô¨¡ÃÃÁ·Õè 26 : ǧ¨ÃµÑ§é àÇÅÒÍ ҧ§ Ò ¡ÒÃÊà ҧ°Ò¹àÇÅÒ·Õ§è Ò Â·ÕÊè ´Ø ¢Í§àºÊÔ¡áʵÁ» 2SX ¤×Í ¡ÒÃ㪠¤Òí Êѧè PAUSE áŠǵÒÁ´ Ç ¤ ÒàÇÅÒ·Õµè Í §¡ÒÃã¹Ë¹ ÇÂÁÔÅÅÔÇ¹Ô Ò·Õ â´ÂÁÕ¤Ò ä´ µ§Ñé áµ 0-65,535 ´Ñ§¹Ñ¹é ÅíҾѧ¤íÒÊѧè PAUSE ¨Ð·íÒ ãË à¡Ô´¤ ÒàÇÅÒ˹ ǧ 0-65 ÇÔ¹Ò·Õ â´Â»ÃÐÁÒ³ áÅÐ㹡Ԩ¡ÃÃÁ¹Õäé ´ ¹Òí ¤íÒÊѧè PAUSE ÁÒ㪠㹡ÒÃÊà ҧ ǧ¨ÃµÑ§é àÇÅÒÍ ҧ§ Ò·ÕÊè ´Ø ¨Ö§µÑ§é àÇÅÒä´ 0-65 ÇÔ¹Ò·Õ
ÇÔ¸Õ¡Òà 26.1 㪠ǧ¨Ãã¹ÃÙ»·Õè A26-1 㹡Ò÷´Åͧ 26.2 à¢Õ¹â»Ãá¡ÃÁ·Õè A26-1 ºÑ¹·Ö¡ã¹ª×Íè ä¿Å ACT2601.BSX ´Òǹ âËÅ´ä»Âѧ i-Stamp 26.3 ·´Åͧ¡´ÊÇÔµª S1 ·Õµè Í ¡Ñº¢Ò¾Íà µ P8 áÅ ÇÊѧࡵ¡Ò÷íÒ§Ò¹ LED ·Õµè Òí á˹ § P0 ¨ÐµÔ´ÊÇ Ò§·Ñ¹·Õ·¡Õè ´ÊÇÔµª S1 áÅеԴ¤ Ò§¹Ò¹ 5 ÇÔ¹Ò·Õ ¨Ö§´ÑºÅ§ à» ¹ ¡ÒÃáÊ´§ãË àË繡Ò÷íÒ§Ò¹¢Í§Ç§¨ÃµÑ§é àÇÅÒÍ ҧ§ Ò¹Õé â´ÂàÇÅÒ·Õµè §Ñé ¤×Í 5 ÇÔ¹Ò·Õ
110
l
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX +5V 21
i-Stamp
22 RST 23 GND
SW1 RESET +5V RP1/4 4k7
P0 R9 220
5 R1 510
13
P8
LED1
S1
ÃÙ»·Õè A26-1 ǧ¨ÃµÑ§é àÇÅÒÍ ҧ§ Ò¤Ǻ¤ØÁâ´Â i-Stamp '{$STAMP BS2sx} '{$PBASIC 2.5} '******************************************************* ' Program : Easy timer ' Filename : ACT2601.BSX ' Processor : BASIC Stamp 2SX/i-Stamp ' Copyright (C) 2003 Innovative Experiment Co.,Ltd. '******************************************************* LED CON 0 ' Define LED as P0 SWITCH CON 8 ' Define SWITCH as P8 input TIME CON 5000 ' Define time interval in millisecond SW_VAR VAR Byte ' Define SW_VAR as byte variable MAIN : START:
LOW LED ' Off light BUTTON SWITCH,0,255,0,SW_VAR,1,TIMER ' Wait for switch is pressed GOTO MAIN ' Jump to main
TIMER:
HIGH PAUSE GOTO
LED TIME MAIN
' Toggle light status ' Delay ' Jump to main
¤ ÒàÇÅҢͧâ»Ãá¡ÃÁ¹Õ¨é Тֹé ÍÂÙ¡ ºÑ ¤ ҢͧµÑÇá»Ã TIME ã¹â»Ãá¡ÃÁ¡íÒ˹´ãË à· Ò¡Ñº 5000 ¨Ö§·íÒ ãË à¡Ô´¡ÒÃ˹ ǧàÇÅÒ 5 ÇÔ¹Ò·Õ ¡Òõѧé àÇÅÒ¨Ðà¡Ô´¢Ö¹é àÁ×Íè ÁÕ¡Òá´ÊÇÔµª à¡Ô´¢Ö¹é ·Õ¢è Ò P8
â»Ãá¡ÃÁ·Õè A26-1 â»Ãá¡ÃÁµÑ§é àÇÅÒÍ ҧ§ Ò¤Ǻ¤ØÁ¡Ò÷íÒ§Ò¹´ Ç i-Stamp
à¡Ãç´à¾ÔÁè àµÔÁ l ã¹â»Ãá¡ÃÁ㪠°Ò¹àÇÅÒ 1 ÁÔÅÅÔǹ Ô Ò·Õ¨Ò¡¡Ò÷íÒ§Ò¹¢Í§¤íÒÊѧè PAUSE â´Â¤ ÒàÇÅÒ
¡íÒ˹´·Õµè ÇÑ á»Ã TIME ã¹â»Ãá¡ÃÁ ÊÒÁÒöà»ÅÕÂè ¹á»Å§ä´ ʧ٠ÊØ´ 65535 «Ö§è ෠ҡѺ 65.535 ÇÔ¹Ò·Õ
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
l
111
¡Ô¨¡ÃÃÁ·Õè 27 : ÅÙ¡µØÁ ¹ÒÌ ¡Ò 㹡Ԩ¡ÃÃÁ¹ÕéÁըشÁØ §ËÁÒÂãË àºÊÔ¡áʵÁ» 2SX áÊ´§¤ ҢͧàÇÅÒÍÍ¡ÁÒã¹ÃÙ»¢Í§ÅÙ¡µØ Á ¹ÒÌ ¡Òâ´Â㪠LED 6 µÑÇá·¹¡ÒÃàËÇÕÂè §¢Í§ÅÙ¡µØÁ ¹ÒÌ ¡Òã¹ 1 Ãͺ «Ö§è ෠ҡѺ¤ ÒàÇÅÒ 1 ÇÔ¹Ò·Õ
ÇÔ¸Õ¡Òà 27.1 㪠ǧ¨Ãã¹ÃÙ»·Õè A27-1 㹡Ò÷´Åͧ 27.2 à¢Õ¹â»Ãá¡ÃÁ·Õè A27-1 ºÑ¹·Ö¡ã¹ª×Íè ä¿Å ACT2701.BSX ´Òǹ âËÅ´ä»Âѧ i-Stamp 27.3 ·´Åͧ¡´ÊÇÔµª S1 ·Õµè Í ¡Ñº¢Ò¾Íà µ P8 áÅ ÇÊѧࡵ¡Ò÷íÒ§Ò¹ LED ·Õµè Òí á˹ § P0-P5 ¨ÐµÔ´ÊÇ Ò§ã¹ÅѡɳÐä¿ÇÔ§è ¨Ò¡« ÒÂ仢ÇÒ áÅТÇÒÁÒ« Ò ¤Å Ò ¡Ñº¡ÒÃàËÇÕÂè §¢Í§ÅÙ¡µØÁ ¹ÒÌ ¡Ò ¾Ã ÍÁ¡Ñ¹¹Ñ¹é ˹ Òµ Ò§ Debug Terminal ¨Ð»ÃÒ¡¯¢Ö¹é à¾×Íè áÊ´§¤ Ò ¢Í§Ãͺ¡ÒÃàËÇÕÂè §¢Í§ÅÙ¡µØÁ ¹ÒÌ ¡Ò áÅÐà¹×Íè §¨Ò¡ã¹â»Ãá¡ÃÁ¡íÒ˹´ãË ¡ÒÃàËÇÕÂè §ÅÙ¡µØÁ ¹ÒÌ ¡ÒÁÕ¤Ò 1 ÇÔ¹Ò·Õ ´Ñ§¹Ñ¹é ¤ ÒµÑÇàÅ¢·Õáè Ê´§ã¹Ë¹ Òµ Ò§ Debug Terminal ¡ç¤Í× ¤ ÒàÇÅÒã¹Ë¹ Ç¢ͧÇÔ¹Ò·Õ +5V 21
i-Stamp
22 RST 23 GND
SW1 RESET
P5 P4 P3
+5V RP1/4 4k7
S1
P2 R9 220
13
P8
P1 P0
P12
10 9 8 7 6 5
17
4$ # 4# # 4" # 4! # 4 # 4 #
LED6-P5 LED5-P4 LED4-P3 LED3-P2 LED2-P1 LED1-P0
C1 10µF 50V SP1 Speaker
ÃÙ»·Õè A27-1 ǧ¨Ãä¿ÇÔ§è ÅÙ¡µØÁ ¹ÒÌ ¡Ò¤Çº¤ØÁâ´Â i-Stamp
112
l
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
'{$STAMP BS2sx} '{$PBASIC 2.5} '********************************************************* ' Program : Pendulum clock display ' Filename : ACT2701.BSX ' Processor : BASIC Stamp 2SX/i-Stamp '********************************************************* TIME VAR Byte COUNTN VAR Nib DELAY CON 95 BT VAR Byte DIRL=%11111111 DIRH=%11111111 TIME=0 START: BUTTON 8,0,255,250,bt,0,START PENDULUM: OUT0=1 FOR COUNTN =0 TO 4 PAUSE DELAY OUTL=OUTL<<1 NEXT FOR COUNTN =4 TO 0 PAUSE DELAY OUTL=OUTL>>1 NEXT TIME=TIME+1 'FREQOUT 12,1000,1200 DEBUG CLS,"Time of pendulum",CR,DEC TIME GOTO PENDULUM
â»Ãá¡ÃÁ·Õè A27-1 â»Ãá¡ÃÁä¿ÇÔ§è ÅÙ¡µ Á¹ÒÌ ¡Ò¤Çº¤ØÁ¡Ò÷íÒ§Ò¹´ Ç i-Stamp
ÃÙ»·Õè A27-2 ¼Å¡Ò÷íÒ§Ò¹¢Í§â»Ãá¡ÃÁä¿ÇÔ§è ÅÙ¡µØÁ ¹ÒÌ ¡·Õáè Ê´§º¹Ë¹ Òµ Ò§ Debug Terminal
à¡Ãç´à¾ÔÁè àµÔÁ l ¶ Òµ ͧ¡ÒÃãË ÁàÕ ÊÕ§àµ×͹àÁ×Íè ¤ÃºÃͺ ãË ¹Òí à¤Ã×Íè §ËÁÒ ·Õº è Ã÷Ѵ FREQOUT
12,1000,1200
ÍÍ¡ áÅÐÅ´¤ Ò DELAY «Ö§è à´ÔÁ㪠95 à¹×Íè §¨Ò¡àÁ×Íè à¾ÔÁè ¤íÒÊѧè FREQOUT ࢠÒä»·íÒãË ãª àÇÅÒ ·íÒ§Ò¹à¾ÔÁè ¢Ö¹é ¨Ö§µ ͧŴ¤ Ò˹ ǧàÇÅÒŧà¾×Íè ÃÑ¡ÉÒ¤ ÒàÇÅÒ 1 ÇÔ¹Ò·ÕµÍ ÃͺáÊ´§¼ÅàÍÒäÇ
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
l
113
¡Ô¨¡ÃÃÁ·Õè 28 : à¤Ã×Íè §µÑ§é àÇÅÒ 80 ÇÔ¹Ò·Õ ã¹¡Ô¨¡ÃÃÁ¹Õ¨é Ð๠¹¶Ö§à·¤¹Ô¤´ Ò¹â»Ãá¡ÃÁ à¾×Íè Êà ҧ¤ ҢͧàÇÅÒ·ÕÂè Òǹҹ¢Ö¹é à¹×Íè §¨Ò¡ã¹ ¡Ô¨¡ÃÃÁ¹Õµé Í §¡Òä ÒàÇÅÒÊÙ§ÊØ´ 80 ÇÔ¹Ò·Õ ¾Ã ÍÁæ ¡Ñº¡ÒÃáÊ´§¼Å¤ ÒàÇÅÒ¼ Ò¹ LED 8 ´Ç§ ¹Ñ¹è ¤×Í LED 1 ´Ç§á·¹¤ ÒàÇÅÒ 10 ÇÔ¹Ò·Õ
ÇÔ¸Õ¡Òà 28.1 㪠ǧ¨Ãã¹ÃÙ»·Õè A28-1 㹡Ò÷´Åͧ 28.2 à¢Õ¹â»Ãá¡ÃÁ·Õè A28-1 ºÑ¹·Ö¡ã¹ª×Íè ä¿Å ACT2801.BSX ´Òǹ âËÅ´ä»Âѧ i-Stamp +5V 21
i-Stamp
22 RST 23 GND
SW1 RESET
RP2/4 4k7 R1 220
P4
13 14
R2 220
S1 (P8) START
P6 P5
+5V RP1/4 4k7
P7
S2 (P9) RESET
P3 P8 P9
P2 P1 P0
P12
12 11 10 9 8 7 6 5
17
R8 510 R7 510 R6 510 R5 510 R4 510 R3 510 R2 510 R1 510
LED8-P7 LED7-P6 LED6-P5 LED5-P4 LED4-P3 LED3-P2 LED2-P1 RY1 RELAY 12V.
LED1-P0 LED1 RY R13 1k5
C1 10µF 50V SP1 Speaker
P13
+V
18
ÃÙ»·Õè A28-1 ǧ¨Ãà¤Ã×Íè §µÑ§é àÇÅÒ 0-80 ÇԹҷդǺ¤ØÁâ´Â i-Stamp
NC NC COM NC
10
NO NC CONTACT 250V. 5A.
8
9 7
IC1 ULN2003
114
l
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
'{$STAMP BS2sx} '{$PBASIC 2.5} '******************************************************* ' Program : Timer 80 seconds ' Filename : ACT2801.BSX ' Processor : BASIC Stamp 2SX/i-Stamp ' Copyright (C) 2003 Innovative Experiment Co.,Ltd. '******************************************************* RELAY CON 13 ' Define RELAY as P13 SW_START VAR IN8 ' Define SW_START as P8 input SW_RESET VAR IN9 ' Define SW_RESET as P9 input MASK TIMER START TIMER_SET
VAR VAR VAR CON
Byte Byte Bit 80
' ' ' '
Define MASK as byte variable Define TIMER as byte variable Define START as flag Set timer 80s
DIRL=$FF
' Set P0-P7 as outputs
RESTART:
OUTL=$00 LOW RELAY START=0 TIMER=TIMER_SET MASK=$FF OUTL=MASK
' ' ' ' '
Clear all LEDs Set relay as output=0 Clear start flag Set timer = 80s Set LED mask all on
MAIN:
IF SW_RESET=0 THEN RESTART ' Check SW_RESET pressed? restart if yes IF START=1 THEN CHK_NEXT ' Check start flag is set? skip if yes IF SW_START=0 THEN TIMER_ON ' Check SW_START pressed? ' jump to set flag if yes GOTO MAIN ' Loop to main
CHK_NEXT:
PAUSE 1000 ' Timer 1s. TIMER=TIMER-1 ' Decrease timer MASK=~DCD(TIMER/(TIMER_SET/8)+1)&MASK ' Calculate time remain to show bargraph LEDs OUTL=MASK ' Copy mask to LED outputs IF NOT TIMER=0 THEN MAIN ' Check timer=0? back to main if not OUTL=$00 ' Clear all LEDs HIGH RELAY ' On relay
LOOP1:
IF (SW_START)AND(SW_RESET) THEN LOOP1 ' Wait any key to exit PAUSE 10 ' Debounce GOTO RESTART ' Restart
TIMER_ON:
START=1 FREQOUT12,1000,1000 GOTO MAIN
' Set start flag ' Start voice ' Jump to main
â»Ãá¡ÃÁ·Õè A28-1 â»Ãá¡ÃÁà¤Ã×Íè §µÑ§é àÇÅÒ 80 ÇԹҷդǺ¤ØÁ¡Ò÷íÒ§Ò¹´ Ç i-Stamp
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
l
115
28.3 ¡´ÊÇÔµª START «Ö§è ¡ç¤Í× ÊÇÔµª S1 «Ö§è µ ͡Ѻ¢Ò¾Íà µ P8 áÅ ÇÊѧࡵ¡Ò÷íÒ§Ò¹¢Í§Ç§¨Ã àÁ×Íè àÃÔÁè µ ¹¡Ò÷íÒ§Ò¹ ÃÕàÅ ¨ÐÂѧäÁ ·Òí §Ò¹¨¹¡Ç Ò¨ÐÁÕ¡Òá´ÊÇÔµª ¤Ãѧé áá â»Ãá¡ÃÁ¡ç¨ÐàÃÔÁè ¹ÑºàÇÅÒ¶ÍÂËÅѧ¾Ã ÍÁ¡ÑºáÊ´§á¶º LED à» ¹àÇÅÒ·Õàè ËÅ×ÍÍÂÙ áÅÐŴŧµÒÁÍѵÃÒÊ Ç¹ (ËÒô Ç 8) ¨¹¡ÃÐ·Ñ§è ¤Ãº 80 ÇÔ¹Ò·Õ LED ¨Ð´ÑºËÁ´ ÃÕàÅ ¨§Ö ·íÒ§Ò¹ áÅШзíÒ§Ò¹¤ Ò§äÇ ¨¹¡Ç Ò¨ÐÁÕ¡Òà ¡´ÊÇÔµª ã´æ ¶ Ò¡´ÊÇÔµª RESET (ÊÇÔµª S2 ·Õµè Í ¡Ñº¢Ò¾Íà µ P9) ËÅѧ¨Ò¡¤ÃºàÇÅÒ 80 ÇÔ¹Ò·Õ ÃÕàÅ ¡¨ç Ð ËÂØ´·íÒ§Ò¹áÅ Ç¡ÅѺä»ÃÍÃѺ¡Òá´ÊÇÔµª àÃÔèÁµ ¹ ¶ Ò¡´ÊÇÔµª START ÍÕ¡¤Ãѧé ËÅѧ¨Ò¡¤ÃºàÇÅÒ 80 ÇÔ¹Ò·ÕáÅ Ç ÃÕàÅ ¨ÐËÂØ´·íÒ§Ò¹ áÅ ÇàÃÔÁè µ ¹¹ÑºàÇÅÒ 80 ÇÔ¹Ò·ÕãËÁ Í¡Õ ¤Ãѧé ã¹ÃÐËÇ Ò§·Õâè »Ãá¡ÃÁ·íÒ§Ò¹áÅÐàÇÅÒà´Ô¹ä»¹Ñ¹é ¶ Òµ ͧ¡ÒáàÅÔ¡·íÒä´ â´Â¡´ÊÇÔµª RESET
à¡Ãç´à¾ÔÁè àµÔÁ ÊÒÁÒöᡠ䢤 ÒàÇÅÒä´ ·¤Õè Ò ¤§·Õè TIMER_SET CON 80 à» ¹¤ ÒÍ×¹è ä´ ä´ µ§Ñé áµ 1-255 áµ ¶Ò µ ͧ¡ÒÃà¾ÔÁè ÁÒ¡¡Ç Ò¹Õé ¨Ðµ ͧᡠ䢵ÑÇá»Ã TIMER ãË Á¢Õ ¹Ò´à» ¹ WORD á·¹ ¡ç¨Ðä´ ¤Ò µÑ§é áµ 1-65535 l
ã¹â»Ãá¡ÃÁ¨ÐÁÕ¡ÒÃ㪠µÇÑ á»ÃºÔµ START à¾×Íè » ͧ¡Ñ¹¡Ò÷íÒ§Ò¹ÊÇÔµª START «éÒí « ͹ â´ÂºÔµ¹Õ¨é ж١à¤ÅÕÂà àÁ×Íè àÇÅÒËÁ´ËÃ×ÍÁÕ¡ÒáàÅÔ¡¡Ò÷íÒ§Ò¹ l
l 㹡ÒÃáÊ´§á¶ºàÇÅÒ ¨Ð㪠µÇÑ á»Ã MASK à¾×Í è ·íÒ¡ÒõѴàÍÒ੾ÒÐᶺ LED ·Õàè ËÅ×ÍÁÒ
áÊ´§µ Íä» â´ÂÍѵÃÒÊ Ç¹·Õáè Ê´§¨ÐËÒÃàÇÅÒ´ Ç 8 à¾×Íè ãË áÊ´§º¹ LED 8 ´Ç§ä´ ¾Í´Õ
à·¤¹Ô¤à¾ÔÁè àµÔÁ l
¶ Òµ ͧ¡ÒÃà¾ÔÁè ¡ÒáÒÃµÑ§é ¤ ÒàÇÅÒãË à» ¹ËÅÑ¡¹Ò·Õ ãË á¡ ä¢ºÃ÷Ѵ CHK_NEXT: PAUSE 1000
à» ¹ CHK_NEXT: PAUSE 60000
‘ Delay 1 minute
¨Ðà»ÅÕÂè ¹°Ò¹àÇÅÒ㹡Ò÷íÒ§Ò¹¨Ò¡ 1 ÇÔ¹Ò·Õ à» ¹ 1 ¹Ò·Õ á·¹ ËÃ×Ͷ Òµ ͧ¡ÒÃÅ´ °Ò¹àÇÅÒ à» ¹ 0.1 ÇÔ¹Ò·Õ ãË ¡Òí ˹´à» ¹ PAUSE 100 ¡çä´ àª ¹¡Ñ¹
116
l
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
¡Ô¨¡ÃÃÁ·Õè 29 : ÊÇÔµª ä¿¡ ͹¹Í¹ (Bed timer) ´ ǤÇÒÁÃÙ¨ Ò¡¡ÒÃÊà ҧ°Ò¹àÇÅÒ㹡Ԩ¡ÃÃÁ·Õè 28 ¹íÒÁÒ¢ÂÒ¢ͺࢵàÇÅÒà¾ÔÁè ¢Ö¹é ã¹â¤Ã§ §Ò¹¹Õ¨é ÐÊà ҧ¤ ÒàÇÅÒÂÒǹҹ¶Ö§ 15 ¹Ò·Õ â´Â¨ÐàÃÔÁè ¡ÒèѺàÇÅÒàÁ×Íè ÁÕ¡Òá´ÊÇÔµª áµ àÁ×Íè ¤ÃºàÇÅÒ ¨Ð·íÒ¡Òû ´ÍØ»¡Ã³ àÍÒµ ¾µØ á·¹·Õ¨è Ðà» ´ «Ö§è µÃ§¢ ÒÁ¡Ñº¡Ô¨¡ÃÃÁ·Õè 28 à˵ؼŷÕèàÃÕ¡ÊÇÔµª ä¿¡ ͹¹Í¹¡ç¤×Í ã¹¢³Ð·Õè¡íÒÅѧ¨Ðࢠҹ͹ÍÒ¨ÁÕ¤ÇÒÁµ ͧ¡ÒÃ㪠áʧ ÊÇ Ò§ÍÕ¡¤ÃÙË ¹Ö§è ÍÒ¨à¾×Íè ¨Ñ´·Õ¹è ͹ËÃ×Íà¡çº¢Í§ ¨Ò¡¹Ñ¹é ¡çËÅѺ¹Í¹ä» àÁ×Íè ¤Ãº¡íÒ˹´àÇÅÒ·Õ¡è Òí ˹´äÇ ä¿áʧÊÇ Ò§ã¹Ë ͧËÃ×ÍÍØ»¡Ã³ à¤Ã×Íè §ãª ä¿¿ Ò·Õµè Í ÍÂÙ¡ ºÑ Ãкº¹Õ¡é ¨ç ж١µÑ´ä¿àÅÕÂé § ËÂØ´¡Ò÷íÒ§Ò¹ ŧâ´ÂÍѵâ¹ÁÑµÔ ·íÒãË äÁ µÍ §ÅØ¡¨Ò¡·Õ¹è ͹ÁÒà¾×Íè » ´ «Ö§è ÍÒ¨·íÒãË µÍ §àÃÔÁè µ ¹¡Ãкǹ¡Òù͹ËÅѺ ãËÁ «Ö§è ÊíÒËÃѺºÒ§¤¹ÍÒ¨...¹Í¹äÁ ËÅѺÍÕ¡àÅÂ㹤׹¹Ñ¹é
ÇÔ¸Õ¡Òà 29.1 㪠ǧ¨Ãã¹ÃÙ»·Õè A29-1 㹡Ò÷´Åͧ 29.2 à¢Õ¹â»Ãá¡ÃÁ·Õè A29-1 ºÑ¹·Ö¡ã¹ª×Íè ä¿Å ACT2901.BSX ´Òǹ âËÅ´ä»Âѧ i-Stamp +5V
+V 21
i-Stamp
22 RST 23 GND
SW1 RESET
LED1 RY R13 1k5
+5V RP1/4 4k7
RP2/4 4k7 R1 220
S1 (P8) START
P8 P9
P13
18
S2 (P9) RESET
ÃÙ»·Õè A29-1 ǧ¨ÃÊÇÔµª ä¿¡ ͹¹Í¹«Ö§è ¾Ñ²¹ÒÁҨҡǧ¨ÃµÑ§é àÇÅÒ
NO NC CONTACT 250V. 5A.
8
9 13
NC NC COM NC
10
14 R2 220
RY1 RELAY 12V.
7 IC1 ULN2003
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
l
117
'{$STAMP BS2sx} '{$PBASIC 2.5} '***************************************************** ' Program : Bed timer ' Filename : ACT2901.BSX ' Processor : BASIC Stamp 2SX/i-Stamp ' Copyright (C) 2003 Innovative Experiment Co.,Ltd. '***************************************************** RELAY CON 13 ' Define RELAY as P13 SW_START VAR IN8 ' Define SW_START as P8 input SW_RESET VAR IN9 ' Define SW_RESET as P9 input TIMER TIMER_SET I
VAR CON VAR
RESTART: LOOP1:
LOW RELAY IF SW_START=1 THEN LOOP1 HIGH RELAY TIMER=TIMER_SET FOR I=1 TO 10 IF SW_RESET=0 THEN RESTART PAUSE 100 NEXT TIMER=TIMER-1 IF TIMER=0 THEN RESTART GOTO MAIN
MAIN:
Word 15*60 Byte
' Define TIMER as word variable ' Set timer 15 minutes ' Define I as byte variable ' ' ' ' ' ' ' ' ' ' '
Set relay as output=0 Wait SW_START pressed On relay Load timer value Set loop 10 times Restart if SW_RESET pressed Delay 100ms Do loop Decrease timer Back to restart when time is up Jump to main
ã¹â»Ãá¡ÃÁ㪠°Ò¹àÇÅÒ 1 ÇÔ¹Ò·Õ áº §à» ¹ 10x100 ÁÔÅÅÔÇ¹Ô Ò·Õ à¾×Íè ãË µÃǨÊͺÊÇÔµª RESET (ÊÇÔµª ·Õ¢è Ò P9) ä´ àÃçÇ¢Ö¹é áÅж Òµ ͧ¡ÒÃá¡ ä¢àÇÅÒ·Õµè §Ñé äÇ ãË á¡ ·Õè TIMER_SET
â»Ãá¡ÃÁ·Õè A29-1 â»Ãá¡ÃÁÊÇÔµª ä¿¡ ͹¹Í¹¤Çº¤ØÁ¡Ò÷íÒ§Ò¹´ Ç i-Stamp 29.3 ¡´ÊÇÔµª START «Ö§è ¡ç¤Í× ÊÇÔµª S1 «Ö§è µ ͡Ѻ¢Ò¾Íà µ P8 áÅ ÇÊѧࡵ¡Ò÷íÒ§Ò¹¢Í§Ç§¨Ã àÁ×Íè àÃÔÁè µ ¹ ÃÕàÅÂ Â§Ñ äÁ ·Òí §Ò¹ (ËÅʹ俴Ѻ¶ ÒÁÕ¡Òõ ÍÍÂÙ) ¨¹¡Ç Ò¨ÐÁÕ¡Òá´ÊÇÔµª START ÃÕàÅ ¨§Ö ·íÒ§Ò¹ (俵ԴÊÇ Ò§) ¨¹¡ÃÐ·Ñ§è ¤Ãº 15 ¹Ò·Õ ÃÕàÅ ¨§Ö ËÂØ´·íÒ§Ò¹ (俴Ѻŧ) áÅСÅÑºä» àÃÔèÁµ ¹ÃÍÊÇÔµª ãËÁ â´Â¢³Ð·Õè·íÒ§Ò¹ÍÂÙ ¹Ñé¹ ÊÒÁÒö» ´ä¿¡ Í¹ä´ ·Ñ¹·Õ â´Â¡´ÊÇÔµª RESET (¤×ÍÊÇÔµª S2 ·Õµè Í ÍÂÙ¡ ºÑ ¢Ò¾Íà µ P9) â»Ãá¡ÃÁ¡ç¨Ð» ´ÃÕàÅ áÅÐàÃÔÁè µ ¹ÃÍ¡Òá´ÊÇÔµª ãËÁ
à·¤¹Ô¤à¾ÔÁè àµÔÁ
¶ Òµ ͧ¡ÒÃà¾ÔÁè ¡ÒÃ˹ ǧàÇÅÒ ÊÒÁÒöà¾ÔÁè ¤ Ңͧ°Ò¹àÇÅÒã¹ÅÙ» FOR ä´ àª ¹ µ ͧ¡Òà °Ò¹àÇÅÒà» ¹ 10 ÇÔ¹Ò·Õ ¨Ðä´ Å»Ù FOR I=1 TO100 à» ¹µ ¹ l
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
l
119
º··Õè 9
àºÊÔ¡áʵÁ» 2SX ¡ÑºÍØ»¡Ã³ µÃǨ¨Ñºáʧ
¤ÇÒÁÊÒÁÒö·Õâè ´´à´ ¹»ÃСÒÃË¹Ö§è ¢Í§àºÊÔ¡áʵÁ» 2SX ¤×Í ·íÒ§Ò¹¡ÑºÇ§¨Ã RC (ǧ¨Ã µÑǵ Ò¹·Ò¹-µÑÇà¡çº»ÃШØ) áÅ ÇãË ¼Åã¹àªÔ§´Ô¨µÔ ÍÅä´ ¹Ñ¹è ¤×Í ÊÒÁÒöÇÑ´¤ ҢͧµÑǵ Ò¹·Ò¹ä¿¿ ÒáÅÐ ¤ Ò¤ÇÒÁ¨Øä¿¿ Òä´ ¤íÒÊÑ§è ·Õ·è Òí ˹ Ò·Õ¹è ¤Õé Í× RCTIME ¹Ñ¹è ¤×Ͷ ÒÊÒÁÒö¡íÒ˹´¤ ÒµÑÇà¡çº»ÃШطáÕè ¹ ¹Í¹ áÅж ÒµÑǵ Ò¹·Ò¹ÁÕ¡ÒÃà»ÅÕÂè ¹á»Å§ ´ ǤíÒÊѧè RCTIME ¹Õ¡é ¨ç ÐÊÒÁÒöÇÑ´¤ Òä´ ÁÕÍ»Ø ¡Ã³ ÍàÔ Åç¡·ÃÍ¹Ô¡Ê áººË¹Ö§è ·Õàè ÃÕÂ¡Ç Ò µÑǵ Ò¹·Ò¹á»Ã¤ ÒµÒÁáʧ ËÃ×Í LDR (Light Dependent Resistor) â´Â¤ Ò¤ÇÒÁµ Ò¹·Ò¹ä¿¿ ҢͧÁѹ¨Ðà»ÅÕÂè ¹á»Å§µÒÁࢠÁ¢Í§áʧ·Õµè ¡¡Ãзº ¶ Òáʧµ¡¡ÃзºÁÒ¡ ¤ Ò¤ÇÒÁµ Ò¹·Ò¹¨ÐŴŧ áµ ¶Ò äÁ ÁáÕ Ê§ËÃ×Íáʧ¹ Í ¤ Ò¤ÇÒÁµ Ò¹·Ò¹ä¿¿ Ò ¨Ðà¾ÔÁè ÊÙ§¢Ö¹é ¨Ö§ÊÒÁÒö¹íÒÍØ»¡Ã³ ¹ÁÕé Ò·íÒ§Ò¹´ Ò¹µÃǨ¨ÑºáÊ§ä´ áÅÐàÁ×Íè ¹íÒ LDR ÁÒµ ͡ѺµÑÇà¡çº»ÃÐ¨Ø ¡ç¨Ðà¡Ô´à» ¹Ç§¨Ã RC ¨Ö§·íÒãË àºÊÔ¡áʵÁ» 2SX ÊÒÁÒöࢠÒä»·íÒ§Ò¹´ ÇÂä´ ¨Ö§·íÒãË ãª àºÊÔ¡áʵÁ» 2SX à¾×Íè ÇÑ´¤ Ò¤ÇÒÁࢠÁ¢Í§áÊ§ã¹·Ò§Í ÍÁ ¼ Ò¹¡Ò÷íÒ§Ò¹¢Í§¤íÒÊѧè RCTIME áÅеÑÇ LDR Ê §¼ÅãË ÊÒÁÒö¹íÒ¤ÇÒÁÃÙ¹ äÕé »Êà ҧÃкº¤Çº¤ØÁ Íѵâ¹ÁѵâÔ ´Â㪠áʧ Êà ҧÊÇÔµª áʧ·Ñ§é Ẻ·íÒ§Ò¹àÁ×Íè ÁÕáʧµ¡¡ÃзºáÅÐäÁ ÁáÕ Ê§µ¡¡Ãзº
á¹Ç¤Ô´¢Í§¤íÒÊѧè RCTIME á¹Ç¤Ô´¢Í§¤íÒÊѧè RCTIME ÁÒ¨Ò¡¡ÒûÃШØáÅФÒ»ÃШآͧµÑÇà¡çº»ÃÐ¨Ø â´Â»¡µÔ¨Ð㪠ǧ¨Ã RC µ Íࢠҷբè Ò¾Íà µ¢Í§àºÊÔ¡áʵÁ» 2SX ´Ñ§ã¹ÃÙ»·Õè 9-1 àÃÔÁè µ ¹â´Â» ͹áç´Ñ¹ +5V ¨Ò¡¢Ò ¾Íà µ¢Í§àºÊÔ¡áʵÁ» 2SX ä»ÂѧµÑÇà¡çº»ÃШØ㹪 ǧàÇÅÒË¹Ö§è ¨¹¡ÃÐ·Ñ§è µÑÇà¡çº»ÃШØÊÒÁÒöà¡çº áç´Ñ¹äÇ ä´ ¨¹àµçÁ áç´Ñ¹µ¡¤Ã ÍÁµÑÇà¡çº»ÃШØ෠ҡѺ +5V ¨Ò¡¹Ñ¹é ¡íÒ˹´ãË ¢Ò¾Íà µ·Õµè Í ÍÂÙ ¡ÑºÇ§¨Ã RC ¹Ñ¹é à» ¹ÍÔ¹¾Øµ ·íÒãË ÁÊÕ ¶Ò¹ÐÍÔÁ¾Õá´¹« ʧ٠µÑÇà¡çº»ÃШب§Ö ¤Ò»ÃШØÍÍ¡ÁÒ¼ Ò¹µÑÇ µ Ò¹·Ò¹ àÁ×Íè µÑÇà¡çº»ÃШؤÒ»ÃШØÍÍ¡ÁÒ ·íÒãË áç´Ñ¹µ¡¤Ã ÍÁµÑÇà¡çº»ÃШØà¡Ô´¡ÒÃà»ÅÕÂè ¹á»Å§ àÁ×Íè ¡ÃзíÒ¤íÒÊѧè RCTIME àºÊÔ¡áʵÁ» 2SX ¨ÐµÕ¤ÇÒÁʶҹзҧÅͨԡ¢Í§¢Ò¾Íà µ·Õè 㪠¡ÃзíÒ¤íÒÊÑ§è ¹Õàé » ¹ 1 áÅ ÇàÃÔÁè µ ¹¡ÒùѺ¤ ÒàÇÅҷѹ·Õ ¡ÒäÒ»ÃШآͧµÑÇà¡çº»ÃШبе ͧ㪠àÇÅÒª Ç§Ë¹Ö§è «Ö§è ÊÒÁÒö¡íÒ˹´ä´ â´Â¤ ҢͧµÑÇà¡çº»ÃШØàͧáÅеÑǵ Ò¹·Ò¹·Õµè Í Ã ÇÁÍÂÙ àÁ×Íè à¡Ô´ ¡ÒäÒ»ÃÐ¨Ø áç´Ñ¹µ¡¤Ã ÍÁµÑÇà¡çº»ÃШبФ ÍÂæ Ŵŧ ¨¹¡ÃÐ·Ñ§è ¶Ö§ 1.4V àºÊÔ¡áʵÁ» 2SX
120
l
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
àÁ×èÍ¡ÃзíÒ¤íÒÊÑè§ RCTIME áŠǢҾÍà µ¢Í§ àºÊÔ¡áʵÁ» 2 ¨Ð¡ÅÒÂà» ¹ÍÔ¹¾Øµ ·íÒãË ¨Ø´¹Õéà¡Ô´ÊÀÒ¾ÍÔÁ¾Õá´¹« ÊÙ§ àÊÁ×͹໠´Ç§¨Ã
+5V
¡ ͹㪠¤íÒÊÑè§ RCTIME µ ͧ·íÒ¡ÒûÃШصÑÇà¡çº»ÃÐ¨Ø C ´ Ç¡ÒÃÊ §¢ ÍÁÙÅ "1" ÁÒÂѧ¢Ò¾Íà µ ¢Ò¾Íà µ¢Í§ àºÊÔ¡áʵÁ»
àºÊÔ¡áʵÁ» 4CAL
RCAL REQ = RCAL+RX
+
C
RX
4X
ÃÙ»·Õè 9-1 ¡Ãкǹ¡Ò÷íÒ§Ò¹¢Í§¤íÒÊѧè RCTIME ·ÕÊè ÁÑ ¾Ñ¹¸ ¡ºÑ ǧ¨Ã RC ¨ÐµÕ¤ÇÒÁÇ Ò à¡Ô´Åͨԡ 0 ¢Öé¹áÅ Ç ¡ç¨ÐËÂØ´¹Ñº¤ ÒàÇÅÒ ·íÒ¡ÒÃÍ Ò¹¢ ÍÁÙŢͧ¡ÒäÒ»ÃШعÑé¹ ÍÍ¡ÁÒ â´Â¤ Ò·Õäè ´ ¨ÐÁÕ˹ ÇÂà» ¹ 0.8 äÁâ¤ÃÇÔ¹Ò·Õ ´Ñ§¹Ñ¹é ËÒ¡µ ͧ¡Ò÷ÃÒº¤ ÒàÇÅÒ·Õáè · ¨ÃÔ§ã¹Ë¹ Ç äÁâ¤ÃÇÔ¹Ò·Õ ¨Ö§µ ͧ¹íÒ¤ Ò·Õäè ´ 令ٳ¡Ñº 0.8 äÁâ¤ÃÇÔ¹Ò·Õ ¡ç¨Ðä´ ¤Ò àÇÅÒ·Õãè ª 㹡ÒäÒ»ÃШØÍÍ¡ ´Ñ§¹Ñ¹é ¤ ÒàÇÅÒÊÙ§ÊØ´·Õàè ºÊÔ¡áʵÁ» 2SX ÊÒÁÒÃ¶Í Ò¹ä´ ¨Ò¡¡ÒÃ㪠¤Òí Êѧè RCTIME ¤×Í 65,536 : 0.8 äÁâ¤ÃÇÔ¹Ò·Õ à· Ò¡Ñº 52 ÁÔÅÅÔÇ¹Ô Ò·Õ
»ÃÐ⪹ ¢Í§¤íÒÊѧè RCTIME ¨Ò¡á¹Ç¤Ô´´Ñ§¡Å ÒÇ ·íÒãË ÊÒÁÒö»ÃÐÂØ¡µ ¤Òí Êѧè RCTIME ÁÒ㪠㹡ÒÃËÒ¤ ÒµÑǵ Ò¹·Ò¹·Õè äÁ ·ÃÒº¤ Ò ¹Ñ¹è ¤×Ͷ ÒËÒ¡¡íÒ˹´¤ ÒàÇÅÒáÅФ ҢͧµÑÇà¡çº»ÃШصÒÁ·Õµè Í §¡ÒÃäÇ ¤Ò ˹֧è áÅÐ㪠¼Å ¡ÒùѺ·Õèä´ ¨Ò¡¤íÒÊÑè§ RCTIME ÁÒ¤íҹdz¡ç¨ÐÊÒÁÒöËÒ¤ ÒµÑǵ Ò¹·Ò¹ÍÍ¡ÁÒä´ áÅж ÒËÒ¡ ¡íÒ˹´¤ Ò RCAL (´Ùã¹ÃÙ»·Õè 9-1) äÇ áÅ Ç ¡ç¨ÐÊÒÁÒöËÒ¤ Ңͧ Rx «Ö§è äÁ ·ÃÒº¤ Òä´ â´Â·ÑÇè ä» Rx ÁÑ¡¨Ðà» ¹µÑǵ Ò¹·Ò¹¾ÔàÈÉ·ÕÁè Ò¨Ò¡¡Ò÷íÒ§Ò¹¢Í§µÑǵÃǨ¨Ñº ÍÒ·Ô LDR ËÃ×͵Ñǵ Ò¹·Ò¹á»Ã¤ ÒµÒÁáʧ â´ÂàÁ×Íè äÁ ÁáÕ Ê§ÁÒµ¡¡Ãзº ¤ Ò¤ÇÒÁµ Ò¹·Ò¹¢Í§ LDR ¨ÐÊÙ§ ÁÒ¡ áÅÐŴŧàÁ×èÍÁÕáʧÁÒµ¡¡Ãзº ÂÔè§áʧÁÕ¤ÇÒÁࢠÁÁÒ¡ ¤ Ò¤ÇÒÁµ Ò¹·Ò¹¡ç¨ÐÂÔè§Å´Å§ÁÒ¡ áµ ¡Áç ¾Õ ¡Ô ´Ñ ¤ Ò¤ÇÒÁµ Ò¹·Ò¹µèÒí ÊØ´áÅÐÊÙ§ÊØ´¨íÒ¡Ñ´ÍÂÙ ËÃ×ÍÍҨ໠¹à·Íà ÁÊÔ àµÍà ËÃ×͵Ñǵ Ò¹·Ò¹á»Ã ¤ ÒµÒÁÍسËÀÙÁÔ ·ÕÁè ¡Õ ÒÃ㪠§Ò¹Í ҧ¡Ç Ò§¢ÇÒ§¨Ðà» ¹áºº NTC (Negative Temperature Co-efficient) ËÁÒ¶֧ à» ¹µÑǵ Ò¹·Ò¹á»Ã¤ ÒµÒÁÍسËÀÙÁÔẺ¼¡¼Ñ¹ ¶ ÒÍسËÀÙÁÔÊÙ§ ¤ Ò¤ÇÒÁµ Ò¹·Ò¹¨ÐµèíÒ áÅж ÒÍسËÀÙÁµÔ Òèí ¤ Ò¤ÇÒÁµ Ò¹·Ò¹¨ÐÊÙ§
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
l
121
¡Ô¨¡ÃÃÁ·Õè 30 : à¤Ã×Íè §ÇÑ´áʧÍ ҧ§ Ò 㹡Ԩ¡ÃÃÁ¹Õé¨Ð·´ÅͧÇÑ´¤ ÒáʧÍ ҧ§ ÒÂæ â´ÂáÊ´§¼Å¼ ҹ˹ Òµ Ò§ Debug Terminal ¢Í§â»Ãá¡ÃÁàºÊÔ¡áʵÁ» àÍ´ÔàµÍà ¤ Ò·Õè¹íÒä»áÊ´§¼Å¹Ñ鹨Ðà» ¹¤ Ò·ÕèÍ Ò¹ä´ ¨Ò¡¤íÒÊÑè§ RCTIME µÃ§æ ÂѧäÁ à» ¹¤ Ò¤ÇÒÁࢠÁáʧ¨ÃÔ§æ áµ ¾ Í·Õ¨è ÐáÊ´§ãË àËç¹á¹Çâ¹ ÁÇ Ò ã¹¢³Ð·´Åͧ¤ÇÒÁࢠÁ ¢Í§áʧÁÒ¡ËÃ×͹ ÍÂ
ÇÔ¸Õ¡Òà 30.1 㪠ǧ¨Ãã¹ÃÙ»·Õè A30-1 㹡Ò÷´Åͧ 30.2 à¢Õ¹â»Ãá¡ÃÁ·Õè A30-1 ºÑ¹·Ö¡ã¹ª×Íè ä¿Å ACT3001.BSX ´Òǹ âËÅ´ä»Âѧ i-Stamp 30.3 àÁ×Íè Ãѹâ»Ãá¡ÃÁ˹ Òµ Ò§ Debug Terminal ¨Ð»ÃÒ¡¯¢Ö¹é ãË ·´ÅͧàÍÒÁ×ͺѧáʧäÁ ãË µ¡¡ÃÐ ·ºÅ§º¹ LDR Êѧࡵ¼Å¡ÒÃà»ÅÕÂè ¹á»Å§·Õàè ¡Ô´¢Ö¹é º¹Ë¹ Òµ Ò§ Debug Terminal àÁ×Íè äÁ ÁáÕ Ê§ÁÒµ¡¡Ãзº LDR ¤ Ò·ÕÍè Ò ¹ä´ ¨ÐÊÙ§ÁÒ¡ áÅÐŴŧàÁ×Íè ÁÕáʧµ¡¡Ãзº LDR áÅÐÂÔ§è ŴŧÁÒ¡ËÒ¡áʧÁÕ¤ÇÒÁࢠÁÊÙ§ (ÊÇ Ò§ÁÒ¡)
à¡Ãç´à¾ÔÁè àµÔÁ l ¶ Òµ ͧ¡ÒûÃѺÍѵÃÒ¡ÒÃÍ Ò¹¤ ÒãË ªÒ ËÃ×ÍàÃçÇ¡Ç Ò¹Õé ÊÒÁÒöᡠ䢷դ è Ò ¤§·Õè DELAY ä´ µÒÁ
µ ͧ¡ÒÃ
+5V 21 SW1 RESET
+5V
i-Stamp
22 RST 23 GND
P14
19
R1 220
0.1µF
LDR
ÃÙ»·Õè A30-1 ǧ¨ÃÇÑ´áʧÍ ҧ§ ÒÂ
122
l
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
'{$STAMP BS2sx} '{$PBASIC 2.5} '********************************************************* ' Program : Light Monitoring ' Filename : ACT3001.BSX ' Processor : BASIC Stamp 2SX/i-Stamp ' Copyright (C) 2003 Innovative Experiment Co.,Ltd. '********************************************************* LDR CON 14 ' Define P14 as LDR DELAY CON 990 ' Define DELAY as 990 RC_VALUE VAR Word ' Define RC_VALUE as word variable MAIN:
HIGH PAUSE RCTIME DEBUG PAUSE GOTO
LDR 10 LDR,1,RC_VALUE DEC ? RC_VALUE DELAY MAIN
' ' ' ' ' ' '
Discharge C on P14 Delay for discharge Measure RC time constant Debug value on debug terminal Delay 990ms+10ms discharge time = 1s. (approx.) Jump to main
â»Ãá¡ÃÁ·Õè A30-1 â»Ãá¡ÃÁǧ¨ÃÇÑ´áʧÍ ҧ§ ÒÂâ´Â㪠i-Stamp áÊ´§¼Å¼ ҹ˹ Òµ Ò§ Debug Terminal
ÃÙ»·Õè A30-2 ¼Å¡ÒÃÇÑ´¤ Ò RC ã¹Ç§¨Ã RC ·Õãè ª LDR â´Â¤ Ò·ÕÇè ´Ñ ä´ à» ¹¼ÅÁÒ¨Ò¡¡ÒÃà»ÅÕÂè ¹á»Å§¤ Ò ¤ÇÒÁµ Ò¹·Ò¹¢Í§ LDR à¹×Íè §¨Ò¡¤ÇÒÁࢠÁ¢Í§áʧ·Õµè ¡¡Ãзº LDR ÁÕ¤ÇÒÁᵡµ Ò§¡Ñ¹
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
â¤Ã§§Ò¹·Õè 25 ÇÑ´¤ÇÒÁࢠÁ¢Í§áʧáÊ´§º¹¤ÍÁ¾Ô ¡ÒÃ㪠¤Òí Êѧè RCTIME ÁÕû٠Ẻ¡ÒÃ㪠§Ò¹´Ñ§¹Õé ÇàµÍà (PC-based monitoring) RCTIME Pin, light State, ResultVariable
l
123
â´Â·Õè Pin à» ¹µíÒá˹ §¢Ò¾Íà µ¢Í§àºÊÔ¡áʵÁ» 2SX ·Õãè ª §Ò¹ àÁ×Íè ¡ÃзíÒ¤íÒÊÑ§è ¹Õé ¢Ò¾Íà µ¨Ð¶Ù¡¡íÒ˹´ãË ÍÂÙã ¹âËÁ´ÍÔ¹¾Øµ áÅÐËÅѧ¨Ò¡¨º¤íÒÊÑ§è ¡ç处 ¤§ÍÂÙã ¹âËÁ´ÍÔ¹¾Øµ State 㪠¡Òí ˹´ÊÀÒÇТͧ¢Ò¾Íà µàÁ×Íè ·íÒ¤íÒÊѧè RCTIME »¡µÔÁ¤Õ Ò à· Ò¡Ñº 1 ResultVariable 㪠à¡çº¤ Ò¡ÒùѺ¢Í§àÇÅÒã¹Ë¹ Ç 0.8 äÁâ¤ÃÇÔ¹Ò·Õ µÑÇÍ ҧ RCTIME 1, 1, Tcount ËÁÒ¤ÇÒÁÇ Ò ¡íÒ˹´ãË ¢Ò¾Íà µ P1 à» ¹¢ÒÍÔ¹¾ØµÊíÒËÃѺµÃǨ¨Ñºáç´Ñ¹¢Í§µÑÇà¡çº»ÃÐ¨Ø â´Â¡íÒ˹´ãË ÁÊÕ ÀÒÇÐ àÃÔÁè µ ¹à» ¹ 1 Ê Ç¹¤ Ңͧ¡ÒùѺ¨Ðà¡çºäÇ ã¹µÑÇá»Ã Tcount ¡ ͹˹ Ò·Õ¨è Ð㪠§Ò¹¤íÒÊѧè RCTIME ¨Ðµ ͧ»ÃШØáç´Ñ¹ãË á¡ µÇÑ à¡çº»ÃШطµÕè Í ÍÂÙ¡ ºÑ ¢Ò¾Íà µ·Õµè Í §¡ÒÃ㪠§Ò¹¡ ͹ àÊÁÍ ¨Ò¡¹Ñ¹é ¨Ö§àÃÕ¡㪠¤Òí Êѧè RCTIME â´Â¡ÒûÃШطÒí ä´ §Ò Âæ ¤×Í Ê §¢ ÍÁÙÅ 1 ÍÍ¡ä»Âѧ¢Ò¾Íà µ·Õµè Í ÍÂÙ¡ ºÑ µÑÇà¡çº»ÃÐ¨Ø à» ¹àÇÅÒÍ ҧ¹ Í 10 ÁÔÅÅÔÇ¹Ô Ò·Õ㹡óշãÕè ª µÇÑ à¡çº»ÃÐ¨Ø 0.1µF ´Ñ§â»Ãá¡ÃÁµÑÇÍ ҧµ Í仹Õé DIR4 = 1
‘ P4 as output
OUT4 = 1
‘ Charge the capacitor which connect at P4 of BS2SX
PAUSE 100 RCTIME 4,1,T_COUNT
124
l
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
¡Ô¨¡ÃÃÁ·Õè 31 : à¤Ã×Íè §ÇÑ´áʧáÊ´§¼Å´ Ç LED ´ ǤÇÒÁÃÙ¨ Ò¡¡Ò÷´ÅͧÇÑ´áʧÍ ҧ§ ÒÂ㹡Ԩ¡ÃÃÁ·Õè 30 à¾ÔÁè àµÔÁ LED 8 ´Ç§à¢ Òä»à¾×Íè áÊ´§¼Å¤ Ò¤ÇÒÁࢠÁ¢Í§áʧã¹ÍÕ¡ÃٻẺ˹Öè§ ·íÒãË ÊÒÁÒö¹íÒä»ãª §Ò¹ã¹·ÕèÍ×è¹æ ·ÕèäÁ ÁÕà¤Ã×èͧ ¤ÍÁ¾ÔÇàµÍÃ ä´ ¡ÒÃáÊ´§¼Å·íÒä´ â´Â¹íÒ¤ ÒµÑÇá»Ã·ÕÍè Ò ¹ä´ ¨Ò¡¤íÒÊѧè RCTIME ÁÒá»Å§à» ¹¢ ÍÁÙÅ à¾×Íè áÊ´§¼Åà» ¹á¶º LED
ÇÔ¸Õ¡Òà 31.1 㪠ǧ¨Ãã¹ÃÙ»·Õè A31-1 㹡Ò÷´Åͧ 31.2 à¢Õ¹â»Ãá¡ÃÁ·Õè A31-1 ºÑ¹·Ö¡ã¹ª×Íè ä¿Å ACT3101.BSX ´Òǹ âËÅ´ä»Âѧ i-Stamp 31.3 àÁ×Íè Ãѹâ»Ãá¡ÃÁ ãË ·´ÅͧàÍÒÁ×ͺѧáʧäÁ ãË µ¡¡ÃзºÅ§º¹ LDR Êѧࡵ¼Å¡ÒÃà»ÅÕÂè ¹á»Å§ ·Õàè ¡Ô´¢Ö¹é º¹ LED ·Ñ§é 8 ´Ç§ àÁ×Íè äÁ ÁáÕ Ê§ÁÒµ¡¡Ãзº LDR ¤ Ò·ÕÍè Ò ¹ä´ ¨ÐÊÙ§ÁÒ¡ Ê §¼ÅãË LED µÔ´à¡×ͺËÁ´ËÃ×Íã¹ ºÒ§¤ÃÑ§é µÔ´ËÁ´·Ø¡´Ç§ áÅеԴŴŧàÁ×Íè ÁÕáʧµ¡¡Ãзº LDR áÅÐÂÔ§è ŴŧÁÒ¡ËÒ¡áʧÁÕ¤ÇÒÁ ࢠÁÊÙ§ (ÊÇ Ò§ÁÒ¡) +5V 21
i-Stamp
22 RST 23 GND
SW1 RESET
P7 P6 P5
+5V 0.1µF
P4 R1 220
19
P14
LDR
P3 P2 P1 P0
ÃÙ»·Õè A31-1 ǧ¨Ãà¤Ã×Íè §ÇÑ´áʧáÊ´§¼Å´ Ç LED
12 11 10 9 8 7 6 5
4& # 4% # 4$ # 4# # 4" # 4! # 4 # 4 #
LED8-P7 LED7-P6 LED6-P5 LED5-P4 LED4-P3 LED3-P2 LED2-P1 LED1-P0
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
l
125
'{$STAMP BS2sx} '{$PBASIC 2.5} '********************************************************* ' Program : Light Monitoring display on bargraph LEDs ' Filename : ACT3101.BSX ' Processor : BASIC Stamp 2SX/i-Stamp ' Copyright (C) 2003 Innovative Experiment Co.,Ltd. '********************************************************* LDR CON 14 ' Define P14 as LDR DELAY CON 500 ' Define DELAY as 500 RC_VALUE VAR Word ' Define RC_VALUE as word variable RANGE CON 5000 ' Define RANGE as 5000 DIRL=$FF MAIN:
HIGH LDR PAUSE 100 RCTIME LDR,1,RC_VALUE
' ' ' '
Set P0-P7 as outputs Discharge C on P14 Delay for discharge Measure RC time constant
LOOKUP ((((RC_VALUE)/1024)MAX 8)-1), [$01,$03,$07,$0F,$1F,$3F,$7F,$FF],OUTL GOTO
MAIN
' Jump to main
¤ Ò·ÕÍè Ò ¹ä´ ¨Ò¡¤íÒÊѧè RCTIME ¨Ðà¡çºäÇ ã¹µÑÇá»Ã RC_VALUE ¨Ò¡¹Ñ¹é ¨Ð¹íÒ令íҹdzà¾×Íè ¹íÒä» à» ´¤ Ңͧ¡ÒÃáÊ´§¼Åã¹µÒÃÒ§´ ǤíÒÊѧè LOOKUP à¾×Íè áÊ´§¼Å·Õè LED µ Íä» â´Â¤ Ò·Õ¤è Òí ¹Ç³ä´ ¹¨Õé Ð ¶Ù¡¡íÒ˹´äÇ äÁ ãË à¡Ô¹ 8 à¹×Íè §¨Ò¡ÁÕ LED áÊ´§¼Åà¾Õ§ 8 ´Ç§
â»Ãá¡ÃÁ·Õè A31-1 â»Ãá¡ÃÁǧ¨ÃÇÑ´áʧâ´Â㪠i-Stamp ·íҧҹà ÇÁ¡Ñº LDR áÊ´§¼Å ´ Ç LED 8 ´Ç§
à¡Ãç´à¾ÔÁè àµÔÁ l ¶ Òµ ͧ¡ÒáíÒ˹´¢Íºà¢µã¹¡ÒÃáÊ´§¼Å ÊÒÁÒöà»ÅÕÂ è ¹¤ Ò¤§·Õè RANGE ä´ µÒÁµ ͧ¡ÒÃ
à·¤¹Ô¤à¾ÔÁè àµÔÁ l ¶ Òµ ͧ¡ÒÃà»ÅÕÂ è ¹¡ÒÃáÊ´§¼Å¨Ò¡áººá¶ºà» ¹¨Ø´ ãË à»ÅÕÂè ¹¤íÒÊѧè 㹡ÒÃáÊ´§¼Å´Ñ§¹Õ¨é Ò¡ LOOKUP ((((RC_VALUE)/256) MAX 8) -1),[$01,$03,$07,$0F,$1F,$3F,$7F,$FF],OUTL
à» ¹ OUTL=DCD ((((RC_VALUE)/256) MAX 8) -1)
126
l
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
¡Ô¨¡ÃÃÁ·Õè 32 : àÊÕ§»ÅØ¡ÂÒÁàª Ò ¨Ò¡¡Ò÷´ÅͧÇÑ´áʧ·Ñ§é 㹡Ԩ¡ÃÃÁ·Õè 30 áÅÐ 31 ·íÒãË ·ÃÒº¶Ö§¾ÄµÔ¡ÃÃÁ㹡Ò÷íÒ§Ò¹¢Í§ µÑǵ Ò¹·Ò¹á»Ã¤ ÒµÒÁáʧáÅФíÒÊѧè RCTIME 㹡Ԩ¡ÃÃÁ¹Õ¨é §Ö ¹íÒàÍÒ¤ÇÒÁÃÙ· §Ñé ËÁ´¹Ñ¹é ÁÒÊà ҧ໠¹ â¤Ã§§Ò¹·Õªè Í×è Ç Ò àÊÕ§»ÅØ¡ÂÒÁàª Ò ËÅÑ¡¡Ò÷íÒ§Ò¹¤×Í ã¹àÇÅÒ¡ÅÒ§¤×¹äÁ ÁáÕ Ê§ÁÒµ¡¡Ãзº LDR ǧ¨Ã¨ÐäÁ Á¡Õ ÒÃᨠ§àµ×͹ã´æ ¨¹¶Ö§Ãا àª Ò ÁÕáʧᴴÊÒ´Ê Í§ÁÒ¡Ãзº LDR ǧ¨Ã¨Ð·íÒ§Ò¹ Ê §àÊÕ§ ÊÑÒ³»ÅØ¡àµ×Í¹Ç Ò Ãا ÍÃسÁÒàÂ×͹áÅ Ç
ÇÔ¸Õ¡Òà 32.1 㪠ǧ¨Ãã¹ÃÙ»·Õè A32-1 㹡Ò÷´Åͧ 32.2 à¢Õ¹â»Ãá¡ÃÁ·Õè A32-1 ºÑ¹·Ö¡ã¹ª×Íè ä¿Å ACT3201.BSX ´Òǹ âËÅ´ä»Âѧ i-Stamp 32.3 àÁ×Íè àÃÔÁè ·íÒ§Ò¹ 㪠ÁÍ× ºÑ§áʧäÁ ãË µ¡¡ÃзºÅ§º¹ LDR ÊÁÁµÔÇÒ à» ¹¡ÅÒ§¤×¹ Êѧࡵ¼Å¡Òà ·íÒ§Ò¹ ¨Ò¡¹Ñ¹é 㪠俩ÒÂÊ Í§áʧ仵¡¡Ãзº LDR ¨íÒÅ꤂ Òà» ¹Ãا àª Ò ¶ ÒÁÕáʧµ¡¡ÃзºÁÒ¡áÊ´§Ç ÒઠÒáÅ Ç â»Ãá¡ÃÁ¡ç¨ÐÊ §àÊÕ§»ÅØ¡ áÅдѧ仵ÅÍ´ +5V 21
i-Stamp
22 RST 23 GND
SW1 RESET
+5V
P14
19
R1 220
+5V RP1/4 4k7
S1
0.1µF
LDR R9 220
13
P8 P12
ÃÙ»·Õè A32-1 ǧ¨ÃàÊÕ§»ÅØ¡ÂÒÁઠҤǺ¤ØÁ´ Ç i-Stamp
17
C1 10µF 50V SP1 Speaker
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
l
127
'{$STAMP BS2sx} '{$PBASIC 2.5} '********************************************************* ' Program : Morning alarm ' Filename : ACT3201.BSX ' Processor : BASIC Stamp 2SX/i-Stamp '********************************************************* SPK CON 12 ' Define SPK as P12 LDR CON 14 ' Define P14 as LDR RC_VALUE VAR Word ' Define RC_VALUE as word variable UPPER CON 1000 ' Define UPPER as 1000 LOWER CON 300 ' Define LOWER as 300 DONE VAR Bit ' Define DONE as bit variable MUTE VAR IN8 ' Define P8 as MUTE MAIN:
HIGH LDR ' Discharge C on P14 PAUSE 100 ' Delay for discharge RCTIME LDR,1,RC_VALUE ' Measure RC time constant 'DEBUG 0,DEC ? RC_VALUE ' Debug light value 'remove remark symbol when debugging IF MUTE=1 THEN CHK_LOWER ' Set DONE bit if mute switch pressed DONE=1 ' Set DONE bit GOTO MAIN ' Jump to main
CHK_LOWER: IF RC_VALUE>LOWER THEN CHK_UPPER ' Check RC_VALUE to toggle relay IF DONE=1 THEN MAIN ' Jump to main if mute (DONE=1) FREQOUT SPK,250,1600 ' Beep.. Beep.. PAUSE 20 FREQOUT SPK,250,1600 PAUSE 500 GOTO MAIN ' Jump to main CHK_UPPER: IF RC_VALUE<UPPER THEN MAIN DONE=0 GOTO MAIN
' Check switch if RC_VALUE<UPPER ' Clear DONE bit ' Jump to main
¡Ò÷íÒ§Ò¹¢Í§â»Ãá¡ÃÁ¨Ð¾Ô¨ÒóҤ Ò·ÕèÍ Ò¹ä´ ¨Ò¡ LDR ¶ Ò¤ Ò·Õèä´ ¹ ÍÂ¡Ç Ò LOWER áÊ´§Ç Ò ÁÕáʧµ¡¡ÃзºÁÒ¡ â»Ãá¡ÃÁ¡ç¨ÐÊ §àÊÕ§»ÅØ¡·Ñ¹·Õ ¨¹¡Ç Ò¨ÐÁÕ¡Òá´ÊÇÔµª ·µÕè Í ÍÂÙ¡ ºÑ ¢Ò P8 à¾×Íè ૵ á¿Å¡ DONE=1 àÊÕ§»ÅØ¡¨Ö§à§Õºŧ ËÃ×ÍÍÕ¡¡Ã³Õ˹Öè§ ¶ ÒáʧÀÒ¹͡¹ ÍÂŧ àÊÕ§»ÅØ¡¡ç¨Ðà§Õºâ´Â Íѵâ¹ÁѵàÔ ª ¹¡Ñ¹ á¿Å¡ DONE ·Õ¶è ¡Ù ૵¢Ö¹é ÁÒ¹Õ¨é ж١à¤ÅÕÂà â´ÂÍѵâ¹ÁѵàÔ Á×Íè ¤ Ò·ÕÍè Ò ¹ä´ ¹¹Ñé ÊÙ§¡Ç Ò UPPER «Ö§è à» ¹ª ǧ·ÕÁè ´× áÅ Ç ËÅѧ¨Ò¡¹Ñ¹é â»Ãá¡ÃÁ¡ç¨ÐÃÍ¡Ò÷íÒ§Ò¹à¾×Íè »Åء㹵͹ઠҢͧÇѹµ Íä»
â»Ãá¡ÃÁ·Õè A32-1 â»Ãá¡ÃÁàÊÕ§»ÅØ¡ÂÒÁઠҤǺ¤ØÁ´ Ç i-Stamp ·íҧҹà ÇÁ¡Ñº LDR
32.4 ¡´ÊÇÔµª S1 ·Õµè Í ÍÂÙ¡ ºÑ P8 Êѧࡵ¼Å¡Ò÷íÒ§Ò¹ àÁ×Íè ¡´ÊÇÔµª S1 ·Õµè Í ¡Ñº¢Ò P8 (MUTE) ÊÑ¡¤ÃÙ àÊÕ§àµ×͹¨Ðà§Õºŧ ¨Ò¡¹Ñ¹é â»Ãá¡ÃÁ¡ç¨Ð ·íÒ§Ò¹ÃÍä»àÃ×Íè Âæ ¨¹¡Ç Ò¨ÐÁ×´ («Ö§è ¨íÒÅÍ§ä´ â´Â¡ÒÃ㪠ÁÍ× ºÑ§ËÃ×Í» ´ä¿©ÒÂ) áÅÐàÁ×Íè ¶Ö§µÍ¹àª Ò ¢Í§ÇѹÃا ¢Ö¹é (¨íÒÅͧâ´Â¡ÒÃà» ´ä¿©ÒÂÊ Í§·Õè LDR ÍÕ¡¤Ãѧé ) ǧ¨Ã¨Ð¢ÑºàÊÕ§»ÅØ¡ÍÕ¡¤Ãѧé
128
l
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
¡Ô¨¡ÃÃÁ·Õè 33 : ÊÇÔµª ʹ¸ÂÒ ¡Ô¨¡ÃÃÁ¹Õ¨é ÐãË ¼Å¡Ò÷íÒ§Ò¹·Õµè ç¢ ÒÁ¡Ñº àÊÕ§»ÅØ¡ÂÒÁàª Ò ã¹¡Ô¨¡ÃÃÁ·Õè 32 â´Â ÊÇÔµª ʹ¸ÂÒ ¨Ð·íÒ§Ò¹¡çµÍ àÁ×Íè Á״ŧ äÁ ÁáÕ Ê§Ê Í§ÁÒµ¡¡Ãзº·Õè LDR áÅÐËÂØ´·íÒ§Ò¹ã¹Ãا ઠÒàÁ×Íè ÁÕáÊ§á´´Ê Í§ÁÒ·Õè LDR ÊíÒËÃѺ¤ÇÒÁᵡµ Ò§ÍÕ¡»ÃСÒÃË¹Ö§è ¤×Í àÍÒµ ¾µØ ¢Í§Ç§¨Ã¹Õ¨é е ÍࢠҡѺ ǧ¨Ã¢ÑºÃÕàÅ ¨Ö§·íÒãË ÊÒÁÒö¹íÒÍØ»¡Ã³ ä¿¿ ÒÁÒµ ÍࢠҷÕËè ¹ ÒÊÑÁ¼ÑʢͧÃÕàÅ à¾×Íè 㪠§Ò¹à» ¹ÊÇÔµª µÑ´µ Íä¿àÅÕéÂ§ä´ ¨ÃÔ§æ
ÇÔ¸Õ¡Òà 33.1 㪠ǧ¨Ãã¹ÃÙ»·Õè A33-1 㹡Ò÷´Åͧ +5V
+V 21
i-Stamp
22 RST 23 GND
SW1 RESET
LED1 RY R13 1k5
+5V 0.1µF
LDR
P14 P13
18
+12V
NO NC CONTACT 250V. 5A.
8
9 19
+ NC NC COM NC
10 R1 220
L1 LAMP-12V
RY1 RELAY 12V.
7 IC1 ULN2003
ÍÐá´»àµÍà 12V
RS-232 DOWNLOAD
+ DC INPUT
ËÅÍ´ä¿12V
RESET
ON
i-Stamp OFF
AX-2SX
BASIC Stamp ACTIVITY BOARD LED OUTPUT
P7 P6 P5 P4 P3 P2 P1 P0 P12 SOUND/FREQ. OUTPUT
STEPPER MOTOR
P14 RC-PORT SERIAL DATA
LDR
+5V. P15 GND P11
P10
P9
SWITCH INPUT
ÃÙ»·Õè A33-1 ǧ¨ÃÊÇÔµª ʹ¸ÂҤǺ¤ØÁ´ Ç i-Stamp
P13 RELAY OUT
P8 RY.
RELAY
NC C NO
˹ ÒÊÑÁ¼ÑÊÃÕàÅÂ
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
l
129
33.2 à¢Õ¹â»Ãá¡ÃÁ·Õè A33-1 ºÑ¹·Ö¡ã¹ª×Íè ä¿Å ACT3301.BSX ´Òǹ âËÅ´ä»Âѧ i-Stamp '{$STAMP BS2sx} '{$PBASIC 2.5} '********************************************************* ' Program : Twilight switch ' Filename : ACT3301.BSX ' Processor : BASIC Stamp 2SX/i-Stamp ' Copyright (C) 2003 Innovative Experiment Co.,Ltd. '********************************************************* RELAY CON 13 ' Define P13 as RELAY LDR CON 14 ' Define P14 as LDR RC_VALUE VAR Word ' Define RC_VALUE as word variable UPPER CON 3500 ' Define UPPER as 1000 LOWER CON 2800 ' Define LOWER as 600 OUTPUT MAIN:
RELAY ' Set P13 as output HIGH LDR ' Discharge C on P14 PAUSE 100 ' Delay for discharge RCTIME LDR,1,RC_VALUE ' Measure RC time constant 'DEBUG DEC ? RC_VALUE ' Debug light value 'remove remark symbol when debugging IF RC_VALUE>UPPER THEN ON_LAMP ' Check upper value for ON lamp IF RC_VALUE>LOWER THEN MAIN ' Check lower value for OFF lamp
OFF_LAMP: LOW PAUSE GOTO
RELAY 1000 MAIN
' Off relay ' Delay ' Jump to main
ON_LAMP: HIGH PAUSE GOTO
RELAY 1000 MAIN
' On relay ' Delay ' Jump to main
â»Ãá¡ÃÁ¨ÐÍ Ò¹¤ Ò¨Ò¡ LDR ´ ǤíÒÊѧè RCTIME ¨Ò¡¹Ñ¹é ¹íÒÁÒµÃǨÊͺ¡Ñº¾Ô¡´Ñ ·Õ¡è Òí ˹´·Ñ§é ·Ò§ ´ Ò¹ÊÙ§áÅеèÒí ËÒ¡¤ Ò·ÕÍè Ò ¹ä´ ¹¹Ñé à¡Ô¹¡Ç Ò¤ Ò UPPER ¨Ð¡Ãеع ãË Ç§¨Ã¢ÑºÃÕàÅ ·Òí §Ò¹ áµ ¶Ò ¤ Ò·ÕÍè Ò ¹ä´ ¹Ñ¹é ¹ ÍÂ¡Ç Ò LOWER ¨ÐËÂØ´¡Ò÷íÒ§Ò¹¢Í§Ç§¨Ã¢ÑºÃÕàÅ Í ҧäáçµÒÁã¹·Ø¡¤ÃÑ§é ·ÕÁè ¡Õ ÒÃà» ´» ´Ç§¨Ã¢Ñº ÃÕàÅ ¨ÐÁÕ¡ÒÃ˹ ǧàÇÅÒäÇ »ÃÐÁÒ³ 1 ÇÔ¹Ò·Õ´Ç Â¤íÒÊѧè PAUSE
â»Ãá¡ÃÁ·Õè A33-1 â»Ãá¡ÃÁ¤Çº¤ØÁ¡Ò÷íÒ§Ò¹¢Í§Ç§¨ÃÊÇÔµª ʹ¸ÂÒ 33.3 àÁ×Íè àÃÔÁè ·íÒ§Ò¹ ÂÍÁãË ÁáÕ Ê§µ¡¡Ãзº LDR ÊÁÁµÔÇÒ à» ¹¡ÅÒ§Çѹ Êѧࡵ¼Å¡Ò÷íÒ§Ò¹ ¨Ò¡¹Ñ¹é 㪠ÁÍ× ºÑ§áʧäÁ ãË µ¡¡Ãзº LDR ¨íÒÅ꤂ Òà» ¹¡ÅÒ§¤×¹ Êѧࡵ¼Å¡Ò÷íÒ§Ò¹ ¶ ÒÁÕáʧµ¡¡ÃзºÁÒ¡áÊ´§Ç ÒÂѧ໠¹àÇÅÒ¡ÅÒ§Çѹ ǧ¨Ã¨ÐÂѧǹµÃǨÊͺáʧµ Íä» àÁ×Íè äÁ ÁáÕ Ê§µ¡¡Ãзº LDR ǧ¨Ã¨Ð·íÒ¡ÒâѺÃÕàÅ ãË ·Òí §Ò¹ ÊÑ§à¡µä´ ¨Ò¡ LED ÊÕà¢ÕÂÇã¹µíÒá˹ § RY º¹ºÍà ´ AX-2SX µÔ´ÊÇ Ò§ áÅÐä´ Â¹Ô àÊÕ§˹ ÒÊÑÁ¼Ñʵ ͡ѹ ËÒ¡µ ÍËÅÍ´ä¿äÇ ·ËÕè ¹ ÒÊÑÁ¼ÑÊ ÃÕàÅ ËÅʹ俨ÐÊÇ Ò§·Ñ¹·Õ
130
l
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
à¡Ãç´à¾ÔÁè àµÔÁ ¶ Òµ ͧ¡ÒáíÒ˹´ª ǧ¢Íºà¢µà» ´-» ´ ÊÒÁÒöà»ÅÕèÂ¹ä´ ·Õè¤ Ò¤§·Õè UPPER-LOWWER µÒÁµ ͧ¡ÒÃ«Ö§è ¤ Ò UPPER ¹Ñ¹é ¨Ðµ ͧÁÒ¡¡Ç Ò LOWER àÊÁÍ l
à·¤¹Ô¤à¾ÔÁè àµÔÁ l ã¹â»Ãá¡ÃÁ¹Õãé ª ¤Ò UPPER-LOWER
¡íÒ˹´¤ ҵѴÊԹ㨠2 µíÒá˹ § á·¹¡ÒÃ㪠¤Ò µÑ´ÊÔ¹ 㨤 Òà´ÕÂÇ ·íÒãË à¡Ô´ª ǧ¤ÇÒÁµ ҧ㹡ÒÃà» ´-» ´ ËÃ×Í Hysteresis Band ෠ҡѺ 600 ÁÕ¼ÅãË ¡Òà ·íÒ§Ò¹¢Í§Ç§¨Ã·¹·Ò¹µ Íáʧú¡Ç¹·ÕÍè ҨࢠÒÁÒä´ ÊÒÁÒöà»ÃÕºà·Õº¡Ò÷íÒ§Ò¹ÃÐËÇ Ò§ãª ¤Ò µÑ´ÊԹ㨤 Òà´ÕÂǡѺ¤ ҵѴÊÔ¹ã¨Êͧ¤ Ò ´Ñ§¡ÃÒ¿µ Í仹Õé RCTIME
àÃÔèÁÁ×´ 800
áʧú¡Ç¹
ª ǧàÂç¹
ઠÒÁ×´ ÃØ §àª Ò
0 LAMP ON OFF
¡ÃÒ¿áÊ´§¼Å¡Ò÷íÒ§Ò¹·Õãè ª ¤Ò 800 㹡ÒõѴÊÔ¹ã¨à¾Õ§¤ Òà´ÕÂÇ ¨ÐàËç¹Ç Òáʧú¡Ç¹·íÒ ãË à¡Ô´ËÅʹ俴Ѻ仪 ǧàÇÅÒ˹Öè§ RCTIME
àÃÔÁè Á×´ 800
ª ǧàÂç¹
áʧú¡Ç¹
ઠÒÁ×´ ÃØ §àª Ò
400 0 LAMP ON OFF
¡ÃÒ¿áʧ¼Å¡Ò÷íÒ§Ò¹·Õãè ª ¤Ò 1000 à¾×Íè à» ´ áÅÐ 400 à¾×Íè » ´ ¨ÐàË繡Ò÷íÒ§Ò¹·Õµè Í à¹×Íè § ä´ â´ÂäÁ ¶Ù¡áʧú¡Ç¹
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
l
131
¡Ô¨¡ÃÃÁ·Õè 34 : ¤Çº¤ØÁÊàµç»à»Íà ÁÍàµÍà ´Ç Âáʧ ÁÒ¶Ö§ÍÕ¡¡Ô¨¡ÃÃÁË¹Ö§è ·Õ¹è Òí ÁҼŢͧ¤íÒÊѧè RCTIME ·Õ·è Òí §Ò¹Ã ÇÁ¡Ñº LDR ÁҤǺ¤ØÁÍØ»¡Ã³ àÍÒµ ¾Øµ¡ÃÐáÊÊÙ§ «Ö觤ÃÒǹÕéà» ¹Êàµç»à»Íà ÁÍàµÍà 㹡Ԩ¡ÃÃÁ¹Õé¨Ð㪠¤ÇÒÁᵡµ Ò§¢Í§áʧ·Õ赡 ¡Ãзº LDR ÁÒÇÑ´¤ ÒáŠǤǺ¤ØÁãË Êàµç»à»Íà ÁÍàµÍà ËÁع价ҧ« ÒÂËÃ×Í¢ÇÒ ´ Ç¡Ò÷íҧҹẺ ¹Õ¨é §Ö ÊÒÁÒö¹íÒä»»ÃÐÂØ¡µ à» ¹ÁÙÅÍÕè µÑ â¹Áѵ·Ô »Õè ´ ŧàÁ×Íè äÁ ÁáÕ Ê§ËÃ×Íà» ¹àÇÅÒ¡ÅÒ§¤×¹ áÅÐà» ´àÁ×Íè ÁÕáʧËÃ×Íà» ¹àÇÅÒ¡ÅÒ§Çѹ
ÇÔ¸Õ¡Òà 34.1 㪠ǧ¨Ãã¹ÃÙ»·Õè A34-1 㹡Ò÷´Åͧ µ ÍÊàµç»à»Íà ÁÍàµÍà ࢠҷդè ͹à¹ç¡àµÍà STEPPER MOTOR 34.2 à¢Õ¹â»Ãá¡ÃÁ·Õè A34-1 ºÑ¹·Ö¡ª×Íè ä¿Å à» ¹ ACT3401.BSX ´Òǹ âËÅ´ä»Âѧ i-Stamp +5V 21
STEPPER MOTER
i-Stamp
PHASE A to D COIL
22 RST 23 GND
SW1 RESET
D
C
B
K1 STEPPER MOTER
+5V 0.1µF
R1 220
16 15 14 13 19
P14
+12V
9
IC1 ULN2003 4
LDR
3
2
1
8 P3 7 P2 6 P1 5 P0
+5V RP1/4 4k7
A
R9 220
R3-R6 510 x4 13
P8
S1
ÃÙ»·Õè A33-1 ǧ¨ÃÊÇÔµª ʹ¸ÂҤǺ¤ØÁ´ Ç i-Stamp
LED1-LED4
8
132
l
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
'{$STAMP BS2sx} '{$PBASIC 2.5} '********************************************************* ' Program : Stepper motor rotation controlled by light ' Filename : ACT3401.BSX ' Processor : BASIC Stamp 2SX/i-Stamp '********************************************************* SW_SET VAR IN8 ' Define SW_SET as P8 input LDR CON 14 ' Define P14 as LDR RC_VALUE VAR Word ' Define RC_VALUE as word variable SET_VALUE VAR Word ' Define SET_VALUE as word variable STAGE VAR Nib ' Define STAGE as nibble variable DEVIATION CON 200 ' Define DEVIATION as 200 DELAY CON 50 ' Define DELAY as 50 ms SET_VALUE=1000 DIRA=%1111 STAGE=1 GOSUB DRIVE
' ' ' '
Set default =1000 Set P0-P3 as outputs Set first stage on P0-P3 Drive stepper motor
MAIN: HIGH LDR ' Discharge C on P14 PAUSE 1 ' Delay for discharge RCTIME LDR,1,RC_VALUE ' Measure RC time constant 'DEBUG DEC ? RC_VALUE ' Debug light value 'remove remark symbol when debugging IF SW_SET=1 THEN CHK_VALUE ' Set zero if SW_SET pressed SET_VALUE=RC_VALUE ' Set zero value CHK_VALUE: IF (ABS(SET_VALUE-RC_VALUE))<DEVIATION THEN MAIN ' Jump to main if error not more then DEVIATION IF SET_VALUE>RC_VALUE THEN CCW ' Check value to rotate CW or CCW CW: STAGE=(STAGE+1)//8 ' Increase stage within 0-7 GOSUB DRIVE ' Drive stepper motor GOTO MAIN ' Jump to main CCW:
STAGE=(STAGE-1)//8 GOSUB DRIVE GOTO MAIN
' Increase stage within 0-7 ' Drive stepper motor ' Jump to main
DRIVE:LOOKUP STAGE,[%0001,%0011,%0010,%0110,%0100,%1100,%1000,%1001],OUTA ' Get data PAUSE DELAY ' Delay RETURN ' Return
â»Ãá¡ÃÁ¹ÕéÊÒÁÒö¤Çº¤ØÁÊàµç»à»Íà ÁÍàµÍÃ ä´ 3 Ẻ¤×Í ËÁع·Ç¹à¢çÁ¹ÒÌ ¡Ò, ËÁعµÒÁà¢çÁ ¹ÒÌ ¡Ò áÅÐËÂØ´ÍÂÙ¡ ºÑ ·Õè ¡Ò÷íҧҹᵠÅÐẺ¹Ñ¹é ¨Ð¾Ô¨ÒóҨҡ¤ Òáʧ·Õäè ´ ÃºÑ à¢ ÒÁÒ â´Â¶ Ò¤ Ò·ÕÍè Ò ¹ä´ ¹Ñ¹é ÁÕ¤Ò àºÕÂè §àº¹¨Ò¡¤ Ò¡ÅÒ§ (SET_VALUE) äÁ à¡Ô¹¤ Ò DEVIATION ᡹ÁÍàµÍà ¨ÐËÂØ´ áµ ¶Ò ¤ Ò·ÕÍè Ò ¹ ä´ ¹Í Â¡Ç Ò SET_VALUE-DEVIATION ÁÍàµÍà ¡¨ç ÐËÁع·Ç¹à¢çÁ¹ÒÌ ¡Ò ã¹·Ò§¡ÅѺ¡Ñ¹ ¶ Ò¤ Ò·ÕÍè Ò ¹ä´ ÁÒ¡ ¡Ç Ò SET_VALUE+DEVIATION ÁÍàµÍà ¡¨ç ÐËÁعµÒÁà¢çÁ¹ÒÌ ¡Ò ÊíÒËÃѺ¡ÒâѺÊàµç»à»Íà ÁÍàµÍà ໠¹ ẺÎÒÅ ¿Êàµç» ¶ Òµ ͧ¡ÒáíÒ˹´¤ Ò¡ÅÒ§ãËÁ â´ÂÇÑ´¨Ò¡ÊÀÒÇÐáʧ㹢³Ð¹Ñ¹é ÊÒÁÒö·íÒä´ â´Â¡Òá´ ÊÇÔµª ·¢Õè Ò¾Íà µ P8 (SET_ZERO) à¾×Íè ºÑ¹·Ö¡à» ¹¤ Ò¡Åҧ㹡Ò÷íÒ§Ò¹ãËÁ ä´
â»Ãá¡ÃÁ·Õè A34-1 â»Ãá¡ÃÁ¢Í§Ç§¨Ã¤Çº¤ØÁÊàµç»à»Íà ÁÍàµÍà ´Ç Âáʧ
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
l
133
34.3 àÁ×Íè àÃÔÁè ·íÒ§Ò¹â´Â¡Ò÷íÒãË LDR ä´ /äÁ ä´ ÃºÑ áʧ áÅ ÇÊѧࡵ¡Ò÷íÒ§Ò¹¢Í§Êàµç»à»Íà ÁÍàµÍà ¶ ÒÁÕáʧµ¡¡ÃзºÁÒ¡ Êàµç»à»Íà ÁÍàµÍà ¨ÐËÁع·Ç¹à¢çÁ¹ÒÌ ¡Ò áÅж ÒÁÕáʧµ¡¡Ãзº ¹ ÍÂËÃ×ÍäÁ ÁÕ Êàµç»à»Íà ÁÍàµÍà ¨ÐËÁعµÒÁà¢çÁ¹ÒÌ ¡Ò áµ ¶Ò ¤ ÒáʧÍÂÙã ¹ÃдѺ¡ÅÒ§æ Êàµç»à»Íà ÁÍàµÍà ¨ÐËÂØ´ËÁع
à¡Ãç´à¾ÔÁè àµÔÁ ã¹â»Ãá¡ÃÁÊÒÁÒö¡íÒ˹´¤ Ò¡Åҧ㹡Ò÷íÒ§Ò¹àº×éͧµ ¹·ÕèµÑÇá»Ã SET_VALUE áÅÐ ¡íÒ˹´¤ ÒàºÕÂè §àº¹ä´ ·¤Õè Ò ¤§·Õè DEVIATION l
à·¤¹Ô¤à¾ÔÁè àµÔÁ l ã¹â»Ãá¡ÃÁãª Ç¸Ô ¡ Õ ÒõѴÊÔ¹ã¨â´ÂÍÒÈÑ¿ §¡ ª¹Ñè
ABS 㹡ÒþԨÒóҤ Ò·Õàè ºÕÂè §àº¹ä»¨Ò¡ ¤ Ò¡ÅÒ§â´ÂäÁ ¤Òí ¹Ö§¶Ö§¤ ҺǡËÃ×Íź â´Â¶ Ò¤ Ò·Õäè ´ àºÕÂè §àº¹ä»ÁÒ¡¡Ç Ò DEVIATION àÁ×Íè ã´¨Ö§ ¨Ð¾Ô¨ÒóÒÍÕ¡·Õ˹֧è Ç Ò¨Ð¤ Ò·ÕÍè Ò ¹ä´ ¹¹Ñé ÁÒ¡à¡Ô¹ä»ËÃ×ÍÇ Ò¹ ÍÂà¡Ô¹ä» à¾×Íè Êѧè ãË Êàµç»à»Íà ÁÍàµÍà ËÁعµÒÁ·Õè¡íÒ˹´äÇ µ Íä»
¡Ò÷íÒ§Ò¹¢Í§¤íÒÊѧè ABS 㪠㹡ÒÃá»Å§¤ ÒµÑÇàŢẺ¤Ô´à¤Ã×èͧËÁÒÂà» ¹áººäÁ ¤Ô´à¤Ã×èͧËÁÒÂËÃ×Í
àÃÕÂ¡Ç Ò ¤ ÒÊÑÁºÙó (absolute) ´Ñ§¹Ñ¹é ËÅѧ¨Ò¡¡ÃзíÒ¤íÒÊÑ§è ¹Õ¢é Í ÁÙÅ·Õäè ´ ¨Ðà» ¹¤ ҺǡàÊÁÍ ÍÒ·Ô ¤ Ò -99 àÁ×Íè ·íÒ à» ¹¤ ÒÊÑÁºÙó ¨Ð෠ҡѺ 99 ÍÒ¨¡Å ÒÇä´ ÇÒ ¤íÒÊѧè ABS 㪠㹡ÒõѴà¤Ã×Íè §ËÁÒÂźÍÍ¡¨Ò¡µÑÇàÅ¢µÔ´Åº ·íÒãË ¡ÅÒÂà» ¹ºÇ¡ Êѧࡵ¼Å¡ÒáÃзíÒ¤íÒÊѧè ABS ¨Ò¡â»Ãá¡ÃÁµÑÇÍ ҧµ Í仹Õé W1 = -99 ¡íÒ˹´¤ Ò -99 ãË ¡ºÑ µÑÇá»Ã W1 DEBUG SDEC ? W1 áÊ´§¤ Ңͧ W1 Ẻ¤Ô´à¤Ã×Íè §ËÁÒ W1 = ABS W1 ¡ÃзíÒ¤íÒÊѧè ABS ¡Ñº¤ Ңͧ W1 DEBUG SDEC ? W1 áÊ´§¤ Ңͧ W1 Ẻ¤Ô´à¤Ã×Íè §ËÁÒ ËÅѧ¨Ò¡¡ÃзíÒ¤íÒÊѧè ABS àÁ×èÍ·íÒ¡ÒÃÃѹâ»Ãá¡ÃÁ 㹺Ã÷Ѵáá¢Í§Ë¹ Òµ Ò§ Debug Terminal ¨ÐáÊ´§¼Å¢Í§â»Ãá¡ÃÁã¹ ºÃ÷Ѵ·ÕÊè ͧ¤×Í DEBUG SDEC ? W1 áÊ´§¤ Ò -99 ÍÍ¡ÁÒ áµ ËÅѧ¨Ò¡¼ Ò¹¡ÒáÃзíÒ¤íÒÊѧè ABS áŠǨÐáÊ´§ ¤ Òà» ¹ 99
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
l
135
º··Õè 10
ʹء¡ÑºâÁ´ÙÅ LCD Ẻ͹ءÃÁ 㹺·¹Õ¢é Íá¹Ð¹íÒÍØ»¡Ã³ à¾ÔÁè àµÔÁ·Õáè Ê´§¼Å¡Ò÷íÒ§Ò¹ÊíÒËÃѺàºÊÔ¡áʵÁ» 2SX ÍÕ¡ 1 Í ҧ ¤×Í âÁ´ÙÅ LCD Ẻ͹ءÃÁ(serial LCD module) «Ö§è ¡ç¤Í× âÁ´ÙÅ LCD ·Õãè ª ¡ÒõԴµ ÍÊ×Íè ÊÒà à¾×Íè Í Ò¹áÅÐà¢Õ¹¢ ÍÁÙÅẺ͹ءÃÁ â´Â㪠ÊÒÂÊÑÒ³à¾Õ§àÊ ¹à´ÕÂÇ ÊíÒËÃѺâÁ´ÙÅ LCD ͹ءÃÁ ·Õ¹è Òí ÁÒ㪠¹¹Ñé à» ¹¼Å§Ò¹¢Í§ºÃÔÉ·Ñ ÍÔ¹â¹àǵտ àÍç¡à¾ÍÃÔàÁ¹µ ¨íÒ¡Ñ´ à» ¹áºº 16 µÑÇÍÑ¡Éà 2 ºÃ÷Ѵ â¤Ã§Êà ҧ¢Í§âÁ´ÙÅ LCD ͹ءÃÁ¹Õ»é ÃСͺ´ ǺÍà ´àª×Íè Áµ ÍẺ͹ءÃÁáÅÐâÁ´ÙÅ LCD 16 µÑÇÍÑ¡Éà 2 ºÃ÷ѴẺ¢¹Ò¹ËÃ×ÍẺÁҵðҹ ¡ÒÃ㪠§Ò¹µ ͧµ ÍÊÒÂÊÑÒ³¨Ò¡âÁ´ÙÅ LCD ͹ءÃÁËÃ×Í SLCD16x2 ÁÒÂѧºÍà ´ AX-2SX ·Õµè Òí á˹ § SERIAL DATA ·Õµè ç¡Ñº¢Ò P15 ¢Í§àºÊÔ¡áʵÁ» 2SX ËÃ×Í i-Stamp ¨Ò¡¹Ñ¹é ¹íÒ¢ ͤÇÒÁÍÍ¡ä»áÊ´§·Õâè Á´ÙÅ LCD Ẻ ͹ءÃÁá·¹¡ÒÃ㪠˹ Òµ Ò§ Debug Terminal ·íÒãË Á¤Õ ÇÒÁÊдǡ㹡ÒùíÒä»ãª §Ò¹ÁÒ¡¡Ç Ò ¡ÒÃÊÑ§è §Ò¹¡ÑºâÁ´ÙÅ LCD Ẻ͹ءÃÁ¨ÐÍ Ò§ÍÔ§¤íÒÊÑ§è ªØ´à´ÕÂǡѺ¤íÒÊѧè Áҵðҹ¢Í§âÁ´ÙÅ LCD ẺÍÑ¡¢ÃÐ «Ö§è ÊÒÁÒö´ÙÃÒÂÅÐàÍÕÂ´ä´ ¨Ò¡àÍ¡ÊÒáÒÃ㪠§Ò¹·ÕÁè ҡѺµÑÇâÁ´ÙÅ LCD àͧ àÁ×Íè µ ͡ѺàºÊÔ¡áʵÁ» 2SX ËÃ×Í i-Stamp ¨Ð㪠¤Òí Êѧè SEROUT 㹡ÒÃÊ §¢ ÍÁÙŠ㹡óյ ͧ¡ÒÃÊ §¤íÒÊÑ觤Ǻ¤ØÁ¡Ò÷íÒ§Ò¹ ãË Ê §¤ Ò $FF ¹íÒ˹ Ò¡ ͹áŠǨ֧µÒÁ´ Ç ¤íÒÊÑ§è ¤Çº¤ØÁ亵 ¶´Ñ ä» ¶ Òµ ͧ¡ÒÃÊ §¢ ÍÁÙÅà¾×Íè ãË áÊ´§¼ÅËÃ×Íà¢Õ¹¢ ÍÁÙÅŧ㹠CGRAM ¡çÊÒÁÒö¹íÒ¢ ÍÁÙŹѹé Ê §ä»ä´ ·Ñ¹·Õ ÊíÒËÃѺâ»Ãá¡ÃÁ·Õèà¢Õ¹¢Ö鹢ͧ¡Ô¨¡ÃÃÁ㹺·¹Õé·Ñé§ËÁ´ ¡íÒ˹´¡ÒÃàª×èÍÁµ ÍÃÐËÇ Ò§âÁ´ÙÅ LCD ͹ءÃÁ¡Ñº i-Stamp ẺäÁ ¡ÅѺ¢ÑÇé ÊÑÒ³ ãª ÍµÑ ÃҺʹ 9600 ºÔµµ ÍÇÔ¹Ò·Õ áÅÐâÁ´ÙÅ LCD ÁÕ¢¹Ò´ 16 µÑÇÍÑ¡Éà 2 ºÃ÷Ѵ ¡µÑÇÍ ҧ à¢Õ¹¢ ÍÁÙŤíÒÊѧè ÊíÒËÃѺà¤ÅÕÂà ˹ Ҩͤ×Í SEROUT 15, 240, ($FF,$01) ¶ ÒÁÕ¡ÒÃÊ §¢ ÍÁÙŨíҹǹÁÒ¡ÍÒ¨µ ͧà¾ÔÁè ¾ÒÃÒÁÔàµÍà pace 㹤íÒÊѧè SEROUT â´Â¡íÒ˹´ ¤ ÒÍ ҧ¹ Í 5 à¾×Íè ËÅÕ¡àÅÕÂè §» ËÒÍѹà¹×Íè §ÁҨҡ˹ ǤÇÒÁ¨íҢͧâÁ´ÙÅ LCD ·íÒ§Ò¹äÁ ·¹Ñ ¡Ñº ¢ ÍÁÙÅãËÁ ·ÊÕè § ࢠÒÁÒ àª ¹ SEROUT15,240,5,(“Hello message”)
136
l
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
¡ÒÃ㪠§Ò¹ SLCD : âÁ´ÙÅ LCD Ẻ͹ءÃÁ
ã¹ÃÙ»´ ҹŠҧáÊ´§ÃÒÂÅÐàÍÕ´¢Í§á¼§Ç§¨Ã´ Ò¹
ËÅѧ¢Í§ SLCD ÁÕ¨ÁÑê à»Íà à¾×Íè ¤Çº¤ØÁ¡Ò÷íÒ§Ò¹ 4 µÑÇ 1. ¨ÑÁê à»Íà àÅ×Í¡âËÁ´¤íÒÊѧè (mode command jumper) 㪠ÊÒí ËÃѺàÅ×Í¡âËÁ´¤íÒÊѧè à¾×Íè ¤Çº¤ØÁ¡ÒÃáÊ´§¼Å ¢Í§âÁ´ÙÅ LCD «Ö§è àÅ×Í¡ä´ 2 âËÁ´¤×Í âËÁ´¤íÒÊѧè Áҵðҹ (ST) «Ö§è ¨ÐµÃ§¡ÑºâÁ´ÙÅ LCD ¢Í§ Scott Edwards ·Õäè ´ ÃºÑ ¤ÇÒÁ¹ÔÂÁ·ÑÇè âÅ¡ áÅÐâËÁ´¤íÒÊѧè à¾ÔÁè àµÔÁ (Extended mode command : EX) ÊÒÁÒö´ÙÃÒÂÅÐàÍÕ´ à¾ÔÁè àµÔÁä´ ã¹ËÑÇ¢ ͪش¤íÒÊÑ§è ¢Í§ SLCD »¡µÔ¨ÐàÅ×Í¡ä»·Õâè ËÁ´¤íÒÊѧè Áҵðҹ (ST) 2. ¨ÑÁê à»Íà àÅ×Í¡ºÃ÷Ѵ¢Í§¡ÒÃáÊ´§¼Å (lines jumper) 㪠àÅ×Í¡¨íҹǹºÃ÷Ѵ¢Í§¡ÒÃáÊ´§¼Å ÁÕ´Ç Â¡Ñ¹ 2 Ẻ¤×ÍẺ 1/8 Duty ËÁÒ¶֧ àÅ×Í¡áÊ´§¼Å 8 ËÅÑ¡µ ͺÃ÷Ѵ áÅÐẺ 1/16 Duty ËÁÒ¶֧ àÅ×Í¡áÊ´§¼Å 16 ËÅÑ¡ËÃ×͵ÑÇÍÑ¡Éõ ͺÃ÷ѴËÃ×ÍÁÒ¡Ç Ò »¡µÔ¨ÐàÅ×Í¡äÇ ·Õè 1/16 «Ö§è ËÁÒ¶֧ àÅ×Í¡¡ÒÃáÊ´§¼ÅẺËÅÒºÃ÷Ѵ 3. ¨ÑÁê à»Íà àÅ×Í¡ºÍ´àõËÃ×ÍÍѵÃÒàÃçÇ㹡ÒÃÊ×Íè ÊÒâ ÍÁÙÅ͹ءÃÁ (baudrate select jumper) àÅ×Í¡ä´ 2 ¤ Ò¤×Í 2400 ºÔµµ ÍÇÔ¹Ò·Õ áÅÐ 9600 ºÔµµ ÍÇÔ¹Ò·Õ ã¹ÃٻẺºÔµ¢ ÍÁÙÅ 8 ºÔµ äÁ ÁºÕ µÔ ¾ÒÃÔµÕé áÅÐÁÕºµÔ ËÂØ´ 1 ºÔµ 4. ¨ÑêÁà»Íà àÅ×Í¡ÃٻẺ¢Í§ÊÑÒ³àª×èÍÁµ Í (interface signal jumper) ÁÕ´ Ç¡ѹ 2 Ẻ¤×Í áºº ¡ÅѺÅͨԡáÅÐ RS-232 ¡Ñºáººàª×Íè Áµ Íâ´ÂµÃ§ (direct logic TTL/CMOS level : DI) ¶ ÒËÒ¡¹íÒ SLCD ä»àª×Íè Á µ ͡Ѻ¾Íà µÍ¹Ø¡ÃÁ¢Í§¤ÍÁ¾ÔÇàµÍà µÍ §àÅ×Í¡ä»·Õè IN ¶ ÒËÒ¡àª×Íè Áµ ͡ѺäÁâ¤Ã¤Í¹â·ÃÅàÅÍà â´ÂµÃ§ ÊÒÁÒö àÅ×Í¡ä´ ·§Ñé IN áÅÐ DI ¡ÒûÃѺ¤ÇÒÁÊÇ Ò§¢Í§¨ÍáÊ´§¼Å ·íÒä´ â´Â»ÃѺ·Õµè ÇÑ µ Ò¹·Ò¹»ÃѺ¤ Òä´ ã¹µíÒá˹ § BRIGHTNESS ¨Ø´àª×Íè Áµ ͡ѺÍØ»¡Ã³ ÀÒ¹͡ ÁÕ 3 ¨Ø´¤×Í ¨Ø´µ Íä¿àÅÕÂé § +Vcc (+), ÍÔ¹¾ØµÊÑҳ͹ءÃÁ (serial input : S) áÅШشµ Í¡ÃÒÇ´ (GND : G) 14
1
»ÃѺ¤ÇÒÁÊÇ Ò§¢Í§¨ÍáÊ´§¼Å
µ Íŧ¡ÃÒÇ´
+ S G
BRIGHTNESS
DI IN
24 96
16 8
ST EX
14
NXP1008S-LCD
INPUT
1
CONNECTOR 14 PIN
CONNECTOR 2x7 PIN
¤Í¹à¹ç¡àµÍà ÊíÒËÃѺàª×èÍÁµ ÍâÁ´ÙÅ LCD Áҵðҹ ·Ñé§áººá¶Çà´ÕèÂÇ 1x14 ¢Ò áÅÐá¶Ç¤Ù 2x7 ¢Ò
¢ ÍÁÙÅ͹ءÃÁ µ Íä¿àÅÕÂé §
(c) 2000 Innovative Experiment
àÅ×Í¡âËÁ´¤íÒÊÑè§
àÅ×Í¡¡ÒÃáÊ´§¼Å
àÅ×Í¡ºÍ´àõ
àÅ×Í¡ÅѡɳÐÊÑÒ³
¤íÒÊѧè à¾ÔÁè àµÔÁ (EX)
8 ËÅÑ¡µ ͺÃ÷Ѵ (8)
9600 ºÔµµ ÍÇÔ¹Ò·Õ (96)
¡ÅѺÅͨԡËÃ×Í RS-232 (IN)
¤íÒÊѧè Áҵðҹ (ST)
16 ËÅÑ¡µ ͺÃ÷Ѵ (16)
2400 ºÔµµ ÍÇÔ¹Ò·Õ (24)
àª×Íè Áµ Íâ´ÂµÃ§ (DI)
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
l
137
¤Ø³ÊÁºÑµ·Ô ҧ෤¹Ô¤¢Í§ SLCD : âÁ´ÙÅ LCD Ẻ͹ءÃÁ áÊ´§¼Åä´ 16 µÑÇÍÑ¡Éà 2 ºÃ÷Ѵ l àª×Í è Áµ ͡Ѻ¾Íà µ¢Í§àºÊÔ¡áʵÁ» áÅоÍà µÍ¹Ø¡ÃÁ RS-232 ä´ â´ÂµÃ§ l ÊÒÁÒöàÅ×Í¡ÊÑÒ³àª×Í è Áµ Íà» ¹áººâ´ÂµÃ§ (direct) ËÃ×ÍẺ¡ÅѺÅͨԡ (invert) ä´ l àÅ×Í¡ºÍ´àÃµä´ 2 ¤ Ò¤×Í 2,400 áÅÐ 9,600 ºÔµµ ÍÇÔ¹Ò·Õ ã¹áºº¢ ÍÁÙÅ 8 ºÔµ äÁ Á¾ Õ ÒÃÔµÕé ºÔµËÂØ´ 1 ºÔµ (8N1) l àÅ×Í¡ªØ´¤íÒÊѧè 㹡ÒäǺ¤ØÁä´ ·§Ñé ẺÁҵðҹáÅÐẺà¾ÔÁ è àµÔÁ l 㪠ÊÒÂÊÑÒ³àª×Í è Áµ Íà¾Õ§ 3 àÊ ¹¤×Í +Vcc (+), GND (G) áÅÐ Serial input (S) l ÊÒÁÒöàª×Í è Áµ ÍäÁâ¤Ã¤Í¹â·ÃÅàÅÍÃ ä´ ·¡Ø µÃСÙÅ â´Â㪠¢Ò¾Íà µã¹¡ÒõԴµ Íà¾Õ§ 1 àÊ ¹ l 㪠ä¿àÅÕÂ é §ä´ µ§Ñé áµ +5 ¶Ö§ +12V l
¡Ô¨¡ÃÃÁ·Õè 35 : áÊ´§¢ ͤÇÒÁáÅÐÃÙ»ÀÒ¾¼ Ò¹âÁ´ÙÅ SLCD16x2 㹡Ԩ¡ÃÃÁ¹Õéà» ¹¡ÒÃá¹Ð¹íÒãË Åͧ㪠§Ò¹ÍØ»¡Ã³ áÊ´§¼ÅµÑÇãËÁ ·Õè¤ Í¹¢ Ò§©ÅÒ´áÅÐà» ÂÁ ä»´ Ç»ÃÐÊÔ·¸ÔÀÒ¾ ¹Ñ¹è ¤×Í âÁ´ÙÅ LCD Ẻ͹ءÃÁ¢¹Ò´ 16 µÑÇÍÑ¡Éà 2 ºÃ÷Ѵ ËÃ×Í SLCD16x2
ÇÔ¸Õ¡Òà 35.1 㪠ǧ¨Ãã¹ÃÙ»·Õè A35-1 㹡Ò÷´Åͧ ¾Ã ÍÁ·Ñ§é µ Í SLCD16x2 ࢠҷդè ͹à¹ç¡àµÍà SERIAL DATA +5V +5V 21 SW1 RESET
i-Stamp
22 RST 23 GND
P15
R1 10k 20
RS-232 DOWNLOAD DC INPUT RESET
ON i-Stamp BS2/2e/2sx/2p OFF
AX-2SX BASIC Stamp ACTIVITY BOARD
LED OUTPUT P7 P6 P5 P4 P3 P2 P1 P0 P12 SOUND/FREQ. OUTPUT
STEPPER MOTOR
P14 RC-PORT SERIAL DATA
LDR
+5V. P15 GND P11
P10
P9
P13 RELAY OUT
P8
RY. SWITCH INPUT
ÃÙ»·Õè A35-1 ǧ¨Ãàª×Íè Áµ Í i-Stamp à¾×Íè 㪠§Ò¹¡ÑºâÁ´ÙÅ SLCD16x2 㹡Ԩ¡ÃÃÁ·Õè 35
RELAY
NC C NO
138
l
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
35.2 à¢Õ¹â»Ãá¡ÃÁ·Õè A35-1 ºÑ¹·Ö¡ã¹ª×Íè ä¿Å ACT3501.BSX ´Òǹ âËÅ´ä»Âѧ i-Stamp Êѧࡵ¼Å ¡Ò÷íÒ§Ò¹·Õâè Á´ÙÅ SLCD16x2 '{$STAMP BS2sx} '{$PBASIC 2.5} '**************************************************** ' Program : Fun with serial LCD module ' Filename : ACT3501.BSX ' Processor : BASIC Stamp 2SX/i-Stamp ' Copyright (C) 2003 Innovative Experiment Co.,Ltd. '**************************************************** SO CON 15 ' Define SO as P15 I VAR Byte ' Define I as byte variable VALUE VAR Byte ' Define VALUE as byte variable DELAY CON 250 ' Define DELAY as 250ms ' Serial LCD module setting in standard mode, direct connect, ' baudrate 9600bps and 1/16 duty (2 lines) type PAUSE 1000 ' Delay for LCD initialize FOR I=0 TO 7 ' Set loop for write CGRAM 0-7 (1st Custom Character) LOOKUP I,[%00110,%01111,%11110,%11100,%11110, %01111,%00110,%00000],VALUE ' PACMAN Right face data SEROUT SO,240,5,[$FE,$40+I,VALUE] ' Write CGRAM 0-7 NEXT ' Do loop FOR I=8 TO 15 ' Set loop for write CGRAM 8-15 (2nd Custom Character) LOOKUP I-8,[%01100,%11110,%01111,%00111,%01111,%11110,%01100,%00000],VALUE ' PACMAN Left face data SEROUT SO,240,5,[$FE,$40+I,VALUE] ' Write CGRAM 8-15 NEXT ' Do loop MAIN: SEROUT SO,240,5,[$FE,$00]
' Clear Display
SEROUT SO,240,5,[$FE,$80,0," Mr.PACMAN "] ' Show PACMAN Right face and follwer message on 1st line SEROUT SO,240,100,[$FE,$C0," Now showing.. "] ' Show 2nd line message with 100ms delay PAUSE 2000 ' Delay 2s to show FOR I=0 TO 14 PAUSE DELAY SEROUT SO,240,[$FE,$80+I," ",0] NEXT PAUSE DELAY SEROUT SO,240,[$FE,$8F," "] PAUSE DELAY SEROUT SO,240,[$FE,$CF,1] FOR I=14 TO 0 PAUSE DELAY SEROUT SO,240,[$FE,$C0+I,1," "] NEXT PAUSE DELAY SEROUT SO,240,[$FE,$C0," "] PAUSE 1000 GOTO MAIN
' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '
Set loop 15 times Delay 250ms Delete previous PACMAN AND WRITE PACMAN TO NEXT right Do loop Delay 250ms Delete last PACMAN Delay 250ms Delete last PACMAN Set loop 15 times Delay 250ms Write PACMAN to next left AND delete previous PACMAN Do loop Delay 250ms Delete last PACMAN Delay 1s Jump to main
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
l
139
àÁ×Íè àÃÔÁè µ ¹·íÒ§Ò¹â»Ãá¡ÃÁ¨Ð˹ ǧàÇÅÒäÇ 1 ÇÔ¹Ò·Õ¡Í ¹ à¾×Íè ÃÍãË âÁ´ÙÅ SLCD16x2 µÑ§é ¤ ÒàÃÔÁè µ ¹ ÀÒÂã¹ãË àÊÃç¨àÊÕ¡ ͹ ¨Ò¡¹Ñ¹é ¡ç¨ÐࢠÒÊÙ¡ ÒÃà¢Õ¹ÍÑ¡¢ÃзÕÊè à ҧàͧâ´Â㪠CGRAM 0-7 à» ¹ÍÑ¡¢ÃзÕè 0 áÅÐ CGRAM 8-15 à» ¹ÍÑ¡¢ÃзÕè 1 à» ¹ÃÙ»µÑÇ PACMAN Ëѹ˹ Ò·Ò§¢ÇÒáÅÐËѹ˹ Ò·Ò§« ÒµÒÁÅíҴѺ ¨Ö§à¢ Ò ÊÙâ »Ãá¡ÃÁËÅÑ¡µ Íä» ã¹â»Ãá¡ÃÁËÅÑ¡Êѧè ãË à¤ÅÕÂà ˹ Ҩ͡ ͹ ¨Ò¡¹Ñ¹é à¢Õ¹¢ ͤÇÒÁ·Õáè Í´à´ÃÊ $00(¤íÒÊѧè ૵ DDRAM ¨Ðµ ͧ૵ºÔµ 7 à» ¹ 1 ´ Ç ¤ Ò·Õãè ª ·Òí ãË à» ¹ $80) â´ÂáÊ´§µÑÇ PACMAN Ëѹ˹ Ò·Ò§¢ÇÒ(«Ö§è ä´ à¢Õ¹ äÇ ã¹ÍÑ¡¢ÃзÕè 0 ¹Ñ¹è àͧ) µÒÁ´ Ç¢ ͤÇÒÁ Mr.PACMAN ¨¹¤ÃººÃ÷Ѵ 16 µÑÇ ¨Ò¡¹Ñ¹é à¢Õ¹¢ ͤÇÒÁã¹ ºÃ÷Ѵ·Õè 2"Now showing áµ ¨Ð·ÂÍÂÊ §ÁÒáÊ´§·ÕÅеÑÇ·Ø¡æ 100 ÁÔÅÅÔÇ¹Ô Ò·Õ áÅÐ˹ ǧàÇÅÒáÊ´§µ Íä» ÍÕ¡ 2 ÇÔ¹Ò·Õ µ Íä»â»Ãá¡ÃÁ¨ÐµÑ§é Åٻǹ·íÒ§Ò¹ 14 Ãͺ㹡ÒÃà¢Õ¹ãË µÇÑ PACMAN àÅ×Íè ¹¡Ô¹µÑÇÍÑ¡ÉÃä»·Ò§¢ÇÒ ¨¹ËÁ´ â´Â¨Ðà¢Õ¹ª ꤂ 񤁼µÑÇà´ÔÁ¡ ͹áŠǤ ÍÂà¢Õ¹µÑÇãËÁ 㹶Ѵ价ҧ¢ÇÒ â´Â¨Ð˹ ǧàÇÅÒ¤Ãѧé ÅÐ 250 ÁÔÅÅÔÇ¹Ô Ò·Õ áÅÐàÁ×Íè ¨º¡Ò÷íÒ§Ò¹ÅÙ»áÅ Ç ¨Ð·íÒ¡ÒÃźÍÑ¡ÉõÑÇÊØ´· Ò´ Ç ËÅѧ¨Ò¡¹Ñ¹é â»Ãá¡ÃÁ¨Ð ÁÒ·íҧҹ㹺Ã÷Ѵ·ÕÊè ᷹ͧ â´Â¨Ðà¢Õ¹µÑÇãËÁ ࢠÒä»·Ò§« Ò¡ ͹¨Ö§¤ ÍÂźµÑÇà´ÔÁ·Ô§é ¨º¤ÃºÅÙ» ¨Ò¡¹Ñ¹é ¡ç¨ÐźµÑÇàͧ໠¹Íѹ´ÑºÊØ´· Ò ¡ ͹¡ÅѺàÃÔÁè µ ¹áÊ´§ãËÁ Í¡Õ ¤Ãѧé
â»Ãá¡ÃÁ·Õè A35-1 â»Ãá¡ÃÁáÊ´§¢ ͤÇÒÁáÅÐÃÙ»ÀÒ¾º¹âÁ´ÙÅ SLCD16x2 â´Â㪠iStamp
à¡Ãç´à¾ÔÁè àµÔÁ l ¡ÒÃà¢Õ¹ÍÑ¡¢ÃСíÒ˹´àͧã¹â»Ãá¡ÃÁÁÕ㪠§Ò¹ 2 µÑÇ áµ ¼ãÙ ª ÊÒÁÒöà¢Õ¹à¾ÔÁ è àµÔÁä´ ä´ Ê§Ù
ÊØ´ 8 µÑÇ â´ÂÍÑ¡¢ÃÐáµ ÅеÑÇ ¨Ð㪠¾¹×é ·Õ¢è ͧ CGRAM ªØ´ÅÐ 8 亵 àÃÕ§¡Ñ¹µÒÁÅíҴѺ l 㹡ÒÃÊ §¢ ͤÇÒÁÂÒÇæ ¶ Ò»ÃѺ¾ÒÃÒÁÔàµÍà pace 㹤íÒÊѧè SEROUT ãË ÁÒ¡¢Ö¹ é ¡ÒÃáÊ´§ ¼Å¡ç¨Ðª Òŧ´ Ç l ·´ÅͧÊÑ§è §Ò¹¡ÑºâÁ´ÙÅ SLCD16x2 ´ ǤíÒÊѧè Í×¹ è æ ઠ¹ àÅ×Íè ¹à¤Íà à«Íà ËÃ×ÍàÅ×Íè ¹Ë¹ Ò¨Í ä»·Ò§« ÒÂ-¢ÇÒÊ §¤íÒÊѧè áÊ´§à¤Íà à«Íà ¡ÃоÃÔº ËÃ×ʹѺ˹ Ò¨Íŧ ÏÅÏ µÒÁ¤ÙÁ Í× ¢Í§âÁ´ÙÅ LCD
à·¤¹Ô¤à¾ÔÁè àµÔÁ l ¼Ùã ª ÊÒÁÒöà»ÅÕÂ è ¹ÍѵÃҺʹ㹡ÒÃÊ §¢ ÍÁÙÅà» ¹ 2,400 ºÔµµ ÍÇÔ¹Ò·Õä´ â´Âà»ÅÕÂè ¹¨ÑÁê à»ÍÃ
¢Í§âÁ´ÙÅ SLCD16x2 áÅÐà»ÅÕÂè ¹¤ Ò㹤íÒÊѧè SEROUT ¨Ò¡ 240 à» ¹ 1021 á·¹ l ¶ ÒàÅ×Í¡¨ÑÁ ê à»Íà ¢Í§âÁ´ÙÅ SLCD16x2 ãË ãª ¤Òí ÊÑ§è ¾ÔàÈÉ (Extended Mode) ¨Ð·íÒãË ¡Òà ÊÑ觧ҹ§ ÒÂáÅÐÊÑé¹¡Ç Òà´ÔÁ
140
l
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
¡ÒÃà¢Õ¹¢ ÍÁÙÅáÅФíÒÊѧè ä»Âѧ SLCD 㹡óÕàÅ×͡㪠ª´Ø ¤íÒÊѧè Áҵðҹ
¨Ðµ Í§Ê §ÃËÑÊàÃÔèÁµ ¹àÊÕ¡ ͹ 㹡óÕ㪠§Ò¹ SLCD ¡ÑºàºÊÔ¡áʵÁ» 2SX ¨Ð㪠¤íÒÊÑè§ SEROUT 㹡ÒÃÊ § ¢ ÍÁÙÅä»Âѧ SLCD ´Ñ§ÁÕû٠Ẻµ Í仹Õé SEROUT ¢Ò¾Íà µ, ¤ Ò baudmode, [$FE, ¢ ÍÁÙŤíÒÊѧè ] ¨Ðµ Í§Ê §ÃËÑÊàÃÔÁè µ ¹¢Í§¡ÒõԴµ ͡Ѻ SLCD «Ö§è ¡ç¤Í× $FE ËÃ×Í 254 ÃËÑʹÕàé » ¹ÃËÑÊÁҵðҹ¢Í§ âÁ´ÙÅ LCD ͹ءÃÁ¢Í§ Scott Edwards ¨Ò¡¹Ñ¹é Ê §¢ ÍÁÙŤíÒÊÑ§è ·Õµè Í §¡ÒõÒÁä»ä´ àÅ ÊíÒËÃѺ¡ÒÃà¢Õ¹¢ ÍÁÙÅáÊ´§¼Å ÁÕû٠Ẻ´Ñ§¹Õé SEROUT ¢Ò¾Íà µ, ¤ Ò baudmode, [$FE, 1, ¢ ÍÁÙÅáÊ´§¼Å] ઠ¹à´ÕÂǡѺ¡ÒÃà¢Õ¹¢ ÍÁÙŤíÒÊÑ§è µ Í§Ê §ÃËÑÊàÃÔÁè µ ¹ $FE ¡ ͹ µÒÁ´ Ç¢ ÍÁÙÅ 1 à¾×Íè ᨠ§ãË µÇÑ ¤Çº¤ØÁº¹ SLCD ·ÃÒºÇ Ò ¢ ÍÁÙÅËÅѧ¨Ò¡¹Õàé » ¹¢ ÍÁÙÅÊíÒËÃѺáÊ´§¼Å ¡ÒÃà¢Õ¹¢ ÍÁÙÅáÅФíÒÊѧè ä»Âѧ SLCD 㹡óÕàÅ×͡㪠ª´Ø ¤íÒÊѧè à¾ÔÁè àµÔÁ ÁÕÃٻẺ·Õè¤Å Ò ¡ÑºªØ´¤íÒÊѧè Áҵðҹ ᵡµ Ò§¡Ñ¹à¾Õ§äÁ ¨Òí à» ¹µ Í§Ê §ÃËÑÊàÃÔÁè µ ¹ $FE áÅÐäÁ µÍ §Ê §¢ ÍÁÙÅ 1 à¾×Íè á¡¢ ÍÁÙÅ ¤íÒÊÑ§è ¡Ñº¢ ÍÁÙÅÊíÒËÃѺáÊ´§¼Å à¾ÕÂ§ãª Ê Ñ Åѡɳ à¾×Íè ¡íÒ˹´¢ ÍÁÙÅÊíÒËÃѺáÊ´§¼Å෠ҹѹé 㹡óÕ㪠§Ò¹ ¡ÑºàºÊÔ¡áʵÁ» 2SX ¨Ð㪠¤Òí Êѧè SEROUT ઠ¹à´ÕÂǡѹ ÊíÒËÃѺ¢ ÍÁÙŤíÒÊѧè à¾ÔÁè àµÔÁÊÃØ»äÇ áÅ Ç㹡Ãͺá¡·Õè 2 ÃٻẺ¡ÒÃà¢Õ¹¤íÒÊѧè áÅТ ÍÁÙÅã¹âËÁ´¤íÒÊѧè à¾ÔÁè àµÔÁÁÕ´§Ñ ¹Õé SEROUT ¢Ò¾Íà µ, ¤ Ò baudmode, [ ¢ ÍÁÙŤíÒÊѧè ] áÅÐ SEROUT ¢Ò¾Íà µ, ¤ Ò baudmode, [ ¢ ÍÁÙÅáÊ´§¼Å ] µÑÇÍ ҧ·Õè 1 SEROUT 15,240,[129] Ê §¢ ÍÁÙŤíÒÊѧè ÍÍ¡ä»·Ò§¢Ò P15 ´ Ǻʹàõ 9600 ºÔµµ ÍÇÔ¹Ò·Õ áººµ Íâ´ÂµÃ§ à¾×Íè à¤ÅÕÂà ¨ÍáÊ´§¼Å µÑÇÍ ҧ·Õè 2 SEROUT 15,240,[ Hello Stamp! ] Ê §¢ ÍÁÙÅáÊ´§¼ÅÍÍ¡ä»·Ò§¢Ò P15 ´ Ǻʹàõ 9600 ºÔµµ ÍÇÔ¹Ò·Õ áººµ Íâ´ÂµÃ§ áÊ´§¢ ͤÇÒÁ Hello Stamp! µÑÇÍ ҧ·Õè 3 SEROUT 15,240,[154, Test Line 2 ] Ê觢 ÍÁÙÅáÊ´§¼ÅÍÍ¡ä»·Ò§¢Ò P15 ´ Ǻʹàõ 9600 ºÔµµ ÍÇÔ¹Ò·Õ áººµ Íâ´ÂµÃ§ à¾×Íè àÅ×Í¡áÍ´à´Ãʢͧ DDRAM µíÒá˹ § $40 Íѹ໠¹áÍ´à´ÃÊàÃÔÁè µ ¹¢Í§¨Í LCD ºÃ÷Ѵ·ÕÊè ͧ ÊíÒËÃѺáÊ´§¢ ͤÇÒÁ Test Line 2 Í ҧäáçµÒÁà¹×Íè §¨Ò¡ SLCD16x2 µ ͧ㪠àÇÅÒ㹡ÒûÃÐÁÇżŤíÒÊÑ§è ´Ñ§¹Ñ¹é ËÅѧ¨Ò¡¡ÒÃÊ §¢ ÍÁÙÅã¹ áµ ÅФÃÑ駤ÇÃ˹ ǧàÇÅÒ´ ǤíÒÊÑè§ PAUSE (㹡óÕ㪠¡ÑºàºÊÔ¡áʵÁ» 2SX) »ÃÐÁÒ³ 250-500 ÁÔÅÅÔÇÔ¹Ò·Õ ÊíÒËÃѺ¡Ã³ÕáÊ´§¢ ͤÇÒÁÍÒ¨µ ͧÁÕ¡ÒÃ˹ ǧàÇÅÒ¹Ò¹¡Ç ҹѹé à¾×Íè ãË ¼ãÙ ª §Ò¹ÊÒÁÒöÁͧàËç¹¢ ͤÇÒÁ·Õáè Ê´§ ¼Åä´ ·¹Ñ áÅЪѴਹ
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
141
l
¡Ãͺá¡·Õè 1 ¤íÒÊÑ§è ¤Çº¤ØÁâÁ´ÙÅ LCD ẺÁҵðҹ 1. ¤íÒÊѧè à¤ÅÕÂà ¨ÍáÊ´§¼Å ÁÕ¢ ÍÁÙŤíÒÊÑè§à» ¹ $1 à» ¹¤íÒÊÑè§à¢Õ¹¢ ÍÁÙŪ Í§Ç Ò§ËÃ×Í space ࢠÒä»ã¹Ë¹ ǤÇÒÁ¨íÒ¢ ÍÁÙÅÊíÒËÃѺáÊ´§¼ÅËÃ×Í DDRAM ÀÒÂã¹âÁ´ÙÅ LCD àÁ×Íè à¤ÅÕÂà ¨ÍáÊ´§¼ÅáÅ Ç ¨Ð¡íÒ˹´ãË à¤Íà à«Íà (cursor : ÊÑÅѡɳ ¾ÔàÈÉ·Õè㪠㹡ÒÃáÊ´§µíÒá˹ §ÊíÒËÃѺáÊ´§µÑÇ ÍÑ¡ÉâͧâÁ´ÙÅ LCD ºÒ§¤Ãѧé ÁÕÅ¡Ñ É³Ðà» ¹ÃÙ»ÊÕàè ËÅÕÂè Á¼×¹¼ Ò¢¹Ò´ 5x 7 ¨Ø´ËÃ×Íà» ¹¢Õ´ ÊÒÁÒöÊѧè ãË ¡Ð¾ÃÔºËÃ×ÍäÁ ¡äç ´ ) ¡ÅѺä»ÍÂÙ· Õè µíÒá˹ §« ÒÂÁ×ÍÊØ´¢Í§¨ÍáÊ´§¼Å 2. ¤íÒÊѧè Return Home ÁÕ¤Ò ¢Í§¢ ÍÁÙÅ෠ҡѺ $2 ËÃ×Í $3 ¡çä´ (á¹Ð¹íÒãË ãª $2) à» ¹¡ÒáíÒ˹´ãË à¤Íà à«Íà ä»áÊ´§ÂѧµíÒá˹ §« ÒÂÊØ´¢Í§¨ÍáÊ´§ ¼Å â´Â¢ ÍÁÙÅ·Õáè Ê´§ÍÂÙã ¹º¹¨ÍáÊ´§¼Å¨ÐäÁ Á¡Õ ÒÃà»ÅÕÂè ¹á»Å§ 3. ¤íÒÊѧè àÅ×Í¡âËÁ´¡Òû ͹¢ ÍÁÙÅ (Entry mode set) ÁÕÃٻẺ¤íÒÊÑ觴ѧ¹Õé
ºÔµ 7 ºÔµ 6 ºÔµ 5 ºÔµ 4 ºÔµ 3 ºÔµ 2 ºÔµ 1 ºÔµ 0 0
0
0
0
0
1
I/D
S
ºÔµ I/D 㪠㹡ÒáíÒ˹´Ç Ò àÁ×Íè à¢Õ¹ËÃ×ÍÍ Ò¹¢ ÍÁÙÅáÅ Ç ·íÒãË áÍ´ à´Ãʢͧ˹ ǤÇÒÁ¨íÒáÊ´§¼Å (DDRAM) à¾ÔÁè ËÃ×ÍŴŧ 0 áÍ´à´ÃÊŴŧ 1 áÍ´à´ÃÊ 1 áÍ´à´ÃÊà¾ÔÁè ¢Ö¹é 1 áÍ´à´ÃÊ ºÔµ S 㪠¡Òí ˹´ÅѡɳСÒÃáÊ´§¼Å 0 àÁ×Íè à¡Ô´µÑÇÍÑ¡ÉÃãËÁ à¤Íà à«Íà àÅ×Íè ¹ä»·Ò§¢ÇÒÁ×Í 1 àÁ×Íè à¡Ô´µÑÇÍÑ¡ÉÃãËÁ à¤Íà à«Íà ÍÂÙ· àÕè ´ÔÁ áµ µÇÑ ÍÑ¡Éà àÅ×Íè ¹ä»·Ò§« Ò ·Õ¹è ÂÔ Á㪠ÁÒ¡·ÕÊè ´Ø ¤×Í ¢ ÍÁÙŤíÒÊѧè $6 ËÁÒ¶֧ ¡íÒ˹´ãË àÁ×Íè à¡Ô´ ¢ ÍÁÙÅãËÁ à¤Íà à«Íà ¨ÐàÅ×Íè ¹ä»·Ò§¢ÇÒÁ×Í áÅÐáÍ´à´Ãʢͧ˹ Ç ¤ÇÒÁ¨íÒÊíÒËÃѺáÊ´§¼Å¨Ðà¾ÔèÁ¢Öé¹ 4. ¤íÒÊÑ§è ¤Çº¤ØÁ¡ÒÃáÊ´§¼Å ÁÕÃٻẺ¤íÒÊÑ觴ѧ¹Õé
ºÔµ 7 ºÔµ 6 ºÔµ 5 ºÔµ 4 ºÔµ 3 ºÔµ 2 ºÔµ 1 ºÔµ 0 0
0
0
0
1
D
C
B
ºÔµ D 㪠¤Çº¤ØÁ¡ÒÃà» ´» ´¨ÍáÊ´§¼Å ¶ Òà» ¹ 0 à» ¹¡Òû ´¨Í áÊ´§¼Å ¶ Òà» ¹ 1 à» ¹¡ÒÃà» ´¨ÍáÊ´§¼Å ºÔµ C 㪠¤Çº¤ØÁ¡ÒÃáÊ´§µÑÇà¤Íà à«Íà º¹¨ÍáÊ´§¼Å ¶ Òà» ¹ 0 à» ¹¡Òû ´µÑÇà¤Íà à«Íà ËÃ×ÍäÁ áÊ´§à¤Íà à«Íà ¶ Òà» ¹ 1 à» ¹¡Òà áÊ´§µÑÇà¤Íà à«Íà ºÔµ B 㪠¤Çº¤ØÁ¡ÒáоÃÔº¢Í§à¤Íà à«Íà ¶ Òµ ͧ¡ÒÃãË à¤Íà à«Íà ¡Ð¾ÃÔº µ ͧ¡íÒ˹´ãË à» ¹ 1
¤íÒÊÑ§è ·Õãè ª ºÍ ¤×Í $0C à» ¹¡ÒÃÊѧè ãË à» ´¨ÍáÊ´§¼Å áµ äÁ áÊ´§ à¤Íà à«Íà áÅÐ $0F à» ¹¡ÒÃÊѧè ãË à» ´¨ÍáÊ´§¼Å áÊ´§à¤Íà à«Íà áÅÐÊÑè§ãË à¤Íà à«Íà ¡Ð¾ÃÔº 5. ¤íÒÊÑ§è ¤Çº¤ØÁ¡ÒÃàÅ×Íè ¹à¤Íà à«Íà áÅеÑÇÍÑ¡Éà ÁÕû٠Ẻ´Ñ§¹Õé
ºÔµ 7 ºÔµ 6 ºÔµ 5 ºÔµ 4 ºÔµ 3 ºÔµ 2 ºÔµ 1 ºÔµ 0 0
0
0
1
S/C
R/L
*
*
¡ÒÃàÅ×Íè ¹à¤Íà à«Íà áÅеÑÇÍÑ¡Éâֹé ÍÂÙ¡ ºÑ ¡ÒáíÒ˹´ºÔµ S/C áÅÐ R/L «Ö§è ÊÒÁÒöÊÃØ»ä´ ´§Ñ ¹Õé S/C R/L ÅѡɳСÒÃàÅ×è͹ ¢ ÍÁÙŤíÒÊѧè 0 0 àÅ×Íè ¹à¤Íà à«Íà 价ҧ« Ò $10-$13 0 1 àÅ×è͹à¤Íà à«Íà 价ҧ¢ÇÒ $14-$17 1 0 àÅ×è͹µÑÇÍÑ¡ÉÃãËÁ ä»·Ò§« Ò $18-$1B 1 1 àÅ×è͹µÑÇÍÑ¡ÉÃãËÁ ä»·Ò§¢ÇÒ $1C-$1F 6. ¤íÒÊÑ§è ¡íÒ˹´¿ §¡ ª¹Ñè ¡Ò÷íÒ§Ò¹ à» ¹¤íÒÊÑ§è ·ÕÁè ¤Õ ÇÒÁÊíÒ¤ÑÁÒ¡·ÕÊè ´Ø ÍÕ¡¤íÒÊѧè ˹֧è ÁÕû٠Ẻ¢Í§¢ ÍÁÙÅ ¤íÒÊÑ觴ѧ¹Õé
ºÔµ 7 ºÔµ 6 ºÔµ 5 ºÔµ 4 ºÔµ 3 ºÔµ 2 ºÔµ 1 ºÔµ 0 0
0
1
DL
N
F
*
*
ºÔµ DL 㪠㹡ÒáíÒ˹´¨íҹǹºÔµã¹¡ÒõԴµ ͡ѺâÁ´ÙÅ LCD 0 ¡íÒ˹´ãË ·Òí §Ò¹ã¹âËÁ´ 4 ºÔµ 1 ¡íÒ˹´ãË ·Òí §Ò¹ã¹âËÁ´ 8 ºÔµ ºÔµ N 㪠¡Òí ˹´¨íҹǹºÃ÷Ѵ·Õµè Í §¡ÒÃãË áÊ´§¼Å 0 áÊ´§¼Å 1 ºÃ÷Ѵ 1 áÊ´§¼Å 2 ºÃ÷ѴËÃ×ÍÁÒ¡¡Ç Ò ºÔµ F 㪠àÅ×Í¡¤ÇÒÁÅÐàÍÕ´¢Í§µÑÇÍÑ¡ÉÃ㹡ÒÃáÊ´§¼Å 0 áÊ´§¼ÅẺ 5x7 ¨Ø´ 1 áÊ´§¼ÅẺ 5x10 ¨Ø´
142
l
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
¡Ãͺá¡·Õè 2 ¤íÒÊÑ§è ¤Çº¤ØÁ SLCD ã¹âËÁ´¤íÒÊѧè à¾ÔÁè àµÔÁ ¡Ò÷íÒ§Ò¹ ¢ ÍÁÙŤíÒÊÑè§ ÍÔ¹ÔàªÕÂÅ LCD 142 à¤ÅÕÂà ¨ÍáÊ´§¼Å 143 ¡ÅѺÁÒµíÒá˹ §àÃÔèÁµ ¹ 144 à¤Íà à«Íà äÁ àÅ×Íè ¹àÁ×Íè ÁÕÍ¡Ñ ÉÃãËÁ 145 à¤Íà à«Íà àÅ×è͹价ҧ¢ÇÒàÁ×èÍÁÕÍÑ¡ÉÃãËÁ 146 à¤Íà à«Íà àÅ×è͹价ҧ« ÒÂàÁ×èÍÁÕÍÑ¡ÉÃãËÁ 147 à» ´¨ÍáÊ´§¼Å 148 » ´¨ÍáÊ´§¼Å 149 à» ´¨ÍáÊ´§¼ÅáÅÐáÊ´§à¤Íà à«Íà 150 à» ´¨ÍáÊ´§¼ÅáÅÐà¤Íà à«Íà ¡Ð¾ÃÔº 151 àÅ×è͹à¤Íà à«Íà 价ҧ« Ò 152 àÅ×è͹à¤Íà à«Íà 价ҧ¢ÇÒ 153 àÅ×è͹µÑÇÍÑ¡ÉÃãËÁ ä»·Ò§« Ò 154 àÅ×è͹µÑÇÍÑ¡ÉÃãËÁ ä»·Ò§¢ÇÒ 155 156
¡Ò÷íÒ§Ò¹ à¢Õ¹ CGRAM áÍ´à´ÃÊ 0 à¢Õ¹ CGRAM áÍ´à´ÃÊ 1 à¢Õ¹ CGRAM áÍ´à´ÃÊ 2 à¢Õ¹ CGRAM áÍ´à´ÃÊ 3 à¢Õ¹ CGRAM áÍ´à´ÃÊ 4 à¢Õ¹ CGRAM áÍ´à´ÃÊ 5 à¢Õ¹ CGRAM áÍ´à´ÃÊ 6 à¢Õ¹ CGRAM áÍ´à´ÃÊ 7 àÅ×Í¡ DDRAM áÍ´à´ÃÊ $00 àÅ×Í¡ DDRAM áÍ´à´ÃÊ $10 àÅ×Í¡ DDRAM áÍ´à´ÃÊ $14 àÅ×Í¡ DDRAM áÍ´à´ÃÊ $20 àÅ×Í¡ DDRAM áÍ´à´ÃÊ $40 àÅ×Í¡ DDRAM áÍ´à´ÃÊ $50 àÅ×Í¡ DDRAM áÍ´à´ÃÊ $54
*See note
¢ ÍÁÙŤíÒÊÑè§ 128 129 130 131 132 133 134 135 136 137 138 139 140 141
ÃÙ»áÊ´§¢ ÍÁÙŢͧµÑÇÍÑ¡É÷Õàè ¡çºÍÂÙ㠹˹ ǤÇÒÁ¨íÒÃÍÁà¡çºµÑÇÍÑ¡ÉÃËÃ×Í CGROM ¢Í§âÁ´ÙÅ LCD «Ö§è ¼Ùã ª §Ò¹ÊÒÁÒöàÃÕ¡ÍÍ¡ÁÒ㪠§Ò¹µÒÁµ ͧ¡ÒÃ
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
l
143
¡Ô¨¡ÃÃÁ·Õè 36 : ¹ÒÌ ¡Ò¨ÑºàÇÅÒ à» ¹¡Ô¨¡ÃÃÁµ Íà¹×Íè §·Õáè Ê´§ãË àË繶֧¡ÒÃ㪠»ÃÐ⪹ ¨Ò¡¡ÒÃáÊ´§¼Å¢Í§âÁ´ÙÅ SLCD16x2 â´Â·íҧҹà ÇÁ¡Ñº i-Stamp, ÊÇÔµª áÅÐÅíÒ⾧ ¡ç¨Ðä´ Ê§Ôè »ÃдÔÉ° ãËÁ ¹¹Ñè ¤×Í ¹ÒÌ ¡Ò¨ÑºàÇÅÒ©ºÑº àºÊÔ¡áʵÁ» ·ãÕè ª §Ò¹ä´ ¨ÃÔ§ â´Â¹ÒÌ ¡Ò¨ÑºàÇÅҪش¹ÕÊé ÒÁÒö¹ÑºàÇÅÒÊÙ§ÊØ´ 1 ªÑÇè âÁ§ áÊ´§¤ Ңͧ àÇÅÒáÅТ ͤÇÒÁº¹âÁ´ÙÅ SLCD16x2 ã¹Ë¹ Ç¢ͧ¹Ò·Õ 2 ËÅÑ¡ áÅÐ˹ Ç¢ͧÇÔ¹Ò·Õ 2 ËÅÑ¡ ¤Ñ¹è ´ ÇÂà¤Ã×èͧËÁÒ : (MM:SS) 㹡ÒÃÊÑ觧ҹ㪠ÊÇÔµª ÊÑ觧ҹ 2 µÑǤ×ÍÊÇÔµª START à» ¹µÑÇÊÑè§ãË ¹ÒÌ ¡Ò¨ÑºàÇÅÒàÃÔÁè ¹ÑºËÃ×ÍËÂØ´¹Ñº Ê Ç¹ÊÇÔµª CLAER ·íÒ˹ Ò·Õàè ¤ÅÕÂà ¤Ò àÇÅÒãË à» ¹ÈÙ¹Â
ÇÔ¸Õ¡Òà 36.1 㪠ǧ¨Ãã¹ÃÙ»·Õè A36-1 㹡Ò÷´Åͧ ¾Ã ÍÁ·Ñ§é µ Í SLCD16x2 ࢠҷդè ͹à¹ç¡àµÍà SERIAL DATA 36.2 à¢Õ¹â»Ãá¡ÃÁ·Õè A36-1 ºÑ¹·Ö¡à» ¹ä¿Å ACT3601.BSX ´Òǹ âËÅ´ä»Âѧ i-Stamp 36.3 ·´Åͧ¡´ÊÇÔµª S1 ·Õµè Í ÍÂÙ¡ ºÑ ¢Ò P8 áÅÐ S2 ·Õµè Í ÍÂÙ¡ ºÑ ¢Ò P9 áÅ ÇÊѧࡵ¡Ò÷íÒ§Ò¹¢Í§Ç§¨Ã áÅСÒÃáÊ´§¼Å¢Í§âÁ´ÙÅ SLCD16x2 àÁ×Íè ¡´ÊÇÔµª S1 ·Õµè Í ¡Ñº¢Ò¾Íà µ P8 ¨Ðä´ Â¹Ô àÊÕ§ᨠ§¡ÒÃàÃÔÁè µ ¹¨ÑºàÇÅÒ ¤ ÒàÇÅÒ·Õâè Á´ÙÅ SLCD ¨Ðà¾ÔÁè ¢Ö¹é ¶ ÒËÒ¡¡´ S1 «éÒí àÇÅÒ¨ÐËÂØ´ áÅШÐàÃÔÁè ¨ÑºàÇÅÒµ ÍàÁ×Íè ¡´ÊÇÔµª S1 «éÒí ¶ Ò¡´ ÊÇÔµª S2 «Ö§è µ ͡Ѻ¢Ò¾Íà µ P9 ¤ ÒàÇÅҷѧé ËÁ´¨Ð¡ÅÒÂà» ¹Èٹ +5V +5V 21
i-Stamp
22 RST 23 GND
SW1 RESET
P15
R1 10k 20
+5V RP1/4 4k7
RP2/4 4k7 R1 220
13 14
P8 P9
R2 220
S1 (P8) START
S2 (P9) CLEAR
ÃÙ»·Õè A36-1 ǧ¨Ã¹ÒÌ ¡Ò¨ÑºàÇÅҤǺ¤ØÁ´ Ç i-Stamp áÊ´§¼Å¼ Ò¹âÁ´ÙÅ SLCD16x2
144
l
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
'{$STAMP BS2sx} '{$PBASIC 2.5} '**************************************************** ' Program : Basic stopwatch ' Filename : ACT3601.BSX ' Processor : BASIC Stamp 2SX/i-Stamp ' Copyright (C) 2003 Innovative Experiment Co.,Ltd. '**************************************************** SO I TIME SW_VAR1 SW_VAR2 SW_START SW_CLEAR START
CON VAR VAR VAR VAR CON CON VAR
15 Byte Word Byte Byte 8 9 Bit
' ' ' ' ' ' ' '
Define Define Define Define Define Define Define Define
SO as P15 I as byte variable TIME as word variable SW_VAR1 as byte variable SW_VAR2 as byte variable SW_UP as P8 input SW_CLEAR as P9 input START as bit variable
' Serial LCD module setting in standard mode, direct connect, ' baudrate 9600bps and 1/16 duty (2 lines) type PAUSE 1000 SEROUT SO,240,5,[$FE,$00]
' Delay for LCD initialize ' Clear SLCD display
SEROUT SO,240,5,[$FE,$80,"1 Hour stopwatch"] ' Show title at 1st line SEROUT SO,240,5,[$FE,$C0," Time : : "] ' Show current status at 2nd line TIME=0 GOSUB MAIN:
SHOW_TIME
' Clear time to 00:00 ' Show counter
BUTTON SW_START,0,255,0,SW_VAR1,1,START_STOP ' Check switch P8, START/STOP BUTTON SW_CLEAR,0,255,0,SW_VAR2,1,CLEAR_TIME ' Check switch P9, CLEAR IF START=0 THEN MAIN
' Back to main if stop
FOR I=1 TO 100 ' Set loop 100 times PAUSE 10 ' time base 10ms BUTTON SW_START,0,255,0,SW_VAR1,1,START_STOP ' Check switch P8, START/STOP in delay loop NEXT ' Do loop IF (TIME//100)//60<>59 THEN INC_TIME ' Check 2 lower digit TIME=TIME+41 ' Add 41 for increase IF TIME//6000<>0 THEN SHOW_NEXT ' Check minute TIME=0 ' Clear time to 00:00 GOTO SHOW_NEXT ' Jump to SHOW_NEXT INC_TIME: TIME=TIME+1 SHOW_NEXT: GOSUB SHOW_TIME GOTO MAIN
' Increase time ' Show time ' Jump to main
= 59? miniute added = 6000? if overflow
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
START_STOP:
CLEAR_TIME:
SHOW_TIME:
FREQOUT12,1000,1250 START=~START GOTO MAIN FREQOUT12,700,1250 FREQOUT12,700,1250 TIME=0 GOSUB SHOW_TIME GOTO MAIN
l
145
' Complament statr/stop status ' Jump to main
' Clear time to 00:00 ' Show time ' Jump to main
FOR I=3 TO 2 ' Set loop from 3 downto 2 SEROUT SO,240,[$FE,$C9+(3-I),(TIME DIG I)+$30] ' Send minutes in 2 digits ASCII format NEXT ' Do loop FOR I=1 TO 0 ' Set loop from 1 downto 0 SEROUT SO,240,[$FE,$CC+(1-I),(TIME DIG I)+$30] ' Send seconds in 2 digits ASCII format NEXT ' Do loop RETURN ' Return to main
â»Ãá¡ÃÁ¨Ð¤ÍµÃǨÊͺÊÇÔµª ·§Ñé ÊͧµÑÇÇ ÒÁÕ¡Òá´ËÃ×ÍäÁ ¶ ÒÊÇÔµª ·µÕè Í ¡Ñº P8 ¶Ù¡¡´ â»Ãá¡ÃÁ ¡ç¨Ð૵á¿Å¡ START à¾×Íè ࢠÒÊÙâ »Ãá¡ÃÁàÃÔÁè ¹ÑºàÇÅÒ â´Âã¹Ê ǹ¢Í§â»Ãá¡ÃÁ¹ÑºàÇÅÒ¨ÐãË ¡ÒÃ˹ ǧàÇÅÒ 10 ÁÔÅÅÔÇ¹Ô Ò·Õà» ¹°Ò¹àÇÅÒËÅÑ¡ áÅÐǹÅÙ» 100 ÃͺãË à» ¹ 1 ÇÔ¹Ò·Õ¹¹Ñè àͧ â´Â¨ÐÁÕ¡ÒõÃǨÊͺÊÇÔµª ·Õµè Í ¡Ñº¢Ò P9 à¾×Íè ¡àÅÔ¡ä´ ´Ç  ËÅѧ¨Ò¡·ÕËè ¹ ǧàÇÅҤúáÅ Ç â»Ãá¡ÃÁ¨ÐµÃǨÊͺ¤ ÒàÇÅÒ» ¨¨Øº¹Ñ ¡ ͹·Õ¨è Ðà¾ÔÁè ¤ Ò ¶ Ò¤ ÒäÁ ෠ҡѺ 59 ¡ç¨Ðà¾ÔÁè ¤ ÒÍÕ¡ 1 µÒÁ»¡µÔáÅÐǹ¡ÅѺ价íÒâ»Ãá¡ÃÁËÅÑ¡ÍÕ¡¤Ãѧé ˹֧è áµ ¶Ò ¤ ÒÇÔ¹Ò·Õ¹¹Ñé ¶Ö§ 59 ÇÔ¹Ò·Õ áÅ Çâ»Ãá¡ÃÁ¡ç¨Ðà¾ÔÁè ¤ ÒÍÕ¡ 41 à¾×Íè à¾ÔÁè ¤ Òã¹ËÅÑ¡Ã ÍÂËÃ×ÍËÅÑ¡·Õàè ¡çº¤ Ңͧ¹Ò·Õ¹¹Ñé àͧ áÅж Ò¤ Ò·Õàè ¾ÔÁè ¹Ñ¹é ÁÕ¤Ò à» ¹ 6000 áÊ´§Ç ҨѺàÇÅҤú 1 ªÑÇè âÁ§áÅ Ç â»Ãá¡ÃÁ¡ç¨Ð»ÃѺ¤ ÒãË ¡ÅѺÁÒàÃÔÁè µ ¹·Õè 0 ãËÁ â´Â µÅÍ´¡Ò÷íÒ§Ò¹¹Ñ¹é ¶ ÒÁÕ¡Òá´ÊÇÔµª ·µÕè Í ¡Ñº¢Ò¾Íà µ P8 àÇÅÒ·Õ¹è ºÑ ÍÂÙ¡ ¨ç ÐËÂشŧ áÅж Ò¡´ÊÇÔµª ·µÕè Í ¡Ñº¢Ò¾Íà µ P9 ´ Ç ¤ Ò·ÕÁè ÍÕ ÂÙ¡ ¨ç ж١źãË ¡ÅÒÂà» ¹ 0 à¾×Íè àÃÔÁè ¹ÑºãËÁ ·¡Ø ¤ÃÑ§é ·ÕÁè ¡Õ ÒÃà»ÅÕÂè ¹á»Å§àÇÅÒ äÁ ÇÒ ¨Ð¹Ñºà¾ÔÁè ËÃ×Íà¤ÅÕÂà ¤Ò ¨ÐÁÕ¡ÒÃàÃÕ¡â»Ãá¡ÃÁ ÍÂà¾×Íè áÊ´§àÇÅÒ¤ ÒãËÁ ·¡Ø ¤ÃÑ§é ·íÒãË ¤Ò ·Õàè Ëç¹¹Ñ¹é ¶Ù¡ µ ͧµÅÍ´àÇÅÒ¢³Ð·Õè·íÒ§Ò¹ÍÂÙ
â»Ãá¡ÃÁ·Õè A36-1 â»Ãá¡ÃÁ¹ÒÌ ¡Ò¨ÑºàÇÅÒẺ´Ô¨µÔ ÍÅâ´Â㪠i-Stamp
à¡Ãç´à¾ÔÁè àµÔÁ
¡ÒÃáÊ´§¤ ҢͧàÇÅҢͧâ»Ãá¡ÃÁ Ạ§ÍÍ¡à» ¹ 2 Ê Ç¹¤×Í ¹Ò·ÕáÅÐÇÔ¹Ò·Õ á¡áÍ´à´ÃÊ ã¹¡Ò÷íÒ§Ò¹ÍÍ¡¨Ò¡¡Ñ¹ â´Â 2 ËÅѡ˹ Ò㪠áÊ´§¤ Òà» ¹¹Ò·Õ áÅÐ 2 ËÅÑ¡¶Ñ´ÁÒà» ¹¤ ҢͧÇÔ¹Ò·Õ â´ÂÁÕà¤Ã×Íè §ËÁÒ : ¤Ñ¹è ÃÐËÇ Ò§¤ Ңͧ¹Ò·ÕáÅÐÇÔ¹Ò·Õ l
㹡ÒèѺàÇÅÒ·íÒä´ â´Âá¿Å¡ START «Ö§è ¨Ð¶Ù¡ÊÅѺʶҹзء¤Ãѧé àÁ×Íè ¡´ÊÇÔµª P8 áÅÐ àÁ×Íè ·íÒ§Ò¹áÅ Ç ¨ÐÁÕ¡ÒõÃǨÊͺÊÇÔµª P8 ã¹ÅÙ»¡Ò÷íҧҹ˹ ǧàÇÅÒ 1 ÇÔ¹Ò·Õ´Ç Â ÍѵÃÒÊØÁ 10 ÁÔÅÅÔÇ¹Ô Ò·Õ´Ç Â à¾×Íè ãË ÊÒÁÒöËÂØ´ä´ ·¹Ñ ·Õ·ÁÕè ¡Õ Òá´ÊÇÔµª l
146
l
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
¡Ô¨¡ÃÃÁ·Õè 37 : à¤Ã×Íè §µÑ§é àÇÅÒ 0-255 ÇÔ¹Ò·Õ ¨Ò¡¹ÒÌ ¡Ò¨ÑºàÇÅÒ㹡Ԩ¡ÃÃÁ·Õè 36 à¾Õ§ᡠä¢â»Ãá¡ÃÁà¾×Íè Êà ҧ°Ò¹àÇÅÒ áÅÐà¾ÔÁè ÊÇÔµª ÍÕ¡ 2 µÑÇÃÇÁà» ¹ 4 µÑÇ ¡ç¨Ðä´ â¤Ã§§Ò¹ãËÁ ¤Í× à¤Ã×Íè §µÑ§é àÇÅÒ 0-255 ÇÔ¹Ò·Õ ·Õáè Ê´§¼Åà» ¹µÑÇàÅ¢ ´ ÇÂâÁ´ÙÅ SLCD áÅд ǤÇÒÁÃ٠㹡ÒÃÊà ҧ°Ò¹àÇÅÒ¨Ò¡¡Ô¨¡ÃÃÁ¹ÕéÂѧÊÒÁÒö¹íÒä»´Ñ´á»Å§ â»Ãá¡ÃÁÍÕ¡àÅ硹 Í à¾×Íè à¾ÔÁè àÇÅÒà» ¹ 0-255 ¹Ò·Õä´ ´Ç  à¤Ã×Íè §µÑ§é àÇÅÒ¹ÕÁé ÊÕ ÇÔµª ʧÑè §Ò¹ 4 µÑǤ×Í START (S1) Êѧè ãË ¹ÒÌ ¡ÒàÃÔÁè ¹Ñº¶ÍÂËÅѧ (Start) RESET (S2) 㪠¡àÅÔ¡¹ÒÌ ¡Ò¾Ã ÍÁ¡Ñº¤×¹¤ ҢͧàÇÅÒ·Õµè §Ñé àÍÒäÇ ¡Í ¹Ë¹ Ò¹Õ¡é ÅѺÁÒ (Reset) UP (S3) ·íÒ˹ Ò·Õàè ¾ÔÁè ¤ ҵѧé àÇÅÒ (Increase) DOWN (S4) ·íÒ˹ Ò·ÕÅè ´¤ ҵѧé àÇÅÒ (Decrease) â´Â·Ñ§é ÊÇÔµª ·Õè S3 áÅÐ S4 ÊÒÁÒö¡´¤ Ò§ãË à»ÅÕÂè ¹¤ Òµ Íà¹×Íè §ä´
ÇÔ¸Õ¡Òà 37.1 㪠ǧ¨Ãã¹ÃÙ»·Õè A37-1 㹡Ò÷´Åͧ ¾Ã ÍÁ·Ñ§é µ Í SLCD16x2 ࢠҷդè ͹à¹ç¡àµÍà SERIAL DATA +5V +5V 21
i-Stamp
22 RST 23 GND
SW1 RESET
P15
R1 10k 20
+V
+5V
RP4/4 4k7
RP3/4 4k7
RP2/4 4k7
RP1/4 4k7 R4 R3 R2 R1
16
LED1 RY R13 1k5
P11
15 P10 14 P9 13 P8
18
NO NC CONTACT 250V. 5A.
8
9
P13
NC NC COM NC
10
R1-R4 220 x4
S4 (P11) S3 (P10) S2 (P9) S1 (P8) DOWN UP RESET START
RY1 RELAY 12V.
7 IC1 ULN2003
ÃÙ»·Õè A36-1 ǧ¨Ã¹ÒÌ ¡Ò¨ÑºàÇÅҤǺ¤ØÁ´ Ç i-Stamp áÊ´§¼Å¼ Ò¹âÁ´ÙÅ SLCD16x2
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
l
147
'{$STAMP BS2sx} '{$PBASIC 2.5} '**************************************************** ' Program : 0-255 seconds timer ' Filename : ACT3702.BSX ' Processor : BASIC Stamp 2SX/i-Stamp ' Copyright (C) 2003 Innovative Experiment Co.,Ltd. '**************************************************** SPK CON 12 ' Define SPK as P12 RELAY CON 13 ' Define P13 as RELAY SO CON 15 ' Define SO as P15 I VAR Byte ' Define I as byte variable TIMER_SET VAR Byte ' Define TIMER_SET as byte variable TIMER VAR Byte ' Define TIMER as byte variable SW_VAR1 VAR Byte ' Define SW_VAR1 as byte variable SW_VAR2 VAR Byte ' Define SW_VAR2 as byte variable SW_VAR3 VAR Byte ' Define SW_VAR3 as byte variable SW_VAR4 VAR Byte ' Define SW_VAR4 as byte variable SW_DOWN CON 11 ' Define SW_DOWN as P11 input SW_UP CON 10 ' Define SW_UP as P10 input SW_CLEAR CON 9 ' Define SW_CLEAR as P9 input SW_START CON 8 ' Define SW_START as P8 input START VAR Bit ' Define START as bit variable ' Serial LCD module setting in standard mode, direct connect, ' baudrate 9600bps and 1/16 duty (2 lines) type OUTPUT RELAY ' Set P13 as output PAUSE 1000 ' Delay for LCD initialize SEROUT SO,240,5,[$FE,$00] ' Clear Display SEROUT SO,240,5,[$FE,$80,"0-255 sec. Timer"] ' Show title at 1st line SEROUT SO,240,5,[$FE,$C0," Time : sec."] ' Show current status at 2nd line TIMER=60 ' Set defalut timer = 60s. TIMER_SET=60 ' Backup setting timer GOSUB SHOW_TIME ' Show counter MAIN: BUTTON SW_DOWN,0,250,100,SW_VAR1,1,DEC_TIMER ' Check switch P11, decrease timer set BUTTON SW_UP,0,250,100,SW_VAR2,1,INC_TIMER ' Check switch P10, increase timer set BUTTON SW_CLEAR,0,255,0,SW_VAR3,1,CANCEL ' Check switch P9, cancel timer BUTTON SW_START,0,255,0,SW_VAR4,1,TIMER_ON ' Check switch P8, start timer IF START=0 THEN MAIN ' Back to main if stop FOR I=1 TO 100 ' Set loop 100 times PAUSE10 ' time base 10ms BUTTON SW_CLEAR,0,255,0,SW_VAR3,1,CANCEL ' Check switch P9, cancel in delay loop NEXT ' Do loop
â»Ãá¡ÃÁ·Õè A37-1 à¤Ã×Íè §µÑ§é àÇÅÒ 0-255 ÇÔ¹Ò·Õ ¤Çº¤ØÁâ´Â㪠i-Stamp (ÁÕµÍ )
148
l
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
TIMER=TIMER-1 GOSUB SHOW_TIME IF TIMER<>0 THEN MAIN FOR I=1 TO 3 FREQOUT SPK,1250,1600 PAUSE100 NEXT HIGH RELAY START=0 GOTO MAIN
' ' ' ' ' ' ' ' ' '
Decrease timer Show timer remain Check timeout? Set loop 3 times Send beep tone Delay Do loop On relay Clear START bit Jump to main
TIMER_ON: FREQOUT12,1000,1250 START=1 IF OUT13=0 THEN MAIN LOW RELAY GOTO MAIN
' ' ' '
Set START bit Check relay still on? If on, off relay before restart again Jump to main
CANCEL: FREQOUT12,700,1250 FREQOUT12,700,1250 START=0 LOW RELAY TIMER=TIMER_SET GOSUB SHOW_TIME
' ' ' '
Clear START bit Off relay Restore last setting value Show time
GOTO
MAIN
INC_TIMER: FREQOUT12,1000,1250 TIMER=TIMER+1 GOTO SHOW_NEXT DEC_TIMER: FREQOUT12,1000,1250 TIMER=TIMER-1 SHOW_NEXT: GOSUB SHOW_TIME TIMER_SET=TIMER GOTO MAIN
' Jump to main
' Increase timer setting ' Jump to SHOW_NEXT
' Decrease timer setting ' Show time ' Backup setting value ' Jump to main
SHOW_TIME: FOR I=2 TO 0 ' Set loop from 2 downto 0 SEROUT SO,240,[$FE,$C8+(2-I),(TIMER DIG I)+$30] ' Send seconds in 3 digits ASCII format NEXT ' Do loop RETURN ' Return to main
â»Ãá¡ÃÁ·Õè A37-1 à¤Ã×Íè §µÑ§é àÇÅÒ 0-255 ÇÔ¹Ò·Õ ¤Çº¤ØÁâ´Â㪠i-Stamp (¨º)
à» ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX
l
149
37.2 à¢Õ¹â»Ãá¡ÃÁ·Õè A37-1 ºÑ¹·Ö¡à» ¹ä¿Å ACT3701.BSX ´Òǹ âËÅ´ä»Âѧ i-Stamp 37.3 ·´Åͧ¡´ÊÇÔµª S1-S4 áÅ ÇÊѧࡵ¡Ò÷íÒ§Ò¹¢Í§Ç§¨ÃáÅСÒÃáÊ´§¼Å¢Í§âÁ´ÙÅ SLCD16x2 àÁ×Íè àÃÔÁè ·íÒ§Ò¹ ˹ Ò¨ÍáÊ´§¼Å¢Í§âÁ´ÙÅ SLCD16x2 áÊ´§¢ ͤÇÒÁ 0-255 sec. Timer Time : 060 sec. à» ¹¡ÒÃᨠ§Ç Ò ¢³Ð¹Õàé ¤Ã×Íè §µÑ§é àÇÅҾà ÍÁ·íÒ§Ò¹·Õàè ÇÅÒ 60 ÇÔ¹Ò·Õ àÁ×Íè ¡´ÊÇÔµª S1 àÇÅҨРŴŧ ¨¹¶Ö§ 000 ÃÕàÅ ¨Ð·íÒ§Ò¹ ÊÑ§à¡µä´ ¨Ò¡ä¿ÊÕà¢ÕÂÇ·Õµè Òí á˹ § RY µÔ´ÊÇ Ò§ àÁ×Íè ¡´ÊÇÔµª S2 ¡Ò÷íÒ§Ò¹¨ÐËÂشŧ ¤ ÒàÇÅҨСÅѺÁÒà» ¹ 060 µÒÁ·Õµè §Ñé äÇ µ§Ñé áµ áá ËÒ¡µ ͧ¡ÒÃà»ÅÕÂè ¹á»Å§ ¤ ÒàÇÅÒãË ¡´ÊÇÔµª S3 à¾×Íè à¾ÔÁè ¤ ÒàÇÅÒ áÅÐ S4 à¾×Íè Å´¤ ÒàÇÅÒ ·Ø¡¤ÃÑ§é ·Õ¡è ´ÊÇÔµª ¨Ðä´ Â¹Ô àÊÕ§ µÍºÊ¹Í§´ ÇÂ
à¡Ãç´à¾ÔÁè àµÔÁ l ã¹â»Ãá¡ÃÁ¹Õäé ´ 㪠¤Òí Êѧè BUTTON ¡Ñº P10 áÅÐ P11 ãË ÊÒÁÒö·íÒ§Ò¹«éÒí ä´ àÁ×Í è ÁÕ¡Òá´
ÊÇÔµª ¤Ò §äÇ ·íÒãË ¡Òõѧé àÇÅÒ·íÒä´ Êдǡ¢Ö¹é
à·¤¹Ô¤à¾ÔÁè àµÔÁ l ËÒ¡µ ͧ¡ÒÃà¾ÔÁ è ¡Ò÷íÒ§Ò¹¨Ò¡¹ÒÌ ¡ÒµÑ§é àÇÅÒ 255 ÇÔ¹Ò·Õ à» ¹ 255 ¹Ò·Õ ÊÒÁÒöà¾ÔÁè ¨íҹǹ
ÅÙ»¢Í§°Ò¹àÇÅÒ¨Ò¡
à» ¹
FOR I=1 TO 100 ' Set loop 100 times (1sec. Per cycle) ' Time base 10ms PAUSE 10 BUTTON SW_CLEAR,0,225,0,SW_VAR3,1,CANCEL 'Check switch P9, cancel in delay loop 'Do loop NEXT
FOR
I=1 TO 6000
PAUSE BUTTON NEXT
'Set loop 6000 timers '(60 sec=1min.per cycle) ' Time base 10ms 10 SW_CLEAR,0,255,0,SW_VAR3,1,CANCEL ' Check switch P9, cancel in delay loop ' Do loop
AX-2SX
Activity board for BASIC à» Stamp2/i-Stamp ´âÅ¡äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ¡ºÑ àºÊÔ¡áʵÁ» 2SX l 151 ºÍà ´àÃÕ¹ÃÙ¡ Ò÷íÒ§Ò¹¢Í§äÁâ¤Ã¤Í¹â·ÃÅàÅÍà àºÊÔ¡áʵÁ» 2SX
㪠¡ºÑ àºÊÔ¡áʵÁ» 2SX (BS2SX-IC) ËÃ×Í i-Stamp l àª×Íè Áµ ;Íà µÍ¹Ø¡ÃÁ¢Í§ PC à¾×Íè ´Òǹ âËÅ´áÅÐÊ×Íè ÊÒâ ÍÁÙÅ l LED 8 ª ͧ ·íÒ§Ò¹´ ÇÂÅͨԡ 1 ¾Ã ÍÁµÑǵ Ò¹·Ò¹¨íÒ¡Ñ´ ¡ÃÐáÊ l ÁÕÊÇÔµª ¡´µÔ´»Å Í´Ѻ¾Ã ÍÁµÑǵ Ò¹·Ò¹¾ÙÅÍÑ» 4 ª ͧ l ÁÕÅÒí ⾧ 8 âÍË ÁÊíÒËÃѺ¢ÑºàÊÕ§ l ÁÕµÑǵ Ò¹·Ò¹á»Ã¤ ÒµÒÁáʧµ ͡ѺµÑÇà¡çº»ÃШطíҧҹ໠¹ ǧ¨Ã RC ͹ءÃÁÊíÒËÃѺ·´Åͧ l Áդ͹à¹ç¡àµÍà àª×Íè Áµ ÍÍØ»¡Ã³ ·ãÕè ª ¡ÒÃÊ×Íè ÊÒÃẺ͹ءÃÁ l ǧ¨Ã¢ÑºÃÕàÅ ¾Ã ÍÁÃÕàÅ 12V áÅÐà·Íà Á¹ Ô ÍźÅçÍ¡ÊíÒËÃѺµ Í Ë¹ ÒÊÑÁ¼ÑʢͧÃÕàÅ ä»ãª §Ò¹ l ǧ¨Ã¢ÑºÊàµç»à»Íà ÁÍàµÍà ¾Ã ÍÁ¤Í¹à¹ç¡àµÍà ÊíÒËÃѺµ ÍÊàµç»à»Íà ÁÍàµÍà l 㪠¡º Ñ ÍÐá´»àµÍà ¢¹Ò´ 12V 500-800mA l ÁÕǧ¨Ã¨Ñ´¢ÑÇé áç´Ñ¹ä¿àÅÕÂé §à¾×Íè » ͧ¡Ñ¹¡Òè ÒÂä¿¡ÅѺ¢ÑÇé l
Specification
l Support all BASIC Stamp2 series (Supplied i-Stamp : BS2SX OEM board on this board) l 16KB memory (2KB x8) l In -system programming via serial port l 100,000 erase-write cycles. Change SEEPROM for restarting erase-write cycles. l RUN/PROGRAM mode controlled by software, no need any programming hardware. l 8-LED display with limit current resistors l Relay driver circuit with relay 12V l Stepper motor driver circuit l Voice-coil speaker l LDR light sensor with RC circuit l 4-Push button switch with resistor pull-up l Serial interface connector for serial application board (such as : Serial LCD, Serial matrix swtich etc.) l Use with DC adapter 12-20V 500-800mA (exclude if purchase seperately) l Polarity protection circuit l Supplied with plastic tray for supporting board.
ªØ´àÃÕ¹ÃÙ äÁâ¤Ã¤Í¹â·ÃÅàÅÍà ´ ÇÂÀÒÉÒàºÊÔ¡¡ÑºàºÊÔ¡áʵÁ» 2SX
¾ÔàÈÉÊíÒËÃѺ¹Ñ¡àÅ ¹·Õµè Í §¡ÒäÇÒÁÊдǡ ¨Ñ´ÁҾà ÍÁÊÃþ·Ñ§é i-Stamp, ºÍà ´ AX-2SX, ÊÒµ Í PC, SLCD âÁ´ÙÅ LCD 16x2 Ẻ͹ءÃÁ¾Ã ÍÁÊÒÂàª×Íè Á µ Í, «Í¿µ áÇà áÅФÙÁ Í× ·´Åͧ µÑÇá·¹¨íÒ˹ Ò ¾Õ.¾Õ. ¤ÍÁ¾ÔÇàµÍà 0-2226-4034, ÍÕàŤ·ÃÍ¹Ô¤Ê «Íà « 0-2623-9460-7, 0-2623-8364-6, ¹Ñ°¾§É à«ÅÊ á͹´ à«Íà ÇÊÔ 0-2225-0094 Distributor àªÕ§ãËÁè : ¡ÔµµÔÍàÔ Åç¡â·Ã¹Ô¤Ê 0-5322-1463, ¾ÔɳØâÅ¡ : ·ÃÕ¨àÕ ·¤ 0-5525-6135 ¹¤ÃÃÒªÊÕÁÒ : àÍÊ.«Õ ÍÔàÅç¡·ÃÍ¹Ô¡Ê 0-4424-3453 Order online : www.appsofttech.com ˹ ǧҹ¡ÒÃÈÖ¡ÉÒ : W&J àÍ繨Ôà¹ÕÂÃÔ§è 0-2943-9001-2 ¢ ÍÁÙÅà¾ÔÁè àµÔÁµÔ´µ Í ºÃÔÉ·Ñ ÍÔ¹â¹àǵտ àÍç¡à¾ÍÃÔàÁ¹µ ¨íÒ¡Ñ´ 3133/53 «.ÊØ¢ÁØ ÇÔ· 101/2 ¶.ÊØ¢ÁØ ÇÔ· ºÒ§¹Ò ¡ÃØ§à·¾Ï 10260 More info contact â·ÃÈѾ· 0-2747-7001-4 â·ÃÊÒà 0-2747-7005 e-mail : tech@inex.co.th Website : http://www.inex.co.th