ประเภท: วงจรไมโครคอนโทรลเลอร์
จำนวนการดู: 24878
ความเห็นเกี่ยวกับบทความ: 0
อะไรคือจอแสดงผลสำหรับ Arduino และวิธีการเชื่อมต่อ
ไมโครคอนโทรลเลอร์ช่วยให้คุณสร้างระบบอัตโนมัติและระบบตรวจสอบ แต่สำหรับการโต้ตอบของเทคโนโลยีและมนุษย์เราต้องการทั้งอุปกรณ์อินพุต - ปุ่มต่างๆ, คันโยก, โพเทนชิโอมิเตอร์และอุปกรณ์ส่งออก - ไฟแสดงสถานะ (หลอดไฟ), อุปกรณ์ส่งสัญญาณเสียง (ทวีตเตอร์) และในที่สุดก็แสดง ในบทความนี้เราจะดูที่ตัวละครที่แสดงสำหรับ Arduino วิธีการเชื่อมต่อพวกเขาและทำให้พวกเขาทำงาน

ประเภทของจอแสดงผล
การแสดงสามารถแบ่งออกเป็น:
-
กลุ่ม (เช่นบนนาฬิกาดิจิตอล);
-
ตัวเลขและตัวอักษร
-
กราฟิก
การแบ่งส่วนถูกใช้เพื่อระบุปริมาณอย่างง่ายเช่นอุณหภูมิ, เวลา, จำนวนรอบการปฏิวัติ ดังกล่าวจะใช้ในเครื่องคิดเลขและเครื่องใช้ในครัวเรือนงบประมาณจนถึงวันนี้ ข้อมูลจะปรากฏขึ้นโดยเน้นอักขระบางตัว
พวกเขาสามารถเป็นได้ทั้งผลึกเหลวและ LED การแสดงตัวเลขและตัวอักษรสามารถพบได้ในเครื่องใช้ในครัวเรือนเก่าของเล่นอุปกรณ์อุตสาหกรรมและอื่น ๆ พวกเขาจะเรียกว่าการสังเคราะห์สัญญาณ, ข้อความ, สัญลักษณ์ ประกอบด้วยชุดพิกเซลขนาดใหญ่ สามารถดำเนินการกับเทคโนโลยี LCD, TFT และ OLED
จอแสดงผลกราฟิกสามารถรวมจอภาพหรือหน้าจอสมาร์ทโฟนได้ฉันคิดว่าไม่จำเป็นต้องมีคำอธิบายพิเศษ บทความนี้จะมุ่งเน้นเฉพาะการทำงานร่วมกันของการแสดงผลสัญญาณสังเคราะห์หรือสัญลักษณ์และ Arduino
การแสดงสัญญาณสังเคราะห์
การแสดงประเภทนี้สามารถแสดงจำนวนอักขระพร้อมกันโดยถูก จำกัด ด้วยมิติทางเรขาคณิต พวกเขาถูกทำเครื่องหมายตามรูปแบบนี้:
-
1602;
-
2002.
โดยที่ตัวเลขสองตัวแรกคือจำนวนตัวอักษรในบรรทัดและคู่ที่สองคือจำนวนบรรทัด ดังนั้นการแสดงผลที่เรียกว่า 1602 สามารถแสดง 2 บรรทัด 16 ตัวอักษรในเวลา
จอแสดงผลแตกต่างกันตามประเภทของการป้อนข้อมูล:
-
ด้วยการป้อนข้อมูลแบบขนาน
-
ด้วยการป้อนข้อมูลผ่านโปรโตคอล I2C
การป้อนข้อมูลแบบขนานนั้นเกี่ยวข้องกับการถ่ายโอนคำ 8 หรือ 4 บิตใน 10 หรือ 6 พินตามลำดับ (รูปด้านล่าง - แผนภาพการเชื่อมต่อสำหรับควบคุม 4 บิต) นอกจากข้อมูลแล้วยังมีการจ่ายพลังงานให้กับจอแสดงผล พิจารณาสิ่งนี้เมื่อออกแบบมิฉะนั้นคุณอาจมีพินไม่เพียงพอ บอร์ด Arduino.

การถ่ายโอนข้อมูลไปยังจอแสดงผลโดยใช้ I2C จะใช้ 4 ขาของ Arduino ของคุณ 2 ซึ่งเป็นพลังงานและ 2 เป็นข้อมูล แต่ให้พิจารณาคำถามนี้โดยละเอียดเพิ่มเติมด้านล่าง
ในหมู่ผู้ผลิตในประเทศสามารถแยกแยะ บริษัท MELT ในบรรดาผลิตภัณฑ์ที่มีจำนวนจอแสดงผลที่แตกต่างกัน ตัวอย่างเช่นด้านล่างคือจอแสดงผลที่มีป้ายกำกับ 20S4 ซึ่งคล้ายกับหน้าจอก่อนหน้ามันบอกเราว่ามันแสดง 4 บรรทัด 20 ตัวอักษร

