กลับไปหน้ารวมไฟล์
reading-inputs-with-pull-up-pull-down-91dbd1.md

ชื่อโปรเจกต์: การอ่านค่า Input ด้วย Pull Up & Pull Down แบบฉบับรุ่นพี่จัดให้

อันนี้คือ Demo พื้นฐานในการใช้ [Arduino](https://s.shopee.co.th/7fUgFAWSki) อ่านค่า Input นะน้อง เดี๋ยวพี่จะอธิบายเรื่อง Pull up กับ Pull down ให้เข้าใจแจ่มแจ้ง จะได้ไม่ไปทำบอร์ดช็อตที่ไหน ในนี้มีปุ่มกด (Switch) 2 อัน ต่อเอาไว้คุม LED 2 ดวงแบบหล่อเท่เลยวัยรุ่น

เจาะลึกดีเทลแบบวิศวะ (จะได้ไม่มั่ว)

พื้นฐาน Logic แบบไม่ลอย (Floating)

บทเรียนนี้จะพาไปดูเรื่องไฟฟ้าที่โคตรสำคัญ ถ้าอยากอ่านค่าจากปุ่มหรือสวิตช์ให้แม่นๆ แบบไม่เอ๋อด้วย Microcontroller น้องต้องเข้าใจจุดนี้:

  • การจัดการ Internal Pull-Up: พี่จะสอนวิธีใช้ Resistor ขนาด 20kΩ-50kΩ ที่มันมีแถมมาให้ข้างในตัว Arduino อยู่แล้ว แค่เราเซ็ตโหมด INPUT_PULLUP ในโค้ดก็จบเลย! มันจะช่วยดึงให้ขา Digital ของเราอยู่ที่สถานะ Logic HIGH (3.3V/5V) ตลอดเวลาที่เรา ไม่ได้ กดปุ่ม ป้องกันอาการค่า "Floating" หรือค่าแกว่งที่เกิดจากสัญญาณรบกวนรอบข้าง ห้ามลืมเชียวนะตัวนี้
  • วิเคราะห์วงจร Pull-Down: อันนี้เราจะใช้ Resistor 10kΩ ต่อแยกข้างนอกเพื่อดึงขา Pin ลง GND (Logic LOW) ไว้ก่อน พอเรากดปุ่มปุ๊บ Firmware ของเราก็จะอ่านค่าได้เป็น HIGH ทันที เหมาะมากสำหรับน้องที่อยากเรียนรู้การต่อวงจร Pull-down แบบมาตรฐานสากล

การเอาไปใช้งานจริง

  • จัดการสัญญาณรบกวน (Software Debounce): พี่แถม Code Snippet ที่จะช่วยสั่งข้ามสัญญาณกากๆ ที่สั้นกว่า 50ms ทิ้งไป เพื่อให้มั่นใจว่าพอน้องกดปุ่มทางกล (Mechanical) ไปหนึ่งที มันจะได้ผลลัพธ์เป็น Digital Event เดียวเน้นๆ ไม่เด้งรัวๆ ให้ปวดตับ จัดไปวัยรุ่น!

ข้อมูล Frontmatter ดั้งเดิม

title: "Reading Inputs with Pull Up & Pull Down"
description: "Shows how to read switches and sensor connected to Arduino."
author: "curieelectronics"
category: ""
tags:
  - "environmental sensing"
  - "lights"
  - "embedded"
  - "data collection"
views: 15862
likes: 0
price: 699
difficulty: "Intermediate"
components:
  - "1x Arduino UNO"
  - "2x Tactile Switch, Top Actuated"
  - "2x Resistor 4.75k ohm"
  - "1x Breadboard (generic)"
  - "2x 5 mm LED: Red"
tools: []
apps:
  - "1x Arduino IDE"
downloadableFiles: []
documentationLinks: []
passwordHash: "b22a26b17e9dc0bb8e549d98f7ffe95afdb0f8409b9d2f9f7dc5377950ca2589"
encryptedPayload: "U2FsdGVkX1+Esd1Ce9AvtKOm3FxbpKF4DpBbxcrLv9fVomUFQb94lRgCa4FC4zU3Jsd4W3i0yob2p4iBOqI3JdwPni2rNpDfohuKgv/gFI0="
seoDescription: "Learn how to read digital Inputs from switches and sensor on Arduino using Pull Up and Pull Down resistors."
videoLinks:
  - "https://www.youtube.com/embed/6CTcBmAhNSY"
heroImage: "https://cdn.jsdelivr.net/gh/bigboxthailand/arduino-assets@main/images/projects/reading-inputs-with-pull-up-pull-down-91dbd1_cover.jpg"
lang: "th"