1สั่งให้Arduino รับคำสั่งจากมนุษย์ผ่านปุ่มกด
Arduino มีไฟล์นามสกุล INO ซึ่งเขียนจากภาษา C++ บน โปรแกรม Arduino IDE บทความนี้จะมาทำความเข้าใจภาษาระดับสูงเพื่อสั่ง(โปรแกรม)ให้ เครื่องจักรทำงานตามคำสั่งที่เราต้องการ โดยความเข้าใจง่ายๆ เริ่มกันที่ แบบฝึกหัด(Example) ที่มีอยู่ในโปรแกรมดังกล่าว
เข้าโปรแกรม arduino ide แล้วคลิกไปที่ File/examples/01basics/DigitalReadSerial
ประการตัวแปรเพื่อจองพื้นที่ใน RAM
int pushButton = 2; // กำหนดให้ ขาที่ 2 ของ arduino คือปุ่มกด
int ledPin = 13; // ให้หลอด LED คือขาที่ 13
int buttonState = 0; //สถานะปุ่มเริ่มที่ 0
กำหนดให้ค่าที่ประกาศ ทำหน้าที่ที่เรากำหนดตามที่เราต้องการ
void setup() {
Serial.begin(9600); // ตั้งค่าให้การแสดงผลไปแสดงที่หน้าจอ
pinMode(ledPin, OUTPUT); // ledPin หรือ ขาที่ 13 เป็น ตัวแสดงข้อมุลให้ มนุษย์รับรู้
pinMode(pushButton, INPUT); // ให้ขาที่ 2 หรือปุ่มกด เป็น ตัวรับข้อมูลไปยัง arduino เพื่อแปรค่าตามที่เรากำหนด
}
เริ่มการวนลูปการทำงานจากบรรทัดบนลงล่างด้วยความรวดเร็วตามสัญญาณนาฬิกา
void loop() {
buttonState = digitalRead(pushButton); //อ่านค่าใน RAM ที่รับข้อมูลจากขาที่ 2 (pushButton)
Serial.println(buttonState); //แล้วนำค่าที่ได้(buttonState)ไปแสดงผลที่ จอภาพ
if (buttonState == HIGH){digitalWrite(ledPin, HIGH);} //ถ้าค่าที่รับมา(input=pushButton= ขา2)เป็น high หรือ (==) low
ให้แสดงข้อมูลที่ได้ที่ขา 13 (ledPin หรือ output เป็นค่าตามที่รับมาเช่น รับค่ามาเป็น high ให้แสดงสถานะที่ output เป็น high
else {digitalWrite(ledPin, LOW);} //ถ้ารับค่ามาเป็น low ก็ให้แสดงค่า output เป็น low
}
ผลที่ได้รับคือ เมือเรากดที่ปุ่ม ตัวเลขในจอมอนิเตอร์ก็จะเปลี่ยนจาก 0 เป็น 1 ตามที่เราต้องการ แบบฝึกหัดนี้มีไว้เพื่อให้เรา สร้างจุดเชื่อมต่อระหว่างโลกทางกายภาพของมนุษย์(analog) กับ เครื่องกล(digital) ให้เครื่องกลดังกล่าวรับรู้ว่า มนุษย์กำลังจะสั่งให้เครื่องกล ทำอะไรผ่านจุดinput