การเขียนโปรแกรมเบื้องต้น สอนใช้งาน Arduino สัญญาณ Digital InPut รับค่าการกดปุ่มสวิตช์ ควบคุมเปิดปิดหลอดไฟ LED
การใช้งานสวิตช์ ต่อกับ Arduino เพื่อใช้การกดปุ่ม ให้เป็น Input ให้กับ Arduino ในการประมวลผลต่อไป เช่น การเขียนโปรแกรมให้กดสวิตช์หนึ่งครั้งแล้วไฟติด กดอีกครั้งให้ไฟดับ
โดยเราจะกำหนดสัญญาณ 0 หรือ 1 ให้กับขาของ Arduino ที่ต่อกับสวิตช์ไว้ตลอด
การที่เราต้องกำหนดสัญญาณ 0 หรือ 1 ให้กับสวิตช์ไว้ตลอดก็เพราะปกติแล้วจะสัญญาณรบกวนที่อาจทำให้ขาของ Arduino มีค่าเปลี่ยนแปลงระหว่าง 0 หรือ 1 อยู่บ่อย ๆ จึงต้องจ่ายสัญญาณให้เพื่อป้องกันสัญญาณรบกวน
การใช้งานสวิตช์มีการต่ออยู่ 2 แบบคือ

1. แบบให้สัญญาณ 1 เมื่อไม่ได้กดปุ่ม เมื่อกดปุ่มให้สัญญาร 0 เรียกว่า Pull Up
2. แบบให้สัญญาณ 0 เมื่อไม่กดปุ่ม เมื่อกดปุ่มให้สัญญาณ 1 เรียกว่า Pull Down
คำสั่ง Digital Read
เป็นคำสั่งที่ใช้อ่าค่าสถานะขาดิจิตอลของ Arduino ว่าเป็นสถานะสูงหรือตำ ซึ่งคือแรงดันไฟ 5V หรือ 0V
HIGH คือลอจิก 1 ปล่อยไฟออกแรงดัน 5V
LOW คือลอจิก 0 กำหนดขานั้นให้เป็นกราว์ด 0V
digitalRead(pin)
pin หมายถึง ขา Digital ของ Arduino ที่ต้องการอ่าน ใน Arduino Uno ทุกขาสามารถใช้งานคำสั่งนี้ได้
ตัวอย่างคำสั่ง Digital Read
int val = digitalRead(13); // อ่านค่าจากขา 13 ไปเก็บในตัวแปร val ซึ่งจะมีค่าเป็น 0 หรือ 1 เท่านั้น
อุปกรณ์ที่ต้องใช้ การเขียนโปรแกรมเบื้องต้นกับ Arduino สัญญาณ Digital InPut รับค่าการกดปุ่มสวิตช์ ควบคุมเปิดปิดหลอดไฟ LED
วิธีการต่ออุปกรณ์ การเขียนโปรแกรมเบื้องต้นกับ Arduino สัญญาณ Digital InPut รับค่าการกดปุ่มสวิตช์ ควบคุมเปิดปิดหลอดไฟ LED
การต่อวงจรวสวิตช์แบบ Pull Up ต่อวงจรตามรูปนี้

อัพโหลดโคดนี้ แล้วทดสอบดูผลลัพธ์
---
การต่อวงจรสวิตช์แบบ Pull down ต่อวงจรตามรูปนี้

อัพโหลดโคดนี้ แล้วทดสอบดูผลลัพธ์
---
พิเศษ Arduino รู้ว่าการต่อตัวต้านทานเพื่อรับค่าจากสวิตช์ ทำให้เกิดความไม่สะดวก ถ้าจะให้ง่ายที่สุดคือต่อแค่สวิตช์ ไม่ต้องมีตัวต้านทาน ใน Arduino มีโหมด INPUT_PULLUP คือโหมด INPUT ที่มี Pullup ให้ในตัว ง่ายเลย ดังนี้
การใช้งาน Internal pullup ต่อวงจรดังรูป ง่าย ๆ ไม่ต้องมี R

อัพโหลดโคดนี้ แล้วดูผลลัพธ์
*
ดูสอนวิธีใช้งาน Arduino บทต่อไป
#7 Arduino สอนการใช้งาน if else ให้ทำงานตามเงื่อนไข
#9 สอนใช้งาน Arduino สั่งงานให้โปรแกรมวนลูปทำซ้ำ ไฟ LED วิ่ง
หน้าหลักบทความสอน Arduino แบบย่อทั้งหมด