ภาษาโลโก้ เป็นภาษาที่ใช้สัญลักษณ์หรือคำสั่งง่าย ๆ แทนการทำงานของระบบไมโครคอนโทรลเลอร์ ซึ่งสื่อความหมาย สามารถทำให้ผู้ใช้งานสามารถเข้าใจได้ทันที หลักการทำงานของภาษาโลโก้นั้น จะต้องพึ่งเครื่องมือที่สำคัญคือ ตัวแปลภาษาโลโก้ ซึ่งจะทำหน้าที่แปลภาษาของโปรแกรมที่เขียนขึ้น เพื่อส่งต่อไปยังไมโครคอนโทรลเลอร์ให้เข้าใจและทำงานได้ตามที่เราต้องการโดยหลักการทำงานของภาษาโลโก้จะต้องประกอบด้วยส่วนสำคัญ 2 ส่วนด้วยกันคือ แบบกราฟิก โดยใช้โปรแกรม Logo Blocksเป็นการเขียนโปรแกรมโดยการนำเอาบล็อกของคำสั่งต่าง ๆ มาวางต่อกัน 1. การติดตั้งโปรแกรม Logo Blocks ตัวไฟล์โปรแกรมจะอยู่ในแผ่นซีดีรอม ให้ทำตามขั้นตอน ดังต่อไปนี้ ดับเบิลคลิกที่ไฟล์ติดตั้ง (Install Logo Blocks1.01) 2. คลิกที่ปุ่ม ที่หน้าต่าง Introduction 3. คลิกที่ปุ่ม ที่หน้าต่าง Choose Install Folder 4. คลิกที่ปุ่ม ที่หน้าต่าง Choose Shortcut Folder 5. คลิกที่ปุ่ม ที่หน้าต่าง Pre-Installation Summary 6. โปรแกรมจะทำการติดตั้ง Logo Blocks ในขั้นตอนนี้ให้รอสักครู่โปรแกรมจะขึ้นหน้าต่าง Install Complete ให้คลิกที่ปุ่ม Done เป็นอันเสร็จสิ้น ขั้นตอนการติดตั้งโปรแกรม Logo Blocks เมื่อการติดตั้งโปรแกรมเสร็จเรียบร้อย และทำการเปิดโปรแกรมขึ้นมาครั้งแรก จะปรากฏหน้าต่างของโปรแกรม Logo Blocks ดังรูป
เมื่อติดตั้งโปรแกรม Logo Blocks เสร็จเรียบร้อยแล้ว ในการเรียกใช้งานให้เรียกโปรแกรมจากเมนู Start เหมือนโปรแกรมบนวินโดวส์ทั่วไป โดยไปที่เมนู Programs เลือกคำสั่ง Logo Blocks เลือกคำสั่ง Logo Blocks หลังจากที่เปิดโปรแกรมขึ้นมา โปรแกรมจะเปิดหน้าต่าง About ขึ้นมาก่อนเพื่อแสดง รุ่นของโปรแกรม วันเดือนปีที่ ผลิตโปรแกรม และผู้สร้างโปรแกรมนี้ขึ้นมา จากนั้นส่วนหน้าต่าง About ก็จะหายไปเอง เมนูคำสั่งของโปรแกรม Logo Blocks เมนู File ประกอบด้วยคำสั่งย่อยดังนี้ # New ใช้สร้างโปรแกรมใหม่ขึ้นมา โดยโปรแกรมจะแสดงหน้าต่าง เมนู Edit ประกอบด้วยคำสั่งย่อยดังนี้ # Undo เป็นการยกเลิกการกระทำคำสั่งครั้งสุดท้าย หลังจากยกเลิกแล้ว เมนู Undo จะกลายเป็นเมนู Redo แทนเพื่อให้ผู้ใช้สามารถยกเลิกคำสั่ง Undo ได้ เมนู Projects ประกอบด้วยคำสั่งย่อยดังนี้ # Download Block ทำหน้าที่ในการดาว์นโหลดโปรแกรมที่เราเขียนขึ้น ลงบนตัวบอร์ดที่มี Logo Interpreter รันอยู่ การทำงานของเมนูนี้ เหมือนกับปุ่มดาว์นโหลดที่อยู่ด้านล่างซ้ายของหน้าต่างโปรแกรม Logo Blocks เมื่อเราคลิกที่ Download Block เพื่อดาว์นโหลด เมนูจะยังคง ค้างที่หน้าจอ จนกว่าการดาว์นโหลดจะเสร็จสิ้น และถ้าคลิกที่ปุ่ม Download เพื่อทำการดาว์นโหลดนั้น ตัวปุ่ม Download จะจมลงไป จนกว่าการดาว์นโหลดจะเสร็จสิ้น ปุ่มจึงจะคืนตัวกลับมา # Display Logo Code เป็นการแสดงภาษา Logo แบบตัวอักษร จากบล็อกโปรแกรมที่ เราเขียนขึ้น # Run Selected Blocks เป็นคำสั่งใช้ Run เฉพาะบล็อกที่ต้องการตามที่ได้เลือกไว้ โดยโปรแกรม Logo Blocks จะดาว์นโหลดเฉพาะบล็อกนั้นไปยังบอร์ดที่มี Logo Interpreter รันอยู่แล้วสั่งให้ทำงานทันที # OpenUp Procedure Blocks เป็นการขยายบล็อกโปรแกรมย่อยที่ถูกบีบอัดให้ เป็นปกติเหมือนเดิม # Clicket Monitor เป็นหน้าต่างที่ใช้แสดงค่าที่รับมาจากบอร์ด Logo เมื่อบอร์ด Logo ทำคำสั่ง Send
บล็อกคำสั่งทั้งหมดที่ใช้ในการเขียนโปรแกรมเพื่อพัฒนาบอร์ด นั้นสามารถแบ่งออกได้เป็น 5 กลุ่ม โดยแต่ละกลุ่มจะมีพื้นสีของบล็อกที่แตกต่างกันไป เพื่อจุดประสงค์ให้จดจำได้ง่าย เป็นกลุ่มแสดงลักษณะการทำงาน ใช้บล็อกสีเขียว เป็นกลุ่มคำสั่งกำหนดเงื่อนไขการควบคุมการทำงานใช้บล็อกสีเหลือง เป็นกลุ่มคำสั่งที่เกี่ยวกับอุปกรณ์เซ็นเซอร์ ใช้บล็อกสีแดง เป็นกลุ่มคำสั่งที่เกี่ยวกับลอจิก ตัวเลข และการคำนวณทางคณิตศาสตร์ ใช้บล็อกสีน้ำเงิน เป็นกลุ่มคำสั่งเกี่ยวกับโปรแกรมย่อย ใช้บล็อกสีม่วง บล็อกคำสั่งในกลุ่ม Action (สีเขียว) คำสั่งหมุนมอเตอร์ เป็นคำสั่งให้ มอเตอร์ A หรือ มอเตอร์ B หรือทั้งมอเตอร์ A และ B หมุนตัวอย่างการใช้งาน ตัวอย่างการใช้งาน คำสั่งหยุดมอเตอร์ เป็นคำสั่งให้มอเตอร์ A หรือมอเตอร์ B หรือทั้งมอเตอร์ a และ b หยุดหมุน ตัวอย่างการใช้งาน คำสั่งกำหนดทิศทางของมอเตอร์ไปด้านหน้าหรือไปด้านหลัง - thisway เป็นคำสั่งที่กำหนดให้มอเตอร์หมุนไปข้างหน้า ไม่ว่าก่อนหน้านี้มอเตอร์จะหมุนไปทิศทางใดก็ตาม - thatway เป็นคำสั่งที่กำหนดให้มอเตอร์หมุนไปข้างหลัง ไม่ว่าก่อนหน้านี้มอเตอร์จะหมุนไปทิศทางใดก็ตาม ตัวอย่างการใช้งาน คำสั่งกำหนดทิศทางการหมุนไปในทิศตรงข้าม reverse เป็นคำสั่งที่กำหนดให้มอเตอร์หมุนไปในทิศตรงกันข้าม กับทิศทางการหมุนก่อนหน้านี้ ตัวอย่างการใช้งาน คำสั่งให้มอเตอร์ทำงานตามเวลาที่กำหนด onfor เป็นคำสั่งที่กำหนดให้มอเตอร์หมุนเท่ากับจำนวนเวลาที่กำหนดหลังจากนั้นให้ออกไปทำงานในคำสั่งอื่นต่อไป ตัวอย่างการใช้งาน คําสั่งส่งเสียงออกลําโพง beep เป็นคำสั่งส่งเสียง “ ติ้ด “ ออกทางลำโพง 1 ครั้ง ตัวอย่างการใช้งาน คำสั่งหน่วงเวลา wait ใช้หน่วงเวลาตามคาบเวลาที่กำหนด โดยสามารถกำหนดได้สูงสุดเท่ากับ 65,535 มีหน่วยเป็น 0.1 วินาที ตัวอย่างการใช้งาน คำสั่งอ่านค่านับเวลาจากไทเมอร์และรีเซตค่านับเวลา - timer เป็นตัวไทเมอร์ที่ทำงานอย่างอัตโนมัติในตัว Logo877 ซึ่งตัวไทเมอร์นี้จะเริ่มต้นนับค่าจาก 0 ถึง 65,535 แล้วเริ่มต้นนับใหม่ - resettime รีเซตค่าไทเมอร์ให้เริ่มต้นนับใหม่ ตัวอย่างการใช้งาน คำสั่งสร้างช่องว่างเพื่อป้องกันการซ้อนทับ - Blank บล็อกนี้ใช้เมื่อไม่ต้องการให้บล็อกที่วางต่อกันนั้น เกิดการซ้อนทับกัน บล็อกนี้ไม่มีผลใด ๆ กับการทำงานของโปรแกรม
บล็อกคำสั่งในกลุ่ม Sensor (สีแดง) บล็อกสวิตช์ - switch ให้ผลลัพธ์ออกมาเป็นสถานะลอจิกคือ ถูกกดเป็นลอจิก 1 และ ไม่ถูกกดเป็นลอจิก 0 มีตำแหน่งของสวิตซ์ให้เลือก 2 จุดคือ switcha และ switch ตัวอย่างการใช้งาน บล็อกเซนเซอร์ sensor ตัวอย่างการใช้งาน บล็อกส่งค่าข้อมูลแบบอนุกรม send เป็นคำสั่งที่ใช้ส่งข้อมูล ที่อ่านได้จากเซนเซอร์ หรือข้อมูลตัวแปรหรือข้อมูลที่ได้จากการสุ่ม ๆ ค่ารูปแบบการส่งข้อมูลเหมือนกับมาตรฐานการสื่อสารอนุกรมทั่ว ๆ ไปคือ ตัวอย่างการใช้งาน คำสั่งสำหรับบันทึกและเรียกคืนค่าข้อมูล เป็นคำสั่งที่ทำงานกับพื้นที่ ที่ใช้เก็บข้อมูลซึ่งมีขนาด 28,672 ไบต์ สามารถรักษาข้อมูลที่เก็บไว้ได้โดยไม่มีไฟเลี้ยงจ่ายให้ คำสั่งที่เกี่ยวข้องมีดังนี้ บล็อกสำหรับบันทึกค่าข้อมูล record บล็อกคำสั่งจะนำข้อมูลที่ตามมาด้านหลังไปบันทึกไว้ในหน่วยความจำที่ชี้โดยตัวชี้ข้อมูล( Data Pointer ) หรือ DP จากนั้นจะเพิ่มค่าตัวชี้ข้อมูลขึ้น 1 ค่า เพื่อชี้ข้อมูลในตำแหน่งถัดไป บล็อกสำหรับลบค่าข้อมูล erase บล็อกสำหรับเคลียร์ค่าตัวชี้ข้อมูล resetdp ตัวอย่างการใช้งาน บล็อกคำสั่งในกลุ่ม Control (สีเหลือง) คำสั่งรอจนเงื่อนไขเป็นจริง waituntil บล็อกคำสั่งการทำงาน จะวนลูปอยู่ที่เดิม จนกว่าเงื่อนไขที่กำหนดไว้จะเป็นจริง ตัวอย่างการใช้งาน คำสั่งวนลูปซ้ำตามจำนวนรอบที่ระบุ repeat บล็อกคำสั่งการทำงานของโปรแกรม จะวนรอบทำซ้ำโปรแกรมที่ตามมาด้านล่าง จนกว่าจะครบตามตัวเลขที่กำหนดไว้ โดยสามารถกำหนดตัวเลขได้ตั้งแต่ 1 ถึง 65,535 ตัวอย่างการใช้งาน คําสั่งวนรอบการทํางานแบบไม่สิ้นสุด loop บล็อกคำสั่งการทํางานของโปรแกรม จะวนทําคําสั่งไปเรื่อย ๆ ไม่มีการหยุด ตัวอย่างการใช้งาน คำสั่งตรวจสอบเงื่อนไข ทำคำสั่งถ้าที่เงื่อนไขเป็นจริง if than บล็อกคำสั่งของโปรแกรมจะทำการตรวจสอบบล็อกขวามือด้านบน ถ้าเงื่อนไขเป็นจริง ให้ทำคำสั่งที่บล็อกขวามือด้านล่าง ถ้าเงื่อนไขไม่เป็นจริงให้ข้ามไปทำคำสั่งถัดไป ตัวอย่างการใช้งาน คําสั่งตรวจสอบเงื่อนไข ทางเลือก 2 ทาง if then else บล็อกคำสั่งของโปรแกรมทำการตรวจสอบเงื่อนไขในบล็อกขวาด้านบน ถ้าเงื่อนไข ตัวอย่างการใช้งาน
บล็อกคําสั่งในกลุ่ม Number (สีน้ำเงิน) บล็อกสําหรับกําหนดค่าตัวแปร global variable ใช้สําหรับกําหนดตัวแปร เพื่อนําไปใช้งานในโปรแกรม ในการกําหนดค่าตัวแปร 1 ตัวนั้น จะปรากฏบล็อกสําหรับกําหนดค่าตัวแปร และบล็อกค่าตัวแปรนั้น ๆ ขึ้นมา ตัวอย่างการใช้งาน บล็อกกำหนดค่าตัวแปร number ค่าที่กำหนดได้มีค่าตั้งแต่ 0 - 65,535 บล็อกสำหรับสุ่มค่าตัวเลข random สามารถสุ่มตัวเลขได้ตั้งแต่ 0 - 255 โดยสามารถกำหนดช่วงการสุ่มได้ด้วยการดับเบิลคลิกที่บล็อกนี้ ตัวอย่างการใช้งาน บล็อกสําหรับเปรียบเทียบค่าตัวเลข < , > , = สามารถนำค่าข้อมูลที่ได้จากเซนเซอร์ , ค่าจากบล็อก random หรือค่าตัวแปรนำมาเปรียบเทียบค่ากัน เพื่อนำไปใช้กับคำสั่งตรวจสอบเงื่อนไขต่าง ๆ บล็อกคําสั่งประมวลผลทางลอจิก and , or And ใช้เปรียบเทียบเงื่อนไขทางลอจิก 2 เงื่อนไข ถ้าเงื่อนไขทั้งสองเป็นจริงทั้งคู่ผลลัพธ์ที่ได้จะเป็นจริง แต่ถ้าเงื่อนไขตัวใดตัวหนึ่งเป็นเท็จ ผลลัพธ์ที่ได้จะเป็นเท็จ Or ใช้เปรียบเทียบเงื่อนไขทางลอจิก 2 เงื่อนไข ถ้าเงื่อนไขทั้งสองเป็นเท็จทั้งคู่ ผลลัพธ์ที่ได้จะเป็นเท็จ แต่ถ้ามีเงื่อนไขตัวใดตัวหนึ่งเป็นจริง ผลลัพธ์ที่ได้จะเป็นจริง ตัวอย่างการใช้งาน บล็อกคําสั่งประมวลผลทางคณิตศาสตร์ + , - , x , / ในการประมวลผลทางตัวเลขสามารถทําได้สูงสุด 16 บิต บล็อกคำสั่งในกลุ่ม Procedure บล็อกโปรแกรมหลัก main เป็นบล็อกเริ่มต้นของทุกโปรแกรมสามารถเรียกใช้งานบล็อกนี้จากโปรแกรมหลักได้เพื่อให้โปรแกรมทำงานซ้ำ ตัวอย่างการใช้งาน บล็อกเริ่มต้นโปรแกรมย่อย proc เพื่อลดความซับซ้อน จึงควรแยกโปรแกรมในส่วนต่าง ๆ ออกเป็นโปรแกรมย่อย โดยเมื่อสร้าง โปรแกรมย่อยขึ้นมาตัวหนึ่ง โปรแกรม Logo Blocks จะช่วยสร้างบล็อกสำหรับนำโปรแกรมย่อยไปใช้งานให้ทันทีโดยอัตโนมัติ
ตัวอย่างการใช้งาน บล็อกสร้างชุดคำสั่ง ในการใช้ภาษา Logo Blocks นั้นบางทีถ้าเราต้องการเขียนโปรแกรมที่มีความซับซ้อนหรือโปรแกรมที่ภาษา Logo Blocks ไม่สามารถเขียนได้ เราก็อาจใช้บล็อกสร้างชุดคำสั่งมาช่วยได้ โดยการเขียนโปรแกรมโลโก้แบบตัวอักษรลงในช่อง Enter Code แล้วเลือกไปที่โหมด Make blocks for procedure calls เพื่อให้โปรแกรม Logo Blocks สร้างบล็อกคำสั่งขึ้นมาใหม่ ซึ่งเราสามารถเรียกใช้งานชุดคำสั่งที่เขียนขึ้นได้ ตัวอย่างการใช้งาน
|