> For the complete documentation index, see [llms.txt](https://docs.makerplayground.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.makerplayground.io/intro/component/diagram/condition.md).

# Condition

## แนะนำบล็อกเงื่อนไข (Condition)

บล็อกเงื่อนไข เป็นบล็อกที่ใช้ในการควบคุมการทำงานของโปรแกรมตามค่าที่อ่านได้จากเซนเซอร์ หรือการสั่งงานจากภายนอกโดยจะต้องนำไปเชื่อมต่อคั่นระหว่างบล็อกซีน&#x20;

ตัวอย่างที่ 1 จะเป็นการสั่งให้ไฟเปิดหลังจากที่กดปุ่ม โดยเลือกเงื่อนไข 'Press'

![](https://2179845821-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LtOYdzdDgMXSdDt8NkP%2F-LufppnVr7mrvfF5DlDr%2F-Luft4D_fKxG6y0HZMru%2Fimage.png?alt=media\&token=afbd863e-4dc2-4116-9884-ac2e4bd130c5)

หากในบล็อกเงื่อนไขมีอุปกรณ์มากกว่า 1 ตัว นั่นหมายความว่า เงื่อนไขที่ตั้งไว้สำหรับอุปกรณ์แต่ละตัวในบล็อกจะต้องเป็นจริงเพื่อให้การกระทำที่เชื่อมต่ออยู่หลังบล็อกเงื่อนไขทำงาน&#x20;

ตัวอย่างที่ 2 ที่ปุ่ม Button1 จะต้องถูกกด และเซนเซอร์ Distance1 อ่านค่าได้ในช่วง 100 ถึง 200 เซนติเมตร หลอดไฟ LED1 จะติดสว่าง

![](https://2179845821-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LtOYdzdDgMXSdDt8NkP%2F-LufuLTv7xzOB2GU9wAe%2F-Lug1ztBhT2AdeAgG6Yx%2Fimage.png?alt=media\&token=149b71a1-f2b9-463b-ad9e-df31e4526210)

โดยส่วนมากแล้ว การสร้างเงื่อนไขที่มีช่องโหว่อาจทำให้การแสดงผลผิดพลาดและไม่เป็นไปตามการออกแบบ ตัวอย่างเช่น การสร้างไดอะแกรมเพื่อเปิดไฟเมื่อปุ่มถูกกด และไฟจะต้องดับลงเมื่อปล่อยปุ่ม ดังนั้นการสร้างเงื่อนไขเพื่อตรวจสอบสถานะของปุ่มกดจึงต้องแบ่งแยกออกเป็น 2 ชุด

ตัวอย่างที่ 3 สวิทช์เปิด-ปิดไฟ เมื่อ Button1 ถูกกด หลอดไฟ LED1 จะสว่าง และเมื่อ Button1 ไม่ถูกกด หลอดไฟ LED1 จะดับ

![](https://2179845821-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LtOYdzdDgMXSdDt8NkP%2F-Lug2AfXrjezIXoc-3vt%2F-Lug6gNbSEKswOOOdgkg%2Fimage.png?alt=media\&token=b950b64b-7320-433a-b2a9-aa2ec28431a3)

สำหรับเซนเซอร์ที่มีการอ่านค่าอย่างต่อเนื่อง เช่น อุณหภูมิ, ระยะทาง, ความเร่ง, กระแสไฟฟ้า, ลูกบิด ฯลฯ สามารถสร้างเงื่อนไขการเปรียบเทียบได้ 2 ทางเลือก คือ

1. Basic
2. Custom

1.ตัวเลือก Basic เป็นการเปรียบเทียบค่าอย่างง่ายได้โดยใช้แถบเลื่อน หรือ กรอกค่าที่ต้องการเพื่อเลือกช่วงที่ต้องการจะเปรียบเทียบ โดยเลือกช่วงของค่าที่ถือว่าต้องการให้ผ่านไปทำงานในซีนถัดไปได้&#x20;

![](https://2179845821-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LtOYdzdDgMXSdDt8NkP%2F-LugDiBWNxadFF5szWDq%2F-LugFBb1S4gyQWFq65KA%2Fimage.png?alt=media\&token=268d5c23-ccc3-4a3b-8361-0dcd85e49bad)

2\. ตัวเลือก Custom เป็นตัวเลือกที่สามารถกำหนดช่วงค่าที่จะนำมาเปรียบเทียบได้อย่างอิสระ

![](https://2179845821-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LtOYdzdDgMXSdDt8NkP%2F-LugDiBWNxadFF5szWDq%2F-LugFPITMk6XHg6PaWAO%2Fimage.png?alt=media\&token=56061fee-19c9-40e9-bca9-6c396f6a7c30)

![](https://2179845821-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LtOYdzdDgMXSdDt8NkP%2F-LugDiBWNxadFF5szWDq%2F-LugFcYsjMsLXJQ2FLW4%2Fimage.png?alt=media\&token=549f40fa-4ca6-46a5-89cd-f8b254a1f5a4)

ผู้ใช้สามารถตั้งค่าการเปรียบเทียบเป็นช่วงที่สนใจโดยการเปลี่ยนเครื่องหมายสมการและอสมการในตัวเลือกด้านหน้าและใส่ค่าคงที่ตามต้องการ

![](https://2179845821-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LtOYdzdDgMXSdDt8NkP%2F-LugDiBWNxadFF5szWDq%2F-LugGBFFWwAyWL_yvgnd%2Fimage.png?alt=media\&token=529a4ae8-30b9-4c16-94cb-e390d4c76685)

นอกจากนี้ยังสามารถเลือกใช้ค่าที่อ่านได้จากอุปกรณ์นำเข้าหรือใช้งานร่วมกับการสร้างสมการคณิตศาสตร์ได้อีกด้วย

![](https://2179845821-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LtOYdzdDgMXSdDt8NkP%2F-LugDiBWNxadFF5szWDq%2F-LugGuR2pAuJHBUPIzCp%2Fimage.png?alt=media\&token=dffff79a-3cac-4c33-a199-ebf353c2c2c9)

ยังสามารถกดปุ่ม + เพื่อเพิ่มข้อเปรียบเทียบ

![](https://2179845821-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LtOYdzdDgMXSdDt8NkP%2F-LugDiBWNxadFF5szWDq%2F-LugHJPa3bw1c34TJmLy%2Fimage.png?alt=media\&token=7a9205d4-616a-4cbd-899f-4761ed0e2f15)
