กลับไปหน้ารวมไฟล์
arduino-16x2-lcd-display-with-distance-sensor-ec57f0.md

การใช้งาน Distance Sensor ร่วมกับ 16x2 LCD Display

ในที่นี้ ผมจะแสดงวิธีวัดและแสดงค่าระยะทางโดยใช้ Distance Sensor ครับ

เราจะต้องมี Distance Sensor

และ LCD display พร้อม I2C module

ขอบคุณครับ

ภาพรวมโปรเจกต์

โปรเจกต์นี้จะสาธิตวิธีการวัดระยะทางโดยใช้ Ultrasonic Sensor และแสดงผลแบบเรียลไทม์บน 16x2 Character LCD การใช้ I2C interface สำหรับ LCD ช่วยลดจำนวนสายไฟที่จำเป็นลงอย่างมาก ทำให้โปรเจกต์มีความเป็นระเบียบและสร้างได้ง่ายขึ้น

ส่วนประกอบฮาร์ดแวร์

  • Arduino UNO: สมองกลของโปรเจกต์
  • HC-SR04 Ultrasonic Sensor: ใช้วิธีโซนาร์เพื่อตรวจจับระยะห่างจากวัตถุ
  • 16x2 LCD with I2C Module: ใช้แสดงข้อมูลระยะทาง I2C module (PCF8574) ช่วยให้สามารถควบคุม LCD ได้โดยใช้เพียง 2 data pins (SDA และ SCL)

หลักการทำงาน

  1. การตรวจจับระยะทาง: HC-SR04 sensor ทำงานโดยการส่งคลื่น Ultrasonic pulse (Trig pin) และวัดเวลาที่คลื่นสะท้อนกลับมา (Echo pin) Arduino จะคำนวณระยะทางโดยใช้สูตรความเร็วเสียง: Distance = (Time * 0.034) / 2
  2. การสื่อสารแบบ I2C: แทนที่จะใช้ 6-10 digital pins ในการควบคุม LCD, I2C backpack จะสื่อสารกับ Arduino ผ่าน I2C bus ซึ่งต้องใช้ไลบรารี LiquidCrystal_I2C
  3. ตรรกะการแสดงผล: Arduino จะอัปเดตค่าระยะทางล่าสุดบน LCD อย่างต่อเนื่อง หากวัตถุเคลื่อนที่ ตัวเลขบนหน้าจอจะเปลี่ยนทันที

การต่อสายและการตั้งค่า

  • LCD I2C: VCC ไปที่ 5V, GND ไปที่ GND, SDA ไปที่ A4 (บน Uno), SCL ไปที่ A5 (บน Uno)
  • HC-SR04: VCC ไปที่ 5V, GND ไปที่ GND, Trig ไปที่ Pin 9, Echo ไปที่ Pin 10
  • I2C Address: I2C LCD ส่วนใหญ่ใช้ address 0x27 หรือ 0x3F หากหน้าจอของคุณว่างเปล่า คุณอาจต้องปรับ contrast potentiometer ที่ด้านหลังของ I2C module

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

title: "Arduino 16x2 LCD Display with Distance Sensor"
description: "Print distance on Arduino LCD Display using I2c"
author: "jehankandt"
category: ""
tags:
  - "lights"
  - "communication"
views: 56124
likes: 2
price: 870
difficulty: "Intermediate"
components:
  - "1x Arduino UNO"
  - "1x I2C 16x2 Arduino LCD Display Module"
  - "1x Ultrasonic Sensor - HC-SR04 (Generic)"
tools: []
apps:
  - "1x Arduino IDE"
downloadableFiles:
  - "https://projects.arduinocontent.cc/b3db9c95-2c2c-4578-80ab-d53ecfa0bcb7.ino"
documentationLinks: []
passwordHash: "ab915cb1fb8a97c9211c05807ff563f28b1dcf3e24ec4fdde2a32bb534b90f5e"
encryptedPayload: "U2FsdGVkX1/x+6CENsnOMXHFqFL5m1r5/aIhneh/qhTSXexAxVphpzvV079nIRC1Us4ANWGBiMW2FGlxjuo3aOUYKOSf7/Voimvv6yABNwqQ6kHGstO4/D2GX5LuVKUcx0Yy4iBz5mHYzeJB48AFqpLWaTNbyYzV6TclI00IGi4="
seoDescription: "Learn how to display Distance Sensor readings on an Arduino 16x2 LCD Display using the I2C interface. Simple DIY project guide."
videoLinks: []
heroImage: "https://cdn.jsdelivr.net/gh/bigboxthailand/arduino-assets@main/images/projects/arduino-16x2-lcd-display-with-distance-sensor-ec57f0_cover.jpg"
lang: "th"