// Пример на Adafruit LCD OLED 0.96'' 128x64 I2C дисплей синий экран индикатор
Дата публикации: 01.03.2015 12:35:41
#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define OLED_RESET 4 // not used / nicht genutzt bei diesem Display
Adafruit_SSD1306 display(OLED_RESET);
void setup() {
// Инициализируем адрес
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
// random start seed / zufälligen Startwert für Random-Funtionen initialisieren
randomSeed(analogRead(0));
// Показывем картинку с буфера
display.display();
delay(2000);
// Чистим буфер
display.clearDisplay();
}
#define DRAW_DELAY 118
#define D_NUM 47
int i;
void loop() {
display.clearDisplay();
// set text color / Textfarbe setzen
display.setTextColor(WHITE);
// set text size / Textgroesse setzen
display.setTextSize(1);
// set text cursor position / Textstartposition einstellen
display.setCursor(1,0);
// show text / Text anzeigen
display.println("HOME SECYRITY SISTEM");
display.setCursor(14,56);
display.println("ip:192.162.0.13");
display.setTextSize(2);
display.setCursor(34,15);
display.println("SYSTEM");
display.setCursor(30,34);
display.println("ON!");
display.display();
delay(8000);
display.clearDisplay();
// invert the display / Display invertieren
display.invertDisplay(true);
delay(2000);
display.invertDisplay(false);
delay(1000);
// Отрисовка рамдомных пикселей
for(i=0;i<380;i++){
display.drawPixel(random(128),random(64), WHITE);
display.display();
}
delay(DRAW_DELAY);
display.clearDisplay();
// Отрисовка рамдомных линий
for(i=0;i<D_NUM;i++){
display.drawLine(random(128),random(64),random(128),random(64), WHITE);
display.display();
delay(DRAW_DELAY);
display.clearDisplay();
}
// рисуем треугольники
for(i=0;i<D_NUM;i++){
if(random(2))display.drawTriangle(random(128),random(64),random(128),random(64), random(128),random(64), WHITE); // normal
else display.fillTriangle(random(128),random(64),random(128),random(64), random(128),random(64), WHITE); // filled / ausgefuellt
display.display();
delay(DRAW_DELAY);
display.clearDisplay();
}
// Рисуем разные фигуры
for(i=0;i<D_NUM;i++){
int rnd=random(4);
if(rnd==0)display.drawRect(random(88),random(44),random(40),random(20), WHITE); // normal
else if(rnd==1)display.fillRect(random(88),random(44),random(40),random(20), WHITE); // filled / ausgefuellt
else if(rnd==2)display.drawRoundRect(random(88),random(44),random(30)+10,random(15)+5,random(5), WHITE); // normal with rounded edges / normal mit abgerundeten Ecken
else display.fillRoundRect(random(88),random(44),random(30)+10,random(15)+5,random(5), WHITE); // filled with rounded edges / ausgefuellt mit mit abgerundeten Ecken
display.display();
delay(DRAW_DELAY);
display.clearDisplay();
}
// Рисуем кружки
for(i=0;i<D_NUM;i++){
if(random(2))display.drawCircle(random(88)+20,random(44)+20,random(10), WHITE); // normal
else display.fillCircle(random(88)+20,random(44)+20,random(10), WHITE); // filled / ausgefuellt
display.display();
delay(DRAW_DELAY);
display.clearDisplay();
}
}