จอแอลซีดีวิกิ
1.54 นิ้ว OLED SSD1309 IIC โมดูล MC154GX คู่มือผู้ใช้
CR2022-MI4601
โมดูล OLED SSD1.54 IIC ขนาด 1309 นิ้ว
MC154GW&MC154GB
คู่มือการใช้งาน
รู้เบื้องต้นเกี่ยวกับ OLED
OLED เป็นไดโอดเปล่งแสงอินทรีย์ (OLED) เทคโนโลยีการแสดงผลแบบ OLED มีความก้าวหน้าtagการส่องสว่างในตัวเองกว้าง viewมุม คอนทราสต์ที่เกือบจะไม่มีที่สิ้นสุด การใช้พลังงานต่ำ ความเร็วปฏิกิริยาสูง แผงที่ยืดหยุ่น ช่วงอุณหภูมิที่กว้าง โครงสร้างและกระบวนการที่เรียบง่าย ฯลฯ เทคโนโลยีการใช้งานจอแบนยุคใหม่
จอแสดงผล OLED แตกต่างจากจอแสดงผล LCD ทั่วไป ซึ่งสามารถส่องสว่างได้เอง ดังนั้นจึงไม่จำเป็นต้องใช้แสงพื้นหลัง ซึ่งทำให้จอแสดงผล OLED
จอแสดงผลมีขนาดบางกว่าจอ LCD และมีการแสดงผลที่ดีกว่า
คำอธิบายสินค้า
โมดูล OLED มีขนาดจอแสดงผล 1.54″ และมีความละเอียด 128×64 สำหรับขาวดำหรือดำและน้ำเงิน ใช้โหมดการสื่อสาร IIC และ IC ไดรเวอร์ภายในคือ SH1106
คุณสมบัติผลิตภัณฑ์
- หน้าจอ OLED ขนาด 1.54 นิ้วพร้อมจอแสดงผลสีดำและสีขาวหรือสีดำและสีน้ำเงิน
- ความละเอียด 128×64 เพื่อการแสดงผลที่ชัดเจนและคอนทราสต์สูง
- ใหญ่ viewมุม: มากกว่า 160° (หนึ่งหน้าจอที่มีขนาดใหญ่ที่สุด viewมุมในจอแสดงผล)
- ปริมาตรกว้างtagแหล่งจ่ายไฟ (3V ~ 5V) เข้ากันได้กับระดับตรรกะ 3.3V และ 5V ไม่จำเป็นต้องมีชิปขยับระดับ
- ด้วยบัส IIC คุณสามารถใช้ IO เพียงไม่กี่ตัวเพื่อทำให้จอแสดงผลสว่างขึ้น
- การใช้พลังงานต่ำเป็นพิเศษ: จอแสดงผลปกติเพียง 0.06W (ต่ำกว่าจอแสดงผล TFT มาก)
- มาตรฐานกระบวนการระดับทหาร การทำงานที่มั่นคงยาวนาน
- มอบความร่ำรวยampโปรแกรมสำหรับแพลตฟอร์ม STM32, C51, Arduino
- ให้การสนับสนุนทางเทคนิคของไดรเวอร์พื้นฐาน
พารามิเตอร์ผลิตภัณฑ์
| ชื่อ | คำอธิบาย |
| สีจอแสดงผล | ดำขาว / ดำน้ำเงิน |
| รหัสสินค้า | MC154GW MC154GB |
| ขนาดหน้าจอ | 1.54(นิ้ว) |
| พิมพ์ | โอแอลอีดี |
| IC ไดร์เวอร์ | SSD309 |
| ปณิธาน | 128*64(พิกเซล) |
| อินเทอร์เฟซโมดูล | อินเทอร์เฟซ IIC |
| พื้นที่ใช้งาน | 35.052 × 17.516 (มม.) |
| ประเภทหน้าจอสัมผัส | ไม่มีหน้าจอสัมผัส |
| แตะ IC | ไม่มีไอซีสัมผัส |
| ขนาด PCB โมดูล | 42.40 × 38.00 (มม.) |
| มุมมองภาพ | >160° |
| อุณหภูมิในการทำงาน | -20℃~60℃ |
| อุณหภูมิในการจัดเก็บ | -30℃~70℃ |
| ปฏิบัติการฉบับที่tage | 3.3โวลต์/5โวลต์ |
| การใช้พลังงาน | ทีดีบี |
| น้ำหนักสินค้า(พร้อมบรรจุภัณฑ์) | 12(ก) |
คำอธิบายอินเทอร์เฟซ


