อีเมล

admin@zgcxgdlcd.com

โทร

+8615919880141

วอทส์แอพ

15919880141

วิธีใช้จอแสดงผล LCD กับ Beaglebone Black?

Jul 22, 2025ฝากข้อความ

วิธีใช้จอแสดงผล LCD กับ Beaglebone Black?

ในโลกของระบบฝังตัว Beaglebone Black โดดเด่นในฐานะคอมพิวเตอร์บอร์ดเดี่ยวที่ทรงพลังและหลากหลาย เมื่อจับคู่กับการแสดงอักขระ LCD สามารถใช้สำหรับแอพพลิเคชั่นที่หลากหลายตั้งแต่ตัวบ่งชี้สถานะง่ายไปจนถึงระบบตรวจสอบข้อมูลที่ซับซ้อน ในฐานะซัพพลายเออร์ของการแสดงตัวละคร LCD ฉันรู้สึกตื่นเต้นที่จะแบ่งปันวิธีการรวมตัวละคร LCD เข้ากับแบล็ก Beaglebone

520x2 Lcd Display Lcd Module

การทำความเข้าใจการแสดงตัวละคร Beaglebone Black และ LCD

Beaglebone Black ติดตั้งเยื่อหุ้มสมองแขน 1GHz - โปรเซสเซอร์ A8, RAM 512MB และหมุดอินพุต/เอาต์พุตหลายตัว พินเหล่านี้อนุญาตให้สื่อสารกับอุปกรณ์ภายนอกต่าง ๆ รวมถึงการแสดงอักขระ LCD

การแสดงอักขระ LCD ใช้กันอย่างแพร่หลายสำหรับการแสดงข้อความและกราฟิกที่เรียบง่าย พวกเขามีขนาดและการกำหนดค่าที่แตกต่างกันเช่น20x2 LCD Display Module LCD,0802 จอแสดงผล LCDและLCD Display 16x1- โดยทั่วไปแล้วจอแสดงผลเหล่านี้จะใช้คอนโทรลเลอร์ Hitachi HD44780 หรือตัวควบคุมที่เข้ากันได้ซึ่งมีโปรโตคอลการสื่อสารที่กำหนดไว้อย่างดี

การเชื่อมต่อฮาร์ดแวร์

ก่อนที่เราจะเริ่มการเขียนโปรแกรมเราต้องเชื่อมต่อการแสดงตัวอักษร LCD กับ Beaglebone Black นี่คือขั้นตอนทั่วไป:

  1. แหล่งจ่ายไฟ: เชื่อมต่อพิน VSS (GND) ของ LCD เข้ากับพินพื้นบน Beaglebone Black เชื่อมต่อพิน VDD (5V) ของ LCD กับแหล่งพลังงาน 5V หาก Beaglebone Black ของคุณสามารถให้พลังงาน 5V คุณสามารถใช้งานได้โดยตรง มิฉะนั้นคุณอาจต้องใช้แหล่งจ่ายไฟภายนอก เชื่อมต่อพิน VO (การปรับความคมชัด) เข้ากับโพเทนชิออมิเตอร์เพื่อปรับความคมชัดของจอแสดงผล
  2. หมุดควบคุม: เชื่อมต่อพิน RS (ลงทะเบียน) ของ LCD กับพิน GPIO บน Beaglebone Black พินนี้ใช้เพื่อเลือกระหว่างการลงทะเบียนคำสั่งและการลงทะเบียนข้อมูล เชื่อมต่อพิน RW (อ่าน/เขียน) เข้ากับกราวด์เนื่องจากเราจะเขียนข้อมูลลงในจอแสดงผลเป็นหลัก เชื่อมต่อพิน E (เปิดใช้งาน) กับพิน GPIO อื่นบน Beaglebone Black PIN นี้ใช้เพื่อล็อคข้อมูลลงในจอแสดงผล
  3. หมุดข้อมูล: คุณสามารถเลือกที่จะเชื่อมต่อ LCD ในโหมด 4 - บิตหรือ 8 - บิต ในโหมด 4 - บิตเชื่อมต่อพิน D4 - D7 ของ LCD กับหมุด GPIO สี่ตัวบน Beaglebone Black ในโหมด 8 - บิตเชื่อมต่อ D0 - D7 ทั้งหมดกับหมุด GPIO แปดตัว 4 - โหมดบิตเป็นเรื่องธรรมดามากขึ้นเนื่องจากใช้พิน GPIO น้อยลง

การตั้งค่าซอฟต์แวร์

เมื่อเชื่อมต่อฮาร์ดแวร์เราต้องเขียนซอฟต์แวร์เพื่อควบคุมการแสดงผล LCD เราสามารถใช้ Python ซึ่งมีห้องสมุดที่ทำให้ง่ายต่อการโต้ตอบกับหมุด GPIO บน Beaglebone Black

นี่คือตัวอย่างรหัส Python อย่างง่ายเพื่อแสดงข้อความบนหน้าจอ 16x2 LCD ในโหมด 4 - บิต:

