กลับไปหน้ารวมไฟล์
working-with-lcd-bca71f.md

Visual Feedback: มาบังคับเจ้า LCD 16x2 ให้อยู่หมัดกัน

เจ้า Liquid Crystal Display (LCD) นี่แหละคือทางออกเบสิคที่สุดเวลาที่เราอยากให้ Arduino คุยกับมนุษย์ได้ โดยไม่ต้องพึ่งหน้าจอคอม! โปรเจกต์นี้ถือเป็น "ด่านแรก" สำหรับมือใหม่เลย มาดูวิธีใช้ 16x2 Character LCD มาตรฐานในการแสดงข้อความหลายบรรทัดกัน ในตัวอย่างนี้เราจะพิมพ์ Hare Krishna มันตรา เพื่อให้เห็นภาพการสลับบรรทัดและการวางตำแหน่งตัวอักษรชัดๆ

ตรรกะของ LiquidCrystal Library

โปรเจกต์นี้ใช้ไลบรารีมาตรฐาน LiquidCrystal.h ที่มาช่วยจัดการสัญญาณควบคุมและไทม์มิ่งที่ซับซ้อนให้กับตัวควบคุม HD44780 (ที่เข้ากันได้กับ Hitachi) แทนเรา

  • การจับคู่ขา (Pin Mapping): คำสั่ง LiquidCrystal [lcd](https://s.shopee.co.th/6AfsSPcAnb)(12, 11, 5, 4, 3, 2); นี่แหละที่บอกว่าให้ขา Arduino ตัวไหน ไปต่อกับขา RS, E, D4, D5, D6, D7 ของ LCD
  • โหมด 4-Bit: เราใช้โหมด "4-bit" ซึ่งเป็นวิธีมาตรฐานของนักสร้างสรรค์ เพื่อประหยัดขา GPIO บน Arduino Uno ใช้แค่ 6 ขา แทนที่จะเป็น 10 ขา
  • การตั้งค่าเริ่มต้น: คำสั่ง [lcd](https://s.shopee.co.th/6AfsSPcAnb).begin(16, 2); บอกซอฟต์แวร์ให้ชัดเจนเลยว่าจอเรามีกี่คอลัมน์ กี่แถว จะได้ตัดข้อความถูกที่ตำแหน่งตัวที่ 16

การเดินบรรทัดและการพิมพ์

การคุยกับจอตัวอักษรนี่ หลักๆ คือเรื่อง การจัดการเคอร์เซอร์ นั่นเอง:

  1. บรรทัดที่ 1 (บนสุด): เริ่มต้น เคอร์เซอร์จะอยู่ที่ตำแหน่ง (0, 0) เราก็พิมพ์ "HARE KRISHNA" ตรงนี้
  2. การสลับแถว: ถ้าอยากพิมพ์บรรทัดสอง ต้องใช้คำสั่ง [lcd](https://s.shopee.co.th/6AfsSPcAnb).setCursor(0, 1); เพื่อย้าย "ปากกาจินตภาพ" ของเราไปที่คอลัมน์แรกของแถวล่าง
  3. อัพเดทแบบเรียลไทม์: แม้โปรเจกต์นี้จะแสดงข้อความตายตัว แต่ตรรกะเดียวกันนี้แหละที่เอาไปใช้พิมพ์ข้อมูลจาก Sensor แบบสดๆ, นาฬิกานับถอยหลัง หรือเมนูเลื่อนขึ้นลงในโปรเจกต์อัตโนมัติขั้นสูงได้เลย

ความมั่นคงบน Breadboard

การต่อสายจัมเปอร์ 16 เส้นบน Half-Size Solderless Breadboard นี่เสี่ยงได้เห็น "ตัวอักษรประหลาด" ถ้าต่อขาไม่แน่นนะ! โปรเจกต์นี้เน้นใช้ Male/Male Jumper Wires เพื่อให้แน่นหนา และหลายคนมักเพิ่ม Potentiometer 10k (ที่ขา V0) เพื่อปรับคอนทราสต์ ซึ่งจำเป็นมากถ้าอยากให้เห็นตัวหนังสือสีขาวชัดเจนบนพื้นหลังสีฟ้าหรือเขียว

โปรเจกต์นี้แสดงการทำงานกับ [LCD](https://s.shopee.co.th/6AfsSPcAnb) และ [Arduino](https://s.shopee.co.th/7fUgFAWSki)

เป้าหมาย:

พิมพ์ "HARE KRISHNA" บนแถวแรก และ "HARE RAMA" บนแถวที่สอง

Working with LCD

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

title: "Working with LCD"
description: "This project demonstrates the working with LCD and Arduino."
author: "SBR"
category: ""
tags:
  - "learning"
  - "beginner"
  - "started"
  - "display"
  - "lcd"
views: 1312
likes: 1
price: 1499
difficulty: "Easy"
components:
  - "16x Male/Male Jumper Wires"
  - "1x Solderless Breadboard Half Size"
  - "1x Arduino UNO"
  - "1x Alphanumeric LCD, 16 x 2"
tools: []
apps:
  - "1x Arduino IDE"
downloadableFiles: []
documentationLinks: []
passwordHash: "cbc5d7b54b7b00f19207a1ffee93266bc2d8070e085ec55dd864c0358b32feb4"
encryptedPayload: "U2FsdGVkX19Kp32tX63LKsk6KTgFnj7RRc5jYciWKOk8YOAwdQ0jQQHlZMLD41kzwDaZBJEGN3JH7pjBz3oJSZiyn3rfbaBjHVWsLGE0tk8="
seoDescription: "Learn how to interface an LCD with Arduino in this simple demonstration project for beginners."
videoLinks:
  - "https://www.youtube.com/embed/E71w3PgYKK4"
heroImage: "https://cdn.jsdelivr.net/gh/bigboxthailand/arduino-assets@main/images/projects/working-with-lcd-bca71f_cover.jpg"
lang: "th"