วิธีทำให้จอ LCD ขนาด 16x2 เลื่อนในแนวนอนได้อย่างไร?

Apr 23, 2026

ฝากข้อความ

โรเบิร์ตตัน
โรเบิร์ตตัน
ด้วยการมุ่งเน้นไปที่การแสดงผล LCD อัจฉริยะฉันทำงานเกี่ยวกับการรวมเทคโนโลยี AI และ IoT เพื่อสร้างโซลูชันการแสดงผลอัจฉริยะ บทบาทของฉันที่ Longnan Hongtai Technology Co. , Ltd เกี่ยวข้องกับการผลักดันขอบเขตของสิ่งที่เทคโนโลยี LCD สามารถบรรลุได้

เฮ้! ในฐานะซัพพลายเออร์ของจอแสดงผล LCD 16x2ฉันมักถูกถามเกี่ยวกับวิธีทำให้จอแสดงผลเล็กๆ น้อยๆ ที่สวยงามเหล่านี้เลื่อนในแนวนอน เป็นคุณสมบัติที่ยอดเยี่ยมที่สามารถเพิ่มฟังก์ชันการทำงานและความเก๋ไก๋ให้กับโครงการของคุณได้ ไม่ว่าคุณจะทำงานในโครงการอิเล็กทรอนิกส์ DIY หรือแอปพลิเคชันระดับมืออาชีพก็ตาม เรามาเจาะลึกและสำรวจว่าคุณจะบรรลุเป้าหมายนี้ได้อย่างไร

ทำความเข้าใจพื้นฐานของจอแสดงผล LCD 16x2

ก่อนอื่น เรามาดูกันว่าจอแสดงผล LCD ขนาด 16x2 คืออะไร ตามชื่อจอแสดงผล LCD ขนาด 16x2 มี 16 ตัวอักษรต่อบรรทัดและ 2 บรรทัด เป็นตัวเลือกยอดนิยมสำหรับโครงการอิเล็กทรอนิกส์หลายๆ โครงการ เนื่องจากใช้งานได้ง่ายและมีวิธีแสดงข้อมูลที่ชัดเจน

จอแสดงผลใช้ตัวควบคุม ซึ่งโดยปกติจะเป็น HD44780 หรือตัวควบคุมที่เข้ากันได้ เพื่อจัดการอักขระและตำแหน่งบนหน้าจอ หากต้องการให้หน้าจอเลื่อนในแนวนอน เราจะต้องโต้ตอบกับคอนโทรลเลอร์นี้ในลักษณะเฉพาะ

การตั้งค่าฮาร์ดแวร์

ก่อนที่เราจะเริ่มเขียนโค้ด เราต้องแน่ใจว่าฮาร์ดแวร์ของเราได้รับการตั้งค่าอย่างถูกต้อง ต่อไปนี้เป็นข้อมูลเบื้องต้นเกี่ยวกับสิ่งที่คุณต้องการ:

cog lcd12864 module ST7567S16*2 Yellow-Green Monochrome Lcd Display

  • จอแสดงผล LCD 16x2. คุณสามารถเลือกกจอ LCD สีเหลือง 16 * 2หากคุณต้องการสีอื่น
  • ไมโครคอนโทรลเลอร์ (เช่น Arduino) นี่จะเป็นสมองในการทำงานของเรา โดยส่งคำสั่งไปยังจอ LCD
  • สายจัมเปอร์บางเส้นสำหรับเชื่อมต่อไมโครคอนโทรลเลอร์กับจอ LCD

ต่อไปนี้เป็นแผนภาพการเดินสายไฟอย่างง่ายสำหรับเชื่อมต่อ Arduino กับจอแสดงผล LCD ขนาด 16x2:

  • เชื่อมต่อพิน VSS ของ LCD เข้ากับ GND บน Arduino
  • เชื่อมต่อพิน VDD ของ LCD เข้ากับ 5V บน Arduino
  • เชื่อมต่อพิน VO ของ LCD เข้ากับพินกลางของโพเทนชิออมิเตอร์ โพเทนชิออมิเตอร์อีกสองพินเชื่อมต่อกับ 5V และ GND ซึ่งช่วยให้คุณปรับคอนทราสต์ของจอแสดงผลได้
  • เชื่อมต่อพิน RS ของ LCD เข้ากับพินดิจิทัล 12 บน Arduino
  • เชื่อมต่อพิน E ของ LCD เข้ากับพินดิจิทัล 11 บน Arduino
  • เชื่อมต่อพิน D4 - D7 ของ LCD เข้ากับพินดิจิทัล 5 - 8 บน Arduino
  • เชื่อมต่อพิน RW ของ LCD เข้ากับ GND
  • เชื่อมต่อพิน LED+ และ LED- ของ LCD เข้ากับ 5V และ GND ตามลำดับเพื่อจ่ายไฟแบ็คไลท์

การเข้ารหัสสำหรับการเลื่อนแนวนอน

เมื่อฮาร์ดแวร์ของเราได้รับการตั้งค่าเรียบร้อยแล้ว ก็ถึงเวลาเขียนโค้ด เราจะใช้ Arduino IDE เพื่อเขียนและอัปโหลดโค้ดไปยังไมโครคอนโทรลเลอร์ของเรา