มันถูกสร้างขึ้นบนตัวควบคุม KB1013VG6 จาก JSC ANGSTREM ซึ่งคล้ายกับ HD44780 จาก HITACHI และ KS0066 จาก SAMSUNG การแสดงของชาวจีนส่วนใหญ่ถูกสร้างขึ้น โดยวิธีการที่เขาเช่นเดียวกับการแสดงบนชิปข้างต้นรองรับห้องสมุดควบคุม Arduino IDE มาตรฐานแบบขนาน แต่เพิ่มเติมในภายหลัง

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

ตัวต้านทานตัวแปร R และทำหน้าที่ปรับความสว่าง
สัมพันธ์
เราจะพิจารณาการเชื่อมต่อบนจอแสดงผลประเภท 1602 ก่อนอื่นให้ใส่ใจกับลายเซ็นของข้อสรุป มีสองตัวเลือกคือการกำหนดหมายเลข ในสองตัวเลขด้านล่างทุกอย่างใช้ได้ตั้งแต่ 1 ถึง 16 ของเอาต์พุต


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

คุณเห็นอะไร ผู้ติดต่อถูกลงชื่อเท่านั้น 1, 14 และ 15 ยิ่งไปกว่านั้นในลำดับที่ไม่ถูกต้อง มิฉะนั้นรายชื่อที่ 15 และ 16 ยังคงเป็นขั้วบวกและขั้วลบของแบ็คไลท์และ 1 และ 2 เป็นขั้วต่อทั่วไปและกำลังบวกระวังและใส่ใจกับข้อเท็จจริงนี้เมื่อทำการเชื่อมต่อ!
มาวิเคราะห์รายละเอียดเพิ่มเติมกันดีกว่า
-
1 - (Vss) กราวด์หรือ“ -” กำลัง
-
2 - (Vcc) "+" กำลัง บ่อยที่สุดคือ 5 โวลต์
-
3 - ปรับความคมชัดของอักขระ มันดำเนินการผ่านโพเทนชิออมิเตอร์ที่ติดตั้งระหว่างกำลัง "+" และหน้าสัมผัสนี้ แรงดันไฟฟ้าที่สูงกว่ายิ่งความสว่างและการใช้พลังงานลดลง
-
4 - (RS) สัญญาณที่อยู่ จากการมีสัญญาณจาก arduino ที่อินพุตนี้คอนโทรลเลอร์การแสดงผลจะเข้าใจว่าสัญญาณคำสั่ง (เช่นเลื่อนเคอร์เซอร์) หรือรหัสอักขระเพื่อแสดงบนบรรทัดข้อมูล
-
5 - (E) สิทธิ์ในการเข้าถึงข้อมูล เมื่อมีตรรกะ“ 1” จอแสดงผลจะดำเนินการคำสั่งหรือแสดงสัญลักษณ์
-
6-14 - ผ่านการป้อนข้อมูลแบบขนานของพินเหล่านี้
-
15 - (BLA) แอโนดแบ็คไลท์ เพื่อให้สว่างขึ้นที่ความสว่างเต็ม - + 5V มาที่นี่
-
16 - (BLC) แคโทดแสงพื้นหลัง เชื่อมต่อกับพื้นดิน
หนึ่งในตัวอย่างของการเชื่อมต่อกับ Arduino ในโหมด 4 บิตถูกกล่าวถึงข้างต้น ทีนี้ลองดูแผนภาพการเดินสายในโหมดควบคุม 8 บิต โดยวิธีการที่คุณอาจสังเกตเห็นตัวต้านทานตัวแปร จำเป็นต้องปรับความสว่างของแสงไฟตามที่ระบุไว้ก่อนหน้านี้

วิธีนี้คุณมีทางเข้าครึ่งหนึ่งที่ถูกครอบครอง บอร์ด Arduino UNO. แน่นอนถ้าคุณใช้ MEGA นี่จะไม่ใช่ปัญหาที่สำคัญ แต่ก็ยังไม่สมเหตุสมผลโดยเฉพาะถ้าคุณกำลังเชื่อมต่อกลุ่มเซ็นเซอร์และปุ่มควบคุม
หากต้องการเพิ่มอินพุตให้ใช้ตัวแปลง I2C สำหรับหน้าจอ LCD (นั่นคือสิ่งที่เรียกว่าและคุณสามารถหาได้ในร้านค้าภายใต้ชื่อนั้น)

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

