
Digital Read Serial รับค่าดิจิตอล
...สวีดัส ...สวัสดีครับ!! ในบทเรียนนี้จะเป็นการจำลองและเรียนรู้การรับค่า Digital จากนั้นแสดงผลออกทาง Serial Monitor ไปดูอุปกรณ์ที่ต้องใช้กันครับ


ทำการเชื่อมต่อขาสวัทช์ฝั่งหนึ่งเข้ากับ Arduino ที่ขา 2 และขาคู่เข้ากับตัวต้านทาน 1 กิโลโอมห์เข้าสู่ GND และเชื่อมต่อขาสวัทช์อีักฝั่งหนึ่งเข้ากับไฟเลี้ยง 5 โวลต์

หลักการทำงาน
เมื่อเริ่มทำงานในภาวะปกติจะเป็น 0 (LOW) เมื่อกดปุ่มจะได้ 1 (HIGH) ซึ่งเป็นสวิชท์แบบ Active HIGH (จริงๆมีแบบ Active LOW อีกนะ ไว้จะทำบทความแยกออกไปเรื่องสวิทช์นะครับ)
โค๊ดโปรแกรม

/*
* Coding By : Arduino-MakerZone > www.arduino-makerzone.com
* Sample Coding : Digital Read Serial
*/
int pushButton = 2; // สร้างตัวแปรชื่อ pushButton สำหรับเก็บตำแหน่งขาดิจิตอล 2
void setup() {
Serial.begin(9600); // เริ่มต้นการสื่อสารแบบอนุกรมที่ 9600 บิตต่อวินาที
pinMode(pushButton, INPUT); // ใส่ขาเข้าของ กำหนดโหมดของขา pushButton ให้เป็น INPUT
}
void loop() {
int buttonState = digitalRead(pushButton); // อ่านข้อมูลเข้า
Serial.println(buttonState); // แสดงสถานะของปุ่ม
delay(1); // หน่วงเวลาระหว่างการอ่านเพื่อความเสถียน
}

จากการทดลองที่ 1 ในภาวะปกติ (Normal) คือไม่เกิดการกดสวิทช์ ไม่เกิดการ Active ผลปรากฏว่าค่าที่ได้คือ 0 หรือ LOW

จากการทดลองที่ 2 ในภาวะถูกใช้งาน (Active) คือเกิดการกดสวิทช์ เกิดการ Active ผลปรากฏว่าค่าที่ได้คือ 1 หรือ HIGH
สรุป
จะเห็นได้ว่าในภาวะ Normal ค่าที่ได้เป็น 0 และในภาวะ Active ค่าที่ได้เป็น 1 ซึ่งในตัวอย่างนี้จะทำให้ตัวอย่างในการรับค่าแบบ Digital ซึ่งสามารถนำไปประยุกต์ในการรับค่าจากเซนเซอร์ต่างๆ ที่อยู่ในรูปแบบ Digital และในบทเรียนต่อไปจะเป็นการนำเอาสวิทช์ในบทเรียนไปเขียนในรูปแบบที่มีการเพิ่มเงื่อนไขเพื่อเปิดหลอด LED กันนะครับ
Arduino.MakerZone