นำเข้า adafruit_bbio.gpio เป็นเวลานำเข้า gpio # define พิน gpio สำหรับ LCD ควบคุม rs = "p8_7" e = "p8_8" d4 = "p8_9" d5 = "p8_10" d6 = "p8_11" d7 = "p8_12" LCD_SEND_NIBBLE (NIBBLE): GPIO.OUTPUT (D4, (NIBBLE & 0X01) == 0x01) GPIO.OUTPUT (D5, (Nibble & 0x02) == 0x02) GPIO.OUTPUT (D6, (Nibble & 0x04) == 0x02) == 0x08) gpio.output (e, gpio.high) time.sleep (0.0001) gpio.output (e, gpio.low) # ฟังก์ชั่นส่งไบต์ไปยัง LCD def lcd_send_byte (byte, rs): gpio.output (rs, rs) & 0x0f LCD_SEND_NIBBLE (High_nibble) LCD_SEND_NIBBLE (low_nibble) Time.sleep (0.0005) # ฟังก์ชั่นเพื่อเริ่มต้น LCD def lcd_init (): gpio.setup (rs, gpio.out) gpio.setup gpio.setup (d5, gpio.out) gpio.setup (d6, gpio.out) gpio.setup (d7, gpio.out) # เริ่มต้น LCD ใน 4 - เวลาโหมดบิต SLEEP (0.05) LCD_SEND_NIBBLE (0x03) เวลา Time.sleep (0.0005) LCD_SEND_NIBBLE (0x03) LCD_SEND_NIBBLE (0x02) LCD_SEND_BYTE (0x28, gpio.low) # 4 - โหมดบิต, 2 บรรทัด, 5x8 dots lcd_send_byte (0x0c LCD_SEND_BYTE (0x06, gpio.low) # เพิ่มเคอร์เซอร์ LCD_SEND_BYTE (0x01, gpio.low) # ล้างเวลาแสดงผล. sleep (0.002) # ฟังก์ชั่นเพื่อแสดงสตริงบน LCD def lcd_display_string (สตริง) โปรแกรมหลักถ้า __name__ == "__main__": ลอง: lcd_init () lcd_display_string ("สวัสดี, Beaglebone!") ในขณะที่เป็นจริง

รหัสนี้เป็นครั้งแรกที่เริ่มต้นพิน GPIO บน Beaglebone Black จากนั้นจะเริ่มต้นการแสดงผล LCD ในโหมด 4 - บิต ในที่สุดมันจะแสดงข้อความบน LCD

การใช้งานขั้นสูง

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

ในการแสดงข้อมูลแบบไดนามิกคุณสามารถแก้ไขไฟล์lcd_display_stringฟังก์ชั่นเพื่ออัปเดตการแสดงผลพร้อมข้อมูลใหม่เป็นระยะ ๆ ตัวอย่างเช่นหากคุณมีเซ็นเซอร์อุณหภูมิที่เชื่อมต่อกับ Beaglebone Black คุณสามารถอ่านค่าอุณหภูมิและแสดงบน LCD

นำเข้า adafruit_bbio.gpio เป็น GPIO นำเข้าเวลานำเข้าแบบสุ่ม # สำหรับการจำลองข้อมูลเซ็นเซอร์ # กำหนดพิน GPIO สำหรับ LCD ควบคุม rs = "P8_7" E = "P8_8" D4 = "P8_9" D5 = "P8_10" D6 = "P8_11" D7 = "P8_12" LCD_SEND_NIBBLE (NIBBLE): GPIO.OUTPUT (D4, (NIBBLE & 0X01) == 0x01) GPIO.OUTPUT (D5, (Nibble & 0x02) == 0x02) GPIO.OUTPUT (D6, (Nibble & 0x04) == 0x02) == 0x08) gpio.output (e, gpio.high) time.sleep (0.0001) gpio.output (e, gpio.low) # ฟังก์ชั่นส่งไบต์ไปยัง LCD def lcd_send_byte (byte, rs): gpio.output (rs, rs) & 0x0f LCD_SEND_NIBBLE (High_nibble) LCD_SEND_NIBBLE (low_nibble) Time.sleep (0.0005) # ฟังก์ชั่นเพื่อเริ่มต้น LCD def lcd_init (): gpio.setup (rs, gpio.out) gpio.setup gpio.setup (d5, gpio.out) gpio.setup (d6, gpio.out) gpio.setup (d7, gpio.out) # เริ่มต้น LCD ใน 4 - เวลาโหมดบิต SLEEP (0.05) LCD_SEND_NIBBLE (0x03) เวลา Time.sleep (0.0005) LCD_SEND_NIBBLE (0x03) LCD_SEND_NIBBLE (0x02) LCD_SEND_BYTE (0x28, gpio.low) # 4 - โหมดบิต, 2 บรรทัด, 5x8 dots lcd_send_byte (0x0c LCD_SEND_BYTE (0x06, gpio.low) # เพิ่มเคอร์เซอร์ LCD_SEND_BYTE (0x01, gpio.low) # ล้างเวลาแสดงผล. sleep (0.002) # ฟังก์ชั่นเพื่อแสดงสตริงบน LCD def lcd_display_string (สตริง) โปรแกรมหลักถ้า __name__ == "__main__": ลอง: lcd_init () ในขณะที่จริง: อุณหภูมิ = สุ่ม. time.sleep (2) ยกเว้น KeyboardInterrupt: gpio.cleanup ()

บทสรุป

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

การอ้างอิง

  • เอกสารประกอบห้องสมุด Adafruit Beaglebone GPIO
  • HITACHI HD44780 LCD Controller Datasheet