คุณจะต้องค้นหาไลบรารี่ LiquidCrystal_I2C บนเครือข่าย แต่ไม่ได้อยู่ในชุดมาตรฐานของ Arduino IDE ปัจจุบัน ณ เวลาที่ทำการเขียน
เรียกคืน pinout ของบอร์ด Arduino UNO ตามหมายเลข pin โดยพื้นฐานแล้วมันสอดคล้องกับ Nano และอื่น ๆ (คลิกที่ภาพเพื่อขยาย)
ในการทำงานกับ I2C คุณจะต้องสร้างสัญญาณข้อมูล 2 สัญญาณคือ SDA และ SCL โดยให้สังเกตที่มุมล่างขวาของภาพ หมุด Arduino นี้รวมกับอินพุตอะนาล็อก A4 และ A5
มันเป็นสิ่งสำคัญที่:
คุณไม่สามารถมอบหมายใหม่ให้กับข้อสรุปอื่น ๆ
แผนภาพการเดินสายจะมีลักษณะดังนี้:

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

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

โดยวิธีการหลังจากคลิกบรรทัดที่มีประกาศเกี่ยวกับการเชื่อมต่อห้องสมุดจะปรากฏขึ้นโดยอัตโนมัติ

นอกจากนี้ใน Arduino IDE ยังมีอีกหลายตัวอย่างสำหรับการทำงานกับจอแสดงผล สะท้อนการทำงานและฟังก์ชั่นพื้นฐาน

พิจารณา "Hello Word" ที่ง่ายที่สุด ตัวอย่างสอดคล้องกับสิ่งที่อยู่ในชุด IDE มาตรฐานฉันเพิ่งแปลข้อความความคิดเห็นเป็นภาษารัสเซียโปรดทราบว่านี่เป็นตัวอย่างของการทำงานในโหมด 4 บิต

การทำงานกับ I2C เกือบเหมือนกัน:

สำคัญ:
โปรดทราบว่าในตัวอย่างรหัสนี้คำสั่งแรกระบุขนาดการแสดงผลหลายขนาดจำนวนบรรทัดและตัวอักษรรวมถึงที่อยู่ I2C คือ - 0x27 ซึ่งสอดคล้องกับจัมเปอร์ที่หายไป โดยทั่วไปจำเป็นต้องเชื่อมต่อจอภาพหลายจอ (8 ชิ้น) เข้ากับสายสัญญาณสองเส้น
วิดีโอสอนการเลือกในหัวข้อ
เพื่อที่จะไม่ยากสำหรับคุณที่จะเชี่ยวชาญทักษะการทำงานกับจอแสดงผลเราได้ทำการเลือกบทเรียนวิดีโอในหัวข้อนี้
ข้อสรุป
ปรากฎว่าการทำให้บอร์ด Arduino เป็นเพื่อนและการแสดงนั้นไม่ยากเลย คุณมีโอกาสในการถ่ายโอนข้อมูลแบบขนานและอนุกรมผ่านบัส I2C สิ่งที่ควรเลือก - คุณเป็นผู้ตัดสินใจทั้งในแง่ของความสะดวกสบายและความต้องการความเร็วของระบบโดยรวม เขียนในความคิดเห็นว่าคำถามใดที่คุณต้องพิจารณาในรายละเอียดมากขึ้นและคุณต้องการเห็นอะไรในหัวข้อของไมโครคอนโทรลเลอร์!
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ Arduino และคุณสมบัติการใช้งานในรูปแบบต่าง ๆ ดู e-book - Arduino สำหรับหุ่น คู่มือการปฏิบัติภาพประกอบ.
ล่าสุดหลักสูตรใหม่โดย Maxim Selivanov "Programming Nextion Display" ได้เปิดตัวแล้ว นี่คือ "arduino" ในโลกของการแสดงผลหน้าจอสัมผัส แต่ข้อมูลเกี่ยวกับมันมีขนาดเล็กมาก

Nextion คืออะไร สรุปแล้วจอแสดงผลเหล่านี้เป็นจอแสดงผลที่ตั้งโปรแกรมได้ด้วยหน้าจอสัมผัสและ UART เพื่อสร้างอินเตอร์เฟสที่หลากหลายบนหน้าจอ สำหรับการเขียนโปรแกรมมีการใช้สภาพแวดล้อมการพัฒนาที่สะดวกและเรียบง่ายซึ่งช่วยให้คุณสามารถสร้างอินเทอร์เฟซที่ซับซ้อนมากสำหรับอุปกรณ์อิเล็กทรอนิกส์ต่าง ๆ ในช่วงเย็น! และคำสั่งทั้งหมดจะถูกส่งผ่านอินเตอร์เฟส UART ไปยังไมโครคอนโทรลเลอร์หรือคอมพิวเตอร์
มีทุกสิ่งที่จะเริ่มทำงานกับจอแสดงผล Nextion ในระดับใหม่: NEXTION
ดูได้ที่ e.imadeself.com
: