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