บันทึก:
- โมดูลนี้รองรับการสลับที่อยู่อุปกรณ์ทาส IIC (แสดงในกล่องสีแดงในภาพที่ 2) ดังนี้:
A. ประสานความต้านทานด้าน 0x78 ถอดด้าน 0x7A จากนั้นเลือกที่อยู่ทาส 0x78 (ค่าเริ่มต้น);
B. ประสานความต้านทานด้าน 0x7A ถอดด้าน 0x78 จากนั้นเลือกที่อยู่ทาส 0x7A; - ฮาร์ดแวร์จะสลับ IIC จากที่อยู่ที่ตั้งไว้ และจำเป็นต้องแก้ไขซอฟต์แวร์ตามนั้นด้วย สำหรับวิธีการแก้ไขเฉพาะ โปรดดูคำแนะนำในการปรับเปลี่ยนที่อยู่อุปกรณ์ทาส IIC ต่อไปนี้
| ตัวเลข | โมดูล Pin | คำอธิบายหมุด |
| 1 | ก.ย.ด. | สายดิน OLED |
| 2 | วีซีซี | OLED พลังงานบวก (3.3V ~ 5V) |
| 3 | เอส ซี แอล | สัญญาณนาฬิกาบัส OLED IIC |
| 4 | เอสดีเอ | สัญญาณข้อมูลบัส OLED IIC |
| 5 | เรส | สัญญาณรีเซ็ต OLED, รีเซ็ตระดับต่ำ (โมดูลมีวงจรรีเซ็ตซึ่งสามารถเปิดและรีเซ็ตได้) |
การกำหนดค่าฮาร์ดแวร์
วงจรฮาร์ดแวร์ของโมดูลนี้ประกอบด้วยห้าส่วน: วงจรควบคุมการแสดงผล OLED, วงจรเพิ่ม OLED, วงจรการเลือกที่อยู่อุปกรณ์ทาส IIC, อินเทอร์เฟซอาร์เรย์พิน และปริมาณแหล่งจ่ายไฟtagวงจรเสถียรภาพ
วงจรควบคุมการแสดงผล OLED ส่วนใหญ่ใช้เพื่อควบคุมจอแสดงผล OLED รวมถึงการเลือกชิป การรีเซ็ต ข้อมูล และการควบคุมการส่งผ่านคำสั่ง
วงจรควบคุมการเลือกที่อยู่ทาสของ IIC ใช้เพื่อเลือกที่อยู่ทาสที่แตกต่างกัน
วงจรเร่ง OLED ใช้เพื่อเพิ่มปริมาตรอินพุตtage ถึงปริมาณการเปล่งแสง OLEDtage.
อินเทอร์เฟซอาร์เรย์พินใช้สำหรับการเชื่อมต่อภายนอกของบอร์ดพัฒนาการควบคุมหลัก
แหล่งจ่ายไฟฟ้าปริมาตรtagวงจรปรับเสถียรใช้สำหรับแรงดันไฟฟ้า 3.3Vtage แหล่งจ่ายไฟที่มีเสถียรภาพ
โมดูล OLED ใช้โหมดการสื่อสาร IIC และฮาร์ดแวร์ได้รับการกำหนดค่าด้วยพินสองตัว: SCL (พินข้อมูล IIC) และ SDA (พินนาฬิกา IIC) การส่งข้อมูล IIC สามารถทำได้โดยการควบคุมพินทั้งสองนี้ตามเวลาการทำงานของ IIC
หลักการทำงาน
1. ข้อมูลเบื้องต้นเกี่ยวกับคอนโทรลเลอร์ SSD1309
SSD1309 เป็นคอนโทรลเลอร์ OLED/PLED ที่รองรับความละเอียดสูงสุด 128*64 และ GRAM ขนาด 1024 ไบต์ รองรับบัสข้อมูลพอร์ตขนาน 8 บิต 6800 และ 8 บิต 8080 นอกจากนี้ยังรองรับบัสอนุกรม SPI 3 สายและ 4 สายและบัส I2C เนื่องจากการควบคุมแบบขนานต้องใช้พอร์ต IO จำนวนมาก พอร์ตที่ใช้กันมากที่สุดคือบัสอนุกรม SPI และบัส I2C รองรับการเลื่อนแนวตั้งและสามารถใช้กับอุปกรณ์พกพาขนาดเล็ก เช่น โทรศัพท์มือถือ เครื่องเล่น MP3 และอื่นๆ
คอนโทรลเลอร์ SSD1309 ใช้ 1 บิตในการควบคุมการแสดงผลพิกเซล ดังนั้นแต่ละพิกเซลจึงสามารถแสดงได้เฉพาะสีดำและสีขาวหรือสีดำและสีน้ำเงินเท่านั้น RAM ที่แสดงแบ่งออกเป็น 8 หน้า โดยมี 8 บรรทัดต่อหน้า และ 128 พิกเซลต่อบรรทัด เมื่อตั้งค่าข้อมูลพิกเซล คุณต้องระบุที่อยู่ของหน้าก่อน จากนั้นจึงระบุที่อยู่คอลัมน์ต่ำและที่อยู่ความสูงของคอลัมน์ตามลำดับ ดังนั้นให้ตั้งค่า 8 พิกเซลในทิศทางแนวตั้งในเวลาเดียวกัน เพื่อให้สามารถควบคุมจุดพิกเซลได้อย่างยืดหยุ่นในตำแหน่งใดๆ ขั้นแรกซอฟต์แวร์จะตั้งค่าอาเรย์หนึ่งมิติส่วนกลางที่มีขนาดเท่ากับ RAM ที่แสดง ขั้นแรกจะจับคู่ข้อมูลจุดพิกเซลกับอาเรย์ส่วนกลาง และกระบวนการจะใช้ หรือหรือการดำเนินการเพื่อให้แน่ใจว่าอาเรย์ส่วนกลางถูกเขียนมาก่อน ข้อมูลไม่เสียหาย และข้อมูลของอาเรย์ส่วนกลางจะถูกเขียนลงใน GRAM เพื่อให้สามารถแสดงผ่าน OLED ได้
2. รู้เบื้องต้นเกี่ยวกับโปรโตคอลการสื่อสาร IIC
ขั้นตอนการเขียนข้อมูลบนบัส IIC แสดงดังรูปต่อไปนี้
หลังจากที่บัส IIC เริ่มทำงาน ที่อยู่อุปกรณ์ทาสจะถูกส่งก่อน หลังจากได้รับการตอบสนองของอุปกรณ์สเลฟแล้ว อุปกรณ์สเลฟจะส่งไบต์ควบคุมเพื่อแจ้งให้อุปกรณ์สเลฟทราบว่าข้อมูลถัดไปที่จะส่งเป็นคำสั่งที่เขียนไปยังรีจิสเตอร์ IC หรือเขียนไว้ ข้อมูล RAM หลังจากได้รับการตอบสนองของอุปกรณ์สลาฟแล้วจะส่งค่าหลายไบต์จนกว่าการส่งข้อมูลจะเสร็จสิ้นและบัส IIC หยุดทำงาน
ในหมู่พวกเขา:
C0=0: นี่คือไบต์ควบคุมสุดท้าย และไบต์ข้อมูลทั้งหมดที่ส่งต่อไปนี้คือไบต์ข้อมูลทั้งหมด
C0=1: สองไบต์ถัดไปที่จะส่งคือไบต์ข้อมูลและไบต์ควบคุมอื่น
ค/ค(—)=0: คือไบต์การดำเนินการคำสั่ง register
ค/ค(—)=1: ไบต์การดำเนินการสำหรับข้อมูล RAM
แผนภาพเวลาเริ่มและหยุดของ IIC มีดังนี้:
เมื่อสายข้อมูลและสายนาฬิกาของ IIC ถูกรักษาไว้ที่ระดับสูง IIC จะอยู่ในสถานะไม่ได้ใช้งาน ในเวลานี้ สายข้อมูลเปลี่ยนจากระดับสูงไปเป็นระดับต่ำ และสายนาฬิกายังคงอยู่ในระดับสูง และบัส IIC เริ่มการส่งข้อมูล เมื่อสายนาฬิกาอยู่ในระดับสูง สายข้อมูลจะเปลี่ยนจากต่ำไปสูงและบัส IIC จะหยุดการส่งข้อมูล
แผนภาพเวลาสำหรับ IIC ในการส่งข้อมูลบิตมีดังนี้:
แต่ละพัลส์นาฬิกา (กระบวนการดึงสูงและดึงต่ำ) ส่งข้อมูล 1 บิต
เมื่อเส้นสัญญาณนาฬิกาสูง เส้นข้อมูลจะต้องคงที่ และอนุญาตให้เส้นข้อมูลเปลี่ยนแปลงได้เมื่อเส้นสัญญาณนาฬิกาต่ำ
แผนภาพกำหนดเวลาการส่งสัญญาณ ACK เป็นดังนี้:
เมื่อมาสเตอร์รอ ACK ของสเลฟ จะต้องรักษาคล็อกไลน์ให้อยู่ในระดับสูง
เมื่อสเลฟส่ง ACK ให้รักษาสายข้อมูลให้อยู่ในระดับต่ำ
คำแนะนำการใช้งาน
1. คำสั่ง Arduino
คำแนะนำในการเดินสาย:
ดูคำอธิบายอินเทอร์เฟซสำหรับการกำหนดพิน
คำแนะนำในการเดินสายไฟโปรแกรมทดสอบไมโครคอนโทรลเลอร์ Arduino UNO
| ตัวเลข | โมดูล Pin | สอดคล้องกับพินสายไฟของบอร์ดพัฒนา UNO |
| 1 | ก.ย.ด. | ก.ย.ด. |
| 2 | วีซีซี | 5โวลต์/3.3โวลต์ |
| 3 | เอส ซี แอล | A5 |
| 4 | เอสดีเอ | A4 |
| 5 | เรส | ไม่จำเป็นต้องเชื่อมต่อ |
คำแนะนำการเดินสายโปรแกรมทดสอบไมโครคอนโทรลเลอร์ Arduino MEGA2560
| ตัวเลข | โมดูล Pin | สอดคล้องกับพินสายไฟของบอร์ดพัฒนา UNO |
| 1 | ก.ย.ด. | ก.ย.ด. |
| 2 | วีซีซี | 5โวลต์/3.3โวลต์ |
| 3 | เอส ซี แอล | 21 |
| 4 | เอสดีเอ | 22 |
| 5 | เรส | ไม่จำเป็นต้องเชื่อมต่อ |
ขั้นตอนปฏิบัติการ:
A. เชื่อมต่อโมดูล OLED และ Arduino MCU ตามคำแนะนำในการเดินสายไฟข้างต้น และเปิดเครื่อง
B. เลือกอดีตampคุณต้องการทดสอบดังที่แสดงด้านล่าง:
(โปรดดูเอกสารคำอธิบายโปรแกรมทดสอบสำหรับคำอธิบายโปรแกรมทดสอบ)
C. เปิดรายการที่เลือกample โครงการ รวบรวมและดาวน์โหลด
วิธีการทำงานเฉพาะสำหรับโปรแกรมทดสอบ Arduino อาศัยการคัดลอกไลบรารี คอมไพล์ และดาวน์โหลด มีดังนี้:
http://www.lcdwiki.com/res/PublicFile/Arduino_IDE_Use_Illustration_EN.pdf
D. หากโมดูล OLED แสดงตัวอักษรและกราฟิกตามปกติ แสดงว่าโปรแกรมทำงานสำเร็จ
2. คำแนะนำ STM32
คำแนะนำในการเดินสาย:
ดูคำอธิบายอินเทอร์เฟซสำหรับการกำหนดพิน
| ตัวเลข | โมดูล Pin | สอดคล้องกับพินสายไฟของบอร์ดพัฒนา STM32F103C8T6 |
| 1 | ก.ย.ด. | ก.ย.ด. |
| 2 | วีซีซี | 5โวลต์/3.3โวลต์ |
| 3 | เอส ซี แอล | PA5 |
| 4 | เอสดีเอ | PA7 |
| 5 | เรส | ไม่จำเป็นต้องเชื่อมต่อ |
คำแนะนำการเดินสายโปรแกรมทดสอบไมโครคอนโทรลเลอร์ STM32F103RCT6
| ตัวเลข | โมดูล Pin | สอดคล้องกับพินสายไฟของบอร์ดพัฒนา MiniSTM32 |
| 1 | ก.ย.ด. | ก.ย.ด. |
| 2 | วีซีซี | 5โวลต์/3.3โวลต์ |
| 3 | เอส ซี แอล | พีบี13 |
| 4 | เอสดีเอ | พีบี15 |
| 5 | เรส | ไม่จำเป็นต้องเชื่อมต่อ |
คำแนะนำการเดินสายโปรแกรมทดสอบไมโครคอนโทรลเลอร์ STM32F103ZET6
| ตัวเลข | โมดูล Pin | สอดคล้องกับพินสายไฟของบอร์ดพัฒนา Elite STM32 |
| 1 | ก.ย.ด. | ก.ย.ด. |
| 2 | วีซีซี | 5โวลต์/3.3โวลต์ |
| 3 | เอส ซี แอล | พีบี13 |
| 4 | เอสดีเอ | พีบี15 |
| 5 | เรส | ไม่จำเป็นต้องเชื่อมต่อ |
คำแนะนำการเดินสายโปรแกรมทดสอบไมโครคอนโทรลเลอร์ STM32F407ZGT6
| ตัวเลข | โมดูล Pin | สอดคล้องกับพินสายไฟของบอร์ดพัฒนา Explorer STM32F4 |
| 1 | ก.ย.ด. | ก.ย.ด. |
| 2 | วีซีซี | 5โวลต์/3.3โวลต์ |
| 3 | เอส ซี แอล | พีบี3 |
| 4 | เอสดีเอ | พีบี5 |
| 5 | เรส | ไม่จำเป็นต้องเชื่อมต่อ |
คำแนะนำการเดินสายโปรแกรมทดสอบไมโครคอนโทรลเลอร์ STM32F429IGT6
| ตัวเลข | โมดูล Pin | สอดคล้องกับพินสายไฟของบอร์ดพัฒนา Apollo STM32F4/F7 |
| 1 | ก.ย.ด. | ก.ย.ด. |
| 2 | วีซีซี | 5โวลต์/3.3โวลต์ |
| 3 | เอส ซี แอล | พีเอฟ7 |
| 4 | เอสดีเอ | พีเอฟ9 |
| 5 | เรส | ไม่จำเป็นต้องเชื่อมต่อ |
ขั้นตอนปฏิบัติการ:
A. เชื่อมต่อโมดูล LCD และ STM32 MCU ตามคำแนะนำในการเดินสายด้านบน และเปิดเครื่อง
B. เปิดไดเร็กทอรีซึ่งเป็นที่ตั้งของโปรแกรมทดสอบ STM32 และเลือกเช่นampไฟล์ที่จะทดสอบดังแสดงด้านล่าง:
(โปรดดูเอกสารคำอธิบายโปรแกรมทดสอบสำหรับคำอธิบายโปรแกรมทดสอบ)
C. เปิดโครงการโปรแกรมทดสอบที่เลือก รวบรวมและดาวน์โหลด
คำอธิบายโดยละเอียดของการรวบรวมและดาวน์โหลดโปรแกรมทดสอบ STM32 อยู่ในเอกสารต่อไปนี้:
http://www.lcdwiki.com/res/PublicFile/STM32_Keil_Use_Illustration_EN.pdf
D. หากโมดูล OLED แสดงตัวอักษรและกราฟิกตามปกติ โปรแกรมจะทำงานได้สำเร็จ
3. คำสั่ง C51
คำแนะนำในการเดินสาย:
ดูคำอธิบายอินเทอร์เฟซสำหรับการกำหนดพิน
คำแนะนำการเดินสายโปรแกรมทดสอบไมโครคอนโทรลเลอร์ STC89C52RC และ STC12C5A60S2
| ตัวเลข | โมดูล Pin | สอดคล้องกับพินสายไฟบอร์ดพัฒนา STC89/STC12 |
| 1 | ก.ย.ด. | ก.ย.ด. |
| 2 | วีซีซี | 5โวลต์/3.3โวลต์ |
| 3 | เอส ซี แอล | P17 |
| 4 | เอสดีเอ | P15 |
| 5 | เรส | ไม่จำเป็นต้องเชื่อมต่อ |
ขั้นตอนปฏิบัติการ:
A. เชื่อมต่อโมดูล LCD และ C51 MCU ตามคำแนะนำในการเดินสายด้านบน และเปิดเครื่อง
B. เปิดไดเร็กทอรีซึ่งเป็นที่ตั้งของโปรแกรมทดสอบ C51 และเลือกตัวอย่างampไฟล์ที่จะทดสอบดังแสดงด้านล่าง:
(โปรดดูเอกสารคำอธิบายโปรแกรมทดสอบสำหรับคำอธิบายโปรแกรมทดสอบ)
C. เปิดโครงการโปรแกรมทดสอบที่เลือก รวบรวมและดาวน์โหลด
คำอธิบายโดยละเอียดของการรวบรวมและดาวน์โหลดโปรแกรมทดสอบ C51 สามารถพบได้ในเอกสารต่อไปนี้:
http://www.lcdwiki.com/res/PublicFile/C51_Keil%26stc-isp_Use_Illustration_EN.pdf
D. หากโมดูล OLED แสดงตัวอักษรและกราฟิกตามปกติ แสดงว่าโปรแกรมทำงานได้สำเร็จ
4. คำแนะนำ RaspberryPi
คำแนะนำในการเดินสาย:
ดูคำอธิบายอินเทอร์เฟซสำหรับการกำหนดพิน
บันทึก:
พินทางกายภาพหมายถึงรหัสพิน GPIO ของบอร์ดพัฒนา RaspBerry Pi
การเข้ารหัส BCM หมายถึงการเข้ารหัสพิน GPIO เมื่อใช้ไลบรารี BCM2835 GPIO
การเข้ารหัส WiringPi หมายถึงการเข้ารหัสพิน GPIO เมื่อใช้ไลบรารี wirePi GPIO
ไลบรารี GPIO ใดที่ใช้ในโค้ด คำนิยามพินจำเป็นต้องใช้โค้ดไลบรารี GPIO ที่สอดคล้องกัน โปรดดูรายละเอียดในภาพที่ 1 ตารางแผนที่ GPIO
คำแนะนำในการเดินสายโปรแกรมทดสอบ Raspberry Pi
| ตัวเลข | โมดูล Pin | สอดคล้องกับพินสายไฟของบอร์ดพัฒนา |
| 1 | ก.ย.ด. | GND (พินทางกายภาพ:6,9,14,20,25,30,34,39) |
| 2 | วีซีซี | 5โวลต์/3.3โวลต์ ( พินทางกายภาพ:1,2,4) |
| 3 | เอส ซี แอล | พินทางกายภาพ:5 การเข้ารหัส BCM:3 การเดินสายการเข้ารหัส Pi: 9 |
| 4 | เอสดีเอ | พินทางกายภาพ:3 การเข้ารหัส BCM:2 การเดินสายการเข้ารหัส Pi: 8 |
ขั้นตอนปฏิบัติการ:
ก. เปิดฟังก์ชัน IIC ของ RaspberryPi
เข้าสู่ระบบ RaspberryPi โดยใช้เครื่องมือเทอร์มินัลอนุกรม (เช่น สีโป๊ว) และป้อนคำสั่งต่อไปนี้: sudo raspi-config
เลือกตัวเลือกการเชื่อมต่อ -> I2C-> ใช่
เริ่มไดรเวอร์เคอร์เนล I2C ของ RaspberryPi
B. ติดตั้งไลบรารีฟังก์ชัน
สำหรับวิธีการติดตั้งโดยละเอียดของไลบรารีฟังก์ชัน bcm2835, wirePi และ python ของ RaspberryPi โปรดดูเอกสารต่อไปนี้:
http://www.lcdwiki.com/res/PublicFile/Raspberrypi_Use_Illustration_EN.pdf
ค. เลือกอดีตampไฟล์ที่ต้องทดสอบ ดังภาพด้านล่าง:
(โปรดดูเอกสารคำอธิบายโปรแกรมทดสอบสำหรับคำอธิบายโปรแกรมทดสอบ)
คำแนะนำ D.bcm2835
ก) เชื่อมต่อโมดูล OLED เข้ากับบอร์ดพัฒนา RaspberryPi ตามการเดินสายด้านบน
b) คัดลอกไดเร็กทอรีโปรแกรมทดสอบ Demo_OLED_bcm2835_IIC ไปยัง RaspberryPi (สามารถคัดลอกผ่านการ์ด SD หรือผ่านเครื่องมือ FTP (เช่น Fileซิลลา))
c) รันคำสั่งต่อไปนี้เพื่อรันโปรแกรมทดสอบ bcm2835:
ซีดี Demo_OLED_bcm2835_IIC
สร้าง sudo ./ 1.54_IIC_OLED
ดังแสดงด้านล่างนี้:
E. คำแนะนำการเดินสายไฟPi
ก) เชื่อมต่อโมดูล OLED เข้ากับบอร์ดพัฒนา RaspberryPi ตามการเดินสายด้านบน
b) คัดลอกไดเร็กทอรีโปรแกรมทดสอบ Demo_OLED_ wirePi _IIC ไปยัง RaspberryPi (สามารถคัดลอกผ่านการ์ด SD หรือผ่านเครื่องมือ FTP (เช่น Fileซิลลา))
c) รันคำสั่งต่อไปนี้เพื่อรันโปรแกรมทดสอบ wirePi:
ซีดี Demo_OLED_ การเดินสายไฟ Pi _IIC
ทำ
sudo ./ 1.54_IIC_OLED
ดังแสดงด้านล่างนี้:
หากคุณต้องการปรับเปลี่ยนอัตราการถ่ายโอน IIC คุณต้องเพิ่มเนื้อหาต่อไปนี้ใน /boot/config.txt fileจากนั้นรีสตาร์ท raspberryPi , i2c_arm_baudrate=2000000 (โปรดทราบว่าต้องใช้เครื่องหมายจุลภาคด้วย)
ตามที่แสดงด้านล่าง (กล่องสีแดงคือเนื้อหาที่เพิ่ม ตัวเลข 2000000 คืออัตราที่กำหนด สามารถเปลี่ยนแปลงได้):
คำแนะนำ F. python
ก) จำเป็นต้องติดตั้งไลบรารีการประมวลผลรูปภาพ PIL ก่อนที่จะรันโปรแกรมทดสอบหลาม วิธีการติดตั้งเฉพาะมีดังนี้:
http://www.lcdwiki.com/res/PublicFile/Python_Image_Library_Install_Illustration_EN.pdf
b) เชื่อมต่อโมดูล OLED เข้ากับบอร์ดพัฒนา RaspberryPi ตามที่อธิบายไว้ข้างต้น
c) คัดลอกไดเร็กทอรีโปรแกรมทดสอบ Demo_OLED_python_IIC ไปยัง RaspberryPi (ไม่ว่าจะผ่านทางการ์ด SD หรือผ่านเครื่องมือ FTP (เช่น Fileซิลลา))
d) รันคำสั่งต่อไปนี้เพื่อรันโปรแกรมทดสอบ python 3 โปรแกรมแยกกัน:
ซีดี Demo_OLED_python_IIC/แหล่งที่มา
sudo หลาม show_graph.py
sudo หลาม show_char.py
sudo หลาม show_bmp.py
ดังแสดงด้านล่างนี้:
5. คำแนะนำ MSP430
คำแนะนำในการเดินสาย:
ดูคำอธิบายอินเทอร์เฟซสำหรับการกำหนดพิน
| ตัวเลข | โมดูล Pin | สอดคล้องกับขาสายไฟของบอร์ดพัฒนา MSP430 |
| 1 | ก.ย.ด. | ก.ย.ด. |
| 2 | วีซีซี | 5โวลต์/3.3โวลต์ |
| 3 | เอส ซี แอล | P54 |
| 4 | เอสดีเอ | P53 |
ขั้นตอนปฏิบัติการ:
A. เชื่อมต่อโมดูล LCD และ MSP430 MCU ตามคำแนะนำในการเดินสายข้างต้น และเปิดเครื่อง
B. เปิดไดเร็กทอรีที่มีโปรแกรมทดสอบ MSP430 อยู่และเลือกไฟล์ exampไฟล์ที่จะทดสอบดังแสดงด้านล่าง:
(โปรดดูเอกสารคำอธิบายโปรแกรมทดสอบสำหรับคำอธิบายโปรแกรมทดสอบ)
C. เปิดโครงการโปรแกรมทดสอบที่เลือก รวบรวมและดาวน์โหลด
คำอธิบายโดยละเอียดของการรวบรวมและดาวน์โหลดโปรแกรมทดสอบ C51 สามารถพบได้ในเอกสารต่อไปนี้:
http://www.lcdwiki.com/res/PublicFile/IAR_IDE%26MspFet_Use_Illustration_EN.pdf
D. หากโมดูล OLED แสดงตัวอักษรและกราฟิกตามปกติ แสดงว่าโปรแกรมทำงานได้สำเร็จ
คำอธิบายซอฟต์แวร์
1. สถาปัตยกรรมโค้ด
A. คำอธิบายสถาปัตยกรรมรหัส Arduino
สถาปัตยกรรมโค้ดแสดงไว้ด้านล่าง
รหัสโปรแกรมทดสอบของ Arduino ประกอบด้วยสองส่วน: ไลบรารี U8glib และโค้ดแอปพลิเคชัน
ไลบรารี U8glib มีการกำหนดค่า IC ควบคุมที่หลากหลาย โดยส่วนใหญ่รับผิดชอบในการลงทะเบียนการปฏิบัติงาน รวมถึงการเริ่มต้นโมดูลฮาร์ดแวร์ การถ่ายโอนข้อมูลและคำสั่ง พิกัดพิกเซลและการตั้งค่าสี การกำหนดค่าโหมดการแสดงผล ฯลฯ
แอปพลิเคชันมีการทดสอบหลายอย่างเช่นamples ซึ่งแต่ละอันมีเนื้อหาการทดสอบที่แตกต่างกัน ใช้ API ที่จัดทำโดยไลบรารี U8glib เขียนการทดสอบบางอย่างเช่นampและใช้บางแง่มุมของฟังก์ชันการทดสอบ
B. คำอธิบายสถาปัตยกรรมโค้ด C51 , STM32 และ MSP430
สถาปัตยกรรมรหัสแสดงด้านล่าง:
รหัส Demo API สำหรับรันไทม์ของโปรแกรมหลักรวมอยู่ในรหัสทดสอบ
การรวมข้อมูลการเริ่มต้น OLED และการเขียนข้อมูลพอร์ตขนานของ bin ที่เกี่ยวข้องไว้ในโค้ด OLED
การวาดจุด เส้น กราฟิก และการดำเนินการที่เกี่ยวข้องกับการแสดงอักขระภาษาจีนและอังกฤษรวมอยู่ในโค้ด GUI
ฟังก์ชันหลักดำเนินการให้แอปพลิเคชันทำงาน
รหัสแพลตฟอร์มแตกต่างกันไปตามแพลตฟอร์ม
การดำเนินการที่เกี่ยวข้องกับการเริ่มต้น IIC และการกำหนดค่าจะรวมอยู่ในรหัส IIC
C. คำอธิบายสถาปัตยกรรมโค้ด RaspberryPi
สถาปัตยกรรมโค้ดโปรแกรมทดสอบหลามแสดงอยู่ด้านล่าง:
โปรแกรมทดสอบหลามประกอบด้วย แต่ส่วนหนึ่ง: ไลบรารีการประมวลผลภาพ PIL, รหัสเริ่มต้น OLED, การทดสอบ sampรหัสเล
ไลบรารีการประมวลผลภาพ PIL มีหน้าที่รับผิดชอบในการวาดภาพ การแสดงตัวอักษรและข้อความ ฯลฯ
รหัสเริ่มต้น OLDE รับผิดชอบในการลงทะเบียนปฏิบัติการ รวมถึงการเริ่มต้นโมดูลฮาร์ดแวร์ การถ่ายโอนข้อมูลและคำสั่ง พิกัดพิกเซลและการตั้งค่าสี การกำหนดค่าโหมดการแสดงผล ฯลฯ
การทดสอบเช่นample คือการใช้ API ที่ได้รับจากโค้ดสองส่วนข้างต้นเพื่อใช้ฟังก์ชันทดสอบบางอย่าง
สถาปัตยกรรมรหัสโปรแกรมทดสอบ bcm2835 และ wirePi มีดังนี้:
รหัส Demo API สำหรับรันไทม์ของโปรแกรมหลักรวมอยู่ในรหัสทดสอบ
การเริ่มต้น OLED และการดำเนินการที่เกี่ยวข้องจะรวมอยู่ในโค้ด OLED
การวาดจุด เส้น กราฟิก และการดำเนินการที่เกี่ยวข้องกับการแสดงอักขระภาษาจีนและอังกฤษรวมอยู่ในโค้ด GUI
ไลบรารี GPIO ให้การดำเนินการ GPIO;
ฟังก์ชันหลักดำเนินการให้แอปพลิเคชันทำงาน
รหัสแพลตฟอร์มแตกต่างกันไปตามแพลตฟอร์ม
การดำเนินการที่เกี่ยวข้องกับการเริ่มต้น IIC และการกำหนดค่าจะรวมอยู่ในรหัส IIC
2. คำอธิบายคำจำกัดความของ GPIO
A. โปรแกรมทดสอบ Arduino คำอธิบายคำจำกัดความ GPIO
โปรแกรมทดสอบ Arduino ใช้ฟังก์ชัน IIC ของฮาร์ดแวร์ และ GPIO ได้รับการแก้ไขแล้ว
B. คำอธิบายคำจำกัดความของโปรแกรมทดสอบ STM32 GPIO
โปรแกรมทดสอบ STM32 ใช้ซอฟต์แวร์จำลองฟังก์ชัน IIC และคำจำกัดความ GPIO อยู่ใน iic.h fileดังแสดงในรูปต่อไปนี้:
OLED_SDA และ OLED_SCL สามารถกำหนดเป็น GPIO ที่ไม่ได้ใช้งานใดๆ ได้
C. คำอธิบายคำจำกัดความของโปรแกรมทดสอบ C51 GPIO
โปรแกรมทดสอบ C51 ใช้ซอฟต์แวร์จำลองฟังก์ชัน IIC และคำจำกัดความ GPIO อยู่ใน iic.h fileดังแสดงในรูปต่อไปนี้:
OLED_SDA และ OLED_SCL สามารถกำหนดเป็น GPIO ที่ไม่ได้ใช้งานใดๆ ได้
D. คำอธิบายคำจำกัดความของโปรแกรมทดสอบ RaspberryPi GPIO
โปรแกรมทดสอบ RaspberryPi ใช้ฟังก์ชัน IIC ของฮาร์ดแวร์ และ GPIO ได้รับการแก้ไขแล้ว
E. MSP430 ทดสอบโปรแกรม GPIO คำอธิบายคำจำกัดความ
โปรแกรมทดสอบ MSP430 ใช้ซอฟต์แวร์จำลองฟังก์ชัน IIC และคำจำกัดความ GPIO ถูกวางไว้ใน iic.h fileดังแสดงในรูปต่อไปนี้:
OLED_SDA และ OLED_SCL สามารถกำหนดเป็น GPIO ที่ไม่ได้ใช้งานใดๆ ได้
3. การปรับเปลี่ยนที่อยู่อุปกรณ์สเลฟ IIC
A. โปรแกรมทดสอบ Arduino IIC ดัดแปลงจากที่อยู่อุปกรณ์
ที่อยู่อุปกรณ์สเลฟของ IIC ถูกกำหนดไว้ใน u8g_com_arduino_ssd_i2c.c fileดังแสดงในรูปด้านล่างนี้:
แก้ไข I2C_SLA โดยตรง (ค่าเริ่มต้นคือ 0x3c*2) เช่นampเปลี่ยนเป็น 0x3d*2 จากนั้นที่อยู่ทาส IIC คือ 0x3d*2
B. STM32 และ C51 โปรแกรมทดสอบ IIC ดัดแปลงจากที่อยู่อุปกรณ์
ที่อยู่อุปกรณ์รองของโปรแกรมทดสอบ STM32 และ C51 IIC ถูกกำหนดไว้ใน iic.h fileดังแสดงในรูปต่อไปนี้:
แก้ไข IIC_SLAVE_ADDR โดยตรง (ค่าเริ่มต้นคือ 0x78) เช่นampเปลี่ยนเป็น 0x7A จากนั้นที่อยู่ทาส IIC คือ 0x7A
C. โปรแกรมทดสอบ RaspberryPi IIC ดัดแปลงจากที่อยู่อุปกรณ์
ที่อยู่ทาสของ bcm2835 และโปรแกรมทดสอบ wirePi IIC ถูกกำหนดไว้ใน iic.h fileดังแสดงในรูปต่อไปนี้:
แก้ไข IIC_SLAVE_ADDR โดยตรง (ค่าเริ่มต้นคือ 0x3C (ตรงกับ 0x78))
เช่นampเปลี่ยนเป็น 0x3D จากนั้นที่อยู่ทาส IIC คือ 0x3D (ตรงกับ 0x7A)
ที่อยู่อุปกรณ์ทาสของโปรแกรมทดสอบหลาม IIC ถูกกำหนดไว้ใน oled.py fileดังแสดงในรูปต่อไปนี้:
แก้ไข IIC_SLAVE_ADDR โดยตรง (ค่าเริ่มต้นคือ 0x3C (ตรงกับ 0x78)):
เช่นampเปลี่ยนเป็น 0x3D จากนั้นที่อยู่ทาส IIC คือ 0x3D (ตรงกับ 0x7A)
D. โปรแกรมทดสอบ MSP430 IIC ดัดแปลงจากที่อยู่อุปกรณ์
ที่อยู่อุปกรณ์รองของโปรแกรมทดสอบ MSP430 IIC ถูกกำหนดไว้ใน iic.h fileดังแสดงในรูปต่อไปนี้:
แก้ไข IIC_SLAVE_ADDR โดยตรง (ค่าเริ่มต้นคือ 0x78) เช่นampเปลี่ยนเป็น 0x7A จากนั้นที่อยู่ทาส IIC คือ 0x7A
4. การใช้รหัสการสื่อสาร IIC
A. การใช้รหัสการสื่อสารโปรแกรมทดสอบ Arduino IIC
โปรแกรมทดสอบ Arduino รหัสการสื่อสาร IIC ดำเนินการโดย U8glib วิธีการใช้งานเฉพาะสามารถอ้างถึงรหัส U8glib
B. STM32 ทดสอบโปรแกรม IIC การใช้รหัสการสื่อสาร
รหัสการสื่อสาร IIC ของโปรแกรมทดสอบ STM32 ถูกนำไปใช้ใน iic.c (มีความแตกต่างเล็กน้อยระหว่างการใช้งาน MCU ที่แตกต่างกัน) ดังแสดงในรูปต่อไปนี้:
C. C51 การทดสอบโปรแกรม IIC การใช้รหัสการสื่อสาร
โปรแกรมทดสอบ C51 รหัสการสื่อสาร IIC ถูกนำมาใช้ใน iic.c ดังแสดงด้านล่าง:
A. โปรแกรมทดสอบ RaspberryPi การใช้รหัสการสื่อสาร IIC
โปรแกรมทดสอบ wirePi โค้ดการสื่อสาร IIC ถูกนำมาใช้ใน iic.c ดังแสดงด้านล่าง:
ขั้นแรกให้เรียก IIC_init เพื่อเริ่มต้น ตั้งค่าที่อยู่ทาสของ IIC รับอุปกรณ์ IIC file descriptor แล้วใช้อุปกรณ์ IIC file descriptor เพื่อเขียนคำสั่ง register และข้อมูลหน่วยความจำตามลำดับ
รหัสการสื่อสาร IIC ของโปรแกรมทดสอบ bcm2835 ถูกนำมาใช้ใน iic.c ดังแสดงด้านล่าง:
ขั้นแรกให้เรียก IIC_init เพื่อเริ่มต้น ตั้งค่าที่อยู่ทาสของ IIC รับอุปกรณ์ IIC file descriptor แล้วใช้อุปกรณ์ IIC file descriptor เพื่อเขียนคำสั่ง register และข้อมูลหน่วยความจำตามลำดับ
รหัสการสื่อสาร IIC ของโปรแกรมทดสอบ Python ถูกนำมาใช้ใน oled.py ดังที่แสดงด้านล่าง:
ขั้นแรกให้เรียก SMBus เพื่อเตรียมใช้งาน จากนั้นให้เรียกใช้ฟังก์ชัน write_byte_data เพื่อเขียนคำสั่ง register และข้อมูลหน่วยความจำตามลำดับ
D. MSP430 ทดสอบโปรแกรม IIC การใช้รหัสการสื่อสาร
MSP430 ทดสอบโปรแกรม IIC รหัสการสื่อสารถูกนำมาใช้ใน iic.c ดังแสดงด้านล่าง:


