05 OLED-display

1. Вывод изображения в формате bitmap.

Пример изображений:


Программа-конвертер изображений в формате bitmap в шестнадцатеричные коды для OLED-дисплея.

Download : LCD Assistant.zip

В папке с проектом - два файла: прошивка и файл 

с массивом, содержащим коды изображения в формате bitmap. 

graphics.c Загрузить

oled-1.ino

#include <OLED_I2C.h>  OLED  myOLED(SDA, SCL, 8);  extern uint8_t SmallFont[]; extern uint8_t cozmo1[]; extern uint8_t cozmo2[];  uint8_t* bm; int pacy;  void setup() {   myOLED.begin();   myOLED.setFont(SmallFont);   randomSeed(analogRead(7)); }  void loop() {   myOLED.clrScr();   myOLED.drawBitmap(0, 0, cozmo1, 128, 64);   //myOLED.drawRect(0, 0, 127, 63);   myOLED.update();   delay(2000);      myOLED.drawBitmap(0, 0, cozmo2, 128, 64);     myOLED.update();     delay(2000); } 

2. Вывод изображения прогресс-бара с числовой индикацией на OLED-дисплей.

#include <OLED_I2C.h>  #define OLED_HIGHT 64 #define OLED_WIDTH 128 #define W_PROGRESS_BAR 15 OLED myOLED(SDA, SCL, 8);  extern uint8_t SmallFont[]; extern uint8_t MediumNumbers[]; extern uint8_t BigNumbers[];  int x1, x2, y1, y2; int step_x = 1;  void setup() {   myOLED.begin();   myOLED.setFont(BigNumbers);   randomSeed(analogRead(7));   x1 = 0;   y1 = OLED_HIGHT/2 - W_PROGRESS_BAR/2;   y2 = OLED_HIGHT/2 + W_PROGRESS_BAR/2;   myOLED.drawRect(0, 0, OLED_WIDTH-1, OLED_HIGHT-1); }  void loop() {   if (step_x == 1) {     myOLED.drawLine(x1, y1, x1, y2);   }   if (step_x == -1) {     myOLED.clrLine(x1, y1, x1, y2);   }   x1+=step_x;   if (x1 > OLED_WIDTH - 1) {     step_x = -1;   }   if (x1 < 0) {     step_x = 1;      }   delay(30);   myOLED.printNumI(x1, CENTER, 0);   myOLED.update();    }