มอร์เตอร์ - cpefiles.learninginventions.org/gogo/gogo board introduct… · web...
TRANSCRIPT
แนะนำ�ก�รใช GoGo Board เบองตนดร.อ�นนท สหพทกษเกยรต
ภ�ควช�วศวกรรมคอมพวเตอร คณะวศวกรรมศ�สตรมห�วทย�ลยเชยงใหม
สวนประกอบของ GoGo Board
อปกรณทจำ�เปน
แหลงจายไฟGoGo Board ใชไฟไดจ�กสองแหลงคอ ถ�น AA จำ�นวน 6 กอน ซงจะบรรจอยในลงถ�นด�นใต หรอจะเสยบไฟจ�กหมอแปลงไฟกระแสตรงทมแรงดนระหว�ง 9-
12 โวลท
การตอพวงกบคอมพวเตอรGoGo Board ตดตอกบคอมพวเตอรผ�นท�งพอรทอนกรม ถ�คอมพวเตอรมพอรทดงกล�วอย กส�ม�รถนำ�ส�ยอนกรม (บ�งทรจกกนในชอ ส�ย Serial หรอ DB-9)
ตอเข�กบ GoGo Board ไดโดยตรง แตเครองคอมพวเตอรพกพ�
-2-
สวนใหญจะไมมพอรทน ดงนนจะตองใชอปกรณทเรยกว� USB to
Serial Adapter เพอเสยบส�ยเข�กบพอรท USB ของคอมพวเตอรแทน
เรมตนใชง�น GoGo Board
โปรแกรม GoGo Monitor
โปรแกรมนเปนโปรแกรมหลกทใชในก�รตรวจสอบก�รทำ�ง�นของ GoGo Board โดยส�ม�รถด�วนโหลดโปรแกรมนไดฟรท http://www.gogoboard.org เมอตดตงและใชง�นโปรแกรมจะพบหน�ต�งดงรปตอไปน
ก�รทจะเรมใชง�น GoGo Board ไดนนเร�จะตองทร�บหม�ยเลขพอรทสอส�ร (COM port)
ทใชกอน แลวจงกดปม เชอมตอ หม�ยเลขนจะมค�ต�งกนไป ห�กไมทร�บว�จะใช“ ”ค�ใดใหเข�ไปดหม�ยเลขพอรทสอส�รของเครองทมไดท�ง Device Manager ของ Windows โดยพมพคำ�สง devmgmt.msc ในหน�ต�ง Run
-3-
เมอทดลองจนเชอมตอกบ GoGo Board ไดแลวกจะเข�ถงหน�ต�งควบคมหลกของโปรแกรมดงภ�พ
-4-
-5-
แผงควบคมหลกของโปรแกรม GoGo Monitor แบงออกเปน 3 สวนใหญดวยกนคอ
1. สวนการควบคมทวไป สวนนใชทดสอบก�รเชอมตอกบ – GoGo Board เชนสงเสยง สงให – GoGo Board สงเสยงรองสนๆเปด LED, ปด LED – สงเปด และ ปด ไฟแสดงสถ�นก�รณทำ�ง�นบน GoGo Board
PING – จะตรวจสอบรนของ GoGo Board ทใชง�นอย
2. สวนควบคมมอรเตอร – GoGo Board มพอรทเสยบมอรเตอรทงหมด 4 ชอง โดยแตละชองมชอว� A, B, C, D ต�มลำ�ดบ ห�กตองก�รควบคมก�รทำ�ง�นของมอรเตอรใดกใหเลอกมอรเตอรนนโดยก�รทำ�เครองหม�ยในชองด�นข�งชอของมอรเตอรนนๆ โดยส�ม�รถเลอกมอรเตอรไดหล�ยตวพรอมกน เมอเลอกมอรเตอรทตองก�รแลวกส�ม�รถสงง�นต�งๆ ไดดงนเปด, ปด สงเปดและปดพอรทนนๆ–เบรก คอก�รใสแรงต�นก�รหมนเพอใหมอรเตอรอยนง–ปลอย คอก�รตดไฟเฉยๆ มอรเตอรส�ม�รถหมนฟรได–กำ�ลง คอก�รตงค�ว�มอรเตอรจะหมดดวยกำ�ลงสงตำ�เพยงใด โดย – 7 คอกำ�ลงสงสดท�งน, ท�งนน คอก�รกำ�หนดทศท�งก�รหมนของมอรเตอร –กลบทศ คอก�รกลบทศก�รหมนของมอรเตอร–
3. เซนเซอร – GoGo Board มพอรทเซนเซอรทงหมด 8 ชอง เรยกชอว� เซนเซอร 1 ถง เซนเซอร 8 โดย GoGo Board จะสงค�ของเซนเซอรเหล�นม�ยงโปรแกรม GoGo Monitor อย�งตอเนองทนทหลงจ�กกดปม เรม“ ”
ปกตแลวห�กไมมเซนเซอรตอเชอมอยค�ทอ�นไดจะมค�เท�กบ 1023 ซงเปนค�สงสด ค�ทไดนจะเปลยนไปเมอมเซนเซอรเสยบอย
-6-
คำ�สงควบคม GoGo Board จ�ก
Micro Worldsคำาสงเกยวกบเซนเซอร
sensor1sensor2sensor3sensor4sensor5sensor6sensor7sensor8
อ�นค�จะเซนเซอรทกำ�หนด ค�ทไดจะอยระหว�ง 0-1023 ค�ทไดนแสดงใหเหนค�คว�มต�นท�นระหว�งส�ยทงสองเสนของเซนเซอร
ค� 1023 เปนค�ปกตทจะไดเมอไมมเซนเซอรเสยบอย ซงหม�ยถงค�คว�มต�นท�นสงทสด (ไมมกระแสไฟวงผ�นระหว�งส�ยสองเสนไดเลย)
ค� 0 เปนค�ทจะไดเมอไมมคว�มต�นท�นระหว�งส�ยทงสองเสนเลย เชน เมอส�ยแตะกน
ตวอยาง show sensor1
จะแสดงค�เซนเซอร 1 ออกม�
if sensor1 < 100[ fd 100]
สงใหเต�เดนหน� 100 ก�วถ�เซนเซอรมค�นอยกว� 100
waituntil [sensor2 > 500]
โปรแกรมจะหยดรอจนกว�ค�เซนเซอร 2 จะม�กกว� 500
คำาสงควบคมมอรเตอร
ttattbttcttd
ยอม�จ�ก Talk To ใชกำ�หนดว�เร�จะสงง�นมอรเตอรพอรทใด
TalkToPort [Port-list]
ใชเมอตองก�รสงง�นมอรเตอรม�กกว�หนงตวพรอมๆ กน
Port-list ประกอบไปดวยชอของพอรทมอรเตอรทตองก�ร
ตวอยาง TalkToPort [a b c]
จะเลอกมอรเตอร A, B, และ C
-7-
On เปดมอรเตอรทเลอกไวใหหมน
Off ปดมอรเตอร
หม�ยเหต คำ�สงนจรงๆ แลว รวมคำ�สง – Break และ Coast เข�ดวยกน คอ คำ�สง Off จะสงเบรกกอนเปนเวล�สนๆ แลวต�มดวย Coast เพอตดไฟ และประหยดพลงง�น
Coast ปดมอรเตอรโดยไมเบรก คอตดไฟเฉยๆ มอรเตอรอ�จไมหยดหมนในทนท
Break ปดมอรเตอรโดยก�รเบรก คอ จะมแรงฝนไมใหมอรเตอรหมน ซงอ�จทำ�ใหมอรเตอรหยดหมนไดเรว แตวธนกจะกนไฟม�ก จงไมควรทงมอรเตอรไวในสถ�นะนน�นๆ
OnFor Duration Turns on the active port for a Duration of time. Duration is in tenth of a second.
ตวอยาง ttaonwait 10off
จะเปดมอรเตอรพอรท A ไว 1 วน�ทแลวปด ซงทำ�ง�นเหมอนกนกบคำ�สงตอไปน
ttaonfor 10
Thisway Thatway
ใชกำ�หนดทศท�งก�รหมนของมอรเตอร โดย Thisway กบ Thatway อ�จหม�ยถงก�รหมนต�มเขมหรอทวนเขมน�ฬก�กไดแลวแตทศท�งก�รเสยบมอรเตอรลงบน GoGo Board
Rd ใชกลบทศก�รหมนของมอรเตอร
SetPower Power ใชกำ�หนดระดบกำ�ลงของมอรเตอร
Power มค�ระหว�ง 0 ถง 7 โดย 7 คอกำ�ลงสงสดในคณะท 0 เหมอนก�รปดมอรเตอรนนเอง
ตวอยาง TalkToMotor [a b c d]setpower 4
จะตงค�กำ�ลงของมอรเตอรทกตวตงแต A-D ใหมค�เท�กบ 4
-8-
คำ�สงควบคม GoGo Board จ�ก
GoGo Monitorมอรเตอร
GoGo Board มมอรเตอรสตวชอว� A, B, C, และ D ก�รใชง�นมอรเตอรนนจะเรมตนดวยก�รเลอกมอรเตอร (ใชคำ�สง a, b, ab, ฯลฯ) แลวบอกมนว�ตองก�รใหทำ�อะไร (เชน, on (เปด), off(ปด), rd (กลบทศ) ฯลฯ)
a, เลอกสงง�นมอรเตอร A
b, เลอกสงง�นมอรเตอร B
c, เลอกสงง�นมอรเตอร C
d, เลอกสงง�นมอรเตอร D
ส�ม�รถผสมอกษรเพอเลอกมอรเตอรหล�ยตว เชน
ab, เลอกสงง�นมอรเตอร AB
acd เลอกสงง�นมอรเตอร A C และ D
on เปดมอรเตอรทเลอกไว
off ปดมอรเตอรทเลอกไว
onfor ระยะเวล� เปดมอรเตอรไวเปนเวล�หนง, "ระยะเวล�" เปนตวกำ�หนดว�มอรเตอรจะถกเปดไวเปนเวล�น�นเท�ใด หนวยของเวล�คอ หนงในสบของวน�ท ยกตวอย�งเชน onfor 10 จะเปดมอรเตอรไวเปนเวล�หนงวน�ท
thisway กำ�หนดทศท�งก�รหมนของมอรเตอรใหเปน "ท�งน" (ซงจะเปนท�งไหนนนขนอยกบก�รตอมอรเตอร) ไฟสถ�นะเมอมอรเตอรหมน "ท�งน" จะเปนสเขยว
thatway กำ�หนดทศท�งก�รหมนของมอรเตอรใหเปน "ท�งนน" (ซงจะเปนท�งตรงกนข�มกบ "ท�งน") ไฟสถ�นะเมอมอรเตอรหมน "ท�งนน" จะเปนสแดง
rd กลบทศก�รหมน ไมว�มอรเตอรจะหมนท�งใด คำ�สงนจะกลบทศก�รหมนนนใหเปนท�งตรงข�ม
setpower ระดบ ตงค�กำ�ลงของมอรเตอร: ค� "ระดบ" มชวงอยระหว�ง 0 (ไมกำ�ลงเลย มอรเตอรจะหยด) ไปจนถง 7 (เตมกำ�ลง) ค�ระดบกำ�ลงปกตของมอรเตอรคอ 7
-9-
เวลา
ดวยคำ�สง wait เร�ส�ม�รถบอกให GoGo Board อยเฉยๆ ใหเวล�ผ�นไประยะหนง ในขณะท GoGo Board อยเฉยๆ น มอรเตอรจะถกเปดทงไวกได เชน
ab, on wait 20 off
จะเปดมอรเตอร A และ B ไวเปนเวล� 2 วน�ท คำ�สงนใหผลเหมอนกนกบ:
ab, onfor 20
นอกจ�กนในตว GoGo Board ยงมน�ฬก�ทเดนอยตลอดเวล�แมในขณะท GoGo Board กำ�ลงทำ�ง�นอย�งอนอย มคำ�สงสองคำ�สงทใชง�นน�ฬก�นคอ resett ซงจะทำ�ใหน�ฬก�เรมนบจ�กศนยใหม และ timer ซงจะแจงค�น�ฬก�ปจจบน (เปนค�ตวเลขค�หนง)
ต�ร�งตอไปนสรปก�รใชง�นคำ�สง wait, timer, และ resett
wait ระยะเวล� หยดอยเฉยๆ เปนเวล�เท�กบค� "ระยะเวล�" ทกำ�หนด หนวยของเวล�คอ หนงในสบวน�ท ตวอย�งเชน wait 10 จะทำ�ให GoGo Board อยเฉยๆ เปนเวล�หนงวน�ท.
timer แจงค�น�ฬก� หนวยของเวล�จะนบทกๆ 0.1 วน�ท ดงนนถ� timer = 20, แสดงว�น�ฬก�เรมนบม�เปนเวล�สองวน�ท
resett บอกใหน�ฬก�เรมนบจ�กศนยใหม
-10-
เซนเซอร
GoGo Board มเซนเซอรอย 8 พอรทดวยกน ชอว� sensor1-8 มอปกรณหล�ยชนดทส�ม�รถใชง�นกบเซนเซอรนได เชน
อปกรณทมสถ�นะเปด/ปด เชนปม หรอ สวตชชนดต�งๆ เซนเซอรทเปลยนแปลงค�คว�มต�นท�นของตวเอง เชน เซนเซอรแสง หรอ เซนเซอรอณหภม อปกรณอเลคทรอนคสใดๆ ทผลตคว�มต�งศกด ระหว�ง 0 ถง 5 โวลต
คำ�สงทใชอ�นค�เซนเซอรมอยสองแบบดวยกน แบบแรกเรยกว� switch ซงจะสงค�จรงหรอเทจกลบม�เท�นน (ใชกบเซนเซอรทมสองสถ�นะคอเปดหรอปด) แบบทสองคอ sensor ซงจะสงค�ตวเลขระหว�ง 0 ถง 1023 ออกม� โดยค�ทไดจะขนอยกบเซนเซอรทใช
Switch1 Switch2 Switch3 Switch4 Switch5 Switch6 Switch7 Switch8
ถ�สวทชทตออยกบเซนเซอร 1-8 ถกกดอย คำ�สงนจะร�ยง�นค� "จรง" ออกม� ถ�ไมเชนนนกจะร�ยง�นค� "เทจ"
Sensor1 Sensor2 Sensor3 Sensor4 Sensor5 Sensor6 Sensor7 Sensor8
ร�ยง�นค�เซนเซอร 1-8 โดยค�นจะอยระหว�ง 0 ถง 1023
คำาสงโครงสราง
ภ�ษ� Logo มคำ�สงโครงสร�งชดเลกๆ ทมประโยชนม�ก คำ�สงเหล�นประกอบไปดวยคำ�สงทใชในก�ร วนรอบ, ทดสอบเงอนไข, รอแบบมเงอนไข, และคำ�สงจบก�รทำ�ง�นของโปรแกรม
ภาพรวม
คำ�สงโครงสร�งทมใน ภ�ษ� Logo ถกสรปไวในต�ร�งตอไปน
repeat ครง [คำ�สง] วนทำ� "คำ�สง" เปนจำ�นวนครงเท�กบ "ครง" ค� "ครง" อ�จเปนค�คงท,ค�จ�กก�รคำ�นวน, หรอตวแปรกได
forever [คำ�สง] วนทำ� "คำ�สง" ไปแบบไมมทสนสด
if เงอนไข [คำ�สง] ถ� "เงอนไข" เปนจรง จะทำ� "คำ�สง" เงอนไขทมค�เปน 0 ถอว�มค�เปน
-11-
เทจ ค�อนทไมใช 0 จะถอว�มค�เปน จรงifelse condition[คำ�สง-1] [คำ�สง-2]
ถ� "เงอนไข" เปนจรง จะทำ� "คำ�สง-1" ถ�ไมเชนนน จะทำ� "คำ�สง-2"
waituntil [เงอนไข] โปรแกรมจะรอและไมทำ�คำ�สงถดไปจนกระทง "เงอนไข" เปนจรง โปรดสงเกตว�เงอนไขจะตองอยในวงเลบเหลยม ไมเหมอนกบคำ�สง if และ ifelse ทเงอนไขไมตองอยในวงเลบใดๆ
stop หยดก�รทำ�ง�นของ procedure ปจจบน และ กลบไปทำ�คำ�สงถดไปใน procedure แม (procedure ทเรยกใชง�น procedure ปจจบน)
output ค� หยดก�รทำ�ง�นของ procedure ปจจบน และ สง "ค�" กลบไปยง procedure แม
ตวอยาง
procedure ตอไปนจะทำ�ใหมอรเตอร A หมนกลบไปกลบม� 10 ครง
to flippy repeat 10 [a, onfor 10 rd]end
สองตวอย�งตอไปนแสดงใหเหนวธทจะทำ�ใหมอรเตอร A หมนกลบไปกลบม�เรอยๆ ไมมวนสนสด
to flippy-forever-1 forever [a, onfor 10 rd]end
procedure ตอไปนทำ�ก�รเปดมอรเตอร A แลวรอจดกว�สวทช 2 ถกกด แลวจงปดมอรเตอร
to on-wait-off a, on waituntil [switch2] offend
procedure ตอไปนจะทำ�ก�รอ�นค�สวทช 2 อยเรอยๆ ถ�สวทชถกกดมอรเตอร A จะหมนไป "ท�งน" แตถ�สวทชไมถกกดมอรเตอรจะหมนไป "ท�งนน"
to switch-controls-direction a, on forever [ ifelse switch2 [thisway][thatway] ]end
ระบบตวเลข
-12-
GoGo Board ใชระบบตวเลขขน�ด 16 บท ซงหม�ยคว�มว�ค�ตวเลขทส�ม�รถใชง�นไดจะอยระหว�ง -32768 ถง +32767.
ก�รใชง�นเครองหม�ยท�งเลขคณตจะตองมก�รเวนวรรคทงสองด�นเสมอ นนคอก�รเขยน 3+4 เปนรปแบบทผด รปแบบทถกคอ 3 + 4 (มวรรคกอนหน�และหลงเครองหม�ยบวก).
ภ�ษ� Logo ไมไดใชระบบลำ�ดบคว�มสำ�คญของเครองหม�ยคณตศ�สตรทเปนม�ตรฐ�นทวไป แตจะถอเอ�ต�มลำ�ดบก�รเขยนเรยงจ�กซ�ยไปขว� ดงนน
3 + 4 * 5
จะมค�เท�กบ 35 เพร�ะ ภ�ษ� Logo จะทำ� 3 + 4 แลวคณผลลพทดวย 5. (ซงต�งจ�กม�ตรฐ�นก�รประมวลผลในภ�ษ�คอมพวเตอรทวไป ซงจะถอว� * สำ�คญกว� + ดงนนผลลพททจะไดจะเปน 4*5 แลวบวกดวย 3)
วงเลบเปนวธก�รทใชในก�รกำ�หนดลำ�ดบกอนหนงใหกบก�รคำ�นวน เชน
(3 + (4 * 5))
ค�ทไดคอ 23.
ต�ร�งตอไปนแสดงเครองหม�ยท�งคณตศ�สตรทงหมดทมใน ภ�ษ� Logo
+ บวก (แบบ infix)- ลบ (แบบ infix)
* คณ (แบบ infix)/ ห�ร (แบบ infix)% ห�รเอ�เศษ (เชน 5 % 3 จะเท�กบ 2)
and ตรรกะ "และ" ใชทงกบก�รห�ท�งท�งตรรกศ�สตร (จรงหรอเทจ) และ bitwise operation
or ตรรกะ "หรอ"
not ตรรกะ "ไม"
random ใชสมค�ตวเลข ค�ทไดจะอยระหว�ง -32768 ถง +32768. ถ�ตองก�รลดชวงของค�ลง ใหใชก�รห�รเอ�เศษ (%) เชน (random % 100) จะไดค�สมตงแต 0 ถง 99
-13-
Procedures และการรบ-สงคา (input-output)
คำาจำากดความ
ก�รสร�ง procedure จะเรมดวยคำ�สง to ต�มดวยชอ procedure ต�มดวยชดคำ�สงทเปนใจคว�มของ procedure แลวจบดวยคำ�สง end ตวอย�งตอไปน เปนก�รสร�ง procedure ชอว� flash ซงทำ�ก�รเปดและปดมอรเตอร A สบครง
to flash repeat 10 [a, onfor 5 wait 5]end
การรบคา (Inputs)
เร�ส�ม�รถกำ�หนด Procedures ใหทำ�ก�รรบค�ได ซงค�ดงกล�วจะกล�ยเปนตวแปรของ procedure นนๆ (local variable) ก�รกำ�หนดก�รรบค�จะทำ�โดยก�รใชเครองหม�ย colon (:) ตวอย�งตอไปนเปนก�รสร�ง procedure ชอ flash ซงมก�รรบค�หนงค� (ชอว� n) ค�ทรบเข�ม�นถกใชในก�รกำ�หนดจำ�นวนครงก�รวนรอบของคำ�สง repeat
to flash :n repeat :n [a, onfor 5 wait 5]end
เมอเรยกใช procedure นจะตองต�มดวยค�ตวเลขหนงค�เสมอ เชน flash 5, flash 10, flash 20, ฯลฯ
procedure ส�ม�รถรบค�กค�กได ภ�ษ� Logo ไมไดจำ�กดไว แตในท�งปฎบตบรม�ณหนวยคว�มจำ�ทเหลออยของ GoGo Board จะเปนตวจำ�กด
การสงคา (Outputs)
Procedure ส�ม�รถสงค�กลบไดโดยใชคำ�สง output เมอ procedure เรยกใชคำ�สงดงกล�วแลว มนจะจบก�รทำ�ง�นทนท ตวอย�งตอไปนแสดง procedure ชอ detect ซงจะสงค� 0, 1, หรอ 2 ขนอยกบค�ของเซนเซอร 1
to detect make “temp sensor1 if :temp < 300 [output 1] if :temp < 500 [output 2] output 3end
ในตวอย�งนมก�รสร�งตวแปรชอ temp ซงถกใชในก�รเกบค�ของเซนเซอร 1 ถ�ค�เซนเซอรนนอยกว� 300 procedure จะสงค� 1 แตถ�ค�เซนเซอรม�กกว� 300 คำ�สงถดไปจะทำ�ง�น ซงจะทดสอบว�ถ�ค�
-14-
ดงกล�วนอยกว� 500 procedure จะสงค� 2 ท�ยทสดถ�ค�เซนเซอรไมนอยกว� 500 procedure จะสงค� 3
ขอควรระวง ถ�ตดสนใจใชคำ�สง output แลว จะตองตรวจสอบใหแนใจเสมอว� procedure นนจะมก�รสงค�ไมว�ในกรณใดๆ (นนคอ procedure จะสงค�บ�งไมสงค�บ�งไมได) ก�รทำ�ง�นของ GoGo Board จะลมเหลวทนทถ� procedure นนจบก�รทำ�ง�นโดยไมมก�รสงค�
ตวแปร
ก�รสร�งตวแปร Global จะทำ�โดยใชคำ�สง make “ชอตวแปร เชน
Make “cats 0make “dogs 1
จะสร�งตวแปรสองตวชอ cats และ dogs และกำ�หนดค�ใหเปน 0 และ 1 ต�มลำ�ดบ
จะสงเกตไดว�เวล�เร�จะเขยนค�ลงในตวแปรเร�จะใสเครองหม�ยคำ�พดนำ�หน�ชอตวแปรเสมอ แตถ�ตองก�รอ�นค�จ�กตวแปรจะใชเครองหม�ย : แทน เชน
If :cats > 0 [ a, on ]
จะทดสอบว�ค�ในตวแปร cats ม�กกว� 0 หรอไม ถ�ใชกจะเปดมอรเตอร A
Make “cats :cats + 1
จะเพมค�ตวแปร cats ขน 1
ตวแปรจะถกจดเกบในหนวยคว�มจำ� RAM ซงจะตองมไฟเลยงอยเสมอ ดงนนค�ตวแปรจะสญห�ยถ�ปด GoGo Board
-15-
การบนทกและเรยกคนขอมล (Data Recording and Playback)
ภ�ษ� Logo ม global array ขน�ด 8000 ชอง อยหนงตวซงส�ม�รถใชง�นกบคำ�สงตอไปนได
setdp ตำ�แหนง ตงค�ตวชตำ�แหนง
record ค� บนทก "ค�" ลงไปในตำ�แหนงปจจบน และเลอนตวชใหไปอยในตำ�แหนงถดไป
recall เรยกคนค�ในตำ�แหนงปจจบน และเลอนตวชใหไปอยในตำ�แหนงถดไป
ตวอย�ง procedure ชอ take-data ตอไปนจะบนทกค�เซนเซอร A ทกๆ หนงวน�ท
to take-data setdp 0 repeat 1000 [record sensor1 wait 10]end
เมอมก�รบนทกขอมลแลว ส�ม�รถใช GoGo Monitor ในก�รดงขอมลม�เกบไวในรปแบบของไฟล CSV (Comma Separated Values) เพอนำ�ไปประมวลผลโดยใชโปรแกรมอนๆ เชน Excel ตอไป
หม�ยเหต ภ�ษ� Logo ไมมก�รตรวจสอบว�ก�รบนทกขอมลเกนขอบเขตหรอไม (ม�กกว� 8000) ซงอ�จสงผลใหเกดคว�มผดพล�ดกบขอมลหรอโปรแกรมสวนอน
-16-
การสอสารขอมลทางชองสญญาณอนกรม (Serial Port)
ภาพรวม
GoGo Board ส�ม�รถสงและรบขอมลห�กนผ�นท�งชองสญญ�ณอนกรมไดโดยใชคำ�สง send และ serial ต�มลำ�ดบ คำ�สง serial จะร�ยง�นค�ทไดรบล�สด นอกจ�กนยงมคำ�สง newserial? ซงจะร�ยง�นค�จรงถ� GoGo Board ไดรบรบมลตวใหมเข�ม�แตยงไมไดถกนำ�ไปใช
ลองพจ�รณ�ตวอย�งตอไปน procedure ชอ sender จะทำ�ก�รสงขอมลไปยงคอมพวเตอร, โดยค�ทสงจะเปนค�สมระหว�ง 0 ถง 2
to sender forever [ send random % 3 beep wait 30]end
คำ�สง random % 3 จะสร�งค� 0, 1, หรอ 2 ซงเปนผลจ�กก�รใชเครองหม�ย "ห�รเอ�เศษ" ค�ทไดจะถกสงโดยคำ�สง send หลงจ�กนน กจะสงเสยง beeps และรอ 3 วน�ทกอนทจะวนสร�งและสงค�ออกไปอกครง
ในตวอย�งทสอง Procedure ชอ doit จะทำ�ก�รรบค�ท Computer แลวจะเปดมอรเตอร A, มอรเตอร B หรอทงค ขนอยกบค�ทมนไดรบ
to doit forever [ waituntil [newserial?] if serial = 0 [a, onfor 10] if serial = 1 [b, onfor 10] if serial = 2 [ab, onfor 10] ]end
หมายเหต
GoGo Board ใชค� 128 ถง 134 สำ�หรบก�รทำ�ง�นระดบตำ�ระหว�ง GoGo Board ดงนนพย�ย�มอย�สงค�ตวเลขเหล�น ค�เหล�นอ�จทำ�ใหหนวยคว�มจำ�ของ GoGo Board บ�งตว (ตวทเปดอยแตไมไดทำ�ง�นอะไร) ถกเขยนทบและสงผลเสยห�ยได
ปมบนตว GoGo Board
-17-
เมอกดปมในขณะท GoGo Board ไมไดทำ�ง�นอะไร จะทำ�ใหมนเรมตนประมวลผล procedure แรกทเขยนไวในหน�จอของ ภ�ษ� Logo
ถ�กดปมในขณะท GoGo Board กำ�ลงทำ�ง�นจะสงผลใหมนหยดก�รทำ�ง�นปจจบนทนท
-18-