สวัสดีครับ ในบทความนี้เรามาเรียนรู้การใช้งาน Input และ Output ใน Arduino ซึ่งถือได้ว่าเป็นพื้นฐานของการเรียนรู้ Arduino หรือ Microcontroller เลยก็ว่าได้
เพื่อให้ง่ายต่อการทําความเข้าใจ มาลองทําตาม Workshop นี้ คือเราจะอ่านค่าจาก Digital input และส่งออกไปยัง Digital output
Step1: Digital input/output คืออะไร
Digital input/output หรือเรียกสั้นๆ Digital I/O เป็น Input/Output ที่จะมี State เป็น O หรือ 1 เท่านั้น 0 จะแทนด้วยไฟฟ้า 0 Volt และ 1 แทนด้วยไฟฟ้า 5 Volt (ระดับแรงดันจะขึ้นอยู่กับรุ่นของ Arduino)
Step2: อุปกรณ์ที่ต้องใช้
- Arduino board UNO
- LED
- ตัวต้านทาน 1k โอห์ม
- Witch
Step3: ต่อวงจร
ใน Workshop นี้เราจะอ่าน Digital input จาก Switch โดยมีตัวต้านทาน 1k โอห์ม Pull Down (สําหรับ ตัวต้านทาน Pull Down สามารถศึกษาเพิ่มเติมได้ที่นี่) เชื่อมต่อที่ Input และส่งค่า Input ที่อ่านได้ไปยัง Output ที่เราเชื่อมต่อกับ LED เพื่อแสดงผล เชื่อมต่อวงจรตามรูปด้านล่างได้เลย
Step4: ลงมือ Coding
int ledPin = 11;
int inPin = 7;
int val = 0;
void setup() {
pinMode(ledPin, OUTPUT);
pinMode(inPin, INPUT);
}
void loop() {
val = digitalRead(inPin);
digitalWrite(ledPin, val);
}
ตาม Code ด้านบน เรากําหนด Pin 11 เป็น Digital output และ Pinn 7 เป็น Digital input โดยการทํางานของ Code เริ่มจากอ่านค่าจาก Input มาเก็บไว้ในตัวแปร val ด้วย funtion “val = digitalRead(inPin);” หลังจากนั้นก็นําค่าที่เก็บใน val ส่งออกไปยัง Output ด้วยคําสั่ง “digitalWrite(ledPin, val);”
ผลของการทํางานคือเมื่อเรากด Switch จะทําให้ LED สว่างขึ้น และเมื่อปล่อย Switch LED ก็จะดับ ประมาณนี้
โดยปกติ Digital I/O จะนําไปใช้งานได้หลากหลายเช่น Digital input อ่านค่าจาก Switch, Digital output นําไปควบคุม ปิด-เปิด อุปกรณ์ไฟฟ้าต่างๆ ฯลฯ
ขอบคุณทุกทานที่อ่าน และ Share บทความนี้ แล้วเจอกันใหม่บทความหน้านะครับ :)