ซอฟต์แวร์ทั่วไป
ชุดทดสอบนี้ampจำเป็นต้องแสดงสัญลักษณ์และรูปภาพภาษาจีนและอังกฤษ ดังนั้นจึงใช้ซอฟต์แวร์โมดูโล PCtoLCD2002 ในที่นี้ มีการอธิบายการตั้งค่าของซอฟต์แวร์โมดูโลสำหรับโปรแกรมทดสอบเท่านั้น การตั้งค่าซอฟต์แวร์โมดูโล PCtoLCD2002 มีดังต่อไปนี้:
รูปแบบดอทเมทริกซ์เลือกรหัสมืด โหมดโมดูโลเลือกโหมดโปรเกรสซีฟ (โปรแกรมทดสอบ C51 และ MSP430 จำเป็นต้องเลือกดีเทอร์มิแนนต์)
นำโมเดลไปเลือกทิศทาง (ตำแหน่งสูงก่อน) (โปรแกรมทดสอบ C51 และ MSP430 ต้องเลือกย้อนกลับ (ตำแหน่งต่ำก่อน))
ระบบเลขออกจะเลือกเลขฐานสิบหก
การเลือกรูปแบบที่กำหนดเอง รูปแบบ C51
วิธีการตั้งค่าเฉพาะมีดังนี้:
http://www.lcdwiki.com/Chinese_and_English_display_modulo_settings 
เอกสาร / แหล่งข้อมูล
![]() |
จอแอลซีดีวิกิ MC154GX 1.54 นิ้ว IIC OLED โมดูล [พีดีเอฟ] คู่มือการใช้งาน MC154GX 1.54 นิ้ว IIC OLED โมดูล MC154GX, 1.54 นิ้ว IIC OLED โมดูล IIC OLED โมดูล OLED โมดูล |
