วันอังคารที่ 26 มกราคม พ.ศ. 2553

การเรียกใช้งานโปรแกรม MSW-Logo เพื่อเขียนโปรแกรมควบคุม

การเขียนโปรแกรมผ่านบอร์ด p-master ด้วย MSW-logo เพื่อควบคุม Data Port

ชุดสื่อ P-Master

เป็นบอร์ดอิเล็กทรอนิกส์ที่ทำหน้าที่เป็นอินพุทและเอาท์พุทของคอมพิวเตอร์ผ่านทางพอร์ตขนาน (Printer) เบื้องต้น เพื่อฝึกการเขียนโปรแกรมเชิงควบคุมอย่างง่าย สามารถนำไปประยุกต์เป็นโครงงานต่าง ๆ เช่น โครงงานควบคุมการเปิด-ปิดไฟฟ้าด้วยคอมพิวเตอร์, โครงงานสัญญาณกันขโมย, โครงงานเครื่องรดน้ำอัตโนมัติ ฯลฯ

คุณสมบัติ

- เชื่อมต่อกับคอมพิวเตอร์ผ่าน DB-25 (pin)

ขนาด 9.5 x 13 cm. (กว้าง x ยาว)

- ใช้กับหม้อแปลงแรงดันไฟ 12V.

- รองรับการเขียนโปรแกรมผ่าน Data Port, Status Port และ Control Port พร้อมไฟ LED แสดงสถานะ

- รองรับระบบปฏิบัติการ Dos, Windows95, Windows98, WinME, Windows 2000, Windows XP, Linux ฯลฯ

- ใช้กับคอมไพล์เลอร์ทุกตัวที่มีฟังก์ชันติดต่อกับ Parallel Port เช่น Java, C, C++, Pascal, VB ฯลฯ


การเปิดโปรแกรม Mswlogo Outport

การเรียกโปรแกรม Mswlogo Outport จะคล้ายกับ Mswlogo

เพียงแต่ให้ไปคลิกที่ไอคอน LogoOutport แทน

เมื่อเปิดโปรแกรมได้แล้วให้ทดสอบ โดยการพิมพ์

- Outport 888 0 (ในกรณีที่มีไฟติดอยู่) หรือ

- Outport 888 1 (ในกรณีที่ไฟดับ)

ถ้าผลลัพธ์ได้ตรงข้ามแสดงว่าใช้โปรแกรมได้แล้ว


ให้นักเรียนเปิด Notepad แล้วสร้างกระบวนความ ชื่อ Exam1

พิมพ์คำสั่งต่อไปนี้


to exam1

outport 888 0

outport 888 1 wait 30

outport 888 2 wait 30

outport 888 4 wait 30

outport 888 8 wait 30

outport 888 16 wait 30

outport 888 32 wait 30

outport 888 64 wait 30

outport 888 128 wait 30

outport 888 0 wait 30

outport 888 255 wait 30

outport 888 0

end


หากพิมพ์ code โปรแกรมได้ถูกต้อง ไฟ LED ที่

P-Master จะดับหมด แล้วจะติดทีละดวงตั้งแต่ดวงที่ 1 ถึงดวงที่ 8 จากนั้นก็จะดับหมดอีกครั้ง แล้วก็จะติดหมดทั้ง 8 ดวง หากที่ช่อง Command Box ขึ้นข้อความ Error ก็ให้กลับไปแก้ code โปรแกรมใหม่ใน Editor


ทดสอบโปรแกรมต่อไปนี้ เพื่อดูผลลัพธ์ที่ได้


โปรแกรมไฟวิ่ง จาก D0 ==> D7 แล้วดับลง


to ledrun1

make "x 1

do.until [

outport 888 :x wait 30

make "x :x*2

][:x>128]

outport 888 0

end


โปรแกรมไฟวิ่งเป็นคู่ จากเริ่มเข้ามาจนหายออกไปจาก module เช่น

D0->D0D1->D1D2->D2D3->D3D4->D4D5->D5D6->D6D7->D7

แล้วดับทั้งหมด


to ledrun2

outport 888 0

outport 888 1 wait 30

outport 888 3 wait 30

outport 888 6 wait 30

outport 888 12 wait 30

outport 888 24 wait 30

outport 888 48 wait 30

outport 888 96 wait 30

outport 888 192 wait 30

outport 888 128 wait 30

outport 888 0

end


โปรแกรมไฟวิ่งเป็นคู่เหมือนกับ โปรแกรม ledrun2 แต่วนแบบไม่มีที่สิ้นสุดด้วยเงื่อนไข do.until


to ledrun3

make "x 0

