#include <Arduino.h>
#include <U8g2lib.h>
U8G2_SSD1306_128X64_NONAME_F_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE);
void setup(void) {
u8g2.begin();
Serial.begin(115200);
u8g2.setFont(u8g2_font_inb30_mr);
u8g2.setFontMode(0);
}
unsigned long startTime = millis();
u8g2_uint_t offset;
u8g2_uint_t width;
u8g2_uint_t x ;
void strip(){
int ran =random(0,64);
x =offset;
do {
x+=-1;
if (millis() - startTime >= 500){
for(int Pix=0;Pix<ran;Pix++)
{
u8g2.setDrawColor(2);
u8g2.drawBox(0,20,128,48);
u8g2.setDrawColor(1);
u8g2.drawLine(x, Pix+20, x, Pix+20);
Serial.print("Movement value: ");
Serial.println(x);
Serial.print("Line length: ");
Serial.println(Pix);
// u8g2.sendBuffer();
}
startTime = millis();
}
} while( x < u8g2.getDisplayWidth() );
offset+=1; // scroll by one pixel
if ( (u8g2_uint_t)offset < (u8g2_uint_t)-width )
offset = 0;
}
void loop() {
if (millis() - startTime >= 500){
strip();
u8g2.updateDisplay();
startTime = millis();
}
}