És a ( byte custchar [8][8]= ) 4-5-ös karaktert miért nem lehet a számok formájának javítására felhasználni.
Kód: Egész kijelölése
#include <SD.h>
#include <LiquidCrystal.h>
LiquidCrystal lcd(4, 5, 6, 7, 8, 9);
byte custchar[8][8] = {
{
B11111,
B11111,
B00000,
B00000,
B00000,
B00000,
B00000,
B00000
}, {
B00000,
B00000,
B00000,
B00000,
B00000,
B00000,
B11111,
B11111
}, {
B11111,
B11111,
B00000,
B00000,
B00000,
B00000,
B11111,
B11111
}, {
B00000,
B00000,
B00000,
B00000,
B01110,
B01110,
B00110,
B00010
}, {
B11111,
B11111,
B00000,
B00000,
B00000,
B00000,
B00111,
B01111
}, {
B00000,
B00000,
B00000,
B00000,
B00000,
B00000,
B00000,
B00000
}, {
B00000,
B00000,
B00000,
B00000,
B00000,
B00000,
B00000,
B00000
}, {
B00111,
B01111,
B11111,
B11111,
B11111,
B11111,
B11111,
B11111
}
};
byte bignums[10][2][3] = {
{
{7, 0, 7},
{7, 1, 7}
},{
{0, 7, 6},
{1, 7, 1}
},{
{2, 2, 7},
{7, 1, 1}
},{
{0, 2, 7},
{1, 1, 7}
},{
{7, 1, 7},
{6, 6, 7}
},{
{7, 2, 2},
{1, 1, 7}
},{
{7, 2, 2},
{7, 1, 7}
},{
{0, 0, 7},
{6, 7, 6}
},{
{7, 2, 7},
{7, 1, 7}
},{
{7, 2, 7},
{6, 6, 7}
}
};
void loadchars() {
lcd.command(64);
for (int i = 0; i < 8; i++)
for (int j = 0; j < 8; j++)
lcd.write(custchar[i][j]);
lcd.home();
}
void printbigchar(byte digit, byte col, byte row, byte symbol = 0) {
if (digit > 9) return;
for (int i = 0; i < 2; i++) {
lcd.setCursor(col, row + i);
for (int j = 0; j < 3; j++) {
lcd.write(bignums[digit][i][j]);
}
}
/* if (symbol == 1) { // ez a rész nem fontos ,ki van iktatva
lcd.setCursor(col + 3, row + 1);
lcd.write(3);
} else if (symbol == 2) {
lcd.setCursor(col + 3, row);
lcd.write(4);
lcd.setCursor(col + 3, row + 1);
lcd.write(4);
}*/
}
void setup() {
pinMode(13, OUTPUT);
lcd.begin(16,2);
loadchars();
digitalWrite(13, HIGH);
}
int i;
void loop() {
for (i=0;i<60;i++){
printbigchar(i/10, 1, 0);
printbigchar(i%10, 5, 0);
delay(500);
}
if (i==60){
i=0;
}}