จอ Oled ที่ติดตั้งบนชิลใช้รูปแบบการเชื่อมต่อ แบบ I2C ซึ่งใช้สายสัญญาณเชื่อมต่อเพียงแค่สองเส้น คือ SDA และ SCL บอร์ด Arduino Nano จะมี Pin ที่ใช้เชื่อมต่อ I2C อยู่ที่ Pin A4 และ A5 เนื่องจากจอ Oled มีชิพที่ใช้ประมวลผลจึงจำเป็นต้องมีการเรียนใช้ Library เพิ่มเติม
Library มีชื่อว่า Adafruit_SSD1306 และ Adafruit_GFX_Library
ขั้นตอนการดาวโหลดและติดตั้ง อ่านที่นี้
Library ยังไม่รองรับภาษาไทย เพราะฉะนั้นพิมพ์ภาษาไทยไม่ได้ครับ
บอร์ด KruRo Nano
#include <Wire.h> //เรียกใช้ Library Wire เป็นการเชื่อม รูปแบบ I2C
#include <SPI.h> //เรียกใช้ Library SPI เป็นการเชื่อม รูปแบบ SPI
#include <Adafruit_GFX.h> //เรียกใช้ Library Adafruit_GFX เพื่อใช้วาดงานกราฟฟิคบนจอ
#include <Adafruit_SSD1306.h> //เรียกใช้ Library Adafruit_SSD1306 เพื่อใช้งานที่ใช้ ชิพ SSD1306
#define display_RESET 4 //กำหนดค่าเริ่มต้นของจอ
Adafruit_SSD1306 display(display_RESET); //กำหนดชื่อเรียกของจอ ชื่อว่า display
void setup() {
display.begin(SSD1306_SWITCHCAPVCC,0x3C); // กำหนดแอดเดรสของพอร์ตจอเป็น 0x3C (for the 128x64)
}
void loop(){
display.clearDisplay(); //ล้างหน้าจอ
display.setTextColor(WHITE,BLACK); //สีอักษรเป็นสีขาว ,พื้นหลังดำ จอที่ใช้ไม่สามารถเปลี่ยนสีได้
display.setCursor(40, 0); // เซตตำแหน่ง 40,0
display.setTextSize(2); // เซตขนาดอักษรมีขนาดเป็น 2
display.println("TKL"); // พิมพ์คำว่า TKL
display.setTextSize(1); // เซตขนาดอักษรมีขนาดเป็น 2
display.setCursor(20, 20); // เซตตำแหน่ง 40,0
display.print("ROBOT"); // พิมพ์คำว่า ROBOT
display.println("Laboratory"); // พิมพ์บรรทัดใหม่หลังคำว่า Laboratory
display.display(); // สั่งให้ จอแสดงผล
}
เนื่องจากการแสดงผลของจอ Oled มีการกำหนด Pixel ตำแหน่งเริ่มต้น เพราะฉะนั้นการจะทำให้ตัวอักษรเลื่อนได้จำเป็นต้องมีการเปลี่ยนตำแหน่งของ Cursor อยู่ตลอดเวลาในกรณีนี้จะยกตัวอย่างการเขียน Code แบบให้ตัวอักษรเลื่อนไปทางซ้าย โดยใช้คำสั่ง For เข้าช่วย