จะเพิ่มปุ่มกดลงในระบบจอแสดงผล LCD 16x2 ได้อย่างไร

May 23, 2025ฝากข้อความ

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

ทำไมต้องเพิ่มปุ่มกดลงในหน้าจอ 16x2 LCD ของคุณ?

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

สิ่งที่คุณต้องการ

ก่อนที่เราจะเริ่มต้นมาพูดคุยเกี่ยวกับสิ่งที่คุณต้องการสำหรับโครงการนี้ นี่คือรายการด่วน:

  • จอแสดงผล LCD 16x2 (เห็นได้ชัดและเฮ้ฉันมีบางอย่างที่ยอดเยี่ยมถ้าคุณอยู่ในตลาด!)
  • ปุ่มกด มีประเภทที่แตกต่างกันเช่น 4x4 เมทริกซ์ปุ่มกดหรือปุ่มกดเมมเบรน เลือกที่เหมาะสมกับความต้องการของคุณ
  • ไมโครคอนโทรลเลอร์ ตัวเลือกยอดนิยม ได้แก่ บอร์ด Arduino แต่คุณสามารถใช้งานอื่นได้เช่นกัน
  • สายจัมเปอร์บางสายเพื่อเชื่อมต่อทุกอย่างเข้าด้วยกัน
  • เขียงหั่นขนมเพื่อให้การเชื่อมต่อง่ายขึ้นและเป็นระเบียบมากขึ้น

ขั้นตอนที่ 1: ทำความเข้าใจพื้นฐาน

เริ่มต้นด้วยการทำความเข้าใจขั้นพื้นฐานว่าการแสดงผล LCD 16x2 และปุ่มกดทำงานอย่างไร

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

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

ขั้นตอนที่ 2: การเชื่อมต่อจอแสดงผล LCD 16x2 กับไมโครคอนโทรลเลอร์

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

cog lcd12864 module ST7567SCog Lcd 4wire SPI Interface Series
  • แหล่งจ่ายไฟ: เชื่อมต่อพิน VSS (GND) ของ LCD เข้ากับพื้นของไมโครคอนโทรลเลอร์และพิน VDD (5V) กับแหล่งจ่ายไฟ 5V คุณยังสามารถใช้โพเทนชิออมิเตอร์เพื่อปรับความคมชัดของจอแสดงผลโดยเชื่อมต่อกับพิน V0
  • หมุดควบคุม: เชื่อมต่อพิน RS (ลงทะเบียน) กับพินเอาต์พุตดิจิตอลบนไมโครคอนโทรลเลอร์ PIN นี้ใช้เพื่อเลือกว่าคุณกำลังส่งคำสั่งหรือข้อมูลไปยัง LCD เชื่อมต่อพิน E (เปิดใช้งาน) กับพินเอาต์พุตดิจิตอลอื่น E PIN ถูกใช้เพื่อล็อคข้อมูลลงใน LCD
  • หมุดข้อมูล: คุณสามารถเชื่อมต่อพินข้อมูล (D4 - D7) ของ LCD กับพินเอาท์พุทดิจิตอลบนไมโครคอนโทรลเลอร์ พินเหล่านี้ใช้เพื่อส่งข้อมูลไปยัง LCD

นี่คือตัวอย่างง่ายๆโดยใช้บอร์ด Arduino:

#include <LiquidCrystal.h> // เริ่มต้นไลบรารีด้วยจำนวนของอินเตอร์เฟสพิน LibidCrystal LCD (12, 11, 5, 4, 3, 2); โมฆะการตั้งค่า () {// ตั้งค่าจำนวนคอลัมน์และแถวของ LCD: LCD.Begin (16, 2); // พิมพ์ข้อความไปยัง LCD lcd.print ("สวัสดีโลก!"); } void loop () {// ตั้งค่าเคอร์เซอร์เป็นคอลัมน์ 0, บรรทัด 1 // (หมายเหตุ: บรรทัดที่ 1 คือแถวที่สองเนื่องจากการนับเริ่มต้นด้วย 0): LCD.SetCursor (0, 1); // พิมพ์จำนวนวินาทีตั้งแต่รีเซ็ต: LCD.Print (Millis () / 1000); -

