Arduino ตอน10 วิธีใช้ Digital input/output ใน arduino

Jul 14, 2019 21:52 · 185 words · 1 minute read Digital input Digital output Arduino Microcontroller C++ C

สวัสดีครับ ในบทความนี้เรามาเรียนรู้การใช้งาน 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 บทความนี้ แล้วเจอกันใหม่บทความหน้านะครับ :)