การทำ Pull up และ Pull down
|
เป็นสิ่งที่จำเป็นมากหากเราต้องการต่อสวิตช์หรือเซ็นเซอร์ หากเรานำสวิซช์หรือปุ่ม button ต่อเข้ากับ Input Pin ของ Arduino เราจำเป็นต้องมีตัวต้านทานด้วย เพราะ Input Pin เหล่านั้น จะอ่านค่าได้ไม่แน่นอนว่าค่าที่รับมาเป็น HIGH หรือ LOW (อาการคือเหมือนมีสัญญาณรบกวนเดี๋ยว HIGH เดี๋ยว LOW เอง) เราจึงต้องมีการใส่ตัวต้านทาน Pull-up หรือ Down ลงไป เพื่อให้สถานะแน่ชัด ว่าจะสูงหรือต่ำ |
คำว่า Pull ในเรื่องนี้หมายถึงการดึงหรือการบังคับให้เป็นสูงหรือต่ำ |
• Pull-Up คือการบังคับให้ Input มีสถานะ HIGH ตลอดเวลา จนกว่าจะกดปุ่ม เมื่อกดปุ่ม จะเป็น LOW เมื่อไม่กดจะเป็น HIGH หรือเรียกว่า Active Low |
• Pull-Down คือบังคับให้ Input เป็น LOW ตลอดเวลา จนกว่าจะกดปุ่ม เมื่อกดปุ่มจะเป็น HIGH เมื่อไม่กดจะเป็น LOW หรือเรียกว่า Active High |
|
วงจร Pull-Up |
จะต่อตัวต้านทานค่าหนึ่ง เรียกว่า Pull-UP Resistor ไว้ที่ไฟเลี้ยง Vin เพื่อเป็นการรักษาระดับแรงดันไฟฟ้าให้เป็น HIGH ตลอด ,Arduino Input Pin จึงอ่านค่าได้เป็น HIGH ตลอด แต่เมื่อกดปุ่ม Button ,กระแสไฟฟ้าจะไหลลง Ground ทันที Input Pin จึงอ่านค่าได้เป็น LOW |
|
วงจร Pull-Down |
จะต่อตัวต้านทาน หรือ Pull-Down Resistor ไว้ที่ Ground แทน ส่วนปุ่ม Button จะต่อเข้ากับ Vin เมื่อไม่กดจะมีสถานะเป็น LOW แต่เมื่อกดจะเป็น HIGH เพราะกระแสไฟฟ้าจะเลือกไหลเข้าหา Arduino Pin ที่มีความต้านทานน้อยกว่าแทน
โดยที่ภาพด้านซ้ายมือคือการทำ Pull down สำหรับไฟ 5 โวลต์ ใช้ตัวต้านทานที่มีค่าประมาณ 10 k ohm และภาพด้านขวามือคือการทำ Pull up สำหรับไฟ 5 โวลต์ ใช้ตัวต้านทานที่มีค่าประมาณ 10 k ohm
 |
ขอขอบคุณที่มาจาก
commandronestore 31/10/61
commons.wikimedia.org 31/10/61