LCD 16x2
- Войдите на сайт для отправки комментариев
Пт, 29/04/2016 - 21:48
Понадобилось сделать большие цифры 3x2. Вот 0 и 1
uint8_t nol1[8] = {B00111,B01111,B11110,B11100,B11100,B11100,B11100,B11100};
uint8_t nol2[8] = {B11111,B11111,B00000,B00000,B00000,B00000,B00000,B00000};
uint8_t nol3[8] = {B11100,B11110,B01111,B00111,B00111,B00111,B00111,B00111};
uint8_t nol4[8] = {B11100,B11100,B11100,B11100,B11100,B11110,B01111,B00111};
uint8_t nol5[8] = {B00000,B00000,B00000,B00000,B00000,B00000,B11111,B11111};
uint8_t nol6[8] = {B00111,B00111,B00111,B00111,B00111,B01111,B11110,B11100};
//1
uint8_t odin1[8] = {B00000,B00000,B00001,B00011,B00111,B00000,B00000,B00000};
uint8_t odin2[8] = {B01111,B11111,B11111,B11111,B11111,B11111,B11111,B11111};
uint8_t odin3[8] = {B00000,B00000,B00000,B00000,B00000,B00000,B00000,B00000};
uint8_t odin4[8] = {B00000,B00000,B00000,B00000,B00000,B00000,B00011,B00111};
uint8_t odin5[8] = {B11111,B11111,B11111,B11111,B11111,B11111,B11111,B11111};
uint8_t odin6[8] = {B00000,B00000,B00000,B00000,B00000,B00000,B11000,B11100};
Но проблема в том, что отобразив одну цифру, нельзя отобразить другую, т.к все CreateChar() заняты, что же делать ? как быть?И на табло светится последняя выводимая цифра, если вывести сразу две разных. Использую функцию
void ShowNum(int x,int str){
switch(x){
case 0:
lcd.createChar(1, nol1);
lcd.createChar(2, nol2);
lcd.createChar(3, nol3);
lcd.createChar(4, nol4);
lcd.createChar(5, nol5);
lcd.createChar(6, nol6);
lcd.clear();
lcd.setCursor(str,0);
lcd.print("\1");
lcd.print("\2");
lcd.print("\3");
lcd.setCursor(str,1);
lcd.print("\4");
lcd.print("\5");
lcd.print("\6");
break;
case 1:
lcd.createChar(1, odin1);
lcd.createChar(2, odin2);
lcd.createChar(3, odin3);
lcd.createChar(4, odin4);
lcd.createChar(5, odin5);
lcd.createChar(6, odin6);
lcd.clear();
lcd.setCursor(str,0);
lcd.print("\1");
lcd.print("\2");
lcd.print("\3");
lcd.setCursor(str,1);
lcd.print("\4");
lcd.print("\5");
lcd.print("\6");
break;
}
}
Взять графический дисплей, а не текстовый.
http://arduino.ru/forum/programmirovanie/bolshoi-tekst-na-lcd-1602