Share
Pin
Tweet
Send
Share
Send
สวัสดี! ในฐานะมือสมัครเล่นผู้ที่ชื่นชอบเครื่องใช้ไฟฟ้าฉันมั่นใจว่าสิ่งที่เราทำคือของเล่นอิเล็กทรอนิกส์ผลิตภัณฑ์โฮมเมดหรือโครงการขนาดใหญ่ทั้งหมดมาจากความอยากรู้อยากเห็นและความเกียจคร้าน ความอยากรู้อยากเห็นพยายามที่จะเข้าใจและเข้าใจถึงความยิ่งใหญ่ที่ไม่รู้จักที่จะเข้าใจวิธีการทำงานที่นั่นสิ่งที่มันทำอย่างไรมันเคลื่อนไหวอย่างไร และความเกียจคร้านประดิษฐ์เพื่อที่จะเกิดขึ้นกับสิ่งนี้เพื่อไม่ให้ลุกขึ้นไม่พอดีไม่ยกไม่สกปรกหรืออะไรที่สำคัญ
เนื่องจากการดูข้อมูลนั้นดีกว่าการทำความเข้าใจสิ่งที่กำลังจะเกิดขึ้นบนอุปกรณ์ของเราหรือเกิดขึ้นแล้วหรือกำลังเกิดขึ้นเราจะต้องการได้รับข้อมูลที่มีประโยชน์มากจากไมโครคอนโทรลเลอร์เซ็นเซอร์หรืออุปกรณ์อื่น ๆ ของเรา และฉันต้องการรับข้อความใด ๆ เช่นคำถามคำเตือนการเตือนอีโมติคอนเครื่องหมายดอกจันหัวใจและอื่น ๆ
สำหรับผู้ที่มีความปรารถนาคล้ายกันนี่คือคำแนะนำโดยย่อเกี่ยวกับการเชื่อมต่อและตรวจสอบจอแสดงผล OLED ขนาดเล็กและราคาไม่แพง
ต่อไปเราจะพูดถึงหนึ่งในวงกว้างสำหรับรุ่นแฮมเรดิโอของจอแสดงผล OLED ที่ควบคุมโดยชิป SSD1306 ด้วยขนาดหน้าจอ 0.96 นิ้วและความละเอียด 128 * 64 หรือ 128 * 32 พิกเซล จอแสดงผลเหล่านี้เหมาะสำหรับการออกแบบวิทยุสมัครเล่นขนาดเล็กและผลิตภัณฑ์โฮมเมด
ขั้นตอนที่ 1: แนวคิดหลัก
เราจะเชื่อมต่อกับ Arduino UNO / NANO ด้วยและเพื่อเขียนโปรแกรมตามลำดับเราจะเชื่อมต่อผ่าน Arduino
- OLED เป็นไดโอดเปล่งแสงอินทรีย์คืออุปกรณ์กึ่งตัวนำที่ทำจากสารประกอบอินทรีย์ซึ่งเริ่มเปล่งแสงเมื่อกระแสไฟฟ้าไหลผ่าน
- ARDUINO เป็นแพลตฟอร์มสำหรับการฝึกอบรมและการสร้างระบบอัตโนมัติและระบบหุ่นยนต์
- ArduinoIDE เป็นสภาพแวดล้อมการพัฒนา นี่เป็นเครื่องมือเขียนโปรแกรม Arduino ฟรี
- I2C - วงจรรวมระหว่างสายการสื่อสารระหว่างไมโคร
- ร่างมันเป็นรหัสมันเป็นโปรแกรม - คำศัพท์ Arduino
ทำตามคำแนะนำเพื่อทำความเข้าใจวิธีการเชื่อมต่อและกำหนดค่าจอแสดงผล OLED กับ Arduino อย่างถูกต้องและวิธีแสดงข้อความของคุณเองบนหน้าจอ
เราทำทุกอย่างในขั้นตอน
ขั้นตอนที่ 2: อุปกรณ์เสริม
เราต้องการเพียงสี่สิ่ง:
- 1. จอแสดงผล OLED เองคือ 0.96” (สามารถซื้อได้ใน Aliexpress หรือ Ebay - ยาว แต่ราคาถูก!)
- 2. Arduino UNO / Nano (ในตำแหน่งเดียวกับจอแสดงผล)
- 3. การเชื่อมต่อสายไฟ (ibid.)
- 4. คอมพิวเตอร์หรือแล็ปท็อปที่ติดตั้ง ArduinoIDE
โดยทั่วไปการซื้อชิ้นส่วนสำหรับโครงการต่าง ๆ ใน Aliexpress และ Ebay เป็นสิ่งที่ยอดเยี่ยมมากในขณะที่คุณกำลังทำโครงการหนึ่งชิ้นส่วนสำหรับโครงการอื่นกำลังมาถึงแล้ว สิ่งสำคัญคืออย่าลืมสั่งซื้อ
ขั้นตอนที่ 3: เชื่อมต่อจอแสดงผล
จอแสดงผลถูกควบคุมโดยชิป SSD1306 ซึ่งรองรับโปรโตคอลการสื่อสารห้าโปรโตคอลและหนึ่งในนั้นคือ I2C ข้อมูลในโพรโทคอลนี้ส่งผ่านสายไฟเพียงสองเส้นและยิ่งใช้สายน้อยกว่าก็ยิ่งดีดังนั้นมันจึงเหมาะกับเรามาก แต่! มีโมดูลที่มีโปรโตคอล SPI และแม้กระทั่งการสลับโปรโตคอลดังนั้นโปรดระมัดระวังเมื่อซื้อโมดูลนี้
ข้อสรุปที่ใช้:
จอแสดงผล OLED - SCL / SCK (นาฬิกา) และ SDA (ข้อมูล), กำลัง "Plus" (VCC) และกำลังไฟ "Minus" (GND)
ข้อสรุปที่ใช้:
Arduino UNO - SCL / SCK บน A5 และ SSD บน A4, กำลังไฟ "Plus" (+ 5V) และกำลังไฟ "Minus" (GND)
เชื่อมต่อจอแสดงผลกับ Arduino:
- Vcc - 5V
- GND - GND
- 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:
//github.com/adafruit/Adafruit-GFX-Library
//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 ในเท็กซ์เอดิเตอร์และค้นหาบรรทัด:
// # define SSD1306_128_64 #define SSD1306_128_32 // #define SSD1306_96_16
ยกเลิกหมายเหตุบรรทัด:
#define SSD1306_128_64
มันควรจะเป็นแบบนี้:
#define SSD1306_128_64 // # define SSD1306_128_32 // #define SSD1306_96_16
หากข้อผิดพลาดเป็นอีกครั้งมีความจำเป็นต้องตรวจสอบการเชื่อมต่อที่ถูกต้อง
หลังจากการดาวน์โหลดเสร็จสมบูรณ์คุณจะเห็นภาพเคลื่อนไหวทดสอบบนหน้าจอซึ่งหมายความว่าคุณได้กำหนดค่าจอแสดงผล OLED ของคุณเรียบร้อยแล้ว
เมื่อคุณเพลิดเพลินกับภาพเคลื่อนไหวนี้คุณสามารถไปยังขั้นตอนถัดไปได้
ขั้นตอนที่ 7: เขียนข้อความของคุณเอง
หากต้องการเขียนข้อความของคุณเองก่อนอื่นให้สร้างร่างใหม่ในสภาพแวดล้อมการเขียนโปรแกรม ArduinoIDE
ในส่วนหัวเราเชื่อมต่อ 4 ไลบรารี:
#include #include #include #include
จากนั้นเราเขียนโปรโตคอลรีเซ็ต:
#define 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 ();
ในตอนท้ายอย่าลืมที่จะเขียน display.displayเพื่อให้ภาพปรากฏบนหน้าจอมิฉะนั้นคุณจะได้รับเป็นโมฆะ
หากคุณทำทุกอย่างถูกต้องจะมีข้อความปรากฏบนจอแสดงผล
นี่คือ CODE Starting_with_Arduino_OLED.ino ของโปรแกรมของเรา:
code.zip 946 b (ดาวน์โหลด: 1366)
Share
Pin
Tweet
Send
Share
Send