เริ่มต้น สอน Arduino : คำสั่งตรวจสอบ เงื่อนไข if else
เราสามารถสั่งให้โปรแกรมหรือบอร์ด Arduino ของเราตรวจสอบเงื่อนไขต่าง ๆ ที่เราต้องการได้ เช่น ตรวจสอบอุณหภูมิ ถ้ามีค่าเกินกำหนดให้สั่งเปิดพัดลมอัตโนมัติ หรือถ้าอุณหภูมิต่ำกว่ากำหนดให้ปิดพัดลมอัตโนมัติ ซึ่งบางกรณีเงื่อนไขซับซ้อนมาก ๆ Arduino ก็สามารถทำได้ตามที่เราต้องการ
การเปรียบเทียบจะให้ค่าออกมาเพียง 2 ค่า คือ ถูกหรือผิด เท่านั้น (true false)
การใช้งานก็ใช้สัญลักษณ์ ที่เราคุ้นเคยกันดีอยู่แล้ว เช่น เครื่องหมาย
> มากกว่า
< น้อยกว่า
>= มากกว่าหรือเท่ากับ
<= น้อยกว่าหรือเท่ากับ
!= ไม่เท่ากับ
== เท่ากับ
คำสั่งเปรียบเทียบเป็นอีกพื้นฐานที่จำเป็นในการเขียนโปรแกรมควบคุม Arduino ซึ่งก็เขียนได้ไม่ยากดังนี้
if(การเปรียบเทียบ){
ถ้า การเปรียบเทียบเป็นจริง ทำคำสั่งในวงเล็บนี้ ถ้าไม่จริง ก็ข้ามคำสั่งในวงเล็บนี้ไปเลย
}
เช่น
| 
					 1 2 3 4 5 6 7 8 9 10  | 
						void setup() {   Serial.begin(9600); } void loop() {   int temp = 30;   if (temp >= 35) {     Serial.println("temp is hot");   } }  | 
					
ในกรณีที่ต้องการเปรียบเทียบเงื่อนไขหลายชั้น ให้เพิ่มคำสั่ง else if เข้าไปด้วย เช่น
| 
					 1 2 3 4 5 6 7 8 9 10 11 12 13 14  | 
						void setup() {   Serial.begin(9600); } void loop() {   int temp = 30;   if (temp >= 35) {     Serial.println("temp is hot");   }else if(temp >= 25){     Serial.println("temp is Good");   }else if(temp==0){     Serial.println("temp is ICE");   } }  | 
					
และถ้าต้องการให้ทำงานในกรณีที่ไม่เข้าเงื่อนไขใดเลย ให้เพิ่มคำสั่ง else ปิดท้าย เช่น
| 
					 1 2 3 4 5 6 7 8 9 10 11 12 13 14  | 
						void setup() {   Serial.begin(9600); } void loop() {   int temp = 30;   if (temp > 35) {     Serial.println("temp is hot");   }else if(temp > 25){     Serial.println("temp is Good");   }else{     Serial.println("temp is Cool");   } }  | 
					
เราสามารถใช้คำสั่ง ตรรกกะร่วมกับคำสั่ง if เพื่อเพิ่มความกระชับให้คำสั่ง if ได้ โดยสัญลักษณ์
&& เครื่องหมายและ (อ่านว่า AND)
|| เครื่องหมายหรือ (อ่านว่า OR)
เพื่่อให้เข้าใจความหมายได้ง่าย ลองคิดดูว่าจะซื้ออะไรบ้างจากคำถามนี้
ถ้าบอกว่า : ให้ซื้อข้าวกระเพรา และ ไข่ดาว : ผลลัพธ์คือ ได้กระเพรากับไข่ดาว
ถ้าบอกว่า : ให้ซื้อข้าวกระเพรา หรือ ไข่ดาว : ผลลัพธ์คือ ได้กระเพรา ไม่ก็ได้ ไข่ดาว อันใดอันหนึ่ง
จะสังเกตว่า ถ้าใช้คำสั่ง “และ” แปลว่าเอาทั้งหมด เป็นจริงทั้งหมด ถึงจะถูก true
ถ้าใช้คำสั่ง “หรือ” แปลว่าเอาแค่อันใดอันหนึ่ง เป็นจริงแค่บางส่วน ก็จะถูก true
ตัวอย่างการใช้ ตรรกกะร่วมกับคำสั่ง if
		
| 
					 1 2 3 4 5 6 7 8 9 10 11 12 13  | 
						void setup() {   Serial.begin(9600); } void loop() {   int temp = 30;   if ((temp >= 35)&&(temp <= 100)) {     Serial.println("temp is hot");   }else if((temp==0)||(temp==100) || (temp==200)){     Serial.println("temp is Over");   }else{     Serial.println("temp is Cool");   } }  | 
					
						                        
                                            
3 Response Comments
ขอบคุณสำหรับบทเรียนทึ่ทำให้มองภาพออกและเขัาใจง่าย
ขอบคุณสำหรับขั้นตอนการสอนที่ทำให้ดูง่ายและเห็นภาพ
ขอบคุณครับที่ทำให้เข้าใจ