เขียนโปรแกรมคำสั่งทำซ้ำและโปรแกรมแบบมีเงื่อนไข

0
90

ในบทเรียนนี้ นักเรียนจะได้เรียนรู้เกี่ยวกับการเขียนโปรแกรมที่ใช้คำสั่งทำซ้ำ และโปรแกรมแบบมีเงื่อนไขต่างๆ โดยบอร์ด IPST-WiFi จะมีสวิตช์ที่ชื่อ SW1 ที่ต่อเข้ากับขาพอร์ต 0 ซึ่งการเขียนโปรแกรมควบคุมขาพอร์ต 0 ทำงานแบบอินพุต (input) ดิจิทัลธรรมดาได้ แต่บล็อกคำสั่ง SW1 ของ microBlock IDE จะทำงานแบบบลูลีน คือเมื่อกดสวิตช์จะให้ผลการทำงานแบบเป็นจริง หรือ TRUE และเมื่อปล่อยสวิตช์จะให้ผลการทำงานเป็นเท็จ หรือ FALSE


ใช้สวิตช์ SW1 ควบคุม LED พอร์ต 18

ตัวอย่างการใช้สวิตช์ SW1 ควบคุมหลอดไฟ LED พอร์ต 18 นั้น เราจะเขียนโปรแกรมให้เมื่อกดสวิตช์ SW1 แล้วหลอดไฟ LED พอร์ต 18 ติด และเมื่อปล่อยสวิตช์ หลอดไฟจะดับ เริ่มต้นด้วยการเปิดโปรแกรม microBlock IDE ขึ้นมา แล้วใช้บล็อกคำสั่งดังนี้

1. forever ในกลุ่มคำสั่ง Control ใช้สั่งงานให้โปรแกรมของเราวนซ้ำไปเรื่อยๆ

2. if else ในกลุ่มคำสั่ง Control ใช้สร้างเงื่อนไขให้กับการเขียนโปรแกรม โดย if จะกระทำเมื่อเงื่อนไขเป็นจริง และ else เงื่อนไขไม่เป็นจริง

3. switch SW1 is press? ในกลุ่มคำสั่ง Input ใช้ในการตรวจสอบค่าสถานะของสวิตช์ SW1 ว่าถูกกดหรือไม่

4. digital write ในกลุ่มคำสั่ง Output ใช้สั่งให้ไฟ LED พอร์ต 18 ทำงาน ถ้ามีค่าเท่ากับ 1

5 digital write ในกลุ่มคำสั่ง Output ใช้สั่งให้ไฟ LED พอร์ต 18 ไม่ทำงาน ถ้ามีค่าเท่ากับ 0


ทดสอบโปรแกรม


ใช้สวิตช์ SW1 ควบคุม SLED

ตัวอย่างการใช้สวิตช์ SW1 ควบคุมหลอดไฟ SLED นั้น เราจะเขียนโปรแกรมให้เมื่อกดสวิตช์ SW1 แล้วหลอดไฟ SLED ทั้ง 3 ดวงจะติดเป็นสีแดง และเมื่อปล่อยสวิตช์ หลอดไฟ SLED จะติดเขียว เริ่มต้นด้วยการเปิดโปรแกรม microBlock IDE ขึ้นมา แล้วใช้บล็อกคำสั่งดังนี้

1. SLED setup ในกลุ่มคำสั่ง Output สั่งงานให้หลอด SLED เตรียมพร้อมสำหรับการทำงาน

2. SLED set brightness ในกลุ่มคำสั่ง Output สั่งงานให้หลอด SLED เปร่งแสงที่ความสว่าง % ที่กำหนด

3. forever ในกลุ่มคำสั่ง Control ใช้สั่งงานให้โปรแกรมของเราวนซ้ำไปเรื่อยๆ

4. if else ในกลุ่มคำสั่ง Control ใช้สร้างเงื่อนไขให้กับการเขียนโปรแกรม โดย if จะกระทำเมื่อเงื่อนไขเป็นจริง และ else เงื่อนไขไม่เป็นจริง

5. switch SW1 is press? ในกลุ่มคำสั่ง Input ใช้ในการตรวจสอบค่าสถานะของสวิตช์ SW1 ว่าถูกกดหรือไม่

6. SLED fill color ในกลุ่มคำสั่ง Output เมื่อกดสวิตช์ SW1 ให้หลอด SLED ทั้ง 3 เปร่งแสงสีแดงออกมา

7. SLED show ในกลุ่มคำสั่ง Output สั่งให้หลอด SLED เปร่งแสง

8. SLED clear ในกลุ่มคำสั่ง Output สั่งให้หลอด SLED หยุดเปร่งแสงเมื่อครบเงื่อนไข

9. SLED fill color ในกลุ่มคำสั่ง Output เมื่อกดสวิตช์ SW1 ให้หลอด SLED ทั้ง 3 เปร่งแสงสีเขียวออกมา


ทดสอบโปรแกรม