# Condition

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

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

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

![](/files/-Luft4D_fKxG6y0HZMru)

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

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

![](/files/-Lug1ztBhT2AdeAgG6Yx)

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

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

![](/files/-Lug6gNbSEKswOOOdgkg)

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

1. Basic
2. Custom

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

![](/files/-LugFBb1S4gyQWFq65KA)

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

![](/files/-LugFPITMk6XHg6PaWAO)

![](/files/-LugFcYsjMsLXJQ2FLW4)

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

![](/files/-LugGBFFWwAyWL_yvgnd)

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

![](/files/-LugGuR2pAuJHBUPIzCp)

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

![](/files/-LugHJPa3bw1c34TJmLy)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.makerplayground.io/intro/component/diagram/condition.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
