วิธีเชื่อมต่อจอแสดงผล OLED I2C กับ ARDUINO
บทนำ: ข้อมูลเบื้องต้นเกี่ยวกับจอแสดงผล OLED I2C 128*64/128*32
สวัสดี! ในฐานะผู้ชื่นชอบอุปกรณ์อิเล็กทรอนิกส์มือสมัครเล่น ฉันแน่ใจว่าทุกสิ่งที่เราทำ ไม่ว่าจะเป็นของเล่นอิเล็กทรอนิกส์ ผลิตภัณฑ์โฮมเมด หรือโครงการขนาดใหญ่ ล้วนเกิดจากความอยากรู้อยากเห็นและความเกียจคร้าน ความอยากรู้อยากเห็นมุ่งมั่นที่จะเข้าใจและเข้าใจสิ่งกว้างใหญ่ที่ไม่รู้จัก เพื่อดูว่ามันทำงานอย่างไร ทำอะไร และเคลื่อนไหวอย่างไร และความเกียจคร้านก็เกิดเรื่องขึ้นไม่ลุกไม่เข้าใกล้ไม่ยกไม่เลอะเทอะหรือสำคัญอย่างอื่น
เนื่องจากการดูข้อมูลดีกว่าการรู้ว่าจะเกิดอะไรขึ้นในอุปกรณ์ของเรา หรือเกิดขึ้นแล้ว หรือกำลังเกิดขึ้น เราจึงต้องการรับข้อมูลที่เป็นประโยชน์ที่สุดนี้จากไมโครคอนโทรลเลอร์ เซ็นเซอร์ หรืออุปกรณ์อื่นๆ ของเราอย่างแน่นอน และไม่ว่าในกรณีใด ฉันต้องการรับข้อความใด ๆ เช่น คำถาม คำเตือน คำเตือน อีโมติคอน ดาว หัวใจ เป็นต้น
สำหรับผู้ที่มีความต้องการคล้ายกัน ต่อไปนี้เป็นคำแนะนำสั้นๆ สำหรับการเชื่อมต่อและทดสอบจอแสดงผล OLED ขนาดเล็กและราคาไม่แพง
ต่อไปเราจะพูดถึงหนึ่งในจอแสดงผล OLED รุ่นหนึ่งที่มีจำหน่ายกันอย่างแพร่หลายสำหรับนักวิทยุสมัครเล่นซึ่งควบคุมโดยชิป SSD1306 โดยมีขนาดหน้าจอ 0.96 นิ้วและความละเอียด 128 * 64 หรือ 128 * 32 พิกเซล จอแสดงผลเหล่านี้เหมาะอย่างยิ่งสำหรับการออกแบบวิทยุสมัครเล่นขนาดเล็กและโครงการโฮมเมด
เราจะเชื่อมต่อกับ Arduino UNO / NANO และเราจะตั้งโปรแกรมผ่าน Arduino ด้วย
ทำตามคำแนะนำเพื่อทำความเข้าใจวิธีเชื่อมต่อและกำหนดค่าจอแสดงผล OLED กับ Arduino อย่างถูกต้อง และวิธีแสดงข้อความที่กำหนดเองบนจอแสดงผล
เราทำทุกอย่างทีละขั้นตอน
เราต้องการเพียงสี่สิ่งเท่านั้น:
โดยทั่วไปแล้ว การซื้อชิ้นส่วนสำหรับโครงการต่างๆ ใน Aliexpress และ Ebay เป็นสิ่งที่ดีมาก ในขณะที่คุณกำลังทำงานในโครงการหนึ่ง ชิ้นส่วนสำหรับอีกโครงการหนึ่งกำลังมาถึงแล้ว สิ่งสำคัญคืออย่าลืมสั่งซื้อ
จอแสดงผลควบคุมโดยชิป SSD1306 ซึ่งรองรับโปรโตคอลการสื่อสาร 5 โปรโตคอล หนึ่งในนั้นคือ I2C ข้อมูลที่ใช้โปรโตคอลนี้จะถูกส่งผ่านสายเพียงสองสายและยิ่งมีสายน้อยกว่าในกรณีนี้ก็ยิ่งดีเท่านั้น ดังนั้นจึงค่อนข้างเหมาะกับเราแต่! มีโมดูลหลายโมดูลที่มีโปรโตคอล SPI และถึงแม้จะมีการสลับโปรโตคอล ดังนั้นควรระมัดระวังเมื่อซื้อโมดูลนี้
พินที่ใช้:
จอแสดงผล OLED - SCL/SCK (นาฬิกา) และ SDA (ข้อมูล), กำลัง "บวก" (VCC) และกำลัง "ลบ" (GND)
พินที่ใช้:
Arduino UNO - SCL/SCK บน A5 และ SSD บน A4, กำลังไฟ "บวก" (+5V) และพลังงาน "ลบ" (GND)
การเชื่อมต่อจอแสดงผลกับ Arduino:
อุปกรณ์แต่ละตัวบนบัส I2C มีที่อยู่เลขฐานสิบหกซึ่งไม่สามารถเปลี่ยนแปลงได้เป็นแบบมีสาย ผู้ผลิตที่รับผิดชอบทุกรายจะต้องระบุไว้ที่ใดที่หนึ่งในกรณีหรือตามคำแนะนำ มีโมดูลที่มีสวิตช์และจัมเปอร์ที่สามารถใช้เพื่อเปลี่ยนที่อยู่ได้ แต่... หากอุปกรณ์มีราคาถูกจนน่าอับอาย ผู้ผลิตก็อาจไม่ต้องกังวลกับรายละเอียดเล็กๆ น้อยๆ ดังกล่าว ดังนั้นคุณจะต้อง กำหนดมันเอง
โดยรวมแล้วสามารถใช้ที่อยู่ได้มากถึง 127 ที่อยู่บนบัส - 119 สำหรับอุปกรณ์และที่อยู่บริการ 8 แห่ง การสื่อสารดำเนินการตามที่อยู่เหล่านี้ มีตัวหลักหรือที่รู้จักว่าอาจารย์และมีทาสหรือที่รู้จักในชื่อทาส - อาจารย์ถาม ทาสตอบ ทุกอย่างเรียบง่าย
เนื่องจากจอแสดงผล OLED ของเราใช้โปรโตคอลการสื่อสาร I2C และอาจไม่ได้ระบุที่อยู่ เราจึงพยายามค้นหาที่อยู่นี้ด้วยตนเอง
คุณสามารถทำได้โดยการอัปโหลดภาพร่างสั้นๆ ไปยังบอร์ด Arduino ของคุณโดยที่มี OLED เชื่อมต่ออยู่ แต่!
อย่าเพิ่งรีบอัพโหลดภาพร่างไปยัง Arduino ทันที! ก่อนอื่นมาดาวน์โหลด "ไดรเวอร์" ก่อนเช่น มาเชื่อมต่อไลบรารีกัน และในการดำเนินการนี้ เราจะไปที่ "ขั้นตอนที่ 5" ทันที จากนั้นกลับมาและดำเนินการต่อ
ดาวน์โหลด CODE Finder_I2C_Hex_Address.ino อัปโหลดไปยัง Arduino
เปิด "Port Monitor" ตั้งค่าความเร็วเป็น 9600 และหากทุกอย่างเชื่อมต่ออย่างถูกต้อง โปรแกรมจะแสดงที่อยู่อุปกรณ์ ในกรณีของฉัน OLED พร้อมที่อยู่ 0x3F
เพื่อให้ทุกอย่างทำงานได้อย่างถูกต้องและคุณไม่จำเป็นต้องสร้างวงล้อขึ้นมาใหม่ คุณต้องเชื่อมต่อไลบรารีสองสามตัวเข้ากับสภาพแวดล้อม ArduinoIDE ได้แก่ ADAFRUIT GFX และ ADAFRUIT SSD1306 ซึ่งจำเป็นสำหรับ Arduino เพื่อให้สามารถสื่อสารได้อย่างอิสระ ด้วยจอแสดงผลแบบ OLED
คุณสามารถรวมไลบรารีเหล่านี้ได้โดยทำตามขั้นตอนเหล่านี้
ด้วยไลบรารีเวอร์ชันล่าสุด จอแสดงผลของฉันทำงานคดแน่นอน นี่อาจเป็นเพราะความโค้งของมือ แต่หลังจากที่ฉันติดตั้งเวอร์ชันแรกของไลบรารีเหล่านี้ ทุกอย่างเริ่มดูราบรื่นและสวยงาม ด้วยเหตุผลบางประการ บรรทัดของพุชกินอยู่ในใจ:
...และประสบการณ์ บุตรแห่งความผิดพลาดอันยากลำบาก
และอัจฉริยะ เพื่อนของความขัดแย้ง
อีกวิธีหนึ่งในการติดตั้งไลบรารีคือการค้นหา ดาวน์โหลด และติดตั้งไลบรารีเหล่านี้ด้วยตนเอง
สำหรับตัวอย่าง Github:
https://github.com/adafruit/Adafruit-GFX-Library
https://github.com/adafruit/Adafruit_SSD1306
เหล่านี้เป็นไลบรารี Adafruit เดียวกัน แต่สามารถค้นหาไลบรารีที่คล้ายกันในเครื่องมือค้นหาได้อย่างง่ายดาย ตามคำขอของ OLED I2C ผู้สนใจจำนวนมากเขียนห้องสมุด “เพื่อตนเอง” แล้วโพสต์บนเว็บ ห้องสมุดที่จะใช้นั้นขึ้นอยู่กับคุณ
เพื่อให้จอแสดงผลแสดงตัวอักษรรัสเซียได้ จำเป็นต้องมีห้องสมุดพิเศษด้วย แต่นี่เป็นหัวข้อแยกต่างหากสำหรับบทความแยกต่างหาก
หลังจากติดตั้งไลบรารีแล้ว คุณสามารถกลับไปที่ขั้นตอนที่ 4 และค้นหาที่อยู่เลขฐานสิบหกของจอแสดงผลของคุณได้ในที่สุด
หากต้องการตรวจสอบว่าทุกอย่างทำงานได้ตามที่คาดไว้หรือไม่ ให้รันตัวอย่างการทดสอบจาก ArduinoIDE
สำหรับสิ่งนี้:
ไปที่ ไฟล์ > ตัวอย่าง > SSD 1306 > เลือก 128x64 i2c
หากคุณได้รับ "ข้อผิดพลาด" ให้ลองเลือก SSD 1306 > 128x32 i2c
หาก "ข้อผิดพลาด" เกิดขึ้นอีกครั้ง ให้ลองเปลี่ยนที่อยู่ I2C ในบรรทัด 61 ของโค้ดสาธิต และแทนที่ด้วยที่อยู่ของจอแสดงผลที่คุณกำหนดไว้ในขั้นตอนที่ #4
หากเกิดข้อผิดพลาดอีกครั้ง คุณสามารถลองแก้ไขไฟล์ Adafruit_SSD1306.h ได้ ซึ่งอยู่ในโฟลเดอร์ไลบรารี Arduino
เปิดไฟล์ Adafruit_SSD1306.h ในโปรแกรมแก้ไขข้อความและค้นหาบรรทัด:
ยกเลิกการแสดงความคิดเห็นบรรทัด:
มันควรมีลักษณะเช่นนี้:
หากเกิดข้อผิดพลาดอีกครั้ง คุณต้องตรวจสอบการเชื่อมต่อที่ถูกต้อง
เมื่อการดาวน์โหลดเสร็จสิ้น คุณจะเห็นภาพเคลื่อนไหวทดสอบบนหน้าจอ ซึ่งหมายความว่าคุณได้ตั้งค่าจอแสดงผล OLED เรียบร้อยแล้ว
เมื่อคุณเพลิดเพลินกับแอนิเมชั่นนี้อย่างทั่วถึงแล้ว คุณสามารถไปยังขั้นตอนถัดไปได้
หากต้องการเขียนข้อความของคุณเอง ขั้นแรกให้สร้างสเก็ตช์ใหม่ในสภาพแวดล้อมการเขียนโปรแกรม ArduinoIDE
ในส่วนหัวเรามี 4 ไลบรารี:
จากนั้นเราเขียนโปรโตคอลการรีเซ็ต:
ใน VOID SETUP เราระบุที่อยู่เลขฐานสิบหกของจอแสดงผล 0x3C ซึ่งเราได้เรียนรู้ใน "ขั้นตอนที่ 4"
จากนั้นเราเริ่มต้นการแสดงผลและล้างข้อมูล:
ต่อไป ใน VOID LOOP เราเขียนโค้ดหลัก นั่นคือข้อความของเราที่เราต้องการแสดงบนจอแสดงผล
เมื่อต้องการทำเช่นนี้ เราจะอธิบายขนาดข้อความ สีข้อความ ตำแหน่งเคอร์เซอร์ และสุดท้ายคือแสดงข้อความโดยใช้คำสั่ง println:
ในตอนท้ายอย่าลืมเขียน จอแสดงผล.จอแสดงผลเพื่อให้ภาพนั้นปรากฏบนหน้าจอ มิฉะนั้น จะเกิดความว่างเปล่า
หากคุณทำทุกอย่างถูกต้อง ข้อความจะปรากฏขึ้นบนจอแสดงผล
นี่คือรหัส Starting_with_Arduino_OLED.ino ของโปรแกรมของเรา:
สวัสดี! ในฐานะผู้ชื่นชอบอุปกรณ์อิเล็กทรอนิกส์มือสมัครเล่น ฉันแน่ใจว่าทุกสิ่งที่เราทำ ไม่ว่าจะเป็นของเล่นอิเล็กทรอนิกส์ ผลิตภัณฑ์โฮมเมด หรือโครงการขนาดใหญ่ ล้วนเกิดจากความอยากรู้อยากเห็นและความเกียจคร้าน ความอยากรู้อยากเห็นมุ่งมั่นที่จะเข้าใจและเข้าใจสิ่งกว้างใหญ่ที่ไม่รู้จัก เพื่อดูว่ามันทำงานอย่างไร ทำอะไร และเคลื่อนไหวอย่างไร และความเกียจคร้านก็เกิดเรื่องขึ้นไม่ลุกไม่เข้าใกล้ไม่ยกไม่เลอะเทอะหรือสำคัญอย่างอื่น
เนื่องจากการดูข้อมูลดีกว่าการรู้ว่าจะเกิดอะไรขึ้นในอุปกรณ์ของเรา หรือเกิดขึ้นแล้ว หรือกำลังเกิดขึ้น เราจึงต้องการรับข้อมูลที่เป็นประโยชน์ที่สุดนี้จากไมโครคอนโทรลเลอร์ เซ็นเซอร์ หรืออุปกรณ์อื่นๆ ของเราอย่างแน่นอน และไม่ว่าในกรณีใด ฉันต้องการรับข้อความใด ๆ เช่น คำถาม คำเตือน คำเตือน อีโมติคอน ดาว หัวใจ เป็นต้น
สำหรับผู้ที่มีความต้องการคล้ายกัน ต่อไปนี้เป็นคำแนะนำสั้นๆ สำหรับการเชื่อมต่อและทดสอบจอแสดงผล OLED ขนาดเล็กและราคาไม่แพง
ต่อไปเราจะพูดถึงหนึ่งในจอแสดงผล OLED รุ่นหนึ่งที่มีจำหน่ายกันอย่างแพร่หลายสำหรับนักวิทยุสมัครเล่นซึ่งควบคุมโดยชิป SSD1306 โดยมีขนาดหน้าจอ 0.96 นิ้วและความละเอียด 128 * 64 หรือ 128 * 32 พิกเซล จอแสดงผลเหล่านี้เหมาะอย่างยิ่งสำหรับการออกแบบวิทยุสมัครเล่นขนาดเล็กและโครงการโฮมเมด
ขั้นตอนที่ 1: แนวคิดพื้นฐาน
เราจะเชื่อมต่อกับ Arduino UNO / NANO และเราจะตั้งโปรแกรมผ่าน Arduino ด้วย
- OLED เป็นไดโอดเปล่งแสงอินทรีย์ กล่าวคือ อุปกรณ์เซมิคอนดักเตอร์ที่ทำจากสารประกอบอินทรีย์ที่จะเริ่มเปล่งแสงเมื่อมีกระแสไฟฟ้าไหลผ่าน
- ARDUINO เป็นแพลตฟอร์มสำหรับการฝึกอบรมและการสร้างระบบอัตโนมัติและหุ่นยนต์
- ArduinoIDE - สภาพแวดล้อมการพัฒนา นี่คือโปรแกรมเขียนโปรแกรม Arduino ฟรี
- I2C - วงจรรวมระหว่างสายการสื่อสารระหว่างชิป
- Sketch หรือที่รู้จักในชื่อโค้ด หรือที่รู้จักกันในชื่อโปรแกรม - คำศัพท์เฉพาะของ Arduino
ทำตามคำแนะนำเพื่อทำความเข้าใจวิธีเชื่อมต่อและกำหนดค่าจอแสดงผล OLED กับ Arduino อย่างถูกต้อง และวิธีแสดงข้อความที่กำหนดเองบนจอแสดงผล
เราทำทุกอย่างทีละขั้นตอน
ขั้นตอนที่ 2: อุปกรณ์เสริม
เราต้องการเพียงสี่สิ่งเท่านั้น:
- 1. ตัวจอแสดงผล OLED นั้นมีขนาด 0.96” (คุณสามารถซื้อได้ใน Aliexpress หรือ Ebay มันยาว แต่ราคาถูก!)
- 2. Arduino UNO / Nano (ที่เดียวกับจอแสดงผล)
- 3. การเชื่อมต่อสายไฟ (ibid.)
- 4. คอมพิวเตอร์หรือแล็ปท็อปที่ติดตั้ง ArduinoIDE
โดยทั่วไปแล้ว การซื้อชิ้นส่วนสำหรับโครงการต่างๆ ใน Aliexpress และ Ebay เป็นสิ่งที่ดีมาก ในขณะที่คุณกำลังทำงานในโครงการหนึ่ง ชิ้นส่วนสำหรับอีกโครงการหนึ่งกำลังมาถึงแล้ว สิ่งสำคัญคืออย่าลืมสั่งซื้อ
ขั้นตอนที่ 3: การเชื่อมต่อจอแสดงผล
จอแสดงผลควบคุมโดยชิป SSD1306 ซึ่งรองรับโปรโตคอลการสื่อสาร 5 โปรโตคอล หนึ่งในนั้นคือ I2C ข้อมูลที่ใช้โปรโตคอลนี้จะถูกส่งผ่านสายเพียงสองสายและยิ่งมีสายน้อยกว่าในกรณีนี้ก็ยิ่งดีเท่านั้น ดังนั้นจึงค่อนข้างเหมาะกับเราแต่! มีโมดูลหลายโมดูลที่มีโปรโตคอล SPI และถึงแม้จะมีการสลับโปรโตคอล ดังนั้นควรระมัดระวังเมื่อซื้อโมดูลนี้
พินที่ใช้:
จอแสดงผล OLED - SCL/SCK (นาฬิกา) และ SDA (ข้อมูล), กำลัง "บวก" (VCC) และกำลัง "ลบ" (GND)
พินที่ใช้:
Arduino UNO - SCL/SCK บน A5 และ SSD บน A4, กำลังไฟ "บวก" (+5V) และพลังงาน "ลบ" (GND)
การเชื่อมต่อจอแสดงผลกับ Arduino:
- วีซีซี - 5V
- จีเอ็นดี - จีเอ็นดี
- SDA-A4
- SCL-A5
ขั้นตอนที่ 4: เครื่องสแกน I2C
อุปกรณ์แต่ละตัวบนบัส I2C มีที่อยู่เลขฐานสิบหกซึ่งไม่สามารถเปลี่ยนแปลงได้เป็นแบบมีสาย ผู้ผลิตที่รับผิดชอบทุกรายจะต้องระบุไว้ที่ใดที่หนึ่งในกรณีหรือตามคำแนะนำ มีโมดูลที่มีสวิตช์และจัมเปอร์ที่สามารถใช้เพื่อเปลี่ยนที่อยู่ได้ แต่... หากอุปกรณ์มีราคาถูกจนน่าอับอาย ผู้ผลิตก็อาจไม่ต้องกังวลกับรายละเอียดเล็กๆ น้อยๆ ดังกล่าว ดังนั้นคุณจะต้อง กำหนดมันเอง
โดยรวมแล้วสามารถใช้ที่อยู่ได้มากถึง 127 ที่อยู่บนบัส - 119 สำหรับอุปกรณ์และที่อยู่บริการ 8 แห่ง การสื่อสารดำเนินการตามที่อยู่เหล่านี้ มีตัวหลักหรือที่รู้จักว่าอาจารย์และมีทาสหรือที่รู้จักในชื่อทาส - อาจารย์ถาม ทาสตอบ ทุกอย่างเรียบง่าย
เนื่องจากจอแสดงผล OLED ของเราใช้โปรโตคอลการสื่อสาร I2C และอาจไม่ได้ระบุที่อยู่ เราจึงพยายามค้นหาที่อยู่นี้ด้วยตนเอง
คุณสามารถทำได้โดยการอัปโหลดภาพร่างสั้นๆ ไปยังบอร์ด Arduino ของคุณโดยที่มี OLED เชื่อมต่ออยู่ แต่!
อย่าเพิ่งรีบอัพโหลดภาพร่างไปยัง Arduino ทันที! ก่อนอื่นมาดาวน์โหลด "ไดรเวอร์" ก่อนเช่น มาเชื่อมต่อไลบรารีกัน และในการดำเนินการนี้ เราจะไปที่ "ขั้นตอนที่ 5" ทันที จากนั้นกลับมาและดำเนินการต่อ
ขั้นตอนที่ 4: ดำเนินการต่อ:
ดาวน์โหลด CODE Finder_I2C_Hex_Address.ino อัปโหลดไปยัง Arduino
เปิด "Port Monitor" ตั้งค่าความเร็วเป็น 9600 และหากทุกอย่างเชื่อมต่ออย่างถูกต้อง โปรแกรมจะแสดงที่อยู่อุปกรณ์ ในกรณีของฉัน OLED พร้อมที่อยู่ 0x3F
ขั้นตอนที่ 5: ดาวน์โหลดและเชื่อมต่อไลบรารี
เพื่อให้ทุกอย่างทำงานได้อย่างถูกต้องและคุณไม่จำเป็นต้องสร้างวงล้อขึ้นมาใหม่ คุณต้องเชื่อมต่อไลบรารีสองสามตัวเข้ากับสภาพแวดล้อม ArduinoIDE ได้แก่ ADAFRUIT GFX และ ADAFRUIT SSD1306 ซึ่งจำเป็นสำหรับ Arduino เพื่อให้สามารถสื่อสารได้อย่างอิสระ ด้วยจอแสดงผลแบบ OLED
คุณสามารถรวมไลบรารีเหล่านี้ได้โดยทำตามขั้นตอนเหล่านี้
- 1. ใน ArduinoIDE ไปที่เมนู Sketch
- 2. เลือก “รวมไลบรารี”
- 3.เลือก “จัดการห้องสมุด”
- 4. ค้นหา ADAFRUIT GFX และติดตั้ง
- 5. ค้นหา ADAFRUIT SSD1306 และติดตั้ง
ด้วยไลบรารีเวอร์ชันล่าสุด จอแสดงผลของฉันทำงานคดแน่นอน นี่อาจเป็นเพราะความโค้งของมือ แต่หลังจากที่ฉันติดตั้งเวอร์ชันแรกของไลบรารีเหล่านี้ ทุกอย่างเริ่มดูราบรื่นและสวยงาม ด้วยเหตุผลบางประการ บรรทัดของพุชกินอยู่ในใจ:
...และประสบการณ์ บุตรแห่งความผิดพลาดอันยากลำบาก
และอัจฉริยะ เพื่อนของความขัดแย้ง
อีกวิธีหนึ่งในการติดตั้งไลบรารีคือการค้นหา ดาวน์โหลด และติดตั้งไลบรารีเหล่านี้ด้วยตนเอง
สำหรับตัวอย่าง Github:
https://github.com/adafruit/Adafruit-GFX-Library
https://github.com/adafruit/Adafruit_SSD1306
เหล่านี้เป็นไลบรารี Adafruit เดียวกัน แต่สามารถค้นหาไลบรารีที่คล้ายกันในเครื่องมือค้นหาได้อย่างง่ายดาย ตามคำขอของ OLED I2C ผู้สนใจจำนวนมากเขียนห้องสมุด “เพื่อตนเอง” แล้วโพสต์บนเว็บ ห้องสมุดที่จะใช้นั้นขึ้นอยู่กับคุณ
เพื่อให้จอแสดงผลแสดงตัวอักษรรัสเซียได้ จำเป็นต้องมีห้องสมุดพิเศษด้วย แต่นี่เป็นหัวข้อแยกต่างหากสำหรับบทความแยกต่างหาก
หลังจากติดตั้งไลบรารีแล้ว คุณสามารถกลับไปที่ขั้นตอนที่ 4 และค้นหาที่อยู่เลขฐานสิบหกของจอแสดงผลของคุณได้ในที่สุด
ขั้นตอนที่ 6: การทดสอบการแสดงผล
หากต้องการตรวจสอบว่าทุกอย่างทำงานได้ตามที่คาดไว้หรือไม่ ให้รันตัวอย่างการทดสอบจาก ArduinoIDE
สำหรับสิ่งนี้:
ไปที่ ไฟล์ > ตัวอย่าง > SSD 1306 > เลือก 128x64 i2c
หากคุณได้รับ "ข้อผิดพลาด" ให้ลองเลือก SSD 1306 > 128x32 i2c
หาก "ข้อผิดพลาด" เกิดขึ้นอีกครั้ง ให้ลองเปลี่ยนที่อยู่ I2C ในบรรทัด 61 ของโค้ดสาธิต และแทนที่ด้วยที่อยู่ของจอแสดงผลที่คุณกำหนดไว้ในขั้นตอนที่ #4
หากเกิดข้อผิดพลาดอีกครั้ง คุณสามารถลองแก้ไขไฟล์ Adafruit_SSD1306.h ได้ ซึ่งอยู่ในโฟลเดอร์ไลบรารี Arduino
เปิดไฟล์ Adafruit_SSD1306.h ในโปรแกรมแก้ไขข้อความและค้นหาบรรทัด:
//#กำหนด SSD1306_128_64
#กำหนด SSD1306_128_32
// #define SSD1306_96_16
ยกเลิกการแสดงความคิดเห็นบรรทัด:
#กำหนด SSD1306_128_64.
มันควรมีลักษณะเช่นนี้:
#กำหนด SSD1306_128_64
//#กำหนด SSD1306_128_32
// #define SSD1306_96_16
หากเกิดข้อผิดพลาดอีกครั้ง คุณต้องตรวจสอบการเชื่อมต่อที่ถูกต้อง
เมื่อการดาวน์โหลดเสร็จสิ้น คุณจะเห็นภาพเคลื่อนไหวทดสอบบนหน้าจอ ซึ่งหมายความว่าคุณได้ตั้งค่าจอแสดงผล OLED เรียบร้อยแล้ว
เมื่อคุณเพลิดเพลินกับแอนิเมชั่นนี้อย่างทั่วถึงแล้ว คุณสามารถไปยังขั้นตอนถัดไปได้
ขั้นตอนที่ 7: เขียนข้อความของคุณเอง
หากต้องการเขียนข้อความของคุณเอง ขั้นแรกให้สร้างสเก็ตช์ใหม่ในสภาพแวดล้อมการเขียนโปรแกรม ArduinoIDE
ในส่วนหัวเรามี 4 ไลบรารี:
#รวม <SPI.h>
#รวม <Wire.h>
#รวม <Adafruit_GFX.h>
#รวม <Adafruit_SSD1306.h>
จากนั้นเราเขียนโปรโตคอลการรีเซ็ต:
#กำหนด OLED_RESET 4
จอแสดงผล Adafruit_SSD1306(OLED_RESET);
ใน VOID SETUP เราระบุที่อยู่เลขฐานสิบหกของจอแสดงผล 0x3C ซึ่งเราได้เรียนรู้ใน "ขั้นตอนที่ 4"
จากนั้นเราเริ่มต้นการแสดงผลและล้างข้อมูล:
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
display.clearDisplay();
ต่อไป ใน VOID LOOP เราเขียนโค้ดหลัก นั่นคือข้อความของเราที่เราต้องการแสดงบนจอแสดงผล
เมื่อต้องการทำเช่นนี้ เราจะอธิบายขนาดข้อความ สีข้อความ ตำแหน่งเคอร์เซอร์ และสุดท้ายคือแสดงข้อความโดยใช้คำสั่ง println:
display.setTextSize(2);
display.setTextColor(สีขาว);
display.setCursor(0,0);
display.println("ทำได้ดีมาก!");
display.display();
ในตอนท้ายอย่าลืมเขียน จอแสดงผล.จอแสดงผลเพื่อให้ภาพนั้นปรากฏบนหน้าจอ มิฉะนั้น จะเกิดความว่างเปล่า
หากคุณทำทุกอย่างถูกต้อง ข้อความจะปรากฏขึ้นบนจอแสดงผล
นี่คือรหัส Starting_with_Arduino_OLED.ino ของโปรแกรมของเรา:
รหัส.zip
[946 ข] (ดาวน์โหลด: 4908)
ชั้นเรียนปริญญาโทที่คล้ายกัน
น่าสนใจเป็นพิเศษ
ความคิดเห็น (10)