ขั้นตอนที่ 3: การเชื่อมต่อปุ่มกดกับไมโครคอนโทรลเลอร์

ทีนี้มาเชื่อมต่อปุ่มกดกับไมโครคอนโทรลเลอร์กันเถอะ ปุ่มกดส่วนใหญ่มีแถวและคอลัมน์ที่ต้องเชื่อมต่อกับหมุดอินพุต/เอาต์พุตดิจิตอลบนไมโครคอนโทรลเลอร์

  • แถว: เชื่อมต่อหมุดแถวของปุ่มกดกับพินอินพุตดิจิตอลบนไมโครคอนโทรลเลอร์
  • คอลัมน์: เชื่อมต่อหมุดคอลัมน์ของปุ่มกดกับพินเอาท์พุทดิจิตอลบนไมโครคอนโทรลเลอร์

นี่คือตัวอย่างของวิธีการอ่านปุ่มกดโดยใช้ Arduino:

#include <keypad.h> const byte rows = 4; // สี่แถว const byte cols = 4; // สี่คอลัมน์ // กำหนดสัญลักษณ์บนปุ่มของปุ่มกด char hexakeys [rows] [cols] = {{'1', '2', '3', 'a'}, {'4', '5', '6', 'b'}, {'7' - byte rowpins [rows] = {9, 8, 7, 6}; // เชื่อมต่อกับ pinouts แถวของปุ่มกด byte colpins [cols] = {5, 4, 3, 2}; // เชื่อมต่อกับ pinouts คอลัมน์ของปุ่มกด // เริ่มต้นอินสแตนซ์ของคลาส NewKeypad Keypad CustomKeypad = Keypad (MakeYmap (hexakeys), Rowpins, Colpins, แถว, Cols); โมฆะการตั้งค่า () {serial.begin (9600); } void loop () {charmentkey = customkeypad.getKey (); if (customKey) {serial.println (customKey); -

ขั้นตอนที่ 4: การรวมปุ่มกดและจอแสดงผล LCD

ตอนนี้เรามีทั้งปุ่มกดและจอแสดงผล LCD ที่เชื่อมต่อกับไมโครคอนโทรลเลอร์ก็ถึงเวลาที่จะรวมเข้าด้วยกัน แนวคิดพื้นฐานคือการอ่านอินพุตจากปุ่มกดและแสดงบน LCD

นี่คือตัวอย่างของวิธีการทำโดยใช้ Arduino:

#include <LiquidCrystal.h> #include <Keypad.h> // การตั้งค่า LCD LiquidCrystal LCD (12, 11, 5, 4, 3, 2); // การตั้งค่าปุ่มกดแบบ BYTE BYTE = 4; const byte cols = 4; Char Hexakeys [rows] [cols] = {{'1', '2', '3', 'a'}, {'4', '5', '6', 'b'}, {'7', '8', '9', 'c'}, {'*', '0' byte rowpins [rows] = {9, 8, 7, 6}; Byte Colpins [cols] = {5, 4, 3, 2}; KEYPAD CustomKeypad = Keypad (MakeYmap (hexakeys), rowpins, colpins, แถว, cols); โมฆะการตั้งค่า () {lcd.begin (16, 2); lcd.print ("กดปุ่ม:"); } void loop () {charmentkey = customkeypad.getKey (); if (customkey) {lcd.setCursor (0, 1); lcd.print ("คุณกด:"); LCD.Print (CustomKey); -

ขั้นตอนที่ 5: การแก้ไขปัญหาและเคล็ดลับ

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

ผลิตภัณฑ์ LCD เย็นอื่น ๆ

หากคุณสนใจผลิตภัณฑ์ LCD อื่น ๆ ลองดูของเราซีรีย์อินเตอร์เฟส SPI 4wire SPIและโมดูลจอแสดงผลกราฟิก LCD และอุปกรณ์เสริม- เรายังมีCOG LCD12864 โมดูล ST7567Sซึ่งเหมาะสำหรับโครงการขั้นสูงมากขึ้น

บทสรุป

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

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

การอ้างอิง

  • เอกสาร Arduino
  • เอกสารประกอบห้องสมุด LiquidCrystal
  • เอกสารสำคัญของไลบรารี