‡°≥±å√–¥∫— §≥ÿ ¿“æ°“√«¥— º≈°“√‡√¬’ π√Ÿâ
‡°≥±å°“√„Àâ§–·ππ √–¥—∫§≥ÿ ¿“æ
2
1 3
Õ∏‘∫“¬ à«πª√–°Õ∫ Õ∏∫‘ “¬ à«πª√–°Õ∫¢Õß Õ∏∫‘ “¬ «à πª√–°Õ∫¢Õß Õ∏‘∫“¬ à«πª√–°Õ∫¢Õß
¢ÕßÀàÿπ¬πµåÕµ— ‚π¡µ— ‘
Àπàÿ ¬πµÕå µ— ‚π¡µ— ‰‘ ¡∂à °Ÿ µÕâ ß Àÿπà ¬πµåÕµ— ‚π¡µ— ‘ Àπÿà ¬πµÕå µ— ‚π¡µ— ‰‘ ¥∂â °Ÿ µÕâ ß
‰¥â∂Ÿ°µâÕ߇ªìπ à«π„À≠à ∑Èß— À¡¥
Õ∏∫‘ “¬¢—ÈπµÕπ°“√ √“â ß Õ∏∫‘ “¬¢—πÈ µÕπ°“√ √â“ß Õ∏∫‘ “¬¢—πÈ µÕπ°“√ √“â ß Õ∏‘∫“¬¢—πÈ µÕπ°“√ √“â ß
Àπàÿ ¬πµåÕµ— ‚π¡—µ‘ Àÿàπ¬πµÕå µ— ‚π¡—µ‘‰¡à∂°Ÿ µâÕß Àÿπà ¬πµåÕ—µ‚π¡µ— ‰‘ ¥â Àπÿà ¬πµÕå µ— ‚π¡µ— ‰‘ ¥∂â °Ÿ µÕâ ß
∂Ÿ°µâÕ߇ªπì «à π„À≠à ∑ßÈ— À¡¥
Õ∏∫‘ “¬°“√‡≈◊Õ°« — ¥·ÿ ≈– Õ∏‘∫“¬°“√‡≈Õ◊ °«— ¥ÿ·≈– Õ∏∫‘ “¬°“√‡≈◊Õ°« — ¥·ÿ ≈– ‰¥â∂Ÿ°µâÕ߇ªìπ à«π„À≠à
Õÿª°√≥ å ”À√∫— °“√ √â“ß Õÿª°√≥å ”À√∫— °“√ √“â ß Õªÿ °√≥å ”À√∫— °“√ √“â ß Õ∏∫‘ “¬°“√‡≈Õ◊ °« — ¥ÿ·≈–
Ààÿπ¬πµÕå —µ‚π¡—µ‘ Àπàÿ ¬πµåÕµ— ‚π¡—µ‘‰¡∂à °Ÿ µÕâ ß Ààπÿ ¬πµåÕ—µ‚π¡—µ‘ Õÿª°√≥ å ”À√—∫°“√ √â“ß
Àπÿà ¬πµÕå µ— ‚π¡µ— ‰‘ ¥∂â °Ÿ µÕâ ß
∑—ÈßÀ¡¥
√â“ßÀπàÿ ¬πµåÕµ— ‚π¡—µ‘ ª√–°Õ∫Õÿª°√≥å ª√–°Õ∫Õªÿ °√≥剥∂â °Ÿ µÕâ ß ª√–°Õ∫Õªÿ °√≥剥∂â °Ÿ µÕâ ß
º¥‘ µ”·Àπàß°“√„™ßâ “π
‡ªìπ à«ππâÕ¬ µ“¡µ”·Àπßà °“√„™ßâ “π µ“¡µ”·Àπßà °“√„™ßâ “π
‡ªπì à«π„À≠à ∑°ÿ ™πÈ‘ ‡°≥±√å –¥∫— §≥ÿ ¿“æ
°“√«—¥º≈°“√‡√¬’ π√âŸ
‡°≥±°å “√º“à π π°— ‡√¬’ π∑°ÿ §π‰¥â§–·ππµ—ßÈ ·µ√à –¥—∫ 2 ¢÷Èπ‰ª ®“° 3 √–¥—∫§≥ÿ ¿“æ
√“¬ß“π°“√«®‘ —¬°“√æ≤— 𓇥Á°‰∑¬¥“â π‡∑§‚π‚≈¬À’ ÿπà ¬πµå 95
aw 81-107 95 14/1/13, 11:31 PM
„∫§«“¡√∑⟠’Ë 2
‚§√ß √â“ßÀàÿπ¬πµåÕ—µ‚π¡µ— ‘
1. «à πª√–°Õ∫¢ÕßÀπàÿ ¬πµÕå —µ‚π¡µ— ‘
Àÿàπ¬πµå‡ªìπ‡∑§‚π‚≈¬’∑Ë’¡’°“√π”‡Õ“Õß§å§«“¡√⟮“°»“ µ√åÀ≈“¬ “¢“¡“ª√–¬ÿ°µå„™â
À“°®–„À√â –∫·ÿ ∫∫™‡’È ©æ“–‡®“–®ß≈߉ª«“à ®–µÕâ ß¡§’ «“¡√¥Ÿâ “â πππÈ— ¥“â ππ‡’È ≈¬∑‡’ ¥¬’ « §ß®–√–∫‰ÿ ¡à‰¥â
‡æ√“–Àÿàπ¬πµå∫“ßµ—«∂Ÿ° √â“ߢÈ÷π¡“‡æ◊ËÕ«—µ∂ÿª√– ß§å∑’Ëæ‘‡»…∑’ËÕ“®µâÕß¡’ºâŸ‡™Ë’¬«™“≠‡©æ“–∑“ß
¡“§Õ¬„Àâ§”ª√÷°…“ ·µàÀ“°®–°≈à“«∂÷ß§«“¡√Ÿâ„π à«πÀ≈—° Ê „π°“√ÕÕ°·∫∫ √â“ßÀàÿπ¬πµåπÈ—π
Õ“® “¡“√∂·∫ßà ·¬°‰ªµ“¡ à«πª√–°Õ∫∑’ Ë ”§—≠¢ÕßÀàÿπ¬πµ¥å —ßπÈ’
1.1 √–∫∫∑“ß°≈ (Mechanical System)
„π «à ππ®’È –‡ªπì «à π¢Õß√–∫∫∑“ß°≈∑ßÈ— À¡¥¢ÕßÀπàÿ ¬πµå ‡™πà ≈Õâ √–∫∫¢∫— ‡§≈Õ◊Ë π
·¢π°≈ ¡◊Õ°≈ À√◊Õ·¡â·µà¢âÕæ—∫ ¢âÕ‡À«Ë’¬ßµà“ßÊ À√◊ÕÕ“®®–‡√’¬°«à“‚§√ß √â“ßÀ√◊Õ‡ø√¡
¢ÕßÀπàÿ ¬πµÀå “°®–‡ª√¬’ ∫°∫— §π·≈«â °ÕÁ “®®–‡ª√¬’ ∫‡∑¬’ ∫‰¥°â ∫— ‚§√ß°√–¥°Ÿ À√Õ◊ √“à ß°“¬¿“¬πÕ°
‡™πà ·¢π ¢“ ≈”µ—« ‡ªπì
1.2 √–∫∫Õ‡‘ ≈Á°∑√Õπ°‘ å·≈–«ß®√‰øø“Ñ (Electrical System)
”À√—∫ à«ππ’È®–‡ªìπ à«π¢Õß√–∫∫«ß®√‰øøÑ“∑—ÈßÀ¡¥¢ÕßÀàÿπ¬πµå ´Ë÷ß„πÀàÿπ¬πµå
·µà≈–µ—«πÈ—π ®–ª√–°Õ∫‰ª¥â«¬«ß®√µà“ß Ê À≈“¬«ß®√∑”ß“π√à«¡°—πÕ¬Ÿà ‡™àπ √–∫∫§«∫§ÿ¡
√–∫∫µ√«®®—∫ √–∫∫‡™Ë◊Õ¡µàÕ ·≈–«ß®√ÕË◊π Ê ·≈â«·µà§«“¡®”‡ªìπ ”À√—∫Ààÿπ¬πµåµ—«πÈ—π Ê
πÕ°®“°πȬ’ —ß√«¡‰ª∂÷ß·À≈àß®à“¬æ≈—ßß“π·≈– «à π§«∫§¡ÿ
1.3 √–∫∫§«∫§ÿ¡ (Control System)
à«ππ’È®–‡ªìπ à«π¢Õß‚ª√·°√¡§«∫§ÿ¡°“√ªØ‘∫—µ‘ß“π ∂÷ß·¡â«à“Ààÿπ¬πµå®–‰¥â√—∫
°“√ÕÕ°·∫∫ √“â ß¡“Õ¬“à ߥ’‡æ¬’ ߉√°µÁ “¡ ·µà®–¬ß— §ß∑”ß“πµ“¡∑’‡Ë √“â Õß°“√‰¡à‰¥â·πà Ê À“°¬—ß
‰¡à‰¥â¡’°“√„ à√–∫∫§«∫§ÿ¡∑’Ë∂Ÿ°µâÕß·≈–‡À¡“– ¡„Àâ°—∫¡—π À“°®–‡ª√’¬∫‡∑’¬∫‰ª à«ππ’ȰÁπà“®–
‡ª√¬’ ∫‡∑¬’ ∫‰¥°â ∫— µ‘ªí≠≠“¢Õß¡πÿ…¬å
96 96 √“¬ß“π°“√«‘®¬— °“√æ≤— 𓇥°Á ‰∑¬¥â“π‡∑§‚π‚≈¬À’ ÿàπ¬πµå
aw 81-107 14/1/13, 11:31 PM
2. ¢πÈ— µÕπ°“√ √“â ßÀÿàπ¬πµåÕ—µ‚π¡µ— ‘
2.1 °“√ÕÕ°·∫∫‚§√ß √â“ß (robot platform) ‡√‘Ë¡®“°«“¥·∫∫√à“ß (sketch)
„π°√–¥“…´÷Ëß®–ª√–°Õ∫‰ª¥â«¬ ‚§√ß √â“ßÀÿàπ¬πµå √–∫∫¢—∫‡§≈Ë◊Õπ µ”·ÀπàߢÕ߇´Áπ‡´Õ√å
∫Õ√å¥ ¡Õß°≈ œ≈œ À≈ß— ®“°πÈ—π„™§â Õ¡æ‘«‡µÕ√å„π°“√ √â“ß·∫∫®√ß‘ (Computer Aids Design :
CAD) ·≈«â π”·∫∫Àπÿà ¬πµå∑¡’Ë ’¢π“¥∑’Ë∂Ÿ°µâÕ߉ª √â“ßÀàπÿ ¬πµå
√ªŸ ∑Ë’ 2.1 Àÿàπ OBECûs Kit
2.2 °“√ÕÕ°·∫∫√–∫∫§«∫§ÿ¡ (controller) µâÕß§”π÷ß∂÷ß®”π«πÕ‘πæÿ∑ ‡Õ“∑åæÿµ
¢Õß√–∫∫§«∫§¡ÿ ‡™àπ µÕâ ß„™â‡´πÁ ‡´Õ√å (sensors) Õ–‰√∫â“ß —≠≠“≥∑Ë’‰¥â¡≈’ —°…≥–‡ªπì Õ¬à“߉√
‡ªìπ —≠≠“≥¥‘®‘µÕ≈ (digital signal) À√◊ÕÕπ“≈ÁÕ° (analog signal) ¡’¡Õ‡µÕ√å°Ë’™π‘¥
‡™àπ ¥´’ ’¡Õ‡µÕ√å ‡´Õ√å‚«¡Õ‡µÕ√å ‡µª‡ªÕ√å¡Õ‡µÕ√å œ ¡®’ ”π«π∑È—ßÀ¡¥‡∑à“‰√ ´Ëß÷ ®–𔉪 Ÿà°“√
ÕÕ°·∫∫«ß®√§«∫§¡ÿ √Ÿª∑Ë’ 2.2 · ¥ßµ—«Õ¬“à ߫߮√§«∫§ÿ¡ √ªŸ ∑Ë’ 2.3 · ¥ßµ—«Õ¬à“ß≈“¬«ß®√
·≈–√ªŸ ∑’Ë 2.4 · ¥ßµ«— Õ¬à“ß∫Õ√¥å ∑’ˉ¥â®“°°“√ÕÕ°·∫∫ „π°“√ÕÕ°·∫∫√–∫∫§«∫§¡ÿ ¥ß— ∑˰’ ≈“à «
¡“·≈â« ®”‡ªìπµâÕß„™âÕß§å§«“¡√Ÿâ∑“ߥâ“π‰øøÑ“·≈–Õ‘‡≈Á°∑√Õπ‘° å √«¡∂÷ß§«“¡‡™Ë’¬«™“≠
„π°“√ÕÕ°·∫∫
√Ÿª∑’Ë 2.2 µ—«Õ¬“à ß°“√ÕÕ°·∫∫«ß®√§«∫§ÿ¡ 97
√“¬ß“π°“√«‘®—¬°“√æ≤— 𓇥°Á ‰∑¬¥â“π‡∑§‚π‚≈¬’Àÿàπ¬πµå
aw 81-107 97 14/1/13, 11:31 PM
√ªŸ ∑Ë’ 2.3 µ«— Õ¬“à ß°“√ÕÕ°·∫∫≈“¬«ß®√
√ªŸ ∑’Ë 2.4 µ—«Õ¬à“ß°“√ÕÕ°·∫∫∫Õ√¥å §«∫§¡ÿ Àÿπà ¬πµå
2.3 °“√‡¢’¬π‚ª√·°√¡§«∫§ÿ¡ (programming) ®”‡ªìπµâÕß∑”§«“¡‡¢â“„®¿“√°‘®
∑—ÈßÀ¡¥¢ÕßÀÿàπ¬πµå ®“°π—Èπ„Àâ·∫àß¿“√°‘®ÕÕ°‡ªìπ à«π Ê ‡æË◊Õ∑Ë’®–∑”°“√‡¢’¬π‚ª√·°√¡‡ªìπ
øíß°å™—πµà“ß Ê µ—«Õ¬à“߇™àπ øíß°å™—π (function) °“√√—∫§à“®“°‡´Áπ‡´ÁÕ√å øíß°å™—π§«∫§ÿ¡
°“√∑”ß“π¢ÕߡՇµÕ√å øíß°å™—π„π°“√· ¥ßº≈ ·≈â«À≈—ß®“°π—Èπ∑”°“√‡¢’¬π‚ª√·°√¡À≈—°
(main program)
3. °“√‡≈Õ◊ °«— ¥ÿ·≈–Õªÿ °√≥ å ”À√∫— °“√ √â“ßÀπÿà ¬πµÕå µ— ‚π¡—µ‘
”À√—∫∑’˺⟇√‘Ë¡µâπ„π°“√ √â“ßÀÿàπ¬πµåÕ—µ‚π¡—µ‘Õ“®®–‡ªìπ‡√◊ËÕß∑’˧àÕπ¢â“߬“°∑’Ë®–
ÕÕ°·∫∫·≈– √â“ß∑ÿ°Õ¬à“ߥ⫬µ—«‡Õß∑È—ßÀ¡¥ ‡æ√“–©–πÈ—π‡æË◊Õ∑’Ë®–≈¥§«“¡¬ÿà߬“°¥—ß°≈à“«Õ“®
„™âÕÿª°√≥凙ÕË◊ ¡µàÕ ”‡√Á®√Ÿª„π à«π¢Õ߇´πÁ ‡´Õ√å (sensors) ∫Õ√¥å §«∫§ÿ¡ (Controller Board)
·≈–√–∫∫ àß°”≈—ß (actuators) µà“ß Ê ”À√—∫ à«π¢Õß‚§√ß √â“ß∑“ß°≈ “¡“√∂„™â«— ¥ÿ∑Ë’¡’Õ¬àŸ
„π∑âÕßµ≈“¥À√Õ◊ ®“°«— ¥∑ÿ Ë’‡À≈Õ◊ „™‡â æÕ◊Ë ≈¥§à“„™®â à“¬
98 √“¬ß“π°“√«‘®¬— °“√æ—≤𓇥Á°‰∑¬¥â“π‡∑§‚π‚≈¬’Ààπÿ ¬πµå
aw 81-107 98 14/1/13, 11:31 PM
3.1 Õÿª°√≥凙ÕË◊ ¡µÕà ∑Ë’∑”Àπâ“∑√’Ë ∫— ¢Õâ ¡≈Ÿ (Input)
3.1.1 «‘µ™å (Switch) ‡ªìπÕÿª°√≥剸øÑ“∑’Ë„™â„π°“√¢—¥¢«“ß°“√‰À≈¢Õß
°√–· ‰øøÑ“„π«ß®√„¥ Ê «‘µ™å‡ªìπÕÿª°√≥å∑Ë’¡’∑ȗߪ°µ‘ªî¥ (çªî¥é) À√◊Õª°µ‘‡ªî¥ (燪î¥é)
ª√–‡¿∑¢Õß «‘µ™å¡’¡“°¡“¬À≈“°À≈“¬´Ë÷ß®”·π°ÕÕ°‡ªìπ°≈ÿࡉ¥â¥—ßπ’È Single Pole Single
Throw (SPST), Single Pole Double Throw (SPSD), Double Pole Single Throw (DPST)
·≈– Double Pole Double Throw (DPDT) [®“°§Ÿ¡à Õ◊ ß“π«®‘ —¬¢Õß ‡√‘ß«ÿ≤‘ ™Ÿ‡¡◊Õß]
√Ÿª∑’Ë 2.5 «µ‘ ™å (Switch)
3.1.2 ‡´Áπ‡´Õ√å· ß (Light Sensor) ‡ªìπ‡´Áπ‡´Õ√å∑’Ë„™â„π°“√µ√«®®—∫· ß
¡¢’ 𓥇≈Á° √“§“‰¡à·æß ª√–À¬—¥æ≈ß— ß“π „™âß“πßà“¬·≈–‰¡à‡ Õ◊Ë ¡ ¿“æ µ—«Õ¬“à ߇™àπ„π¢Õ߇≈πà
·≈–‡§√Ë◊Õß„™â‰øøÑ“ µ—«√—∫· ߇ªìπ‡´≈≈å∑”®“°·§¥‡¡’¬¡´—≈‰ø¥å (CdS) µ—«√—∫· ß‚¥¬∑Ë—«‰ª§◊Õ
µ—«µâ“π∑“π∑Ë’‡ª≈Ë’¬π§à“µ—«µâ“π∑“π (‚ÕÀå¡) ¢È÷πÕ¬àŸ°—∫«à“®– àÕß· ß≈ß∫πµ—«µâ“π∑“π¡“°À√◊Õ
πâÕ¬¢π“¥‰Àπ ∂â“· ßµ°°√–∑∫¡“°§à“§«“¡µâ“π∑“π∑Ë’Õà“π‰¥â®–µ”Ë „π∑“ß°≈—∫°—∫∂â“· ß
µ°°√–∑∫πâÕ¬§à“§«“¡µâ“π∑“π∑Ë’Õà“π‰¥â®– Ÿß ·µà§«“¡·¡à𬔮–πâÕ¬ ¥â«¬‡ÀµÿπÈ’‰¡à§«√„™â
„πß“π∑Ë’µÕâ ß°“√§«“¡·¡πà ¬” Ÿß Ê ‡™πà °“√«—¥· ß„π√–¥—∫Àπ«à ¬∑’ˇªπì ≈°— ´å (LUX) ·µà “¡“√∂
µ√«® Õ∫ °“√‡ª≈’¬Ë π·ª≈ß· ߢ—Èπæ◊πÈ ∞“π‰¥â¥’
√ªŸ ∑’Ë 2.6 ‡´πÁ ‡´Õ√·å ß (Light Sensor)
3.1.3 ‡´Áπ‡´Õ√åÕπ‘ ø√“‡√¥ (Infrared Sencer) ‡ªìπÕÿª°√≥∑å Ë ’ “¡“√∂µ√«®®∫—
· ßÕ‘πø√“‡√¥ §«“¡¬“«§≈◊Ëπ· ß· ¥ß„π√ªŸ ∑Ë’ 2.7 ‡´Áπ‡´Õ√Õå ‘πø√“‡√¥ «à π„À≠¡à «’ µ— ∂ªÿ √– ß§å
‡æ◊ËÕ„™â ”À√—∫°“√§«∫§ÿ¡√–¬–‰°≈ ‡™àπ °“√§«∫§ÿ¡∑’«’·≈–§«“¡∫—π‡∑‘ßÕ◊Ëπ Ê Õÿª°√≥å
Õπ‘ ø√“‡√¥„™æâ ≈ß— ß“π· ߇ªπì ÕË◊ °≈“ß„π°“√ ßà º“à π¢Õâ ¡≈Ÿ √–À«“à ßÕªÿ °√≥µå «— ßà ·≈–Õªÿ °√≥∑å ’Ë„™√â ∫—
√“¬ß“π°“√«‘®—¬°“√æ—≤𓇥Á°‰∑¬¥â“π‡∑§‚π‚≈¬’Ààπÿ ¬πµå 99
aw 81-107 99 14/1/13, 11:31 PM
‡´Áπ‡´Õ√åÕ‘πø“‡√¥ “¡“√∂ª√–¬ÿ°µå„™â„πß“π¥â“πµà“ßÊ ‡™àπ °“√ª√–¬ÿ°µå‡´Áπ‡´Õ√åÕ‘πø√“‡√¥
”À√—∫µ√«® Õ∫°“√ –∑âÕπ (IR-reflector) ∑’˺‘«¢Õß«—µ∂ÿ °“√ª√–¬ÿ°µå‡´Áπ‡´Õ√åÕ‘πø√“‡√¥
”À√—∫µ√«®®—∫«—µ∂ÿ (IR-detector)
√Ÿª∑’Ë 2.7 ‡´πÁ ‡´Õ√Õå ‘πø√“‡√¥ (Infrared Senser)
3.1.4 ‰¥‚Õ¥‡ª≈àß· ß (Light Emitting Diode (LED) ‡ªìπÕÿª°√≥∑å “ß‰øøÑ“
∑Ë’ª√–°Õ∫¥â«¬ “√∑Ë’‡ª≈’ˬπæ≈—ßß“π‰øøÑ“„À⇪ìπ· ß «à“ß„π™à«ß§≈Ë◊π§«“¡¬“«§≈◊Ëπ∑Ë’°”Àπ¥
™«à ß§«“¡¬“«§≈Ë◊π¢Õß· ß∑°’Ë ”Àπ¥®–‡ªìπµ—ßÈ ·µ§à «“¡¬“«§≈◊πË ¢ÕßÕ≈— µ√“‰«‚Õ‡≈µ (ultraviolet)
®π∂÷ß§«“¡¬“«§≈Ë◊π¢ÕßÕ‘πø√“‡√¥ (infrared) · ß LED ∑Ë’‰¥â®–‡ªìπ ’·¥ß ’πÈ”‡ß‘π ’‡À≈◊Õß
À√Õ◊ · ß ‡’ ¢’¬«·≈«â ·µà‚§√ß √“â ß¿“¬„π¢Õß LED
√ªŸ ∑Ë’ 2.8 µ«— Õ¬à“߉¥‚Õ¥·ª≈ßà · ß ·’ ¥ß ’πÈ”‡ß‘π ’‡¢’¬«
3.2 Õªÿ °√≥‡å ™ÕË◊ ¡µàÕ∑’Ë∑”Àπ“â ∑Ë’· ¥ßº≈ (Output)
3.2.1 ®Õ· ¥ßº≈ LCD (Liquid Crystal Display) ‡ªπì Õªÿ °√≥∑å ’Ë„™â„π°“√· ¥ß
—≠≈°— …≥å µ—«‡≈¢ µ«— Õ°— …√ œ≈œ LCD ‡ªìπÕªÿ °√≥∑å ˇ’ ªìπ∑Ë’π¬‘ ¡„™°â π— ¡“°„π‡§√Ë◊Õß¡Õ◊ ‡§√◊ÕË ß„™â
„π°“√«—¥ „™‡â ªìπÀπâ“®Õ ”À√∫— ‡§√◊ËÕ߇≈πà ‡°¡ å „™‡â ªìπÀπ“â ®Õ‡§√ÕË◊ ß§‘¥‡≈¢ Àπ“â ®Õπ“Ã°î “ À√Õ◊
‡§√ÕË◊ ß¡Õ◊ ‡§√Õ◊Ë ß„™∑â ’Ë„™·â ∫µ‡µÕ√‡’Ë ªìπ·À≈àß®“à ¬æ≈—ßß“π‰øøÑ“ œ≈œ ¢âÕ¥’¢Õß LCD §Õ◊ ‡ªπì Õªÿ °√≥å
∑’Ë„™âæ≈—ßß“ππâÕ¬¡“°„π¢≥–∑”ß“π ‡À¡“– ¡°—∫°“√„™âß“π∑’˵âÕß°“√„™âæ≈—ßß“ππâÕ¬ Ê ∑”„Àâ
¡°’ “√ÕÕ°·∫∫‡æÕË◊ „™â LCD „πÕªÿ °√≥å·≈–‡§√◊ÕË ß¡Õ◊ ¢â“ßµâπ ·≈–‡π◊ÕË ß®“°¡’°“√„™âæ≈—ßß“ππâÕ¬
¡“°„π «à π¢ÕßÀπâ“®Õ LCD Õªÿ °√≥å∑’Ë„™â LCD Õ“®®–¡°’ “√„™âß“π‰¥¬â “«π“𵥑 µÕà °—π∂÷ß 500
100 √“¬ß“π°“√«‘®—¬°“√æ—≤𓇥Á°‰∑¬¥â“π‡∑§‚π‚≈¬À’ πàÿ ¬πµå
aw 81-107 100 14/1/13, 11:31 PM
™Ë—«‚¡ß µ—« LCD ‡°‘¥®“°°“√‡Õ“·ºàπ·°â«¡“ª√–°∫‚¥¬¡’ organic compound Õ¬àŸµ√ß°≈“ß
¡’·ºàπÕ‡‘ ≈Á°‚∑√¥ «“߇√’¬ß‡ªπì √Ÿª·∫∫‡¥¬’ «°—∫µ«— ‡≈¢‡®Á¥ «à π (7-segment display) ·ºàπ·°â«
¥â“πÀπⓇªìπ°√–®°„ ·µà·ºàπ·°â«¥â“πÀ≈—߇ªìπ·ºàπÕ‘‡≈Á°‚∑√¥ (plate electrode) ‡¡◊ËÕ¡’°“√
ªÕÑ π·√ߥ—π‰øø“Ñ „À°â ∫— µ«— LCD ‚¡‡≈°ÿ≈¢Õß “√ (organic compound) ®–∂°Ÿ ∫ß— „À¡â °’ “√‡√’¬ßµ«—
„π·π«‡¥’¬«°—∫·ºàπÕ‘‡≈Á°‚∑√¥∑Ë’‡ªìπ√Ÿª segment ∑”„À⇪ìπµ—«‡≈¢À√◊Õµ—«Õ—°…√µ“¡∑’ˉ¥â
∂°Ÿ ÕÕ°·∫∫‰«â æ≈ß— ß“πß“π∑ªË’ ÕÑ π„À°â —∫ LCD Õ¬àŸ„π√Ÿª¢Õß°√–· ‰øøÑ“ ≈—∫∑’¡Ë ’§à“‰¡à¡“°
√Ÿª∑’Ë 2.9 ®Õ· ¥ßº≈ LCD
3.2.2 ¥´’ ’¡Õ‡µÕ√å (D.C.Motor) À≈ß— ®“°∑Ë’ Michael Faraday ‰¥â§πâ æ∫ π“¡
·¡‡à À≈°Á ∑’ˇ°‘¥¢Èπ÷ ®“°°“√ª≈àÕ¬„À°â √–· ‰øøÑ“‰À≈ºà“π¢¥≈«¥ ®“°π—πÈ «‘«—≤π“°“√∑’‡Ë °’¬Ë «¢âÕß°∫—
ª√“°Ø°“√≥å¢â“ßµâπ‡√Ë‘¡∑¬Õ¬‡°‘¥¢÷Èπ ˑߪ√–¥‘…∞å∑Ë’ ”§—≠Õ—πÀπ÷Ëß∑’Ëæ∫‡ÀÁπ„π™’«‘µª√–®”«—π§◊Õ
¡Õ‡µÕ√å ´Ë÷ߡՇµÕ√åæ«°πÈ’ “¡“√∂·∫àß·¬°‡ªìπ 2 °≈ÿà¡ °≈àÿ¡·√°‡ªìπ¡Õ‡µÕ√å°√–· µ√ß
(Direct Current Motor) À√◊Õ‡√’¬°«“à ¥´’ ’ ¡Õ‡µÕ√å (D.C.Motor) à«π°≈àÿ¡∑’Ë Õ߇ªπì ¡Õ‡µÕ√å
°√–· ≈—∫ (Alternate Current Motor) À√◊Õ‡√’¬°«à“ ‡Õ´’¡Õ‡µÕ√å (A.C.Metor) ”À√—∫
¡Õ‡µÕ√∑å πË’ ”¡“„™â„π°“√∑¥ Õ∫π®’È –‡ªπì ¡Õ‡µÕ√°å √–· µ√ßÀ√Õ◊ ∑‡Ë’ √“‡√¬’ °°π— πÈ— Ê «“à DC ¡Õ‡µÕ√å
‡ªìπ¡Õ‡µÕ√å∑˪’ √–°Õ∫¥«â ¬ «à πª√–°Õ∫À≈—° 2 à«π §◊Õ Stator ·≈– Rotor à«π∑‡Ë’ ªπì stator
®–‡ªπì «à π∑ÕË’ ¬Ÿ°à ∫— ∑’Ë ‚¥¬ª°µ‘ «à ππ®’È –‡ªπì ·¡à‡À≈°Á ∂“«√ ∑”Àπ“â ∑ Ë’ √“â ß π“¡·¡à‡À≈Á° «à π Rotor
®–‡ªπì «à π∑’ÀË ¡πÿ ¢ÕߡՇµÕ√·å ¥ß„π√ªŸ ∑’Ë 2.10
√Ÿª∑’Ë 2.10 · ¥ß‚§√ß √â“ß¿“¬„π¢Õߥ’´’¡Õ‡µÕ√å 101
√“¬ß“π°“√«‘®—¬°“√æ—≤𓇥Á°‰∑¬¥â“π‡∑§‚π‚≈¬À’ àÿπ¬πµå
aw 81-107 101 14/1/13, 11:31 PM
3.3 Õÿª°√≥å∑∑Ë’ ”Àπ“â ∑§Ë’ «∫§ÿ¡°“√∑”ß“π ·≈–√–∫∫ àß°”≈—ß (actuators) µ“à ß Ê
3.3.1 ∫Õ√¥å ‰¡‚§√§Õπ‚∑√≈‡≈Õ√å OBECûs Kit ‡ªπì ·ºß«ß®√§«∫§¡ÿ °“√∑”ß“π
¡’Àπ૬§«“¡®”¡Õ’ π‘ æÿµ¥®‘ ‘µÕ≈ 10 ™Õà ߡՒ ‘πæµÿ Õ–π“≈Õ° 10 ™Õà ß ¡’™¥ÿ ¢—∫¡Õ‡µÕ√å°√–· µ√ß
®”π«π 4 ™ÿ¥ ·≈–™ÿ¥¢—∫‡´Õ√å‚«¡Õ‡µÕ√å®”π«π 4 ™ÿ¥
√Ÿª∑Ë’ 2.11 ∫Õ√¥å ‰¡‚§√§Õπ‚∑√≈‡≈Õ√å OBECûs Kit
3.3.2 ∫Õ√奢¬“¬ —≠≠“≥¡Õ‡µÕ√å·∫∫ 2 µ—« (2 channel) „™â‡™Ë◊Õ¡µàÕ°—∫
¡Õ‡µÕ√°å √–· µ√ß
√Ÿª∑Ë’ 2.12 ∫Õ√¥å ¢¬“¬ ≠— ≠“≥¡Õ‡µÕ√å·∫∫ 2 µ—«
3.4 Õÿª°√≥å‚§√ß √“â ß∑“ß°≈¢ÕßÀπàÿ ¬πµå
3.4.1 ≈âÕæ≈“ µ‘°æ√Õâ ¡¬“ß
102 102 √“¬ß“π°“√«‘®¬— °“√æ≤— 𓇥°Á ‰∑¬¥“â π‡∑§‚π‚≈¬’Ààπÿ ¬πµå
aw 81-107 14/1/13, 11:31 PM
3.4.2 ≈Õâ ª√–§Õß
3.4.3 °≈Õà ßæ≈“ µ°‘
3.4.4 √—ß∂à“π
3.4.5 °√Ÿ·≈–πÕµ
√“¬ß“π°“√«‘®¬— °“√æ—≤𓇥Á°‰∑¬¥“â π‡∑§‚π‚≈¬’Àÿàπ¬πµå 103
aw 81-107 103 14/1/13, 11:31 PM
4. °“√ª√–°Õ∫Ààπÿ ¬πµåÕ—µ‚π¡—µ‘
Àπÿà ¬πµå OBECûs Kit ‡ªπì Àπÿà ¬πµÕå µ— ‚π¡µ— ¢‘ 𓥇≈°Á ∑§’Ë «∫§¡ÿ ¥«â ¬‰¡‚§√§Õπ AVR ‡∫Õ√å
ATmega32 ¢π“¥ 8 ∫‘µ √â“ß®“°Õªÿ °√≥·å ≈–™È‘π à«π∑ ’Ë “¡“√∂„™â«— ¥∑ÿ ¡Ë’ ’Õ¬àŸ„π∑Õâ ßµ≈“¥À√◊Õ
®“°«— ¥ÿ∑Ë’‡À≈◊Õ„™â‡æË◊Õ≈¥§à“„™â®à“¬‰¥â·µà “¡“√∂‡√’¬π√Ÿâ ‰¥â§√∫∂â«π√Õ∫¥â“π °“√§«∫§ÿ¡
°“√‡§≈Õ◊Ë π∑·’Ë ∫∫µà“ß Ê °“√Õà“π§“à ®“°Õÿª°√≥åµ√«®®—∫™π‘¥µà“ß Ê ‰¥â
4.1 √“¬°“√Õªÿ °√≥°å “√ª√–°Õ∫Àÿàπ¬πµå OBECûs Kit ¥—ßπÈ’
1. °≈Õà ßæ≈“ µ°‘ „ æ√Õâ ¡Ω“ª¥î À√Õ◊ « — ¥‡ÿ À≈Õ◊ „™¡â “ª√–¬°ÿ „™·â ∑π‰¥®â ”π«π 1 ™¥ÿ
2. ≈Õâ æ≈“ µ°‘ æ√âÕ¡¬“ß ®”π«π 2 ™ÿ¥
3. ≈âÕª√–§Õß ®”π«π 1 ™ÿ¥
4. ∫Õ√奉¡‚§√§Õπ‚∑√≈‡≈Õ√å OBECûs Kit æ√âÕ¡ “¬¥“«πå‚À≈¥‚ª√·°√¡
®”π«π 1 ™ÿ¥
5. ∫Õ√¥å ¢¬“¬ —≠≠“≥¡Õ‡µÕ√å·∫∫ 2 µ—« (2 channel) ®”π«π 1 ™ÿ¥
6. ™¥ÿ ‡øóÕߢ—∫¡Õ‡µÕ√å ®”π«π 2 ™¥ÿ
7. ®Õ· ¥ßº≈ LCD ®”π«π 1 ™ÿ¥
8. √ß— ∂à“π (Battery holder) ®”π«π 1 ™ÿ¥
9. ·ºß«ß®√µ√«®®∫— · ß ®”π«π 2 ™ÿ¥
10. ·ºß«ß®√ «‘µ™å ®”π«π 1 ™¥ÿ
11. ™ÿ¥ °√Ÿ·≈–πÕµ
4.2 ‡§√◊ÕË ß¡Õ◊ ∑Ë’„™â„π°“√ √â“ßÀàÿπ¬πµå
1. ‰¢§«ßª“°·∫π
2. ‰¢§«ßª“°∫“°
3. ‡∑ª°“«
4. §—µ‡µÕ√å
5. À«— ·√âß+µ–°«—Ë
6. §¡’
7. ª√–·®
104 104 √“¬ß“π°“√«‘®—¬°“√æ—≤𓇥Á°‰∑¬¥â“π‡∑§‚π‚≈¬À’ àπÿ ¬πµå
aw 81-107 14/1/13, 11:31 PM
4.3 ¢π—È µÕπ°“√ √â“ßÀπÿà ¬πµå
1. ‡®“–√Ÿ∑’˰≈àÕßæ≈“ µ‘°‡æ◊ËÕπ”™ÿ¥‡øóÕߢ—∫¡Õ‡µÕ√å ≈âÕª√–§Õß ‰¡‚§√
§Õπ‚∑√≈‡≈Õ√巺߫߮√µ√«®®—∫· ß ·≈–·ºß«ß®√ «µ‘ ™å ¡“¬¥÷ µ¥‘
2. 𔙥ÿ ‡øÕó ߢ∫— ¡Õ‡µÕ√·å ≈–≈Õâ Õ ‘ √–¬¥÷ µ¥‘ °∫— °≈Õà ßæ≈“ µ°‘ ‚¥¬„™â‰¢§«ß¢π— ¬¥÷
3. π”∫Õ√奢¬“¬ —≠≠“≥¡Õ‡µÕ√å·∫∫ 2 µ—« µ‘¥°—∫°≈àÕßæ≈“ µ‘°‚¥¬„™â
‰¢§«ß¢—π¬÷¥
4. π”·ºß«ß®√µ√«®®∫— · ß ®”π«π 2 ™¥ÿ µ‘¥°∫— °≈Õà ßæ≈“ µ°‘ ‚¥¬„™â‰¢§«ß¢—π¬÷¥
√“¬ß“π°“√«‘®¬— °“√æ≤— 𓇥Á°‰∑¬¥â“π‡∑§‚π‚≈¬À’ ÿàπ¬πµå 105
aw 81-107 105 14/1/13, 11:32 PM
5. π”√—ß∂à“π¬÷¥µ‘¥°—∫°≈àÕßæ≈“ µ‘°‚¥¬„™â‡∑ª°“«µ‘¥ æ√âÕ¡µàÕ “¬‰øµà“ß Ê
·≈⫪î¥Ω“°≈àÕß
6. π”∫Õ√奉¡‚§√§Õπ‚∑√≈‡≈Õ√å ·≈–Àπâ“®Õ LCD µ‘¥°—∫°≈àÕßæ≈“ µ‘°
‚¥¬„™â‰¢§«ß¢π— ¬÷¥
7. π”·ºß«ß®√ «‘µ™å µ‘¥°—∫°≈Õà ßæ≈“ µ‘°‚¥¬„™â °√¢Ÿ —π¬÷¥ µÕà “¬‰øµà“ß Ê
‡¢â“°—∫∫Õ√¥å ‰¡‚§√§Õπ‚∑√≈‡≈Õ√å
106 106 √“¬ß“π°“√«‘®¬— °“√æ≤— 𓇥°Á ‰∑¬¥â“π‡∑§‚π‚≈¬’Àπÿà ¬πµå
aw 81-107 14/1/13, 11:32 PM
„∫ß“π∑’Ë 2
‡√◊ËÕß °“√ √â“ßÀÿàπ¬πµÕå µ— ‚π¡µ— ‘
¡“™‘°„π°≈¡àÿ
1. .......................................................................................................................................
2. .......................................................................................................................................
3. .......................................................................................................................................
1. „Àâ‡≈Õ◊ °« — ¥·ÿ ≈–Õÿª°√≥凙Ë◊Õ¡µàÕ∫Õ√¥å ‰¡‚§√§Õπ‚∑√≈‡≈Õ√å OBECûs Kit ¡“ 2 ™‘πÈ
1. ................................................................................................................................
2. ................................................................................................................................
2. Õ∏∫‘ “¬°“√∑”ß“π¢Õß «à πª√–°Õ∫¢Õß∫Õ√奉¡‚§√§Õπ‚∑√≈‡≈Õ√å OBECûs Kit
................................................................................................................................................................
................................................................................................................................................................
................................................................................................................................................................
................................................................................................................................................................
................................................................................................................................................................
................................................................................................................................................................
................................................................................................................................................................
................................................................................................................................................................
................................................................................................................................................................
................................................................................................................................................................
√“¬ß“π°“√«®‘ ¬— °“√æ≤— 𓇥°Á ‰∑¬¥“â π‡∑§‚π‚≈¬À’ ÿàπ¬πµå 107
aw 81-107 107 14/1/13, 11:32 PM
Àπ૬∑’Ë 3
°“√„™â‚ª√·°√¡¿“…“ Arduino
º≈°“√‡√’¬π√Ÿâ
1. Õ∏‘∫“¬¢π—È µÕπ°“√µ¥‘ µÈ—ß·≈–°“√„™â‚ª√·°√¡¿“…“ Arduino
2. Õ∏‘∫“¬ à«πª√–°Õ∫¢Õß‚ª√·°√¡¿“…“ Arduino
3. Õ∏∫‘ “¬‚§√ß √“â ߢÕß‚ª√·°√¡¿“…“¿“…“ Arduino
‡πÈÕ◊ À“ “√–
1. °“√µ‘¥µß—È ·≈–∑¥ Õ∫‚ª√·°√¡¿“…“ Arduino
2. «à πª√–°Õ∫¢Õß‚ª√·°√¡¿“…“ Arduino
3. ‚§√ß √â“ߢÕß‚ª√·°√¡¿“…“ Arduino
°®‘ °√√¡°“√‡√’¬π√⟠‡√◊ËÕß °“√„™â‚ª√·°√¡¿“…“ Arduino
1. ·∫ßà °≈ÿ¡à π—°‡√¬’ πÕÕ°‡ªìπ°≈àÿ¡ Ê ≈– 3-5 §π
2. „Àπâ °— ‡√¬’ π·µ≈à –°≈¡àÿ »°÷ …“®“°„∫§«“¡√∑Ÿâ ’Ë 3 ‡√ÕË◊ ß °“√„™â‚ª√·°√¡¿“…“ Arduino
3. π—°‡√’¬π·µà≈–°≈¡àÿ ®—¥‡µ√’¬¡Õªÿ °√≥¥å —ßµàÕ‰ªπ’È
3.1 §Õ¡æ«‘ ‡µÕ√∑å ¬Ë’ —߉¡à‚ª√·°√¡¿“…“ Arduino ®”π«π 1 ‡§√Ë◊Õß
3.2 Àπÿà ¬πµå OBECûs Kit ®”π«π 1 µ«—
3.3 “¬ USB ®”π«π 1 ‡ âπ
4. π—°‡√¬’ 𵑥µÈ—ß‚ª√·°√¡¿“…“ Arduino µ“¡„∫§«“¡√Ÿâ∑’Ë 3 ‡√◊ÕË ß °“√„™â‚ª√·°√¡
¿“…“ Arduino
5. „Àâπ—°‡√’¬ππ” “¬ USB ‡™Ë◊Õ¡µàÕ√–À«à“ßÀÿàπ¬πµå OBECûs Kit °—∫§Õ¡æ‘«‡µÕ√å
ß— ‡°µ°“√‡ª≈’¬Ë π·ª≈ß∑ˇ’ °‘¥¢È÷π
6. „Àâπ—°‡√’¬πµ‘¥µÈ—߉¥√‡«Õ√傪√·°√¡¿“…“ Arduino µ“¡„∫§«“¡√âŸ∑Ë’ 3 ‡√◊ËÕß
°“√„™â‚ª√·°√¡ Arduino
7. π—°‡√’¬π‡¢’¬π‚ª√·°√¡·≈–∑¥ Õ∫‚ª√·°√¡∑Ë’ 1 ‚ª√·°√¡‰ø°–æ√‘∫ (blink)
µ“¡„∫§«“¡√âŸ∑Ë’ 3 ‡√Ë◊Õß °“√„™â‚ª√·°√¡¿“…“ Arduino
108 √“¬ß“π°“√«®‘ —¬°“√æ≤— 𓇥Á°‰∑¬¥â“π‡∑§‚π‚≈¬À’ ÿπà ¬πµå
aw 108-131 108 14/1/13, 11:32 PM
8. π°— ‡√’¬π·µ≈à –°≈¡ÿà Õæ— ‚À≈¥‚ª√·°√¡≈ß Ÿà∫Õ√å¥Àÿàπ¬πµå OBECûs Kit ·≈–∑¥ Õ∫
°“√∑”ß“π¢ÕßÀàπÿ ¬πµå —߇°µ°“√≥∑å ”ß“π¢ÕßÀÿàπ¬πµå
9. „Àâπ°— ‡√’¬π·µ≈à –°≈àÿ¡ àßµ«— ·∑π¡“Õ¿ª‘ √“¬°“√º≈°“√ªØ‘∫µ— °‘ ‘®°√√¡Àπ“â ™Èπ— ‡√¬’ π
10. §√Ÿ·≈–π—°‡√’¬π√à«¡°π— ª√–‡¡π‘ º≈°“√ªØ∫‘ —µ‘°‘®°√√¡
Ë◊Õ·≈–Õÿª°√≥å
1. „∫§«“¡√â∑Ÿ Ë’ 3 ‡√ÕË◊ ß °“√„™â‚ª√·°√¡¿“…“ Arduino
2. §Õ¡æ‘«‡µÕ√å ®”π«π 1 ‡§√◊ËÕß
3. Àÿπà ¬πµå OBECûs Kit ®”π«π 1 µ—«
4. “¬ USB ®”π«π 1 ‡ âπ
°“√«—¥·≈–ª√–‡¡‘πº≈
Ë‘ß∑’Ë®–«—¥ «∏‘ «’ ¥— ‡§√◊ËÕß¡Õ◊ «—¥ ‡°≥±å°“√
º≈°“√‡√’¬π√Ÿâ „À§â –·ππ
(™π‘È ß“π/¿“√–ß“π)
Õ∏‘∫“¬¢πÈ— µÕπ µ¥‘ µßÈ— ‚ª√·°√¡ µ√«® Õ∫°“√µ‘¥ ·∫∫µ√«® Õ∫ µ‘¥µÈ—ß‚ª√·°√¡
°“√µ‘¥µÈ—ß·≈–°“√ ¿“…“ Arduino µ—Èß‚ª√·°√¡ °“√µ‘¥µßÈ— ‚ª√·°√¡ ¿“…“ Arduino
„™â‚ª√·°√¡¿“…“ „π§Õ¡æ‘«‡µÕ√å „π§Õ¡æ‘«‡µÕ√å
Arduino ‰¥ â ”‡√®Á ‰¥ â ”‡√®Á
µ¥‘ µßÈ— ‰¥√‡«Õ√å µ√«® Õ∫°“√µ¥‘ µßÈ— ·∫∫µ√«® Õ∫ µ‘¥µßÈ— ‰¥√‡«Õ√å
‚ª√·°√¡ ‰¥√‡«Õ√傪√·°√¡ °“√µ¥‘ µßÈ— ‰¥√‡«Õ√å ‚ª√·°√¡¿“…“
¿“…“ Arduino ¿“…“ Arduino ‚ª√·°√¡¿“…“ Arduino ‰¥â ”‡√®Á
Arduino
‡¢¬’ π‚ª√·°√¡·≈– µ√«® Õ∫°“√‡¢’¬π ·∫∫µ√«®°“√‡¢’¬π ‡¢¬’ π‚ª√·°√¡·≈–
∑¥ Õ∫‚ª√·°√¡·√° ‚ª√·°√¡·≈– ‚ª√·°√¡·≈– ∑¥ Õ∫‚ª√·°√¡·√°
‰ø°–æ√∫‘ (blink) ∑¥ Õ∫‚ª√·°√¡·√° ∑¥ Õ∫‚ª√·°√¡·√° ‰ø°–æ√∫‘ (blink)
‰ø°√æ√‘∫ (blink) ‰ø°√æ√∫‘ (blink) ‰¥ â ”‡√®Á
Õæ— ‚À≈¥‚ª√·°√¡ µ√«®°“√∑”ß“π ·∫∫µ√«®°“√∑”ß“π °“√Õæ— ‚À≈¥
≈ß Ÿà∫Õ√¥å Àÿàπ¬πµå ¢ÕßÀÿàπ¬πµå ¢ÕßÀàÿπ¬πµå ‚ª√·°√¡ ”‡√Á®
OBECûs Kit
·≈–∑¥ Õ∫°“√ ß— ‡°µ®“°À≈Õ¥‰ø
∑”ß“π¢ÕßÀàπÿ ¬πµå LED ∫πÀπÿà ¬πµå
°√æ√∫‘
√“¬ß“π°“√«®‘ —¬°“√æ≤— 𓇥°Á ‰∑¬¥â“π‡∑§‚π‚≈¬’Àÿàπ¬πµå 109
aw 108-131 109 14/1/13, 11:32 PM
Ë‘ß∑’Ë®–«—¥ «∏‘ «’ ¥— ‡§√◊ÕË ß¡◊Õ«¥— ‡°≥±å°“√
º≈°“√‡√’¬π√⟠„Àâ§–·ππ
(™πÈ‘ ß“π/¿“√–ß“π)
Õ∏∫‘ “¬ «à πª√–°Õ∫ Õ∏∫‘ “¬ «à πª√–°Õ∫ µ√«®°“√Õ∏‘∫“¬ ·∫∫µ√«®°“√ §«“¡∂Ÿ°µÕâ ߢÕß
¢Õß‚ª√·°√¡ ¢Õß‚ª√·°√¡ à«πª√–°Õ∫¢Õß Õ∏∫‘ “¬ «à πª√–°Õ∫ Õ∏∫‘ “¬ «à πª√–°Õ∫
¿“…“ Arduino ¿“…“ Arduino ‚ª√·°√¡ ¢Õß‚ª√·°√¡ ¢Õß‚ª√·°√¡
¿“…“ Arduino ¿“…“ Arduino
¿“…“ Arduino
Õ∏‘∫“¬‚§√ß √â“ß Õ∏‘∫“¬‚§√ß √â“ß µ√«®°“√Õ∏∫‘ “¬ ·∫∫µ√«®°“√ §«“¡∂Ÿ°µÕâ ߢÕß
¢Õß‚ª√·°√¡ ¢Õß‚ª√·°√¡ ‚§√ß √â“ߢÕß Õ∏‘∫“¬‚§√ß √â“ß Õ∏‘∫“¬‚§√ß √â“ß
¿“…“ Arduino ¿“…“ Arduino ‚ª√·°√¡ ¢Õß‚ª√·°√¡ ¢Õß‚ª√·°√¡
¿“…“ Arduino ¿“…“ Arduino ¿“…“ Arduino
‡°≥±å°“√«¥— º≈°“√‡√’¬π√Ÿâ
‡°≥±å°“√„Àâ§–·ππ √–¥—∫ 1 √–¥—∫ 2 √–¥∫— 3
µ¥‘ µ—Èß‚ª√·°√¡¿“…“ µ¥‘ µ—ßÈ ‚ª√·°√¡¿“…“ µ¥‘ µßÈ— ‚ª√·°√¡¿“…“ µ‘¥µ—Èß‚ª√·°√¡¿“…“
Arduino „π§Õ¡æ‘«‡µÕ√å Arduino „π§Õ¡æ‘«‡µÕ√å Arduino „π§Õ¡æ«‘ ‡µÕ√å Arduino „π§Õ¡æ«‘ ‡µÕ√å
‰¡à ”‡√Á® ‰¥â ”‡√Á®‡ªìπ «à π„À≠à ‰¥â ”‡√®Á ‡ªìπ∑ßÈ— À¡¥
µ‘¥µ—È߉¥√‡«Õ√傪√·°√¡ µ‘¥µ—È߉¥√‡«Õ√傪√·°√¡ µ¥‘ µ—ßÈ ‰¥√‡«Õ√傪√·°√¡ µ¥‘ µß—È ‰¥√‡«Õ√傪√·°√¡
¿“…“ Arduino ¿“…“ Arduino ‰¡ à ”‡√Á® ¿“…“ Arduino ‰¥â ”‡√Á® ¿“…“ Arduino ‰¥ â ”‡√®Á
‡ªìπ à«π„À≠à ‡ªìπ∑È—ßÀ¡¥
‡¢’¬π‚ª√·°√¡·≈– ‡¢¬’ π‚ª√·°√¡·≈–∑¥ Õ∫ ‡¢¬’ π‚ª√·°√¡·≈–∑¥ Õ∫ ‡¢¬’ π‚ª√·°√¡·≈–∑¥ Õ∫
∑¥ Õ∫‚ª√·°√¡·√°
‰ø°–æ√∫‘ (blink) ‚ª√·°√¡·√°‰ø°–æ√∫‘ ‚ª√·°√¡·√°‰ø°–æ√‘∫ ‚ª√·°√¡·√°‰ø°–æ√∫‘
(blink) ‰¡à ”‡√Á® (blink) ‰¥ â ”‡√®Á ‡ªìπ (blink) ‰¥ â ”‡√®Á
«à π„À≠à ‡ªìπ∑—ÈßÀ¡¥
°“√Õ—æ‚À≈¥‚ª√·°√¡ °“√Õ—æ‚À≈¥‚ª√·°√¡ °“√Õæ— ‚À≈¥‚ª√·°√¡ °“√Õæ— ‚À≈¥‚ª√·°√¡
”‡√®Á —߇°µ®“°À≈Õ¥‰ø ”‡√Á® ß— ‡°µ®“°À≈Õ¥‰ø ”‡√Á® —߇°µ®“°À≈Õ¥‰ø ”‡√®Á ß— ‡°µ®“°À≈Õ¥‰ø
LED ∫πÀÿàπ¬πµå °–æ√∫‘ LED ∫πÀàπÿ ¬πµå °–æ√‘∫ LED ∫πÀÿàπ¬πµå °–æ√∫‘ LED ∫πÀÿàπ¬πµå °–æ√∫‘
‰¡à ”‡√Á® ‰¥â ”‡√®Á ‡ªπì à«π„À≠à ‰¥ â ”‡√Á®‡ªìπ∑ßÈ— À¡¥
§«“¡∂°Ÿ µÕâ ߢÕßÕ∏∫‘ “¬ §«“¡∂°Ÿ µÕâ ߢÕßÕ∏∫‘ “¬ §«“¡∂°Ÿ µÕâ ߢÕßÕ∏∫‘ “¬ §«“¡∂°Ÿ µÕâ ߢÕßÕ∏∫‘ “¬
«à πª√–°Õ∫¢Õß‚ª√·°√¡ «à πª√–°Õ∫¢Õß‚ª√·°√¡ «à πª√–°Õ∫¢Õß‚ª√·°√¡ «à πª√–°Õ∫¢Õß‚ª√·°√¡
¿“…“ Arduino ¿“…“ Arduino ‰¡∂à °Ÿ µâÕß ¿“…“ Arduino ‰¥∂â °Ÿ µÕâ ß ¿“…“ Arduino ‰¥∂â °Ÿ µÕâ ß
‡ªìπ «à π„À≠à ∑—ÈßÀ¡¥
110 √“¬ß“π°“√«‘®¬— °“√æ≤— 𓇥°Á ‰∑¬¥â“π‡∑§‚π‚≈¬’Ààπÿ ¬πµå
aw 108-131 110 14/1/13, 11:32 PM
‡°≥±å°“√„Àâ§–·ππ √–¥—∫ 1 √–¥—∫ 2 √–¥—∫ 3
§«“¡∂°Ÿ µÕâ ߢÕßÕ∏∫‘ “¬ §«“¡∂°Ÿ µÕâ ߢÕßÕ∏∫‘ “¬ §«“¡∂°Ÿ µÕâ ߢÕßÕ∏∫‘ “¬ §«“¡∂°Ÿ µÕâ ߢÕßÕ∏∫‘ “¬
‚§√ß √“â ߢÕß‚ª√·°√¡ ‚§√ß √â“ߢÕß‚ª√·°√¡ ‚§√ß √â“ߢÕß‚ª√·°√¡ ‚§√ß √“â ߢÕß‚ª√·°√¡
¿“…“ Arduino ¿“…“ Arduino ‰¡∂à °Ÿ µÕâ ß ¿“…“ Arduino ‰¥∂â °Ÿ µÕâ ß ¿“…“ Arduino ‰¥∂â °Ÿ µÕâ ß
‡ªìπ à«π„À≠à ∑ß—È À¡¥
√“¬ß“π°“√«‘®—¬°“√æ≤— 𓇥Á°‰∑¬¥“â π‡∑§‚π‚≈¬À’ ÿπà ¬πµå 111
aw 108-131 111 14/1/13, 11:32 PM
„∫§«“¡√Ÿâ∑Ë’ 3
°“√„™â‚ª√·°√¡¿“…“ Arduino
Õ“¥ŸÕ‘‚πà À√◊ÕÕ“¥ÿ¬‚πà (Arduino) §◊Õ‚ª√·°√¡∑Ë’„™â„π°“√æ—≤π“„Àâ ¡Õß°≈ “¡“√∂
√—∫ —≠≠“≥®“°‡´Áπ‡´Õ√åµà“ß Ê ‡™àπ «‘µ™å µ—«√—∫· ß µ—«Õÿ≥À¿Ÿ¡‘ —≠≠“≥µà“ß Ê ∑Ë’‰¥â®“°
‡´πÁ ‡´Õ√®å –∂°Ÿ 𔉪ª√–¡«≈º≈·≈– ßà §” ß—Ë ‰ª§«∫§¡ÿ °“√∑”ß“π¢ÕßÕªÿ °√≥µå “à ß Ê ‡™πà ¡Õ‡µÕ√å
À≈Õ¥‰ø ‡ªìπµâπ ¿“…“ arduino ‡ªìπ´Õøµå·«√å·∫∫‚Õ‡æ‘≈´Õ√å (open-source) “¡“√∂
¥“«πå‚À≈¥‰¥øâ √®’ “°‡«∫Á ‰´µå www.thairobot.in.th
«µ‘ ™å
√ªŸ ∑Ë’ 3.1 ‚ª√·°√¡¿“…“ arduino
®ÿ¥‡¥àπ¢Õß¿“…“ arduino §◊Õ‡ªìπ¿“…“∑Ë’≈¥§«“¡¬ÿà߬“°„π°“√‡¢’¬π‚ª√·°√¡
§«∫§ÿ¡ ¡Õß°≈ ´ßË÷ ¿“…“ arduino ‰¥√â «∫√«¡øßí °™å π— °“√„™ßâ “πµà“ß Ê „Àâ„™âß“πß“à ¬ Ê ·≈–
112 √“¬ß“π°“√«‘®—¬°“√æ≤— 𓇥°Á ‰∑¬¥â“π‡∑§‚π‚≈¬À’ ÿàπ¬πµå
aw 108-131 112 14/1/13, 11:32 PM
¡’√Ÿª·∫∫°“√‡¢’¬π‚ª√·°√¡·≈–«“°¬ —¡æ—π∏å (syntax) µà“ß Ê ‡À¡◊Õπ¿“…“´’ (C-language)
楟 ‰¥â«“à ‡ªπì ¿“…“´‡’ ≈¬∑’‡¥¬’ « ¿“…“ arduino ¡ª’ √–‚¬™π å ”À√—∫§√Ÿπ—°‡√’¬π·≈–¡◊Õ ¡—§√‡≈πà ∑’Ë
π„®°“√‡¢’¬π‚ª√·°√¡§«∫§ÿ¡ ¡Õß°≈ ‡ªìπ‡§√Ë◊Õß¡◊Õ∑Ë’™à«¬„Àâ§√Ÿ “¡“√∂„™â°“√‡√’¬π°“√ Õπ
”À√∫— √“¬«™‘ “∑‡’Ë °¬’Ë «¢Õâ ß°∫— «∑‘ ¬“»“ µ√·å ≈–‡∑§‚π‚≈¬‡’ æÕ◊Ë „Àπâ °— ‡√¬’ π¡Õ߇ÀπÁ °“√∑”ß“π®√ß‘ Ê
·≈–‡¢“â „®ßà“¬¢π÷È
1. °“√µ¥‘ µß—È ·≈–∑¥ Õ∫‚ª√·°√¡¿“…“ Arduino
°“√µ‘¥µÈ—ß‚ª√·°√¡¿“…“ Arduino ∫π√–∫∫ªØ‘∫µ— °‘ “√«π‘ ‚¥« å ¡¢’ πÈ— µÕπ¥—ßπÈ’
¢π—È µÕπ∑’Ë 1 µÕâ ߡՒ ÿª°√≥å∑’Ë®”‡ªπì ¥ß— π’È
1. ∫Õ√¥å Arduino
2. “¬ USB
3. ‡§√◊ËÕß§Õ¡æ‘«‡µÕ√å
¿“æ∑Ë’ 3.2 ∫Õ√¥å Arduino ·≈– “¬ USB
√“¬ß“π°“√«®‘ ¬— °“√æ—≤𓇥°Á ‰∑¬¥“â π‡∑§‚π‚≈¬’Ààÿπ¬πµå 113
aw 108-131 113 14/1/13, 11:32 PM
¢πÈ— µÕπ∑Ë’ 2 µÕâ ß¡’‚ª√·°√¡¿“…“ Arduino ·≈–µ‘¥µÈß— ‚ª√·°√¡
‚ª√·°√¡¿“…“ Arduino √ÿàπ≈à“ ÿ¥ “¡“√∂¥“«πå‚À≈¥‰¥â ®“°‡«Á∫‰´µå
http://www.arduino.cc/ en/Main/Software ‚¥¬‡≈Õ◊ °„À‡â À¡“– ¡°∫— √–∫∫ªØ∫‘ µ— °‘ “√∑’Ë„™â„π°“√
æ≤— π“ ‚¥¬°àÕπ°“√„™ßâ “π ‚ª√·°√¡µâÕß·µ°‰ø≈∑å ’Ë¥“«πå‚À≈¥¡“°Õà π®–‰¥â‚ø≈‡¥Õ√套߿“æ∑Ë’ 3.3
¿“æ∑Ë’ 3.3 ‚ª√·°√¡¿“…“ Arduino ∑æ’Ë √âÕ¡„™âß“π
¢È—πµÕπ∑Ë’ 3 °“√‡™Ë◊Õ¡µàÕ∫Õ√¥å OBECûs Kit °∫— §Õ¡æ«‘ ‡µÕ√å
‡™◊ÕË ¡µÕà ∫Õ√å¥ OBECûs Kit °—∫§Õ¡æ«‘ ‡µÕ√¥å ⫬ “¬ USB ¥ß— ¿“æ∑Ë’ 3.4
¿“æ∑Ë’ 3.4 °“√‡™Õ◊Ë ¡∫Õ√å¥ Arduino °∫— §Õ¡æ‘«‡µÕ√å
114 114 √“¬ß“π°“√«®‘ ¬— °“√æ—≤𓇥Á°‰∑¬¥â“π‡∑§‚π‚≈¬À’ àπÿ ¬πµå
aw 108-131 14/1/13, 11:32 PM
¢—ÈπµÕπ∑’Ë 4 °“√µ¥‘ µ—ßÈ ‰¥√‡«Õ√å
‡¡Ë◊Õ‡™Ë◊Õ¡µàÕ∫Õ√å¥ Arduino °—∫§Õ¡æ‘«‡µÕ√å·≈â«√–∫∫ªØ‘∫—µ‘°“√«‘π‚¥« å®–§âπÀ“
∫Õ√¥å ∑Ë’‡√“‰¥â‡™◊ËÕ¡µàÕ À“°‡§√Õ◊Ë ß§Õ¡æ«‘ ‡µÕ√å§âπÀ“Õªÿ °√≥剡æà ∫„À¥â ”‡π‘π°“√¥—ßπ’È
1. ‰ª∑Ë’ ‚ø≈‡¥Õ√å∑Ë’‰¥â∑”°“√ Unzip ‚ª√·°√¡¿“…“ Arduino ‰«â„π‚ø≈‡¥Õ√å
diver/FTDI USB Drivers ®–æ∫‚ª√·°√¡ FTDIUNIN.exe „À⥗∫‡∫È‘≈§≈‘°∑’ˉø≈套߰≈à“«
‡æ◊ËÕµ¥‘ µÈß— ‰¥√‡«Õ√å
¿“æ∑Ë’ 3.5 ‚ø≈‡¥Õ√å diver/ FTDI USB Drivers ®–æ∫‚ª√·°√¡ FTDIUNIN.exe
2. °“√µ√«® Õ∫«“à ‰¥∑â ”°“√µ‘¥µÈ—߉¥√‡«Õ√å ”‡√Á® À√Õ◊ ‰¡à‚¥¬¢È—πµÕπ¥—ßπ’È
2.1 §≈‘°¢«“∑Ë’‰Õ§Õπ My Computer ‡≈◊Õ°§” Ë—ß Properties
¿“æ∑’Ë 3.6 ‡¡Õ◊Ë §≈°‘ ¢«“∑Ë’‰Õ§Õπ My Computer ‡≈Õ◊ °§” —Ëß Properties
√“¬ß“π°“√«‘®—¬°“√æ≤— 𓇥°Á ‰∑¬¥“â π‡∑§‚π‚≈¬’Ààÿπ¬πµå 115
aw 108-131 115 14/1/13, 11:33 PM
2.2 §≈°‘ ∑Ë’·∑∫Á Hardware
¿“æ∑’Ë 3.7 ‡¡ËÕ◊ §≈‘°∑Ë·’ ∑Á∫ Hardware
3. ‰ª∑·Ë’ ∑Áª Device Manager
116 ¿“æ∑Ë’ 3.8 ‡¡Ë◊Õ§≈°‘ ‰ª∑Ë’·∑Áª Device Manager
aw 108-131 √“¬ß“π°“√«®‘ —¬°“√æ≤— 𓇥°Á ‰∑¬¥“â π‡∑§‚π‚≈¬À’ πÿà ¬πµå
116 14/1/13, 11:33 PM
4. §≈‘°∑’Ë Ports (COM & LPT) ®–æ∫«à“¡’ USB Serial Port (Com µ—«‡≈¢)
ª√“°Ø¥—ß√ªŸ
¿“æ∑’Ë 3.9 ‡¡Ë◊Õ§≈°‘ ∑Ë’ Ports (COM & LPT)
¢Èπ— µÕπ∑’Ë 5 °“√‡¢â“ àŸ‚ª√·°√¡¿“…“ Arduino
°“√‡¢“â àŸ‚ª√·°√¡¿“…“ Arduino ∑”‰¥â‚¥¬‡¢“â ‰ª∑Ë’‚ø≈‡¥Õ√¢å Õß‚ª√·°√¡ Arduino
∑’ˉ¥â·µ°‰ø≈剫·â ≈â« ·≈–¥—∫‡∫≈‘È §≈‘°∑’ˉø≈å arduino.exe ‡™πà C:\arduino-0019\arduino.exe
¥—ß¿“æ∑Ë’ 3.10
¿“æ∑Ë’ 3.10 ‚ø≈‡¥Õ√å∑Ë’‡°Á∫‰ø≈傪√·°√¡¿“…“ Arduino ‰ø≈å arduino.exe
√“¬ß“π°“√«‘®¬— °“√æ≤— 𓇥Á°‰∑¬¥â“π‡∑§‚π‚≈¬’Àπÿà ¬πµå 117
aw 108-131 117 14/1/13, 11:33 PM
°“√∑¥ Õ∫‚ª√·°√¡‡∫ÈÕ◊ ßµπâ
¢πÈ— µÕπ∑’Ë 1 °“√∑¥ Õ∫‚ª√·°√¡·√°‰ø°–æ√∫‘ (blink)
1. ‡ªî¥‰ø≈µå —«Õ¬“à ß ‚¥¬‰ª∑‡Ë’ ¡πŸ example ➔ sketch : File > Examples >
1.Basics > Blink. ¥ß— ¿“æ∑Ë’ 3.11, 3.12 ·≈–¿“æ∑’Ë 3.13 µ“¡≈”¥∫—
¿“æ∑Ë’ 3.11 °“√‡ªî¥‰ø≈åµ—«Õ¬à“ß Blink
118 118 √“¬ß“π°“√«®‘ ¬— °“√æ—≤𓇥°Á ‰∑¬¥â“π‡∑§‚π‚≈¬’Àπÿà ¬πµå
aw 108-131 14/1/13, 11:33 PM
¿“æ∑Ë’ 3.12 ‰ø≈µå «— Õ¬à“ß Blink ·≈–‚§â¥‚ª√·°√¡
¢—ÈπµÕπ∑Ë’ 2 ‡≈◊Õ°™π‘¥¢Õß∫Õ√å¥∑’ˇ™◊ËÕ¡µàÕ°—∫§Õ¡æ‘«‡µÕ√å·≈–°”Àπ¥æÕ√åµÕπÿ°√¡
∑Ë’„™âµ¥‘ µÕà °∫— ∫Õ√¥å §Õπ‚∑√≈‡≈Õ√å¢ÕßÀÿàπ¬πµå
°“√‡≈◊Õ°™π‘¥¢Õß∫Õ√å¥∑’ˇ™◊ËÕ¡µàÕ°—∫§Õ¡æ‘«‡µÕ√å ‚¥¬‰ª∑’ˇ¡πŸ Tool ➔ Board ➔
‡§√ÕË◊ ß™π‘¥¢Õß∫Õ√¥å ‡ªìπ Arduino ATmega32 ¥ß— ¿“æ∑Ë’ 3.14
¿“æ∑Ë’ 3.13 °“√‡≈◊Õ°™π‘¥¢Õß∫Õ√¥å ‡ªìπ Arduino ATmega32 119
√“¬ß“π°“√«‘®—¬°“√æ—≤𓇥°Á ‰∑¬¥â“π‡∑§‚π‚≈¬À’ πàÿ ¬πµå
aw 108-131 119 14/1/13, 11:33 PM
°àÕπ°“√Õ—æ‚À≈¥‚ª√·°√¡®“° Arduino ‰ª¬—ß∫Õ√奧Õπ‚∑√≈‡≈Õ√å OBECûs Kit
®–°√–∑”ºà“πæÕ√åµÕπÿ°√¡ ´Ë÷ßµâÕß°”Àπ¥æÕ√åµÕπÿ°√¡∑’Ë„™âµ‘¥µàÕ°—∫∫Õ√奧Õπ‚∑√≈‡≈Õ√å¢Õß
Àÿàπ¬πµå ‚¥¬„™â‡¡πŸ Tools ➔ Serial Port ‚ª√·°√¡®–· ¥ßæÕ√åµÕπÿ°√¡∑Ë’¡’„π§Õ¡æ‘«‡µÕ√å
„Àºâ Ÿâ„™â‡≈◊ÕË π‡§Õ‡´Õ√å¢Õ߇¡“ 剪¬ß— æÕ√µå Õπ°ÿ √¡∑µ’Ë âÕß°“√ ¥ß— ¿“æ∑Ë’ 3.14 ´ß÷Ë ∑√“∫‰¥â®“°°“√
°“√ªØ‘∫µ— „‘ π¢π—È µÕπ∑’Ë 4 °“√µ‘¥µÈ—߉¥√‡«Õ√å (¢Õâ ∑Ë’ 2)
¿“æ∑’Ë 3.14 °“√°”Àπ¥æÕ√åµÕπ°ÿ √¡∑Ë’„™âµ¥‘ µÕà °∫— ∫Õ√奧Õπ‚∑√≈‡≈Õ√å¢ÕßÀÿàπ¬πµå
¢πÈ— µÕπ∑Ë’ 3 Õæ— ‚À≈¥‚ª√·°√¡≈ß Ÿà∫Õ√¥å
°“√Õæ— ‚À≈¥‚ª√·°√¡∑‡’Ë ¢’¬π≈ß Ÿ∫à Õ√¥å OBECûs Kit ∑”‰¥â‚¥¬„™‡â ¡πŸ File ➔ Upload
to I/O Board ¥—ß¿“æ∑Ë’ 3.15 ‚¥¬À“°‰¡à¡¢’ Õâ º‘¥æ≈“¥„¥ Ê „π‚ª√·°√¡∑’‡Ë ¢¬’ π °“√Õ—æ‚À≈¥
‚ª√·°√¡≈ß àŸ∫Õ√奮–‰¡à¡’°“√·®â߇µ◊Õπ„¥ ·µàÀ“°¡’¢âÕº‘¥æ≈“¥®“°°“√‡¢’¬π‚ª√·°√¡ ®–‰¡à
“¡“√∂Õ—æ‚À≈¥‚ª√·°√¡≈ß∫Õ√奧Õπ‚∑√≈‡≈Õ√å¢ÕßÀÿàπ¬πµå‰¥â µâÕß∑”°“√·°â‰¢‚§â¥§” Ë—ß„Àâ
∂°Ÿ µâÕß°àÕπ∑”°“√Õæ— ‚À≈¥§√Èß— µÕà ‰ª
120 120 √“¬ß“π°“√«‘®—¬°“√æ≤— 𓇥°Á ‰∑¬¥â“π‡∑§‚π‚≈¬’Àπÿà ¬πµå
aw 108-131 14/1/13, 11:33 PM
¿“æ∑’Ë 3.15 °“√Õ—æ‚À≈¥‚ª√·°√¡‚¥¬„™â§” ßË— Upload to I/O Board
À√◊ÕÀ“°µâÕß°“√µ√«® Õ∫°“√‡¢’¬π‚ª√·°√¡«à“¡’¢âÕº‘¥æ≈“¥À√◊Õ‰¡à „Àℙ⧔ —Ëß
Verify/Compile °àÕπ ‚¥¬‰ª∑‡Ë’ ¡πŸ Setch ➔ Verify/Compile ¥ß— ¿“æ∑’Ë 3.16
¿“æ∑Ë’ 3.16 °“√§Õ¡‰æ≈傪√·°√¡∑‡’Ë ¢’¬π‚¥¬‰ª∑’ˇ¡πŸ Setch ➔ Verify/Compile
√“¬ß“π°“√«‘®¬— °“√æ—≤𓇥°Á ‰∑¬¥â“π‡∑§‚π‚≈¬À’ àÿπ¬πµå 121
aw 108-131 121 14/1/13, 11:33 PM
2. «à πª√–°Õ∫¢Õß‚ª√·°√¡ Arduino ª√–°Õ∫¥«â ¬ «à πµ“à ß Ê ¥—ß√ªŸ ∑’Ë 3.17
√Ÿª∑’Ë 3.17 · ¥ß à«πª√–°Õ∫¢Õß‚ª√·°√¡¿“…“ Arduino
2.1 «à π‰µ‡µ≈‘ ∫“√å (Title bar) ‡ªπì «à π∑’∫Ë Õ°™◊ËÕ‚ª√·°√¡
2.2 «à π‡¡π∫Ÿ “√å (Menu Bar)
‡¡πŸ∫“√¢å Õß Arduino ®–ª√–°Õ∫¥«â ¬ ß‘Ë µà“ß Ê ¥ß— π’È
2.2.1 «à π∑‡Ë’ ªπì ‡¡πŸ File ∑”Àπ“â ∑∫Ë’ √À‘ “√®¥— °“√¢Õâ ¡≈Ÿ ∑‡’Ë √¬’ °«“à Sketch File
● New : √â“ß Sketch File „À¡à
● Sketchbook : ‡¡ÕË◊
● Open : ‡√¬’ ° Sketchbook ∑’Ë∫—π∑°÷ ‰«°â Õà πÀπ“â π’È
● Example : ‡ª¥î Sketchbook µ«— Õ¬“à ß∑¡Ë’ “®“° Library
122 √“¬ß“π°“√«‘®¬— °“√æ—≤𓇥Á°‰∑¬¥“â π‡∑§‚π‚≈¬’Ààπÿ ¬πµå
aw 108-131 122 14/1/13, 11:33 PM
● Save : ∫—π∑°÷ Sketch File ≥ ª®í ®ÿ∫—π
● Save as : ∫π— ∑°÷ Sketch File „π∑’Ë Õπ◊Ë À√◊Õ™◊ËÕ„À¡à ‚¥¬§“à À≈—°
®–Õ¬àŸ∑Ë’ ‚ø≈‡¥Õ√å Arduino ∑Ë’‡√“≈߉«â
● Upload to I/O board : °“√ burn àŸ∫Õ√å¥À≈—ß®“°∑’ˇ¢’¬π
‚ª√·°√¡‡ √®Á
● Preference : µß—È §“à °“√∑”ß“πµ“à ß Ê ¢Õß‚ª√·°√¡¿“…“´’ Arduino
● Quit : „™â®∫°“√∑”ß“π·≈–ÕÕ°®“°‚ª√·°√¡
2.2.2 «à π‡¡πŸ Edit ∑”Àπ“â ∑’Ë·°â‰¢°“√æ¡‘ æå¡ ’ à«πª√–°Õ∫¬àÕ¬ Ê ¥—ßπ’È
● Undo : ¬°‡≈°‘ §” ß—Ë À√◊Õ°“√æ¡‘ æ§å √ß—È ≈à“ ÿ¥
● Redo : ∑”´”È §” —ËßÀ√Õ◊ °“√æ¡‘ æå§√—ßÈ ≈“à ÿ¥
● Cut : µ¥— ¢âÕ§«“¡‰«â„π clipboard
● Copy : §¥— ≈Õ°¢Õâ §«“¡®“° clipboard
● Paste : ·ª–¢âÕ§«“¡®“° clipboard
● Select all : ‡≈Õ◊ ° (·√‡ß“) ¢Õâ §«“¡∑ß—È À¡¥
● Find : §âπÀ“¢âÕ§«“¡
● Find Next : §πâ À“¢Õâ §«“¡∂¥— ‰ª
2.2.3 à«π‡¡πŸ Sketch ‡ªìπ‡¡πŸ∑Ë’„™â§” —Ëß Compile ·≈–‡æË‘¡ Library
ª√–°Õ∫¥«â ¬ à«πª√–°Õ∫¬àÕ¬ Ê ¥—ßπÈ’
● Verify/Compile : ‡ªìπ à«π∑Ë’„™â§Õ¡‰æ≈å (Compile) ¿“…“ c/c++
‡ªìπ¿“…“‡§√◊ËÕß
● Stop : À¬ÿ¥°“√§Õ¡‰æ≈傪√·°√¡ (Compile)
● Import Library : ‡≈◊Õ°/‡æ¡‘Ë Library ‚¥¬·∑√°„π∫√√∑¥— ·√°
● Show Sketch Folders : ∑”°“√· ¥ß∑Ë’‡°∫Á ‚ª√·°√¡¢ÕߺŸâ„™â
● Add File.. : §¥— ≈Õ° File ‡≈Õ◊ °/‡æ¡Ë‘ ¡“∫π— ∑°÷ √«¡„π‚ø≈‡¥Õ√ªå ®í ®∫ÿ π—
2.2.4 à«π‡¡πŸ Tools ∑”Àπâ“∑Ë’®—¥ code ‡≈◊Õ°‡∫Õ√å Microcontroller
‡≈◊Õ° port serial œ≈œ ª√–°Õ∫¥«â ¬ à«πª√–°Õ∫¬àÕ¬ Ê ¥ß— π’È
● Auto Format : ®—¥«“ß code „À⇪πì √–‡∫¬’ ∫ «¬ß“¡ „ÀÕâ à“π‰¥ßâ “à ¬
‚¥¬·¬° ’ code ∑‡’Ë ªπì §” ß—Ë ·≈–µ—«·ª√
√“¬ß“π°“√«®‘ ¬— °“√æ—≤𓇥Á°‰∑¬¥“â π‡∑§‚π‚≈¬À’ πàÿ ¬πµå 123
aw 108-131 123 14/1/13, 11:34 PM
● Archive Sketch : Ë—ß„Àâ∫’∫Õ—¥‰ø≈傪√·°√¡∑È—ß‚ø≈‡¥Õ√åÀ≈—°
·≈–‚ø≈‡¥Õ√å¬àÕ¬¢Õß ‡°µÁ ∫ÿ°ä ™ªå ®í ®ÿ∫—π ‰ø≈∑å Ë’ √“â ß„À¡®à –¡’™ÕË◊ ‡¥¬’ «°∫— ‡°Áµ∫ÿ°ä ™åª®í ®ÿ∫π—
● Board : „™ â ”À√—∫‡≈Õ◊ °‡∫Õ√¢å Õ߉¡‚§√§Õπ‚∑√≈‡≈Õ√∑å ’Ë„™ßâ “π°—∫
‚ª√·°√¡ ‡™πà Arduino ‡ªìπµπâ
● Serial Ports : ‡≈◊Õ°À≈“¬‡≈¢æÕ√µå Õπÿ°√¡¢Õ߇§√ÕË◊ ß§Õ¡æ‘«‡µÕ√å
∑Ë’„™âµ‘¥µàÕ°∫— ‚ª√·°√¡ Arduino
2.3 ·∂∫‡§√◊ÕË ß¡Õ◊ (∑Ÿ≈∫“√å : Tools bar)
”À√—∫§” —Ëß∑’Ë¡’°“√„™â∫àÕ¬ Ê ‚ª√·°√¡¿“…“´’ Arduino ®–π”¡“ √â“ß
‡ªπì ª¡Éÿ ∫π·∂∫‡§√ÕË◊ ß¡Õ◊ ‡æÕ◊Ë „À â “¡“√∂‡√¬’ °„™§â ” ßË— Ê ππ—È ‰¥ â –¥«°¡“°¬ßË‘ ¢πÈ÷ ª¡ÿÉ µ“à ß Ê ∫π·∂∫
‡§√Õ◊Ë ß¡Õ◊ ¡¥’ ß— πÈ’
Verify/Compile „™âµ√«® Õ∫°“√‡¢’¬π§” —Ëß„π‚ª√·°√¡«à“¡’§«“¡
∂°Ÿ µâÕßµ“¡À≈°— ‰«¬“°√≥åÀ√Õ◊ ‰¡à ·≈–§Õ¡‰æ≈傪√·°√¡
Stop „™â ”À√—∫À¬ÿ¥°“√∑”ß“π¢Õß Serial monitor À√◊ÕÀ¬ÿ¥°“√
∑”ß“π¢ÕߪÉÿ¡ÕπË◊ Ê
New „™ â ”À√—∫°“√ √â“ß ‡°Áµ‰ø≈å À√Õ◊ ‰ø≈傪√·°√¡µ—«„À¡à
Open „™â·∑π‡¡πŸ File ➔ Sketchbook ‡æË◊Õ‡ªî¥ ‡°Áµ™å∫äÿ°
(‰ø≈傪√·°√¡) ∑¡Ë’ ’Õ¬àŸ„π‡§√◊ËÕß§Õ¡æ‘«‡µÕ√å
Save „™â∫π— ∑÷°‰ø≈å ‡°Áµ∫°äÿ ™∑å ‡Ë’ ¢’¬π¢÷Èπ
Upload to I/O Board „™âÕ—æ‚À≈¥‚ª√·°√¡∑Ë’‡¢’¬π¢È÷π‰ª¬—ß∫Õ√å¥
§Õπ‚∑√≈‡≈Õ√å¢ÕßÀàÿπ¬πµå OBECûs Kit (°àÕπ°“√Õæ— ‚À≈¥®–µÕâ ß·πà„®«à“‰¥â∫—π∑÷°‰ø≈å ‡°Áµ™∫å ÿ°ä
‡√¬’ ∫√Õâ ¬·≈â«)
Serial Monitor „π°√≥∑’ ’Ë„™â Serial Port ®–„™·â ¥ß¢Õâ ¡≈Ÿ ∑√Ë’ ∫— ßà º“à π
Õπ°ÿ √¡¢Õ߇§√Õ◊Ë ß§Õ¡æ«‘ ‡µÕ√剪¬ß— ‡§√ÕË◊ ß§Õ¡æ‘«‡µÕ√剪¬ß— ∫Õ√å¥ Arduino „π°“√ àߢÕâ ¡Ÿ≈‰ª
¬—ß∫Õ√奄Àâæ‘¡æå¢âÕ§«“¡·≈–§≈°‘ ªÉÿ¡ çsendé À√◊Õ°¥ª¡ÿÉ enter „π°“√√—∫ àߢâÕ¡Ÿ≈µâÕß°”Àπ¥
Õµ— √“‡√Á«„π°“√∂“à ¬∑Õ¥¢âÕ¡≈Ÿ À√Õ◊ ∫Õ¥‡√µ (Buad rate) „Àâ°—∫‚ª√·°√¡„π§” ßË— serial.begin
2.4 æÈ◊π∑Ë’‡¢’¬π‚ª√·°√¡ (Text editor) ‡ªìπ à«π¢ÕßæÈ◊π∑Ë’„™â ”À√—∫°“√‡¢’¬π
‚ª√·°√¡
2.5 æÈπ◊ ∑’Ë· ¥ß¢âÕ¡≈Ÿ (Text area) ‡ªπì «à π∑’Ë„™â„π°“√¥ºŸ ≈°“√ Compile ·≈–
Upload ‚ª√·°√¡
124 √“¬ß“π°“√«‘®¬— °“√æ—≤𓇥Á°‰∑¬¥â“π‡∑§‚π‚≈¬À’ àÿπ¬πµå
aw 108-131 124 14/1/13, 11:34 PM
3. ‚§√ß √â“ߢÕß‚ª√·°√¡¿“…“ Arduino
‚§√ß √â“ß°“√‡¢¬’ π‚ª√·°√¡¿“…“ Arduino ª√–°Õ∫¥«â ¬ 4 «à 𠉥·â °à
3.1 «à πÀ—«‚ª√·°√¡
‡ªπì «à π∑ Ë’ ß—Ë „À‡â √¬’ °‰ø≈Õå πË◊ Ê ‡¢“â °∫— ‰ø≈傪√·°√¡¢Õ߇√“·≈«â ®ß÷ ∑”°“√§Õ¡‰æ≈å
‚ª√·°√¡
3.2 «à πª√–°“»µ«— ·ª√
‡ªìπ à«π∑Ë’„™â„π°“√ª√–°“»µ—«·ª√∑Ë’„™â„π‚ª√·°√¡
3.3 à«π°“√ Setup (void setup)
‡ªìπøßí °å™π— ∑‡’Ë ¡ËÕ◊ ‚ª√·°√¡∑”ß“π®–∑”§” Ëß— ∑Ë’Õ¬Ÿà„πøßí °å™—ππ‡È’ 欒 ß§√ȗ߇¥¬’ «
3.4 «à π‚ª√·°√¡ (void loop)
‡ªìπ à«π„π°“√°”Àπ¥°“√∑”ß“π¢Õß‚ª√·°√¡À≈—° (main program) ‚¥¬®–
∑”ß“π´È”µÕà ‡πÕË◊ ßµ≈Õ¥‡«≈“
√Ÿª·∫∫‚§√ß √â“ß°“√‡¢¬’ π‚ª√·°√¡
√“¬ß“π°“√«‘®¬— °“√æ—≤𓇥Á°‰∑¬¥“â π‡∑§‚π‚≈¬’Àÿπà ¬πµå 125
aw 108-131 125 14/1/13, 11:34 PM
§” Ë—ß§«∫§ÿ¡°“√∑”ß“π
§” —Ëß if
if §◊Õ§” ßË— ∑Ë’ Ëß— „À¡â °’ “√∑¥ Õ∫‡ß◊ËÕπ‰¢°Õà π∑Ë®’ –‰ª∑”ß“πµ“¡§” ßË— ∑’˰”À𥉫â
√ªŸ ·∫∫°“√„™§â ” Ëß— †if
if†(expression)†statement;
À√◊Õ
if (expression)
{
statement(s);
}
‚¥¬∑Ë’†expression §◊Õ†π‘æ®πå‡ßË◊Õπ‰¢ ¡’§à“®√‘ßÀ√◊Õ‡∑Á®Õ¬à“ß„¥Õ¬à“ßÀπ÷Ë߇∑à“π—Èπ†
∂Ⓡß◊ËÕπ‰¢‡ªìπ®√‘߆®–∑”ß“πµ“¡§” Ë—ß∑’ËÕ¬àŸ„π if ®“°πÈ—π°ÁÕÕ°®“°§” Ë—ß if ‰ª∑”§” —Ëß∂—¥‰ª†
∂Ⓡß◊ËÕπ‰¢‡ªìπ‡∑®Á ®–ÕÕ°®“°§” —ßË †if†∑—π∑’
§” ß—Ë if†else
if else §◊Õ§” —Ëß∑’Ë Ë—ß„Àâ¡’°“√∑¥ Õ∫‡ßË◊Õπ‰¢†‚¥¬¡’°“√µ—¥ ‘π„®·∫∫ 2 ∑“߇≈◊Õ°
√ªŸ ·∫∫°“√„™§â ” —Ë߆if else
if (expression){
statement1(s);
}
else {††††
statement2(s);
}
† °“√„™§â ” ß—Ë †if†else†∂“â πæ‘ ®π‡å ßÕ◊Ë π‰¢ (expression)†¡§’ “à ‡ªπì ®√ß‘ ®–∑”µ“¡§” ß—Ë ™¥ÿ A
(statement1(s);) ∂â“¡’§à“‡ªìπ‡∑Á®®–∑”µ“¡§” Ë—ß™ÿ¥ B†(statement2(s);)‡¡◊ËÕ∑”‡ √Á®°ÁÕÕ°®“°
§” ß—Ë π’È
§” —ßË else†if†
††† else if†§Õ◊ ‚§√ß √â“ß∑Ë∑’ ”„À‡â √“ “¡“√∂„™â§” ß—Ë if else†´âÕπ°—π‰¥‡â √◊ËÕ¬ Ê «à π¡“°
®–„™â„π°“√µ¥— ‘π„®∑Ë’¡“°°«à“†2 ∑“߇≈◊Õ°¢÷πÈ ‰ª†
126 √“¬ß“π°“√«‘®¬— °“√æ≤— 𓇥°Á ‰∑¬¥â“π‡∑§‚π‚≈¬À’ àπÿ ¬πµå
aw 108-131 126 14/1/13, 11:34 PM
√ªŸ ·∫∫°“√„™â‚§√ß √â“ß else†if
else if (expression)†{
statement1(s);
}
else if†(expression){†††††††††
statement2(s);
}
else if†(expression){†††††††††
..........
§” ßË— switch
switch §◊Õ§” Ë—ß∑Ë’„™â∑¥ Õ∫‡ß◊ËÕπ‰¢„π°√≥’∑’Ë¡’∑“߇≈◊Õ° ”À√—∫µ—¥ ‘π„®¡“°°«à“†
2 ∑“ߢπÈ÷ ‰ª
√Ÿª·∫∫°“√„™§â ” —Ëß switch
switch†(expression) {
case†expression1:
statement(s); break;
case†expression2:
statement(s);†break;
..........
case†expressionN:
statement(s); break;
default:
statement(s);
}
‚¥¬∑Ë’†
expression §Õ◊ †πæ‘ ®π†å À√Õ◊ µ«— ·ª√∑®’Ë –„™‡â ª√¬’ ∫‡∑¬’ ∫°∫— πæ‘ ®π†å expression1, expression2,
....., expressionN «à“¡§’ “à µ√ß°∫— π‘æ®πå„¥
break §Õ◊ §” ß—Ë ∑Ë’„ à‰«â„π·µ≈à –†case†‡æÕË◊ ‡ªπì °“√∫Õ°„ÀÕâ Õ°®“°§” ß—Ë †switch À≈ß—
®“°∑”§” —Ëß∑ËÕ’ ¬Ÿà„π†case ππÈ— Ê ·≈«â †·µ∂à “â À“°‰¡¡à ’§” —Ëß break†„π†case†„¥ ʆ‡¡◊ËÕ∑”§” ßË—
√“¬ß“π°“√«‘®¬— °“√æ≤— 𓇥Á°‰∑¬¥â“π‡∑§‚π‚≈¬’Ààÿπ¬πµå 127
aw 108-131 127 14/1/13, 11:34 PM
„π case†ππ—È ·≈«â †®–∑”ß“π„π case ∂¥— ‰ª®π°«“à ®–‡®Õ§” ß—Ë break†´ß÷Ë Õ“®∑”„À‡â °¥‘ °“√∑”ß“π
º‘¥æ≈“¥‰¥â
default†§◊Õ†°√≥’∑’Ë expression ‰¡àµ√ß°—∫‡ßË◊Õπ‰¢„¥ Ê ‡≈¬ „Àâ∑”ß“πµ“¡§” Ë—ß∑’Ë
‡¢¬’ π‰«â„π default†‚¥¬†default†π’ȉ¡®à ”‡ªπì µÕâ ß„ §à ” ßË— break†‡Õ“‰«†â ‡æ√“– default ‡ªπì °√≥’
ÿ¥∑⓬¢Õß§” ß—Ë switch†
§” ß—Ë for
for §Õ◊ §” ß—Ë ∑ ’Ë ßË— „À₪·°√¡¡°’ “√∑”ß“π´”È Ê «π≈ªŸ ®π°«“à ‡ßÕË◊ π‰¢∑°Ë’ ”À𥉫‡â ªπì ‡∑®Á †
®ß÷ ÕÕ°®“°§” Ë—ß for ‰ª∑”§” —Ëß∂¥— ‰ª†
*** §”·π–π” §«√„™â§” Ë—ß for†„π°√≥’∑Ë∑’ √“∫®”π«π√Õ∫¢Õß°“√∑”ß“π
√Ÿª·∫∫°“√„™â§” —ßË for
for (expression1; expression2; expression3)†
statement;
À√◊Õ
for (expression1; expression2; expression3)
{
†††††† statement(s);
}†††††††
‚¥¬∑†Ë’ ††
expression1 §◊Õ πæ‘ ®π∑å ’Ë„™â°”Àπ¥§à“‡√‘¡Ë µâπ„Àâ°—∫µ—«·ª√∑Ë®’ –„™â«π≈ªŸ
expression2 §Õ◊ π‘æ®π∑å Ë’„™∑â ¥ Õ∫‡ßÕË◊ π‰¢ ´Ëß÷ ®–¡’§à“®√ß‘ À√◊Õ‡∑Á®Õ¬à“ß„¥Õ¬à“ßÀπßË÷ ‡∑“à πÈ—π
expression3 §Õ◊ πæ‘ ®πå∑Ë’„™‡â æ¡Ë‘ À√◊Õ≈¥§à“µ«— ·ª√∑Ë’®–„™â«π≈ªŸ
statement(s) §◊Õ §” Ëß— µà“ß Ê ∂â“¡¡’ “°°«“à 1 §” —Ëß ®–µâÕ߇¢’¬πÕ¬¿àŸ “¬„π‡§√◊ÕË ßÀ¡“¬ {Ç.}
§” Ë—ß while
while ‡ªìπ§” —Ëß∑’Ë¡’°“√∑”ß“π´È” Ê ‡ªìπ≈Ÿª ·≈–¡’≈—°…≥–°“√∑”ß“π¢Õß§” —Ëß
§≈“â ¬°∫— §” Ëß— †for†·µ·à µ°µà“ß°—πµ√ß∑Ë’ °“√„™â†while†‰¡àµÕâ ß∑√“∫®”π«π√Õ∫¢Õß°“√∑”ß“π
∑’Ë·πàπÕπ†·µàµÕâ ß¡‡’ ß◊ÕË π‰¢∑‡Ë’ ªìπ‡∑®Á ®ß÷ ®–ÕÕ°®“°§” —Ë߆while†‰¥â
√Ÿª·∫∫°“√„™§â ” Ëß— while
while†(expression)†statement;
128 √“¬ß“π°“√«‘®—¬°“√æ—≤𓇥Á°‰∑¬¥â“π‡∑§‚π‚≈¬À’ ÿàπ¬πµå
aw 108-131 128 14/1/13, 11:34 PM
À√◊Õ
while†(expression)
{
statement(s);
}
‚¥¬∑Ë’†
expression §◊Õ π‘æ®πå∑’Ë„™â∑¥ Õ∫‡ßË◊Õπ‰¢ ∂â“π‘æ®πåπ’È„Àâº≈≈—æ∏凪ìπ®√‘ß®–∑”µ“¡
§” ß—Ë ∑ÕË’ ¬Ÿ¿à “¬„π§” Ëß— while†®π°«à“‡ß◊ÕË π‰¢‡ªπì ‡∑Á®®÷ßÕÕ°®“°§” —Ë߆while†‰¥â
§” ß—Ë do while
do while §Õ◊ §” —ßË ∑Ë¡’ ’°“√∑”ß“π´”È Ê «π≈ªŸ §≈⓬°—∫§” Ëß— while†¡“°†·µ·à µ°µà“ß°π—
µ√ß∑’˧” Ë—ß do†while ®–∑¥ Õ∫‡ßË◊Õπ‰¢À≈—ß®“°∑Ë’‰¥â∑”ß“πµ“¡§” Ë—ß¿“¬„π≈Ÿª·≈⫆1†√Õ∫†
®“°ππÈ— ®ß÷ ¬Õâ π°≈∫— ¡“∑¥ Õ∫‡ßÕË◊ π‰¢Õ°’ §√ß—È ÀπßË÷ †∂“â ‡ßÕË◊ π‰¢‡ªπì ®√ß‘ °®Á –∑”ß“πµ“¡§” ßË— ¿“¬„π≈ªŸ
·µ∂à “â ‡ßÕË◊ π‰¢‡ªπì ‡∑®Á ®–ÕÕ°®“°§” ß—Ë †do while ∑π— ∑’
√Ÿª·∫∫°“√„™â§” ß—Ë †do while
do{
statement(s);
}†while†(expression);
µ—«¥”‡ππ‘ °“√
6.1 µ«— ¥”‡ππ‘ °“√§≥‘µ»“ µ√å†(mathematical operators)
≠— ≈°— …≥å (symbol) µ«— ¥”‡π‘π°“√ (operators) µ—«Õ¬à“ß
+ ∫«° (addition) a+b
- ≈∫ (subtraction) a-b
* §≥Ÿ (multiplication) a*b
/ À“√ (division) a/b
% À“√‡Õ“‡»… (remainder) a%b
√“¬ß“π°“√«®‘ —¬°“√æ—≤𓇥Á°‰∑¬¥â“π‡∑§‚π‚≈¬’Àÿπà ¬πµå 129
aw 108-131 129 14/1/13, 11:34 PM
º≈≈æ— ∏å∑Ë’‰¥â®–Õ¬Ÿà„π√Ÿª¢Õßµ—«‡≈¢†
6.2 µ—«¥”‡π‘π°“√§«“¡ ¡— æπ— ∏†å (relational†operators)
≠— ≈°— …≥å (symbol) µ«— ¥”‡ππ‘ °“√ (operators) µ—«Õ¬à“ß
< πâÕ¬°«à“ (less†than) a<b
> ¡“°°«“à †(greater†than) a>b
<= πÕâ ¬°«“à À√Õ◊ ‡∑“à °∫— a<=b
(less than†or equal)
>= ¡“°°«“à À√Õ◊ ‡∑à“°∫— a>=b
(greater than or†equal)
== ෈ҡѺ (equal) a==b
!= ‰¡à‡∑“à °∫— (not equal) a!=b
º≈≈—æ∏∑å Ë’‰¥â ®–‰¥§â à“®√‘߆(1)†À√◊Õ§à“‡∑®Á †(0)†‡∑“à πÈ—π
6.3 µ«— ¥”‡π‘π°“√‡™ß‘ µ√√°– (logical†operators)
—≠≈°— …≥å (symbol) µ«— ¥”‡π‘π°“√ (operators) µ—«Õ¬à“ß
&& ·≈– (AND) a<b&&c>d
|| À√Õ◊ (OR) A<b|| c>d
! ‰¡à (NOT)
!(a<b)
º≈≈æ— ∏å∑’ˉ¥â ®–‰¥§â “à ®√ß‘ †(1)†À√Õ◊ §“à ‡∑Á®†(0)†‡∑“à πÈπ—
6.4 µ«— ¥”‡ππ‘ °“√‡æ‘Ë¡§à“·≈–≈¥§“à (increment and decrement operators)
—≠≈°— …≥å (symbol) µ—«¥”‡ππ‘ °“√ (operators) µ—«Õ¬à“ß
++ ‡æ‘¡Ë §“à (increment) a++ À√◊Õ ++a
-- ≈¥§à“ (decrement) afiÀ√◊Õ --a
º≈≈—æ∏å∑Ë’‰¥â ®–Õ¬àŸ„π√ªŸ ¢Õß§à“µ—«‡≈¢
130 130 √“¬ß“π°“√«®‘ —¬°“√æ—≤𓇥Á°‰∑¬¥â“π‡∑§‚π‚≈¬’Àÿàπ¬πµå
aw 108-131 14/1/13, 11:34 PM
„∫ß“π∑’Ë 3
‡√ÕË◊ ß °“√„™â‚ª√·°√¡ Arduino
¡“™‘°„π°≈ÿà¡
1. .......................................................................................................................................
2. .......................................................................................................................................
3. .......................................................................................................................................
1. „Àâπ—°‡√’¬πµ‘¥µÈ—ß‚ª√·°√¡¿“…“ Arduino µ“¡¢—πÈ µÕπ„π„∫§«“¡√∑⟠˒ 3
2. π—°‡√’¬π‡¢’¬π‚ª√·°√¡·≈–∑¥ Õ∫‚ª√·°√¡·√°‰ø°–æ√‘∫ (blink) µ“¡¢—ÈπµÕπ
„π„∫§«“¡√Ÿ∑â ’Ë 3
√“¬ß“π°“√«‘®¬— °“√æ≤— 𓇥Á°‰∑¬¥“â π‡∑§‚π‚≈¬À’ ÿàπ¬πµå 131
aw 108-131 131 14/1/13, 11:34 PM
Àπ«à ¬∑’Ë 4
°“√‡¢’¬π‚ª√·°√¡§«∫§¡ÿ Àπÿà ¬πµå
º≈°“√‡√’¬π√Ÿâ
‡¢’¬π‚ª√·°√¡§«∫§ÿ¡°“√∑”ß“π¢ÕßÀÿàπ¬πµå·≈–°“√‡™Ë◊Õ¡µàÕ°—∫Õÿª°√≥åµ√«®®—∫
(sensors) √–∫∫ àß°”≈ß— (actuators) ·≈–Àπ૬· ¥ßº≈ (display) ‰¥â
‡π◊ÈÕÀ“ “√–
°“√‡¢¬’ π‚ª√·°√¡§«∫§¡ÿ °“√∑”ß“π¢ÕßÀπàÿ ¬πµ·å ≈–°“√‡™Õ◊Ë ¡µÕà °∫— Õªÿ °√≥µå √«®®∫—
(sensors) √–∫∫ ßà °”≈ß— (actuators) ·≈–Àπ૬· ¥ßº≈ (display)
°‘®°√√¡°“√‡√¬’ π√⟠‡√Ë◊Õß °“√‡¢’¬π‚ª√·°√¡§«∫§ÿ¡Ààÿπ¬πµå
1. ·∫àß°≈¡ÿà π—°‡√’¬πÕÕ°‡ªπì °≈ÿà¡ Ê ≈– 3-5 §π
2. π—°‡√¬’ π·µà≈–°≈¡àÿ ®¥— ‡µ√’¬¡Õªÿ °√≥套ߵÕà ‰ªπÈ’
3.1 §Õ¡æ‘«‡µÕ√å∑¡Ë’ ’‚ª√·°√¡¿“…“ Arduino ®”π«π 1 ‡§√◊ÕË ß
3.2 Àÿπà ¬πµå OBECûs Kit ®”π«π 1 µ—«
3.3 “¬ USB ®”π«π 1 ‡ âπ
4. π—°‡√¬’ π‡¢¬’ π‚ª√·°√¡§«∫§¡ÿ Õªÿ °√≥‡å ™Ë◊Õ¡µàÕµà“ß Ê ¢ÕßÀπàÿ ¬πµå OBECûs Kit
µ“¡„∫§«“¡√âŸ∑Ë’ 4.1-4.6
5. π°— ‡√’¬π·≈–§√Ÿ√à«¡°—πª√–‡¡‘πº≈°“√ªØ‘∫µ— ‘°®‘ °√√¡
Ë◊Õ·≈–Õÿª°√≥å
1. „∫§«“¡√â∑Ÿ Ë’ 4.1-4.6
2. §Õ¡æ‘«‡µÕ√å ®”π«π 1 ‡§√ÕË◊ ß
3. Àπàÿ ¬πµå OBECûs Kit ®”π«π 1 µ—«
4. “¬ USB ®”π«π 1 ‡ âπ
132 132 √“¬ß“π°“√«®‘ ¬— °“√æ≤— 𓇥Á°‰∑¬¥“â π‡∑§‚π‚≈¬À’ àÿπ¬πµå
aw 132-168 14/1/13, 11:34 PM
°“√«—¥·≈–ª√–‡¡π‘ º≈
‘Ëß∑Ë’®–«—¥ «∏‘ «’ ¥— ‡§√Ë◊Õß¡◊Õ«¥— ‡°≥±å°“√
º≈°“√‡√’¬π√Ÿâ „Àâ§–·ππ
(™πÈ‘ ß“π/¿“√–ß“π)
‡¢¬’ π‚ª√·°√¡ °“√‡¢’¬π‚ª√·°√¡ µ√«®°“√∑”ß“π ·∫∫µ√«®°“√ ‡¢¬’ π‚ª√·°√¡
§«∫§¡ÿ Õªÿ °√≥å §«∫§¡ÿ Õªÿ °√≥å ¢ÕßÀÿàπ¬πµå ∑”ß“π¢ÕßÀπàÿ ¬πµå §«∫§¡ÿ Õªÿ °√≥å
‡™◊ÕË ¡µÕà ‡™Ë◊Õ¡µàÕ
‡™ÕË◊ ¡µÕà ‰¥ â ”‡√®Á
‡°≥±°å “√«¥— º≈°“√‡√¬’ π√âŸ
‡°≥±å°“√„Àâ§–·ππ √–¥—∫ 1 √–¥—∫ 2 √–¥—∫ 3
‡¢¬’ π‚ª√·°√¡§«∫§ÿ¡ ‡¢¬’ π‚ª√·°√¡§«∫§¡ÿ ‡¢’¬π‚ª√·°√¡§«∫§¡ÿ ‡¢’¬π‚ª√·°√¡§«∫§¡ÿ
Õªÿ °√≥‡å ™ËÕ◊ ¡µàÕ Õÿª°√≥‡å ™ÕË◊ ¡µÕà ‰¡à ”‡√®Á Õªÿ °√≥‡å ™Õ◊Ë ¡µÕà ‰¥ â ”‡√®Á Õÿª°√≥‡å ™◊ËÕ¡µàÕ‰¥â ”‡√®Á
‡ªπì «à π„À≠à ∑ß—È À¡¥
‡°≥±°å “√ºà“π π°— ‡√’¬π∑ÿ°§π‰¥§â –·ππµÈß— ·µà√–¥∫— 2 ¢πÈ÷ ‰ª ®“° 3 √–¥—∫§ÿ≥¿“æ
√“¬ß“π°“√«®‘ ¬— °“√æ—≤𓇥°Á ‰∑¬¥“â π‡∑§‚π‚≈¬À’ πÿà ¬πµå 133
aw 132-168 133 14/1/13, 11:34 PM
„∫§«“¡√∑Ÿâ Ë’ 4.1
°“√‡¢¬’ π‚ª√·°√¡§«∫§¡ÿ °“√‡§≈ËÕ◊ π∑Ë’¢ÕßÀπÿà ¬πµå OBECûs Kit v1.0
√Ÿª∑Ë’ 4.1.1 · ¥ß≈°— …≥–°“√‡§≈◊ËÕπ∑’Ë¢ÕßÀÿàπ¬πµå OBECûs kit v1.0 ·∫∫¢—∫‡§≈ËÕ◊ π
2 ≈âÕ (2WD differential driver) „π≈°— …≥–µ“à ß Ê ‡™πà °“√‡§≈ËÕ◊ π∑·Ë’ ∫∫‡¥π‘ Àπ“â -∂Õ¬À≈—ß
°“√‡§≈◊ËÕπ·∫∫‚§ßâ µ—«‡Õ (s-curve) ·≈–°“√‡§≈Õ◊Ë π∑Ë’·∫∫ ˇ’ À≈’¬Ë ¡ (square)
√Ÿª∑’Ë 4.1.1 °“√‡§≈Õ◊Ë π∑¢’Ë ÕßÀπàÿ ¬πµå„π≈°— …≥–µà“ß Ê
134 134 √“¬ß“π°“√«®‘ —¬°“√æ—≤𓇥°Á ‰∑¬¥â“π‡∑§‚π‚≈¬’Àÿàπ¬πµå
aw 132-168 14/1/13, 11:35 PM
√–∫∫°“√‡§≈Ë◊Õπ∑’Ë¢ÕßÀàÿπ¬πµå OBECûs Kit ¡’Õÿª°√≥åµà“ß Ê ¥—ßµàÕ‰ªπ’È ¡Õ‡µÕ√å
æ√Õâ ¡™¥ÿ ‡øóÕߢ—∫¡Õ‡µÕ√åÕµ— √“∑¥ 120:1 „™â‰ø¢π“¥ 3 ‚«≈∑å À¡ÿπ¥â«¬§«“¡‡√Á«†45 √Õ∫/π“∑’
µÕà ‡¢â“°∫— ∫Õ√奢¬“¬ —≠≠“≥¡Õ‡µÕ√å¢π“¥ 400mA ‡Õ“∑åæ∑ÿ ·∫∫ 2 ™Õà ß (2 channel) ·≈–
∫Õ√å¥ ¡Õß°≈ OBECûs kit controller board v1.0 „π√ªŸ ∑’Ë 4.1.2 · ¥ß¿“æ√«¡°“√‡™Õ◊Ë ¡µÕà
¢Õß√–∫∫¢—∫‡§≈Õ◊Ë π¢ÕßÀÿàπ¬πµ°å —∫Õÿª°√≥嵓à ß Ê
√Ÿª∑’Ë 4.1.2 °“√‡§≈Õ◊Ë π∑Ë’¢ÕßÀπàÿ ¬πµ‡å ¥‘πÀπ“â -∂Õ¬À≈—ß
√“¬ß“π°“√«‘®¬— °“√æ≤— 𓇥Á°‰∑¬¥â“π‡∑§‚π‚≈¬À’ ÿàπ¬πµå 135
aw 132-168 135 14/1/13, 11:35 PM
°®‘ °√√¡∑Ë’ 1 °“√‡§≈Ë◊Õπ∑Ë’¢ÕßÀπàÿ ¬πµ‡å ¥‘πÀπ“â -∂Õ¬À≈—ß (forward/backward)
°“√§«∫§ÿ¡Ààÿπ¬πµå‡§≈◊ËÕπ∑Ë’‰ª¢â“ßÀπâ“·≈–∂Õ¬À≈—ß (forward/backward) · ¥ß
µ—«Õ¬“à ß„π√Ÿª∑Ë’ 4.1.3 ·≈–„π√ªŸ ∑’Ë 4.1.4 · ¥ßµ«— Õ¬“à ߺ—ß°“√∑”ß“π¢Õß°“√‡§≈ÕË◊ π∑’ˉª¢â“ßÀπ“â
·≈–∂Õ¬À≈ß— ‡√¡Ë‘ ®“°∑”§«“¡‡¢“â „®ºß— °“√∑”ß“π¢Õß‚ª√·°√¡°“√§«∫§¡ÿ °“√‡§≈Õ◊Ë π∑Ë’‰ª¢“â ßÀπ“â
·≈–∂Õ¬À≈—ß ®“°πÈ—π∑”°“√‡ªî¥‚ª√·°√¡ arduino ¢÷Èπ¡“ æ‘¡æåµ“¡µ—«Õ¬à“ß‚ª√·°√¡∑’Ë 1
À≈—ß®“°æ‘¡æåµ“¡µ—«Õ¬à“ß‚ª√·°√¡‡ √Á®∑”°“√§Õ¡‰æ≈傪√·°√¡‡æË◊Õµ√«® Õ∫À“¢âÕº‘¥æ≈“¥
¢Õß‚ª√·°√¡∂“â ‰¡æà ∫¢Õâ º¥‘ æ≈“¥¢Õß‚ª√·°√¡ „À∑â ”°“√ÕÆ— ‚À≈¥‰ª¬ß— Àπàÿ ¬πµå OBECûs Kit v1.0
¢—ÈπµÕπ∑¥ Õ∫π”Àÿàπ¬πµå¡“«“ß∑’ËæÈ◊π·≈â«°¥ªÉÿ¡ «‘µ™å‡ªî¥ —߇°µ°“√≥å∑”ß“π¢ÕßÀÿàπ¬πµå«à“
¡≈’ °— …≥–°“√‡§≈ËÕ◊ π∑¥Ë’ —ß√ªŸ ∑Ë’ 4.1.3 À√◊Õ‰¡à
√ªŸ ∑Ë’ 4.1.3 √ªŸ Àπÿà ¬πµå‡§≈◊ËÕπ∑’‡Ë ¥π‘ Àπ“â -∂Õ¬À≈—ß
136 136 √“¬ß“π°“√«®‘ ¬— °“√æ—≤𓇥°Á ‰∑¬¥â“π‡∑§‚π‚≈¬’Àπàÿ ¬πµå
aw 132-168 14/1/13, 11:35 PM
µ—«Õ¬à“ß º—ß°“√∑”ß“π¢Õß‚ª√·°√¡Àπàÿ ¬πµå‡§≈Ë◊Õπ∑‡’Ë ¥‘πÀπ“â -∂Õ¬À≈—ß
√Ÿª∑’Ë 4.1.4 ºß— °“√∑”ß“πÀπàÿ ¬πµå‡§≈◊ËÕπ∑‡Ë’ ¥π‘ Àπ“â -∂Õ¬À≈—ß
√“¬ß“π°“√«®‘ ¬— °“√æ≤— 𓇥°Á ‰∑¬¥â“π‡∑§‚π‚≈¬À’ àπÿ ¬πµå 137
aw 132-168 137 14/1/13, 11:35 PM
µ—«Õ¬à“ß ‚ª√·°√¡∑’Ë 1 °“√‡§≈ÕË◊ π∑Ë’‰ª¢â“ßÀπâ“-∂Õ¬À≈—ß
#include <OBECMotors.h> ‡√’¬°„™â library ”À√∫— °“√§«∫§¡ÿ ¡Õ‡µÕ√å
OBECMotors motors; ª√–°“»µ—«·ª√ ”À√∫— °“√‡√’¬°„™â library ¢ÕߡՇµÕ√å
void setup() øíß°å™—π ”À√—∫°“√°”Àπ¥§à“‡√¡Ë‘ µâπµà“ß Ê ¢Õß°“√∑”ß“π
{
//nothing øíß°™å —πÀ≈—° (main program) „π°“√∑”ß“π
}
void loop() °”Àπ¥„Àâ¡Õ‡µÕ√µå —«∑’Ë 1 À¡πÿ ∑«π‡¢Á¡π“Ã°î “
{ °”Àπ¥„Àâ¡Õ‡µÕ√嵫— ∑’Ë 1 À¡πÿ ¥â«¬§«“¡‡√Á« 100%
motors.setM1rotate(CCW); °”Àπ¥„À¡â Õ‡µÕ√嵫— ∑’Ë 2 À¡πÿ µ“¡‡¢Á¡π“Ãî°“
motors.setM1speed(100); °”Àπ¥„Àâ¡Õ‡µÕ√åµ—«∑Ë’ 2 À¡πÿ ¥«â ¬§«“¡‡√«Á 100%
motors.setM2rotate(CW); Àπà«ß‡«≈“ 3000 ¡‘≈≈«‘ π‘ “∑’
motors.setM2speed(100); °”Àπ¥„À¡â Õ‡µÕ√µå —«∑Ë’ 1 À¡πÿ µ“¡‡¢¡Á π“Ãî°“
delay(3000); °”Àπ¥„Àâ¡Õ‡µÕ√µå —«∑Ë’ 1 À¡ÿπ¥â«¬§«“¡‡√«Á 100%
motors.setM1rotate(CW); °”Àπ¥„À¡â Õ‡µÕ√嵫— ∑Ë’ 2 À¡πÿ ∑«π‡¢Á¡π“Ã°î “
motors.setM1speed(100); °”Àπ¥„Àâ¡Õ‡µÕ√åµ—«∑’Ë 2 À¡ÿπ¥«â ¬§«“¡‡√Á« 100%
motors.setM2rotate(CCW); Àπà«ß‡«≈“ 3000 ¡≈‘ ≈«‘ ‘π“∑’
motors.setM2speed(100);
delay(3000);
}
°‘®°√√¡∑Ë’ 2 °“√‡§≈Õ◊Ë π∑Ë’·∫∫‚§âßµ—«‡Õ (s-curve)
°“√§«∫§ÿ¡Ààÿπ¬πµå‡§≈◊ËÕπ∑’Ë·∫∫‚§âßµ—«‡Õ (s-curve) · ¥ßµ—«Õ¬à“ß„π√Ÿª∑’Ë 4.1.5
·≈–„π√Ÿª∑’Ë 4.1.5 · ¥ßµ—«Õ¬“à ߺ—ß°“√∑”ß“π¢Õß‚ª√·°√¡°“√§«∫§ÿ¡°“√‡§≈◊ÕË π∑’¢Ë ÕßÀπàÿ ¬πµå
·∫∫‚§âßµ—«‡Õ ‡√Ë‘¡®“°∑”§«“¡‡¢â“„®ºß— °“√∑”ß“π°“√§«∫§ÿ¡°“√‡§≈Ë◊Õπ∑’Ë ®“°πÈ—π∑”°“√‡ª¥î
‚ª√·°√¡ arduino ¢÷πÈ ¡“ æ‘¡æµå “¡µ«— Õ¬à“ß‚ª√·°√¡∑’Ë 2 À≈—ß®“°æ‘¡æåµ“¡µ—«Õ¬à“ß‚ª√·°√¡
‡ √Á®∑”°“√§Õ¡‰æ≈傪√·°√¡‡æË◊Õµ√«® Õ∫À“¢âÕº‘¥æ≈“¥¢Õß‚ª√·°√¡∂Ⓣ¡àæ∫¢âÕº‘¥æ≈“¥
¢Õß‚ª√·°√¡ „Àâ∑”°“√Õ—Æ‚À≈¥‰ª¬—ßÀàÿπ¬πµå OBECûs Kit v1.0 ¢—ÈπµÕπ∑¥ Õ∫π”Ààÿπ¬πµå
¡“«“ß∑’ËæÈ◊π·≈â«°¥ªÉÿ¡ «‘µ™å‡ªî¥ —߇°µ°“√≥å∑”ß“π¢ÕßÀÿàπ¬πµå«à“¡’≈—°…≥–°“√‡§≈◊ËÕπ∑’Ë
¥—ß√ªŸ ∑’Ë 4.1.5 À√◊Õ‰¡à
138 138 √“¬ß“π°“√«‘®¬— °“√æ≤— 𓇥°Á ‰∑¬¥“â π‡∑§‚π‚≈¬’Àπàÿ ¬πµå
aw 132-168 14/1/13, 11:35 PM
√ªŸ ∑Ë’ 4.1.5 √ŸªÀÿπà ¬πµå‡§≈ËÕ◊ π∑’·Ë ∫∫‚§ßâ µ—«‡Õ (s-curve)
√“¬ß“π°“√«®‘ —¬°“√æ≤— 𓇥Á°‰∑¬¥“â π‡∑§‚π‚≈¬À’ àÿπ¬πµå 139
aw 132-168 139 14/1/13, 11:35 PM
µ«— Õ¬“à ß º—ß°“√∑”ß“π¢Õß‚ª√·°√¡Àπàÿ ¬πµå‡§≈◊ËÕπ∑Ë·’ ∫∫‚§âßµ—«‡Õ (s-curve)
√Ÿª∑’Ë 4.1.6 ºß— °“√∑”ß“πÀÿπà ¬πµ‡å §≈◊ËÕπ∑’ˇªπì √ªŸ ‚§ßâ µ«— ‡Õ
140 140 √“¬ß“π°“√«‘®—¬°“√æ—≤𓇥Á°‰∑¬¥â“π‡∑§‚π‚≈¬À’ πàÿ ¬πµå
aw 132-168 14/1/13, 11:35 PM
µ«— Õ¬“à ß ‚ª√·°√¡∑Ë’ 2 °“√‡§≈ÕË◊ π∑’ˇªπì ‚§ßâ µ«— ‡Õ
#include <OBECMotors.h> ‡√¬’ °„™â library ”À√∫— °“√§«∫§¡ÿ ¡Õ‡µÕ√å
OBECMotors motors; ª√–°“»µ«— ·ª√ ”À√∫— °“√‡√’¬°„™â library ¢ÕߡՇµÕ√å
void setup() øíß°å™π— ”À√—∫°“√°”Àπ¥§à“‡√‘¡Ë µâπ¢Õß°“√∑”ß“π
{
//nothing
}
void loop()
øíß°å™—πÀ≈—°„π°“√∑”ß“π
{
robot_fw(100, 70); ‡√’¬°„™âøßí °å™—π°“√‡§≈ÕË◊ π∑Ë’‰ª¢â“ßÀπ“â ¥«â ¬§«“¡‡√Á«¡Õ‡µÕ√µå «— ∑Ë’ 1
‡∑“à °∫— 100% ·≈–¡Õ‡µÕ√嵫— ∑Ë’ 2 ‡∑“à °∫— 70%
delay(2000); Àπà«ß‡«≈“ 2000 ¡‘≈≈«‘ ‘π“∑’
robot_fw(70, 100); ‡√¬’ °„™øâ íß°™å —π°“√‡§≈◊ÕË π∑Ë’‰ª¢â“ßÀπ“⠥⫬§«“¡‡√Á«¡Õ‡µÕ√µå «— ∑Ë’ 1
‡∑à“°∫— 70% ·≈–¡Õ‡µÕ√嵫— ∑Ë’ 2 ‡∑“à °∫— 100%
delay(2000); Àπ«à ߇«≈“ 2000 ¡≈‘ ≈«‘ ‘π“∑’
}
void robot_fw(int speed1, int speed2) øßí °å™π— ”À√∫— °“√‡§≈ÕË◊ π∑Ë’‰ª¢â“ßÀπâ“
{
motors.setM1rotate(CCW); °”Àπ¥„Àâ¡Õ‡µÕ√嵫— ∑Ë’ 1 À¡πÿ ∑«π‡¢Á¡π“Ã°î “
motors.setM1speed(speed1); °”Àπ¥„À¡â Õ‡µÕ√åµ—«∑’Ë 1 À¡ÿπ¥«â ¬§«“¡‡√«Á µ“¡µ«— ·ª√ speed1
motors.setM2rotate(CW); °”Àπ¥„Àâ¡Õ‡µÕ√µå «— ∑Ë’ 2 À¡πÿ µ“¡‡¢¡Á π“Ãî°“
motors.setM2speed(speed2); °”Àπ¥„Àâ¡Õ‡µÕ√åµ—«∑’Ë 2 À¡ÿπ¥â«¬§«“¡‡√«Á µ“¡µ«— ·ª√ speed2
}
√“¬ß“π°“√«®‘ ¬— °“√æ—≤𓇥°Á ‰∑¬¥â“π‡∑§‚π‚≈¬À’ àÿπ¬πµå 141
aw 132-168 141 14/1/13, 11:35 PM
°®‘ °√√¡∑Ë’ 3 °“√‡§≈ËÕ◊ π∑’ˇªìπ√ªŸ ’‡Ë À≈¬Ë’ ¡ (square)
°“√§«∫§ÿ¡Àÿàπ¬πµå‡§≈Ë◊Õπ∑Ë’·∫∫ ’ˇÀ≈’ˬ¡ (square) · ¥ßµ—«Õ¬à“ß„π√Ÿª∑Ë’ 4.1.7
·≈–„π√Ÿª∑’Ë 4.1.8 · ¥ßµ—«Õ¬à“ߺ—ß°“√∑”ß“π¢Õß°“√‡§≈Ë◊Õπ∑Ë’¢ÕßÀÿàπ¬πµå·∫∫ Ë’‡À≈Ë’¬¡
‡√Ë‘¡®“°∑”§«“¡‡¢â“„®º—ß°“√∑”ß“π¢Õß‚ª√·°√¡°“√§«∫§ÿ¡°“√‡§≈◊ËÕπ∑’Ë·∫∫ Ë’‡À≈’ˬ¡ ®“°π—Èπ
∑”°“√‡ª¥î ‚ª√·°√¡ arduino ¢πÈ÷ ¡“ æ‘¡æåµ“¡µ—«Õ¬“à ß‚ª√·°√¡∑Ë’ 1 À≈—ß®“°æ‘¡æµå “¡µ«— Õ¬à“ß
‚ª√·°√¡‡ √Á®∑”°“√§Õ¡‰æ≈傪√·°√¡‡æË◊Õµ√«® Õ∫À“¢âÕº‘¥æ≈“¥¢Õß‚ª√·°√¡∂Ⓣ¡àæ∫
¢âÕº‘¥æ≈“¥¢Õß‚ª√·°√¡ „Àâ∑”°“√Õ—Æ‚À≈¥‰ª¬—ßÀàÿπ¬πµå OBECûs Kit v1.0 ¢—ÈπµÕπ∑¥ Õ∫
π”Àπÿà ¬πµ¡å “«“ß∑æ’Ë π◊È ·≈«â °¥ª¡Éÿ «µ‘ ™‡å ª¥î ß— ‡°µ°“√≥∑å ”ß“π¢ÕßÀπàÿ ¬πµ«å “à ¡≈’ °— …≥–°“√‡§≈ÕË◊ π∑’Ë
¥ß— √ªŸ ∑Ë’ 4.1.7 À√◊Õ‰¡à
√Ÿª∑’Ë 4.1.7 √ªŸ Ààπÿ ¬πµå‡§≈ËÕ◊ π∑’‡Ë ªìπ√ªŸ ‡’Ë À≈Ë’¬¡
142 142 √“¬ß“π°“√«‘®¬— °“√æ—≤𓇥°Á ‰∑¬¥â“π‡∑§‚π‚≈¬À’ πÿà ¬πµå
aw 132-168 14/1/13, 11:35 PM
µ—«Õ¬à“ß ºß— °“√∑”ß“π¢Õß‚ª√·°√¡Àÿàπ¬πµ‡å §≈◊ËÕπ∑Ë’‡ªπì √ªŸ ˇ’ À≈ˬ’ ¡
√ªŸ ∑’Ë 4.1.8 ºß— °“√∑”ß“πÀàÿπ¬πµ‡å §≈Ë◊Õπ∑’ˇªπì Ë’‡À≈’¬Ë ¡
√ªŸ ∑Ë’ 4.1.8 º—ß°“√∑”ß“πÀàπÿ ¬πµå‡§≈◊ÕË π∑‡Ë’ ªìπ√ªŸ ’‡Ë À≈Ë’¬¡ (µàÕ)
√“¬ß“π°“√«®‘ ¬— °“√æ—≤𓇥Á°‰∑¬¥â“π‡∑§‚π‚≈¬À’ ÿπà ¬πµå 143
aw 132-168 143 14/1/13, 11:35 PM
µ—«Õ¬“à ß ‚ª√·°√¡∑’Ë 3 °“√‡§≈◊ÕË π∑‡Ë’ ªìπ√Ÿª ’ˇÀ≈’¬Ë ¡
#include <OBECMotors.h> ‡√’¬°„™â library ”À√∫— °“√§«∫§ÿ¡¡Õ‡µÕ√å
OBECMotors motors; ª√–°“»µ—«·ª√ ”À√—∫°“√‡√’¬°„™â library ¢ÕߡՇµÕ√å
void setup() øíß°å™—π ”À√∫— °“√°”Àπ¥§à“‡√‘¡Ë µâπ¢Õß°“√∑”ß“π
{
//nothing
}
void loop() øíß°™å π— À≈—°„π°“√∑”ß“π
{
robot_fw(100, 100); ‡√¬’ °„™øâ ßí °™å π— °“√‡§≈ÕË◊ π∑Ë’‰ª¢“â ßÀπ“â ¥«â ¬§«“¡‡√«Á ¡Õ‡µÕ√µå «— ∑’Ë 1
‡∑“à °∫— 100% ·≈–¡Õ‡µÕ√µå «— ∑’Ë 2 ‡∑à“°—∫ 100%
delay(3000); Àπ«à ߇«≈“ 3000 ¡≈‘ ≈«‘ π‘ “∑’
robot_tl(); ‡√’¬°„™âøßí °å™π— ”À√∫— ‡≈’Ȭ«´“â ¬ (À¡ÿπ∑«π‡¢Á¡π“Ã°î “)
delay(500); Àπà«ß‡«≈“ 500 ¡≈‘ ≈‘«‘π“∑’
robot_fw(100, 100); ‡√¬’ °„™øâ ßí °™å π— °“√‡§≈Õ◊Ë π∑’ˉª¢“â ßÀπ“â ¥«â ¬§«“¡‡√«Á ¡Õ‡µÕ√µå «— ∑’Ë 1
‡∑à“°∫— 100% ·≈–¡Õ‡µÕ√嵫— ∑Ë’ 2 ‡∑“à °∫— 100%
delay(3000); Àπà«ß‡«≈“ 3000 ¡‘≈≈«‘ π‘ “∑’
robot_tl(); ‡√’¬°„™âøíß°å™π— ”À√∫— ‡≈¬È’ «´â“¬ (À¡ÿπ∑«π‡¢¡Á π“Ã°î “)
delay(500); Àπà«ß‡«≈“ 500 ¡≈‘ ≈‘«π‘ “∑’
robot_fw(100, 100); ‡√¬’ °„™øâ ßí °™å π— °“√‡§≈ÕË◊ π∑Ë’‰ª¢“â ßÀπ“â ¥«â ¬§«“¡‡√«Á ¡Õ‡µÕ√µå «— ∑Ë’ 1
‡∑“à °∫— 100% ·≈–¡Õ‡µÕ√µå «— ∑Ë’ 2 ‡∑à“°∫— 100%
delay(3000); Àπ«à ߇«≈“ 3000 ¡‘≈≈«‘ ‘π“∑’
}
void robot_fw(int speed1, int speed2) øíß°™å π— °“√‡§≈Ë◊Õπ∑’ˉª¢â“ßÀπâ“
{
motors.setM1rotate(CCW); °”Àπ¥„À¡â Õ‡µÕ√嵫— ∑’Ë 1 À¡πÿ ∑«π‡¢Á¡π“Ã°î “
motors.setM1speed(speed1); °”Àπ¥„Àâ¡Õ‡µÕ√åµ—«∑’Ë 1 À¡ÿπ¥â«¬§«“¡‡√Á«µ“¡µ—«·ª√ speed1
motors.setM2rotate(CW); °”Àπ¥„À¡â Õ‡µÕ√嵫— ∑’Ë 2 À¡πÿ µ“¡‡¢Á¡π“Ã°î “
motors.setM2speed(speed2); °”Àπ¥„À¡â Õ‡µÕ√嵫— ∑Ë’ 2 À¡ÿπ¥â«¬§«“¡‡√Á«µ“¡µ—«·ª√ speed2
}
void robot_tl() øíß°™å π— ”À√—∫‡≈¬È’ «´“â ¬ (À¡πÿ ∑«π‡¢¡Á π“Ãî°“)
{
144 144 √“¬ß“π°“√«‘®¬— °“√æ≤— 𓇥°Á ‰∑¬¥â“π‡∑§‚π‚≈¬À’ πÿà ¬πµå
aw 132-168 14/1/13, 11:35 PM