do.until [

outport 888 1 wait 30

outport 888 3 wait 30

outport 888 6 wait 30

outport 888 12 wait 30

outport 888 24 wait 30

outport 888 48 wait 30

outport 888 96 wait 30

outport 888 192 wait 30

outport 888 128 wait 30

outport 888 0 wait 30

][:x=1]

end


โปรแกรมไฟวิ่งเป็นคู่เหมือนกับ โปรแกรม ledrun3 แต่เพิ่มเสียง beep สั้นๆ เข้าไปทุกครั้ง


to ledrun4

make "x 0

do.until [

outport 888 1 beep wait 30

outport 888 3 beep wait 30

outport 888 6 beep wait 30

outport 888 12 beep wait 30

outport 888 24 beep wait 30

outport 888 48 beep wait 30

outport 888 96 beep wait 30

outport 888 192 beep wait 30

outport 888 128 beep wait 30

outport 888 0 beep wait 30

][:x=1]

end


to beep

sound [2000 50]

end


โปรแกรมแสดงนับถอยหลังบนจอแสดงผลพร้อมเสียงระหว่างนับ เมื่อถึง 0 ให้ไฟที่ LED กระพริบ 3 ครั้งพร้อมเสียงที่เปลี่ยนไป


to countdown

setlabelfont [[Times New Roman] -80 0 0 400 0 0 0 0 3 2 1 18]

cs ht

make "number 9

do.until [

cs pu setxy -20 0 rt 90

label :number beep1 wait 40

make "number :number-1

][:number=0]

cs pu setxy -20 0 rt 90

label :number

repeat 3 [outport 888 255 beep2 wait 10

outport 888 0 wait 5]

end


to beep1

sound [2000 50]

end


to beep2

sound [1000 50]

end


****โปรแกรมตั้งเวลาเปิด relay


to relay

setlabelfont [[Times New Roman] -100 0 0 400 0 0 0 0 3 2 1 18]

cs pu ht

make "y 0

do.until [

make "x item 4 time

cs setxy -200 0 rt 90

setpencolor [0 0 255]

label :x

if :x = "xx:xx:xx [outport 888 1]

if :x = "yy:yy:yy [outport 888 2]

if :x = "zz:zz:zz [outport 888 0]

][:y=1]

end

การประยุกต์ใช้คำสั่งโลโกสำหรับการบังคับรถ (อย่าลืม ต้องมีรถด้วย)

outport 888 0 หยุด

outport 888 1 เลี้ยวขวา

outport 888 2 ถอยซ้าย

outport 888 3 เลี้ยวขวา (เหมือน outport 888 1 )

outport 888 4 เลี้ยวซ้าย

outport 888 5 เดินหน้า

outport 888 6 ถอยซ้าย

outport 888 7 เดินหน้า

outport 888 8 ถอยขวา
outport 888 9 เลี้ยวขวา
outport 888 10 ถอยหลัง

วันพฤหัสบดีที่ 21 มกราคม พ.ศ. 2553

โครงสร้างของข้อมูลและคำสั่งจัดการข้อมูล

บทบาทของคอมพิวเตอร์
         เป็นการประมวลผลข้อมูลหรือการจัดการข้อมูล (data processing) นอกจากคำสั่งต่าง ๆ แล้ว สิ่งที่ทำให้คอมพิวเตอร์ทำงานคือ ข้อมูล
         การจัดการข้อมูลมี 3 ชนิด คือ
         1. ตัวเลข (numbers)
         2. คำ (words)
         3. รายการ (list)

         1.ตัวเลข (numbers) เป็นจำนวนที่เต่าสามารถนำมาคำนวณตลอดจนเปรียบเทียบ การสั่งให้เต่าแสดงผลการคำนวณต้องใช้คำสั่งแสดงผล เช่น print
         รูปแบบคำสั่ง print จำนวน (นิพจน์)
         เต่าจะแสดงผลในส่วนของ command box

         ให้สังเกตดูผลลัพธ์ที่ได้
            Print 145
            Print 4 + 5
            Print 36 -6
            Print 3627
            Print 3+5*7
            Print (3+5)*7
            Print (6+8)/2
            Print (4*5)+(6-4)
            Print 5=7
            Print 5 = (7-2)
            Print 5 > 7
            Print 5 < 7

         2.คำ (words)
มีความหมายเหมือนกับคำในภาษาอังกฤษ โดยมีเครื่องหมายอัญประกาศ นำหน้าเพื่อแสดงว่า สิ่งที่ตามมาเป็นคำ โดยไม่ต้องมีเครื่องหมายอัญประกาศปิดท้าย เช่น print "HELLO

         3.รายการ (lists)
