// NOKIA5110_HELLOWORLD.ino
// Test file for NOKIA5110_TEXT showing use most basic use case "HELLO WORLD" at 0,0 with font number one, software SPI.(defaults) for arduino UNO
// URL: https://github.com/gavinlyonsrepo/NOKIA5110_TEXT
// Include the library
#include <NOKIA5110_TEXT.h>
#include <FastLEDsupport.h> // вкл поддержку
// LCD Nokia 5110 pinout left to right
// RST / CE / DC / DIN / CLK / VCC /LIGHT / GND
#define RST 2
#define CE 3
#define DC 4
#define DIN 5
#define CLK 6
// Create an LCD object
NOKIA5110_TEXT mylcd(RST, CE, DC, DIN, CLK);
#define inverse false // set to true to invert display pixel color
#define contrast 0xB2 // default is 0xBF set in LCDinit, Try 0xB1 <-> 0xBF if your display is too dark
#define bias 0x13 // LCD bias mode 1:48: Try 0x12 or 0x13 or 0x14
#define FontNumber 1 // 1-9, 1 is default, Comment in defines at top of NOKIA5110_TEXT.h if using non default
// -=-=-=-=- microLED
#define STRIP_PIN 5 // пин ленты
#define STRIP2_PIN 6 // пин ленты
#define NUMLEDS 150 // кол-во светодиодов
#define COLOR_DEBTH 3
#include <microLED.h> // подключаем библу
microLED<NUMLEDS, STRIP_PIN, MLED_NO_CLOCK, LED_WS2818, ORDER_GRB, CLI_AVER> strip;
microLED<NUMLEDS, STRIP2_PIN, MLED_NO_CLOCK, LED_WS2818, ORDER_GRB, CLI_AVER> strip2;
void setup() {
delay(500);
mylcd.LCDInit(inverse, contrast, bias); // init the lCD
mylcd.LCDClear(0x00); // Clear whole screen
strip.setBrightness(255);
strip2.setBrightness(255);
}
void loop() {
mylcd.LCDFont(FontNumber); // Set the font
mylcd.LCDgotoXY(0, 0); // (go to (X , Y) (0-84 columns, 0-5 blocks) top left corner
mylcd.LCDString("HELLO WORLD"); // print
// delay(1000);
// раскомментируй нужный эффект
rainbow(); // бегущая радуга во всю ленту
// breathing(); // "дыхание" яркости, применяется ко всем эффектам
strip.show(); // вывод
strip2.show(); // вывод
delay(30); // 30 кадров в секунду
}
void rainbow() {
static byte counter = 0;
for (int i = 0; i < NUMLEDS; i++) {
strip.set(i, mWheel8(counter + i * 255 / NUMLEDS)); // counter смещает цвет
strip2.set(i, mWheel8((counter+30) + i * 255 / NUMLEDS)); // counter смещает цвет
}
counter += 3; // counter имеет тип byte и при достижении 255 сбросится в 0
}
void breathing() {
static int dir = 1;
static int bright = 0;
bright += dir * 5; // 5 - множитель скорости изменения
if (bright > 255) {
bright = 255;
dir = -1;
}
if (bright < 0) {
bright = 0;
dir = 1;
}
strip.setBrightness(bright);
}