3. การเขียนชุดคำสั่งเบื้องต้น
01
ตัวแปรกับการเขียนโปรแกรม
1.1 บล็อกค่าคงที่
บล็อกนี้ใช้ในการกำหนดค่าคงที่ตามที่ต้องการ เมื่อกดเลือกตัวเลขจะสามารถใช้คีย์บอร์ดในการกำหนดค่าได้ โดยค่าที่กำหนดต้องเป็นตัวเลขจำานวนเต็มหรือทศนิยม สาหรับการใช้งานบล็อกนี้ททาได้ทั้งการนำไปกำหนดค่าใหกับตัüแปร หรือ ใช้เป็นค่าคงที่โดยตรง
1.3 บล๊อกตัวแปร
บล็อกนี้ใช้ในการสร้างตัวแปรตามที่ต้องการ วิธีการสร้างตัวแปรทำได้โดยการ กำหนดชื่อให้กับตัวแปรก่อน ซึ่งใน Kidbright IDE จะเริ่มต้นไว้ที่ x ซึ่งหากต้องการสร้างตัวแปรใหม่ให้ทำการ เลือกคำสั่งเปลี่ยนชื่อตัวแปร เมื่อกล่องเปลี่ยนชื่อตัวแปรปรากฏก็ทำการใส่ชื่อตัวแปรที่ต้องการสร้าง แล้วกด ตกลง
1.2 บล็อกคำนวณทางคณิตศาสตร์
บล็อกนี้ใช้ในการคำนวณทางคณิตศาสตร์ของค่าคงที่หรือตัวแปร เช่นการ + - * / และการหารเอาเศษหรือมอดูโล(ใช้ % ในการเขียนโปรแกรม)
ตัวอย่างการหารเอาเศษ กับการหารปกติ
10 / 2 = 5 (หารลงตัวได้ 5)
10 % 2 = 0 (หารลงตัวได้ 5 เศษ 0 จึงตอบ 0)
1.4 บล๊อกกำหนดค่าตัวแปร
บล็อกนี้ใช้ในการกำหนดค่าให้กับตัวแปรสามารถเลือกตัวแปรโดยกดที่ลูกศรลงจะปรากฏชื่อตัวแปรที่สร้างไว้ ให้เลือกตัวแปรที่ต้องการที่จะกำหนดค่า (**ต้องทำการสร้างตัวแปรก่อนจึงจะปรากฏตัวแปร)
กิจกรรมที่ 1.1
จงใช้บล๊อกใน KidBright หาคำตอบของสมการที่กำหนดให้
1. นำบล็อกแอลอีดี 16*8 แบบเลื่อน มาวาง จากนั้นนำบล๊อกทางคณิตศาสตร์มาต่อท้าย
2. กดเครื่องหมายลูกศรลงของบล๊อกคำนวณทางคณิตศาสตร์ เพื่อเลือกเครื่องหมายคูณ ( x )
3. ในช่องแรกของบล็อกคำนวณทางคณิตศาสตร์ นำบล๊อกคำนวณทางคณิตศาสตร์อันที่สองมาวาง
4. กดเครื่องหมายลูกศรลงของบล๊อกคำนวณทางคณิตศาสตร์อันที่2 เพื่อเลือกเครื่องหมายบวก ( + )
5. นำบล็อคค่าคงที่จำนวน 3 บล็อก โดยกำหนดเป็นค่าคงที่ 4.75 1.13 และ 2.2 มาวางในช่องว่างของ
บล๊อกคำนวณทางคณิตศาสตร์ทั้งสามช่อง
6. กดปุ่มสร้างโปรแกรม(Program Build) เมื่อเรียบร้อยบอร์ดจะแสดงค่าที่จอแสดงผล
เฉลย กิจกรรมที่ 1.1
จงใช้บล๊อกใน KidBright หาคำตอบของสมการที่กำหนดให้
= 12.936
กิจกรรมที่ 1.2
การใช้ตัวแปรเก็บค่าคงที่
1. นำบล็อกกำหนดค่าให้กับตัวแปรในแถบคณิตศาสตร์มาวาง จากนั้นนำบล๊อกกำหนดค่าคงที่มาวางในช่องว่างของบล๊อกกำหนดค่าให้กับตัวแปรแล้วเปลี่ยนค่าเป็น -10
2. นำบล็อกสร้างตัวแปรไปต่อท้ายบล็อคแอลอีดี 16*8 แบบเลื่อนเมื่อพร้อม โดยเลือกชื่อตัวแปรเป็น x
เฉลยกิจกรรมที่ 1.2
การใช้ตัวแปรเก็บค่าคงที่
02
เซนเซอร์และการใช้งาน
ในระบบสมองกลฝังตัว เซนเซอร์ คือ อุปกรณ์ที่ทำหน้าที่ตรวจวัดปริมาณทางกายภาพต่างๆ เช่น อุณหภูมิ แสง เสียง เป็นต้น และทำการแปลงเป็นสัญญาณไฟฟ้า เพื่อใช้ตรวจสอบเงื่อนไขสำหรับการสั่งงานส่วนควบคุมแบบอัตโนมัติ หรือตรวจวัดข้อมูลต่างๆ สำหรับเก็บบันทึกข้อมูล เช่น เซนเซอร์จรวจวัดแสงสว่าง เซนเซอร์ตรวจวัดอุณหภูมิ เป็นต้น
2.1 เซนเซอร์วัดระดับความเข้มแสง
ใช้เซนเซอร์ชนิดค่าความต้านทานเปลี่ยนแปลงตามความเข้มแสง หรือเรียกสั้นๆ ว่า LDR (Light Dependent Resistor) บอร์ด KidBright ได้ออกแบบบล็อกคำสั่ง หัววัดระดับแสง (Light Level Sensor) สำหรับอ่านค่าจากเซนเซอร์
2.2 เซนเซอร์วัดอุณหภูมิ
ใช้เซนเซอร์แบบสารกึ่งตัวนำ LM73 โดยสามารถวัดค่า
อุณหภูมิได้ 10-80 องศาเซลเซียส มีค่าความแม่นยำ
+-1.0 องศาเซลเซียส การอ่านค่าเซนเซอร์วัดอุณหภูมิบนบอร์ด KidBright ทำได้โดยใช้บล็อกคำสั่ง หัววัดอุณหภูมิ (Temperature Sensor)
2.3 สวิตช์กดติดปล่อยดับ
เป็นเซนเซอร์ตรวจวัดการกดซึ่งมีอยู่ 2 ตัว บนบอร์ด KidBright คือ สวิตช์ 1 และ สวิตช์ 2 การอ่านค่าจากเซนเซอร์ สวิตช์ ใช้บล็อก สวิตช์ 1 (Switch 1) หรือ สวิตช์ 2 (Switch 2) เมื่อมีการกดสวิตช์ค่า ที่อ่านได้จะมีสถานะเป็นจริง หรือมีค่าเป็น 1 และจะมีสถานะเป็นเท็จหรือมีค่าเป็น 0 เมื่อไม่มีการกด สวิตช์
สามารถใช้ การกดหรือปล่อยของสวิตช์ ได้ในแถบเมนู Logic
Pressed = กด , released = ปล่อย
03
การเขียนโปรแกรมแบบทางเลือก
การเขียนโปรแกรมแบบทางเลือกเป็นการเขียนโปรแกรมควบคุมผลลัพธ์ที่เกิดขึ้นให้สอดคล้อง กับเงื่อนไขที่กำหนด สำหรับ KIdBright IDE บล็อกคำสั่งสำหรับการเขียนโปรแกรมแบบทางเลือก มีดังนี้
1. คำสั่ง ถ้า (if)
2. คำสั่ง ถ้า นอกเหนือจากนี้ (if else)
3. คำสั่ง ถ้า (if) ซ้อน ถ้า (if)
3.1 คำสั่ง ถ้า (if)
เป็นบล็อกคำสั่งตรวจสอบเงื่อนไขหลัง ถ้า (if) หากเงื่อนไขที่กำหนดเป็นจริงแล้วจะทำคำสั่งที่อยู่ภายในบล็อก ทำ (Do) แต่ถ้าตรวจสอบแล้วเงื่อนไขเป็นเท็จ จะข้ามคำสั่งที่ทำอยู่ภายในบล็อกทางเลือกและไปทำคำสั่งถัดไปที่อยู่ถัดไปจาก ถ้า (if) ทันที
ตัวอย่าง คำสั่ง ถ้า (if)
3.2 คำสั่ง ถ้า นอกเหนือจากนี้ (if else)
เป็นบล็อกคำสั่งที่ช่วยให้การทำงานแบบทางเลือกมีความสมบูรณ์มากยิ่งขึ้น โดยเมื่อตรวจสอบเงื่อนไขของ ถ้า (if) แล้วเป็นจริงจะทำคำสั่งในบล็อก ทำ(Do) แต่หากตรวจสอบเงื่อนไขแล้วเป็นเท็จจะข้ามไปทำคำสั่งในบล็อก นอกเหนือจากนี้ (Else) แทน และเมื่อเสร็จสิ้นการตรวจสอบเงื่อนไขและประมวลผลตามคำสั่งทางเลือก ถ้า นอกเหนือจากนี้ (if else) แล้ว จะทำงานในคำสั่งถัดไปจาก ถ้า นอกเหนือจากนี้ (if else)
ตัวอย่าง คำสั่ง ถ้า นอกเหนือจากนี้ (if else)
3.3 คำสั่ง ถ้า (if) ซ้อน ถ้า (if)
เป็นบล็อกคำสั่งที่ใช้ในกรณีที่มีทางเลือกให้มากกว่า 2 ทางเลือก จะต้องตรวจสอบเงื่อนไขหลายๆเงื่อนไขที่มีความแตกต่างกัน โดยเราสามารถเพิ่มเงื่อนไขการตรวจสอบได้หลังบล็อกคำสั่ง นอกเหนือจากนี้ ถ้า (Else if) และสามารถเพิ่มบล็อกคำสั่ง นอกเหนือจากนี้ ถ้า (Else if) ได้ตามจำนวนเงื่อนไขที่ต้องการตรวจสอบ โดยการกดปุ่ม แล้วลากบล็อกเงื่อนไข นอกเหนือจากนี้ ถ้า (Else if) หรือ นอกเหนือจากนี้ (Else) ทางด้านซ้ายมาต่อด้านล่างของบล็อก ถ้า (if) ทางด้านขวา
ตัวอย่าง คำสั่ง ถ้า (if) ซ้อน ถ้า (if)
04
การเขียนโปรแกรมแบบวนซ้ำ
การเขียนโปรแกรมแบบวนซ้ำ (Repeat) หรือแบบวนรอบ (Loop) เป็นแนวคิดในการเขียนโปรแกรมที่สามารถทำงานซ้ำคำสั่งเดิมได้มากกว่า 1 ครั้ง โดยขึ้นอยู่กับเงื่อนไขที่กำหนด สำหรับบล็อกคำสั่งการเขียนโปรแกรมแบบวนซ้ำของ KidBright จะทำการตรวจสอบเงื่อนไขก่อนการทำงานทุกครั้ง
4.1 ทำซ้ำขณะที่ (Repeat while)
รูปแบบนี้ จะทำซ้ำเมื่อเงื่อนไขข้างหลังเป็นจริง ทำซ้ำขณะที่ (Repeat while) ตรวจสอบเงื่อนไขก่อนเมื่อเงื่อนไขเป็นจริงจะทำงานตามบล็อกคำสั่งที่อยู่ภายในขอบเขตของบล็อก ทำซ้ำขณะที่ (Repeat while) และหยุดการทำงานเมื่อเงื่อนไขเป็นเท็จ
ตัวอย่างโปรแกรม ที่มีการใช้บล็อกคำสั่ง ทำซ้ำขณะที่ (Repeat while)
โปรแกรมแสดงตัวเลข 0-7บนจอแสดงผลแอลอีดี8x16 เมื่อมีการกดสวิตช์1
4.2 ทำซ้ำจนกระทั่ง (Repeat until)
รูปแบบนี้ จะทำซ้ำเมื่อเงื่อนไขข้างหลังเป็นเท็จ หรือทำการหยุดทำซ้ำเมื่อเงื่อนไขข้างหลังเป็นจริง คำสั่ง ทำซ้ำจนกระทั่ง (Repeat until) จะตรวจสอบเงื่อนไขก่อนเมื่อเงื่อนไขเป็นเท็จจะทำงานตามบล็อกคำสั่งที่อยู่ภายในขอบเขตของบล็อก ทำซ้ำจนกระทั่ง (Repeat until) และทำซ้ำจนกว่าเงื่อนไขเป็นจริงจึงจะหลุดออกจากการวนรอบ
แผนการจัดการเรียนรู้
เอกสารประกอบการเรียนรู้
เอกสารอ้างอิง
• ศูนย์เทคโนโลยีอิเล็กทรอนิกส์และคอมพิวเตอร์แห่งชาติ สำานักงานพัฒนาวิทยาศาสตร์และเทคโนโลยีแห่งชาติ, “สนุก Kid สนุก Code กับ KidBright”, สำนักพิมพ์มหาวิทยาลัยธรรมศาสตร์, 2561
• marcuscode. 2016 “คำสั่งวนซ้ำ” Available: สืบค้นเมื่อ 17 มิถุนายน 2562. จาก