เป็นการเชื่อมคำให้เป็นกลุ่มโดยอยู่ภายใต้เครื่องหมายวงเล็บก้ามปู ซึ่งอาจจะครอบคลุมทั้งตัวเลข คำ และตัวรายการเอง
         ลองทำดู
            print []
            print[HELLO TUCHE]
            print[My name is Turtle]
            print[ใส่ข้อความในวงเล็บ[MSWLogo]]

         คำสั่งจัดการคำและรายการ
         1. word เป็นคำสั่งในการรวมคำหลายคำให้เป็นคำเดียวกัน
         2. sentence เป็นคำสั่งที่ใช้ในการรวมคำกับรายการ และรายการรวมกับรายการ

         1.คำสั่ง word ใช้สำหรับรวมคำ
         รูปแบบ word "คำที่ 1 "คำที่ 2
         ** ถ้าเขียนคำมากกว่า 2 คำ ให้ใส่วงเ็ล็บพร้อมกับคำ word
         ดูคำสั่งต่อไปนี้
            print word "com "puter
            print (word "com "puter)
            print word "com "pu "ter
            print (word "com "pu "ter)
            print word ("com "pu "ter)

         2.คำสั่ง sentence เป็นคำสั่งที่ใช้ในการรวมคำกับรายการ และรายการรวมกับรายการ
         รูปแบบ
         sentence "คำที่ 1 "คำที่ 2 เมื่อต้องการเชื่อมคำกับคำ
         sentence "คำ[รายการ] หรือ sentence [รายการ] "คำ เมื่อต้องการเชื่อมคำกับรายการ
         sentence[รายการ][รายการ] เมื่อต้องการเชื่อมรายการกับรายการ

** 1.ถ้ามีคำหรือรายการมากกว่า 2 ตัวที่จะเชื่อม ต้องใส่วงเล็บโดยให้นำคำสั่ง sentence ไว้ในวงเล็บพร้อมกับคำหรือรายการที่ต้องการเชื่อม
2.สามารถใช้ตัวย่อ se แทนคำว่า sentence ได้

         พิมพ์คำสั่งต่อไปนี้
            print sentence " A [word plus a list]
            print sentence [ A list plus a] "word
            print sentence "TWO "WORDS
            print se [TWO LISTS][MAKE A LIST, too]
            print (se "MY [HEART][WILL GO] "ON)

         3.คำสั่งตัดคำ ใช้สำหรับจัดการกับข้อมูลโดยการตัดส่วนใดส่วนหนึ่งของคำ
            คำสั่ง FIRST ตัดคำที่กำหนดให้เหลือเฉพาะตัวแรก
            คำสั่ง LAST ตัดคำที่กำหนดให้เหลือเฉพาะตัวสุดท้าย
            คำสั่ง BUTFIRST(BF) ตัดคำที่กำหนดให้เฉพาะตัวแรก
            คำสั่ง BUTLAST(BL) ตัดคำที่กำหนดให้เฉพาะตัวสุดท้าย

         พิมพ์คำสั่งต่อไปนี้ เพื่อดูการตัดคำ
            print first "HELLO
            print LAST "HELLO
            print butfirst "HELLO
            print butlast "HELLO

         พิมพ์คำสั่งต่อไปนี้ เพื่อดูการตัดข้อความ
            print first [Where is my friend?]
            print LAST [Where is my friend?]
            print butfirst [Where is my friend?]
            print butlast [Where is my friend?]

         ถ้าเรานำคำสั่งที่ใช้ในการตัดคำมาผสมกัน จะได้อะไร เช่น
            print first butfirst[Where is my friend?]
            print butfirst first[Where is my friend?]

         4.คำสั่ง READWORD การสั่งให้เต่าทำงานนอกจากเรียกโปรแกรมย่อยแล้ว ยังสามารถป้อนข้อมูลในระหว่างการทำงาน โดยใช้คำสั่ง READWORD ผู้ใช้จะพิมพ์ข้อมูลลงในกรอบ Input Mode จากนั้นโปรแกรมจะทำงานตามคำสั่งต่อไป

         ตัวอย่าง
         to talk
            print [type something for me to say]
            print sentence [you just made me say] readword
         end

         to backtalk
            print [type something for me to say]
            print sentence [But I hate to say] readword
            backtalk
         end

         to agree
            print [Tell me something you like]
            print (sentence [I like] readword [too])
            print [Tell me something you hate]
            print (sentence [I hate ] readword [even more than you do !!!])
            agree
         end

วันพุธที่ 20 มกราคม พ.ศ. 2553

ความเป็นมาของภาษาโลโก


ภาษาโลโก (Logo Language) เป็นภาษาคอมพิวเตอร์ระดับสูงที่เหมาะ สำหรับใช้ในการเรียนรู้ พัฒนาสติปัญญา และความคิดสร้างสรรค์ ช่วยให้นักเรียนเข้าใจหลักการการเขียนโปรแกรม ผู้เขียนโปรแกรมจะสามารถลองผิดลองถูก เรียนรู้โดยการทดลองทำ แก้ไขปัญหาที่เกิดขึ้น เกิดการเรียนรู้โดยการค้นพบทำให้มีการพัฒนา ความนึกคิดอย่างมีเหตุผล มีหลักการ มีความคิดต่อเนื่อง และยังช่วยเสริม สร้างความสามารถทางด้านวิทยาศาสตร์และคณิตศาสตร์ จากการเกิดแนวคิดในการแก้ปัญหาและพิสูจน์

ความเป็นมาของภาษาโลโกเริ่มขึ้นในปี พ.ศ.2513 เมื่อกลุ่มนักวิจัยของสถาบันเทคโนโลยีแมสซาชูเซตส์ นำโดย เซย์มัว พาเพิร์ต และคณะจาก MIT มหาวิทยาลัยเบิร์กเลย์ สหรัฐอเมริกา ได้ทำการออกแบบและสร้างหุ่นยนต์ คล้ายกับของ เกย์ วอลเทอร์ เพื่อให้เด็ก ๆ สามารถเขียนโปรแกรมคำสั่งที่ใช้ภาษาที่เข้าใจง่าย สั่งให้โปรแกรมทำงานตามที่ต้องการ พวกเขาจึงทำการพัฒนาภาษาคอมพิวเตอร์ขึ้นใหม่ เรียกว่าภาษา โลโกเป็นภาษาที่ง่ายสำหรับเด็ก ช่วยให้เด็กสามารถเขียนคำสั่งให้หุ่นยนต์เต่า (Logo) เคลื่อนที่ไปมาและเปลี่ยนทิศทางตามที่ต้องการ ภาษาโลโกจึงเป็นทางเลือกใหม่ สำหรับเด็กในการฝึกทักษะทางภาษาคอมพิวเตอร์ และสามารถสร้างงานจากจินตนาการโดยอาศัยความเข้าใจพื้นฐานของวิชาคณิตศาสตร์ที่ใช้ในชีวิตประจำวันได้

ในปัจจุบันเครื่องคอมพิวเตอร์และอุปกรณ์ต่าง ๆ มีราคาถูก จึงได้มีการพัฒนาโปรแกรมสำเร็จรูปให้สามารถจำลองหุ่นยนต์เต่าอิเล็กทรอนิกส์ เป็นภาพกราฟิกเต่า เคลื่อนที่ไปมาบนจอภาพคอมพิวเตอร์ ต่อมามีการเปลี่ยนแปลงรูปแบบของภาพกราฟิกเต่า มาเป็นภาพสัญลักษณ์สามเหลี่ยม ตัวแปลภาษาโลโกที่น่าสนใจคือ MSW Logo จัดเป็นตัวแปลภาษาในระบบ Interpreter โปรแกรม MSWLogo ย่อมาจากไมโครซอฟต์วินโดวส์โลโก(Microsoft Windows Logo) เป็นโปรแกรมที่อนุญาตให้นำมาใช้เพื่อการศึกษา ได้โดยไม่ต้องเสียค่าใช้จ่าย และมีการแจกจ่ายผ่านทางเครือข่ายอินเทอร์เน็ต

การออกแบบภาษาโลโก้ (MIT)

friendly
โลโก้เป็นภาษาทำความเข้าใจง่าย เราสามารถสร้างความสัมพันธ์โดยใช้เต่าเป็นเครื่องมือในการสร้าง

กระบวนความคิด

extensible
โลโก้สามารถใช้สอนคำสั่งใหม่และสามารถสร้าง คำสั่ง ใหม่เพิ่มได้

forgiving
โลโก้เป็นภาษาที่ให้การตอบสนองกลับอย่างทันทีทันใด ซึ่งมีประโยชน์ต่อการเรียนรู้ และความเข้าใจ

flexible
โลโก้ เป็นภาษาที่มีประโยชน์สำหรับผู้เริ่มเรียน

powerful
โลโก้ เป็นภาษาสำหรับเขียนโปรแกรม มีเครื่องมือต่างๆ ที่ใช้ในการเขียนโปรแกรมอย่างครบถ้วน ตามที่ผู้ใช้ต้องการ

ที่มา : http://www.mswlogo.ob.tc/1.html