PHP код:
#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
Adafruit_SSD1306 display(4); //OLED_RESET
#define LINE 20 // отступ линии от левого края
#define W_PRBAR 15 // ширина элемента прогресс бара
static const unsigned char PROGMEM logo16_glcd_bmp[] =
{ B11111111, B11111111,
B11111111, B11111111,
B11111111, B11111111,
B11111111, B11111111,
B11111111, B11111111,
B11111111, B11111111,
B11111111, B11111111,
B11111111, B11111111,
B11111111, B11111111,
B11111111, B11111111,};
int temp[3];
void setup(){
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
display.clearDisplay(); // Очистить буфер.
display.setTextColor(WHITE); // Цвет текста.
_display_add_fuel(70);
display.display();
}
void loop() {
_display_add_temp(random(-40, 45));
_display_add_gear(random(0, 5));
_display_add_fuel(random(0, 70));
delay(2000);
}
int _display_add_fuel(int a){ //,display.height()display.width()
if (a < temp[0]){
for (int f=0; f< a; f+=5) {
display.drawBitmap(display.width() - W_PRBAR, f , logo16_glcd_bmp, W_PRBAR, 4, BLACK);
display.display();
}
}
for (int f=0; f< a; f+=5) {
display.drawBitmap(display.width() - W_PRBAR, display.height() - f , logo16_glcd_bmp, W_PRBAR, 4, WHITE);
}
display.drawLine(display.width() - LINE, display.height(),display.width() - LINE , 0, WHITE); // линия
display.display();
temp[0] = a;
}
int _display_add_temp(int b){
display.setTextSize(2);
display.setTextColor(BLACK);
display.setCursor(50,0);
display.println(temp[1]);
display.display();
display.setTextColor(WHITE);
display.setCursor(50,0);
display.println(b);
temp[1] = b;
display.display();
}
int _display_add_gear(int c){
display.setTextSize(8);
display.setTextColor(BLACK);
display.setCursor(0,0);
display.println(temp[2]);
display.display();
display.setTextColor(WHITE);
display.setCursor(0,0);
display.println(c);
temp[2] = c;
display.display();
}