คำสั่งที่คุณให้มาเป็นคำสั่งพื้นฐานที่ใช้ในภาษาโปรแกรม Arduino สำหรับควบคุมการทำงานของขา (pins)
ของบอร์ด Arduino ดังนี้
pinMode(); ใช้เพื่อกำหนดโหมดการทำงานของขา (pin) ว่าจะเป็น Input หรือ Output
Syntax: pinMode(pin, mode);
ตัวอย่าง:
pinMode(13, OUTPUT); // กำหนดให้ขา 13 เป็น Output
pinMode(2, INPUT); // กำหนดให้ขา 2 เป็น Input
digitalWrite(); ใช้ในการเขียนสัญญาณดิจิตอลให้กับขา (pin) ที่กำหนดเป็น High หรือ Low
Syntax: digitalWrite(pin, value);
ตัวอย่าง:
digitalWrite(13, HIGH); // ส่งสัญญาณ HIGH (5V) ไปที่ขา 13
digitalWrite(13, LOW); // ส่งสัญญาณ LOW (0V) ไปที่ขา 13
delay(); ใช้ในการหน่วงเวลาการทำงานของโปรแกรมในหน่วยมิลลิวินาที (1000มิลลิวินาที = 1 วินาที)
Syntax: delay(milliseconds);
ตัวอย่าง:
delay(1000); // หยุดการทำงาน 1 วินาที (1000 มิลลิวินาที)
ตัวอย่างโค้ด:
void setup() {
pinMode(13, OUTPUT); // กำหนดขา 13 เป็น OUTPUT
}
void loop() {
digitalWrite(13, HIGH); // เปิด LED
delay(1000); // หน่วงเวลา 1 วินาที
digitalWrite(13, LOW); // ปิด LED
delay(1000); // หน่วงเวลา 1 วินาที
}
ในตัวอย่างนี้, โปรแกรมจะทำให้ LED ที่เชื่อมต่อกับขา 13 กระพริบทุกๆ 1 วินาที.
ในโปรแกรมของ Arduino, ฟังก์ชัน setup() และ loop() เป็นส่วนสำคัญที่ใช้ในการจัดการการทำงานของโปรแกรม โดยมีการใช้งานที่แตกต่างกันดังนี้:
1. setup() ฟังก์ชันนี้จะทำงานเพียงครั้งเดียวเมื่อเริ่มโปรแกรม (เมื่อเปิดบอร์ดหรือรีเซ็ตบอร์ด)
ใช้สำหรับการตั้งค่าเริ่มต้น เช่น การกำหนดโหมดของขา (pinMode), การเริ่มการสื่อสาร (Serial.begin), หรือการตั้งค่าต่างๆ ที่ต้องทำแค่ครั้งเดียวในช่วงเริ่มต้น
ตัวอย่าง: กำหนดขาให้เป็น Input หรือ Output หรือเริ่มการสื่อสารกับคอมพิวเตอร์ผ่าน Serial
Syntax:
void setup() {
// การตั้งค่าต่างๆ เช่น pinMode(), Serial.begin(), ฯลฯ
}
ตัวอย่างการใช้ setup()
void setup() {
pinMode(13, OUTPUT); // กำหนดขา 13 เป็น OUTPUT
Serial.begin(9600); // เริ่มการสื่อสารผ่าน Serial ที่ 9600 บิต/วินาที
}
2. loop() ฟังก์ชันนี้จะทำงานซ้ำไปเรื่อยๆ หลังจาก setup() ทำงานเสร็จ เป็นที่ที่คุณใส่โค้ดที่ต้องการให้ทำงานตลอดเวลา หรือทำงานซ้ำๆ (เช่น ควบคุม LED, อ่านค่าจากเซนเซอร์, ฯลฯ) หลังจาก setup() ทำงานเสร็จแล้ว โปรแกรมจะเข้า loop() และทำซ้ำๆ จนกว่าจะปิดบอร์ดหรือรีเซ็ต
Syntax:
void loop() {
// โค้ดที่ต้องการทำซ้ำๆ เช่น ควบคุมอุปกรณ์, อ่านเซนเซอร์, ฯลฯ
}
ตัวอย่างการใช้ loop():
void loop() {
digitalWrite(13, HIGH); // เปิด LED ที่ขา 13
delay(1000); // หน่วงเวลา 1 วินาที
digitalWrite(13, LOW); // ปิด LED ที่ขา 13
delay(1000); // หน่วงเวลา 1 วินาที
}
สรุป:
setup() {
} ใช้สำหรับการตั้งค่าเริ่มต้นที่จะทำแค่ครั้งเดียว
loop() {
} ใช้สำหรับโค้ดที่ต้องการทำงานซ้ำๆ ไปเรื่อยๆ ตลอดเวลา
โปรแกรมใน Arduino จะเริ่มต้นที่ฟังก์ชัน setup() แล้วตามด้วยการทำงานในฟังก์ชัน loop() ต่อไปเรื่อยๆ จนกว่าจะปิดบอร์ดหรือรีเซ็ตใหม่
เครื่องหมาย { } หรือที่เรียกว่า curly braces หรือ braces ใช้ในภาษาโปรแกรม เช่น Arduino, C, C++, Java, และอื่นๆ เพื่อกำหนด บล็อกของคำสั่ง (block of code) หรือ กลุ่มของคำสั่ง ที่ต้องการให้ทำงานภายในขอบเขตนั้นๆ