#include <LiquidCrystal.h> // เริ่มต้นไลบรารีด้วยหมายเลขของหมุดอินเทอร์เฟซ LiquidCrystal lcd (12, 11, 5, 6, 7, 8); การตั้งค่าเป็นโมฆะ () { // ตั้งค่าจำนวนคอลัมน์และแถวของ LCD: lcd.begin (16, 2); // พิมพ์ข้อความไปยังจอ LCD lcd.print("สวัสดีชาวโลก!"); ล่าช้า (1,000); } void loop() { // เลื่อนหน้าจอไปทางซ้ายเพื่อ (int i = 0; i < 16; i++) { lcd.scrollDisplayLeft(); ความล่าช้า(200); } // เลื่อนหน้าจอไปทางขวาสำหรับ (int i = 0; i < 16; i++) { lcd.scrollDisplayRight(); ความล่าช้า(200); } // รีเซ็ตตำแหน่งการแสดงผล lcd.setCursor(0, 0); ล่าช้า (1,000); }

เรามาดูรายละเอียดว่าเกิดอะไรขึ้นในโค้ดนี้:

  • #รวม <LiquidCrystal.h>: บรรทัดนี้ประกอบด้วยไลบรารี LiquidCrystal ซึ่งมีฟังก์ชันสำหรับการโต้ตอบกับจอ LCD
  • จอแอลซีดีลิควิดคริสตัล (12, 11, 5, 6, 7, 8);: บรรทัดนี้เริ่มต้นวัตถุ LCD ด้วยหมายเลขพินที่เราเชื่อมต่อ LCD กับบน Arduino
  • จอแอลซีดี. เริ่มต้น (16, 2);: บรรทัดนี้บอก LCD ว่ามี 16 คอลัมน์ 2 แถว
  • lcd.print("สวัสดีชาวโลก!");: บรรทัดนี้พิมพ์ข้อความ "Hello, World!" ไปยังจอ LCD
  • จอแอลซีดี scrollDisplayLeft();: ฟังก์ชั่นนี้จะเลื่อนเนื้อหาทั้งหมดของจอ LCD ไปทางซ้ายหนึ่งอักขระ
  • จอแอลซีดี scrollDisplayRight();: ฟังก์ชั่นนี้จะเลื่อนเนื้อหาทั้งหมดของจอแสดงผล LCD ไปทางขวาหนึ่งอักขระ
  • จอแอลซีดี setCursor (0, 0);: ฟังก์ชั่นนี้จะเลื่อนเคอร์เซอร์ไปที่มุมซ้ายบนของจอแสดงผล

เทคนิคการเลื่อนขั้นสูง

หากคุณต้องการเพิ่มความคิดสร้างสรรค์มากขึ้นด้วยการเลื่อน คุณสามารถลองใช้เทคนิคขั้นสูงบางอย่างได้ ตัวอย่างเช่น คุณสามารถเลื่อนได้เพียงบางส่วนของจอแสดงผลหรือเลื่อนด้วยความเร็วที่แตกต่างกัน

ต่อไปนี้เป็นตัวอย่างวิธีการเลื่อนเฉพาะบรรทัดที่สองของจอแสดงผล:

#include <LiquidCrystal.h> // เริ่มต้นไลบรารีด้วยหมายเลขของหมุดอินเทอร์เฟซ LiquidCrystal lcd (12, 11, 5, 6, 7, 8); การตั้งค่าเป็นโมฆะ () { // ตั้งค่าจำนวนคอลัมน์และแถวของ LCD: lcd.begin (16, 2); // พิมพ์ข้อความไปยังจอ LCD lcd.print("บรรทัดบนสุด"); จอแอลซีดี setCursor (0, 1); lcd.print("บรรทัดล่าง"); ล่าช้า (1,000); } void loop() { // เลื่อนบรรทัดที่สองไปทางซ้ายสำหรับ (int i = 0; i < 16; i++) { lcd.setCursor(0, 1); จอแอลซีดี scrollDisplayLeft(); ความล่าช้า(200); } // เลื่อนบรรทัดที่สองไปทางขวาสำหรับ (int i = 0; i < 16; i++) { lcd.setCursor(0, 1); จอแอลซีดี scrollDisplayRight(); ความล่าช้า(200); } // รีเซ็ตตำแหน่งการแสดงผล lcd.setCursor(0, 1); ล่าช้า (1,000); }

ในโค้ดนี้เราใช้จอแอลซีดี setCursor (0, 1)ฟังก์ชั่นเพื่อเลื่อนเคอร์เซอร์ไปที่บรรทัดที่สองก่อนเลื่อน เพื่อให้แน่ใจว่าจะเลื่อนเฉพาะบรรทัดที่สองเท่านั้น

การแก้ไขปัญหา

หากคุณประสบปัญหาในการทำให้จอ LCD เลื่อนในแนวนอน ต่อไปนี้คือสิ่งที่ควรตรวจสอบ:

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

บทสรุป

การทำกจอแสดงผล LCD 16x2การเลื่อนในแนวนอนเป็นเทคนิคที่สนุกและมีประโยชน์ซึ่งสามารถปรับปรุงโครงการอิเล็กทรอนิกส์ของคุณได้ ไม่ว่าคุณจะเป็นมือใหม่หรือมือสมัครเล่นที่มีประสบการณ์ ฉันหวังว่าคู่มือนี้จะช่วยให้คุณเข้าใจวิธีบรรลุเป้าหมายนี้

หากคุณอยู่ในตลาดสินค้าคุณภาพสูงจอแสดงผล LCD 16x2หรือจอแสดงผลฟันเฟืองแอลซีดีอย่าลังเลที่จะติดต่อเรา เราพร้อมมอบผลิตภัณฑ์ที่ดีที่สุดและการสนับสนุนสำหรับโครงการของคุณ ติดต่อเราเพื่อหารือเกี่ยวกับความต้องการของคุณและเริ่มโครงการต่อไปด้วยความมั่นใจ

อ้างอิง

  • เอกสารประกอบไลบรารี Arduino LiquidCrystal
  • เอกสารข้อมูลตัวควบคุม LCD HD44780
ส่งคำถาม