#include <time.h>
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 10, 9, 8, 7);
uint8_t dir = 1, col = 0, lin = 0;
byte customChar[8] = {0};
int8_t memOffset = 0;
void CreatePrintCustomChars(){
for(uint8_t j = 0; j < 8; j++){
for(uint8_t i = 0; i < 8; i++)
customChar
[i
] = rand() % 32; lcd.createChar(memOffset++, customChar);
lcd.write(uint8_t(memOffset));
}
}
void setup(){
Serial.begin(9600);
lcd.begin(20, 4);
lcd.setCursor(lin, col);
}
void loop(){
for(uint8_t i = 0; i < 80; i++){
lcd.setCursor(lin, col);
CreatePrintCustomChars();
if(col == 19){
col = 0;
lin = (lin + 1) % 4;
}else
col++;
if(dir)
memOffset += 1;
else
memOffset -= 1;
if (memOffset < 0) {
dir ^= 1;
memOffset = 1;
}else if (memOffset > 7) {
dir ^= 1;
memOffset = 6;
}
delay(100);
}
}
I2luY2x1ZGUgPHRpbWUuaD4KI2luY2x1ZGUgPExpcXVpZENyeXN0YWwuaD4KCkxpcXVpZENyeXN0YWwgbGNkKDEyLCAxMSwgMTAsIDksIDgsIDcpOwoKdWludDhfdCBkaXIgPSAxLCBjb2wgPSAwLCBsaW4gPSAwOwpieXRlIGN1c3RvbUNoYXJbOF0gPSB7MH07CmludDhfdCBtZW1PZmZzZXQgPSAwOwoKdm9pZCBDcmVhdGVQcmludEN1c3RvbUNoYXJzKCl7CiAgIGZvcih1aW50OF90IGogPSAwOyBqIDwgODsgaisrKXsKICAgICAgZm9yKHVpbnQ4X3QgaSA9IDA7IGkgPCA4OyBpKyspCiAgICAgICAgIGN1c3RvbUNoYXJbaV0gPSByYW5kKCkgJSAzMjsKICAgICAgbGNkLmNyZWF0ZUNoYXIobWVtT2Zmc2V0KyssIGN1c3RvbUNoYXIpOwogICAgICBsY2Qud3JpdGUodWludDhfdChtZW1PZmZzZXQpKTsKICAgfQp9Cgp2b2lkIHNldHVwKCl7CiAgIHNyYW5kKHRpbWUoTlVMTCkpOwogICBTZXJpYWwuYmVnaW4oOTYwMCk7CgogICBsY2QuYmVnaW4oMjAsIDQpOwogICBsY2Quc2V0Q3Vyc29yKGxpbiwgY29sKTsKfQoKdm9pZCBsb29wKCl7CgogICBmb3IodWludDhfdCBpID0gMDsgaSA8IDgwOyBpKyspewogICAgICBsY2Quc2V0Q3Vyc29yKGxpbiwgY29sKTsKICAgICAgQ3JlYXRlUHJpbnRDdXN0b21DaGFycygpOwogICAgICBpZihjb2wgPT0gMTkpewogICAgICAgICBjb2wgPSAwOwogICAgICAgICBsaW4gPSAobGluICsgMSkgJSA0OwogICAgICB9ZWxzZQogICAgICAgICBjb2wrKzsKCgkJaWYoZGlyKQoJCSAgIG1lbU9mZnNldCArPSAxOwoJCWVsc2UKCQkgICBtZW1PZmZzZXQgLT0gMTsKCiAgICAgIGlmIChtZW1PZmZzZXQgPCAwKSB7CiAgICAgICAgIGRpciBePSAxOwogICAgICAgICBtZW1PZmZzZXQgPSAxOwogICAgICB9ZWxzZSBpZiAobWVtT2Zmc2V0ID4gNykgewogICAgICAgICBkaXIgXj0gMTsKICAgICAgICAgbWVtT2Zmc2V0ID0gNjsKICAgICAgfQoKICAgICAgZGVsYXkoMTAwKTsKICB9Cn0K