ในบทความ เราจะเชื่อมต่อจอแสดงผลคริสตัลเหลว 1602 กับโมดูล FC-113 I2C กับ Arduino เนื่องจากจะทำการเชื่อมต่อโดยใช้สายข้อมูลเพียงสองสายและสายไฟสองเส้น
มันจำเป็น
- - Arduino;
- - จอแสดงผล LCD 1602 (16 ตัวอักษร 2 บรรทัด);
- - อะแดปเตอร์ I2C FC-113;
- - สายเชื่อมต่อ
คำแนะนำ
ขั้นตอนที่ 1
โมดูล FC-113 ใช้ไมโครเซอร์กิต PCF8574T ซึ่งเป็นรีจิสเตอร์กะ 8 บิต - ตัวขยาย I / O สำหรับบัสอนุกรม I2C ในรูป ไมโครเซอร์กิตถูกกำหนดเป็น DD1
R1 เป็นตัวต้านทานการตัดแต่งสำหรับปรับความคมชัดของ LCD
Jumper J1 ใช้เพื่อเปิดไฟแบ็คไลท์ของจอแสดงผล
พิน 1… 16 ใช้สำหรับเชื่อมต่อโมดูลกับพินจอแสดงผล LCD
แผ่นสัมผัส A1 … A3 จำเป็นสำหรับการเปลี่ยนที่อยู่ของอุปกรณ์ I2C คุณสามารถเปลี่ยนที่อยู่อุปกรณ์ได้โดยการบัดกรีจัมเปอร์ที่เกี่ยวข้อง ตารางแสดงความสอดคล้องของที่อยู่และจัมเปอร์: "0" สอดคล้องกับวงจรเปิด "1" - กับจัมเปอร์ที่ติดตั้ง โดยค่าเริ่มต้น ที่อยู่ของอุปกรณ์คือ 0x27 นั่นคือ จัมเปอร์ทั้ง 3 ตัวเปิดอยู่
ขั้นตอนที่ 2
โมดูลเชื่อมต่อกับ Arduino เป็นมาตรฐานสำหรับบัส I2C: พิน SDA ของโมดูลเชื่อมต่อกับพอร์ตแอนะล็อก A4 พิน SCL เชื่อมต่อกับพอร์ตแอนะล็อก A5 ของ Arduino โมดูลนี้ขับเคลื่อนโดย + 5V จาก Arduino ตัวโมดูลเชื่อมต่อด้วยหมุด 1 … 16 พร้อมหมุด 1 … 16 ที่สอดคล้องกันบนจอ LCD
ขั้นตอนที่ 3
ตอนนี้เราต้องการห้องสมุดเพื่อทำงานกับ LCD ผ่านอินเทอร์เฟซ I2C คุณสามารถใช้ตัวอย่างเช่น: https://www.dfrobot.com/wiki/index.php?title=I2C/TWI_LCD1602_Module_(SKU:_DFR0063)#Sample_Code (ลิงก์ในบรรทัด "ดาวน์โหลดโค้ดตัวอย่างและไลบรารี่").
ไฟล์เก็บถาวรที่ดาวน์โหลด "LiquidCrystal_I2Cv1-1.rar" จะถูกคลายซิปไปยังโฟลเดอร์ "\ libraries " ซึ่งอยู่ในไดเร็กทอรี Arduino IDE
ไลบรารีรองรับชุดฟังก์ชันมาตรฐานสำหรับหน้าจอ LCD:
LiquidCrystal () - สร้างตัวแปรประเภท LiquidCrystal และยอมรับพารามิเตอร์การเชื่อมต่อการแสดงผล (หมายเลขพิน)
เริ่มต้น () - การเริ่มต้นของจอ LCD การตั้งค่าพารามิเตอร์ (จำนวนบรรทัดและสัญลักษณ์);
clear () - ล้างหน้าจอและคืนเคอร์เซอร์ไปที่ตำแหน่งเริ่มต้น
หน้าแรก () - กลับเคอร์เซอร์ไปที่ตำแหน่งเริ่มต้น;
setCursor () - ตั้งค่าเคอร์เซอร์ไปที่ตำแหน่งที่ระบุ
เขียน () - แสดงตัวอักษรบนหน้าจอ LCD;
พิมพ์ () - แสดงข้อความบนหน้าจอ LCD;
เคอร์เซอร์ () - แสดงเคอร์เซอร์เช่น ขีดเส้นใต้ตำแหน่งของอักขระถัดไป
noCursor () - ซ่อนเคอร์เซอร์;
กะพริบ () - เคอร์เซอร์กะพริบ;
noBlink () - ยกเลิกการกะพริบ;
noDisplay () - ปิดการแสดงผลในขณะที่บันทึกข้อมูลที่แสดงทั้งหมด
display () - เปิดการแสดงผลในขณะที่บันทึกข้อมูลที่แสดงทั้งหมด
scrollDisplayLeft () - เลื่อนเนื้อหาที่แสดงไปทางซ้าย 1 ตำแหน่ง;
scrollDisplayRight () - เลื่อนเนื้อหาที่แสดงไปทางขวา 1 ตำแหน่ง;
autoscroll () - เปิดใช้งานการเลื่อนอัตโนมัติ;
noAutoscroll () - ปิดการเลื่อนอัตโนมัติ
leftToRight () - กำหนดทิศทางของข้อความจากซ้ายไปขวา
rightToLeft () - ทิศทางข้อความจากขวาไปซ้าย;
createChar () - สร้างอักขระที่กำหนดเองสำหรับหน้าจอ LCD
ขั้นตอนที่ 4
มาเปิดตัวอย่าง: ไฟล์ -> ตัวอย่าง -> LiquidCrystal_I2C -> CustomChars แล้วทำซ้ำอีกเล็กน้อย ขอแสดงข้อความในตอนท้ายจะมีสัญลักษณ์กะพริบ ความแตกต่างทั้งหมดของภาพร่างมีการแสดงความคิดเห็นในความคิดเห็นของรหัส
ขั้นตอนที่ 5
มาดูปัญหาในการสร้างสัญลักษณ์ของคุณเองสำหรับหน้าจอ LCD กันดีกว่า อักขระแต่ละตัวบนหน้าจอประกอบด้วย 35 คะแนน: กว้าง 5 และสูง 7 (+1 สงวนขีดเส้นใต้) ในบรรทัดที่ 6 ของภาพร่างด้านบน เราตั้งค่าอาร์เรย์ของตัวเลข 7 ตัว: {0x0, 0xa, 0x1f, 0x1f, 0xe, 0x4, 0x0} มาแปลงเลขฐานสิบหกเป็นเลขฐานสองกัน: {00000, 01010, 11111, 11111, 01110, 00100, 00000} ตัวเลขเหล่านี้เป็นเพียงบิตมาสก์สำหรับอักขระทั้ง 7 บรรทัด โดยที่ "0" หมายถึงจุดไฟ และ "1" คือจุดมืด ตัวอย่างเช่น สัญลักษณ์รูปหัวใจที่ระบุเป็นบิตมาสก์จะปรากฏบนหน้าจอดังแสดงในรูป
ขั้นตอนที่ 6
อัปโหลดภาพร่างไปยัง Arduino หน้าจอจะแสดงคำจารึกที่เราระบุด้วยเคอร์เซอร์กะพริบในตอนท้าย