17-12-2020, 12:33
Znalazłem bibliotekę polskie znaki master #include <PolskieZnaki.h> zainstalowałem ale zamiast pokazać ó to krzaczki.Chce uzyskać ł,ó,ć,ś.
Szukam prostego przykładowego menu na wyświetlacz pod bibliotekę hd44780. Próbowałem inne na LiquidCrystal_I2C.h ale nie wyświetla. Wyświetla dwa paski. Pomocy,Plisss. I co zmienić i poprawić? Uczę się na przykładach. Poprawiłem
Szukam prostego przykładowego menu na wyświetlacz pod bibliotekę hd44780. Próbowałem inne na LiquidCrystal_I2C.h ale nie wyświetla. Wyświetla dwa paski. Pomocy,Plisss. I co zmienić i poprawić? Uczę się na przykładach. Poprawiłem
Kod:
#include <Wire.h>
#include <hd44780.h> // main hd44780 header
#include <hd44780ioClass/hd44780_I2Cexp.h> // i2c expander i/o class header
#define PRZYCISKUp 12
#define PRZYCISKDown 11
#define PRZYCISKOK 10
#define PRZYCISKRzut 9
#define PRZYCISK 7
#define wyswietlacz
//#define CZAS_WYSWIETLANIA_LICZBY 2000
int ostatniStan = LOW; //BO PULLUP
int losowaLiczba0;
int losowaLiczba1;
int losowaLiczba2;
int losowaLiczba3;
int losowaLiczba4;
int licznik = 0;
int cyfra;
int r = 0;
int s = 0;
int t = 0;
int z = 0;
int x = 0;
int gracz1;
int gracz2;
int gracz3;
int gracz4;
/*-----( Declare Constants )-----*/
// LCD geometry
const int LCD_COLS = 20;
const int LCD_ROWS = 4;
/*-----( Declare objects )-----*/
hd44780_I2Cexp lcd; // declare lcd object: auto locate & auto config expander chip
/*-----( Declare Variables )-----*/
int status;
void setup() /*----( SETUP: RUNS ONCE )----*/
{
status = lcd.begin(LCD_COLS, LCD_ROWS);
if(status) // non zero status means it was unsuccesful
{
// hd44780 has a fatalError() routine that blinks an led if possible
// begin() failed so blink error code using the onboard LED if possible
hd44780::fatalError(status); // does not return
}
Serial.begin(9600);
}/*--(end setup )---*/
void loop() /*----( LOOP: RUNS CONSTANTLY )----*/
{
// Print a message to the LCD.
lcd.setCursor(0, 0);
lcd.print(" Witam Wszystkich");
lcd.setCursor(0, 1);
lcd.print(" Gra w 1000");
lcd.setCursor(0, 2);
lcd.print(" Kenshin Himura");
lcd.setCursor(0,3 );
lcd.print(" 2020");
delay(1000);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Wybor Ilosci Graczy:");
delay(1000);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Graczy 2. ");
lcd.setCursor(0,1);
lcd.print(" 3. ");
lcd.setCursor(0,2);
lcd.print(" 4. ");
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Gracz 1- ");
lcd.setCursor(0, 1);
lcd.print("Rzut koscmi: ");
lcd.setCursor(0,2 );
lcd.print("Kosci:1 2 3 4 5");
lcd.setCursor(0,3 );
lcd.print("Wynik: = " );
delay(1000);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Gracz 1- ");
lcd.setCursor(0, 1);
lcd.print("Gracz 2-");
lcd.setCursor(0, 2);
lcd.print("Gracz 3-");
lcd.setCursor(0, 3);
lcd.print("Gracz 4-");
lcd.setCursor(8, 0);
lcd.print(" 44");
lcd.setCursor(8, 1);
lcd.print(" 60");
lcd.setCursor(8, 2);
lcd.print(" 120");
lcd.setCursor(8, 3);
lcd.print("1000");
lcd.print(licznik);
licznik++;
r = random(1, 7);
Serial.println(r);
s = random(1, 7);
Serial.println(s);
t = random(1, 7);
Serial.println(t);
Serial.println(r);
z = random(1, 7);
Serial.println();
x = random(1, 7);
Serial.println(x);
lcd.backlight(); // zalaczenie podswietlenia
delay(1000);
//W górę
while (digitalRead(PRZYCISKUp) == LOW){} {
digitalWrite(PRZYCISKUp, LOW);
Serial.print(PRZYCISKUp, HIGH);
while (digitalRead(PRZYCISKUp) == HIGH){}
digitalWrite(PRZYCISKUp, HIGH);
Serial.print(PRZYCISKUp, LOW);
//W dół
while (digitalRead(PRZYCISKDown) == LOW){} {
digitalWrite(PRZYCISKDown, LOW);
Serial.print(PRZYCISKDown, HIGH);
while (digitalRead(PRZYCISKDown) == HIGH){}
digitalWrite(PRZYCISKDown, HIGH);
Serial.print(PRZYCISKDown, LOW);
//Zatwerdzenie
while (digitalRead(PRZYCISKOK) == LOW){} {
digitalWrite(PRZYCISKOK, LOW);
Serial.print(PRZYCISKOK, HIGH);
while (digitalRead(PRZYCISKOK) == HIGH){}
digitalWrite(PRZYCISKOK, HIGH);
Serial.print(PRZYCISKOK, LOW);
//Rzut kość
while (digitalRead(PRZYCISKRzut) == LOW){} {
digitalWrite(PRZYCISKRzut, LOW);
Serial.print(PRZYCISKRzut, HIGH);
while (digitalRead(PRZYCISKRzut) == HIGH){}
digitalWrite(PRZYCISKRzut, HIGH);
Serial.print(PRZYCISKRzut, LOW);
losowaLiczba0 = random(1, 7);
Serial.println(losowaLiczba0,r);
losowaLiczba1 = random(1, 7);
Serial.println(losowaLiczba1);
losowaLiczba1 = random(1, 7);
Serial.println(losowaLiczba2);
losowaLiczba3 = random(1, 7);
Serial.println(losowaLiczba3);
losowaLiczba4 = random(1, 7);
Serial.println(losowaLiczba4);
if (digitalRead(PRZYCISK) ==LOW) { //wyświetl liczbę tylko, jeśli naciśnięto przycisk
delay(PRZYCISK);//Czekaj na naciśnięcie przycisku
wyswietlacz(losowaLiczba0); //Wyswietl wartosc na wyswietlaczu
wyswietlacz(losowaLiczba1); //Wyswietl wartosc na wyswietlaczu
wyswietlacz(losowaLiczba2); //Wyswietl wartosc na wyswietlaczu
wyswietlacz(losowaLiczba3); //Wyswietl wartosc na wyswietlaczu
wyswietlacz(losowaLiczba4); //Wyswietl wartosc na wyswietlaczu
lcd.clear();
}
}
}
}
}
}/* --(end main loop )-- */
/*-----( Declare User-written Functions )-----*/
/* ( THE END ) */