Cover image

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

14 Jul 2019

Share to:

สวัสดีครับ ในบทความนี้เรามาเรียนรู้การใช้งาน 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 เพื่อแสดงผล เชื่อมต่อวงจรตามรูปด้านล่างได้เลย

Image

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 ก็จะดับ ประมาณนี้

Image

โดยปกติ Digital I/O จะนําไปใช้งานได้หลากหลายเช่น Digital input อ่านค่าจาก Switch, Digital output นําไปควบคุม ปิด-เปิด อุปกรณ์ไฟฟ้าต่างๆ ฯลฯ

ขอบคุณทุกทานที่อ่าน และ Share บทความนี้ แล้วเจอกันใหม่บทความหน้านะครับ :)

Suggestion blogs

การใช้คําสั่ง tar เพื่อบีบอัดไฟล์ แตกไฟล์ ใน ubuntu

การบีบอัดไฟล์tar เป็นคําสั่งที่ใช้ บีบอัดไฟล์หรือ Directory ให้เป็นไฟล์เดียว เพื่อง่ายต่อการย้ายหรือ copy เราสามารถใช้งานได้ดังนี้

C++ OOP การสร้าง Pointer Object ของ Class

จากบทความ C++ OOP การสร้าง Class และการใช้งาน Class ผมอธิบายถึงการสร้าง Object แบบ Stack แต่ในบทความนี้ผมจะอธิบายเรื่องการสร้าง Object โดยใช้ Pointer ข้อแตกต่างกันคือ การสร้าง Object แบบ Stack จะคล้ายๆกับเราสร้างตัวแปรขึ้นมาตัวนึงเมื่อใช้งานเสร็จหรือจบโปรแกรม ระบบจะคืน memory หรือทําลาย Object นั้นทิ้งให้โดยอัตโนมัติ แต่ถ้าสร้าง Object แบบ Pointer จะไม่ทําลาย Object ให้เราเมื่อจบโปรแกรม เราจะต้องเป็นคนทําลาย Object เอง ทําสั่งที่ใช้ ทําลาย Object คือ "delete" ตามด้วย Object ที่ต้องการลบ _ถ้าเราไม่ลบ Object ที่เราสร้างขึ้น ระบบจะไม่สามารถเข้าใช้งาน memory ในส่วนนั้นได้ ทําให้เกิด memory leak _

การเขียนโปรแกรม ตรวจสอบ เลขคู่ เลขคี่

การเขียนโปรแกรม ตรวจสอบ เลขคู่ เลขคี่สําหรับการเขียนโปรแกรม เชคว่าเลขใดๆ เป็นเลขคู่หรือเลขคี่นั้น สามารถเขียนได้หลายวิธี ในบทความนี้ผมจะยกตัวอย่างการเขียนอีกแบบนึง โดยตัวอย่างนี้ผมจะเขียนเป็นภาษา javascript ดังนี้


Copyright © 2019 - 2024 thiti.dev |  v1.39.0 |  Privacy policy | 

Build with ❤️ and Astro.

Github profile   Linkedin profile   Instagram   X profile   Youtube channel   Telegram   Email contact   วงแหวนเว็บ