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