#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#include <Keypad.h>
Adafruit_SSD1306 display(4);
// ustawienie klawiatury
const byte ROWS = 4; //cztery rzędy
const byte COLS = 3; //trzy kolumny
char hexaKeys[ROWS][COLS] = {
{'1','2','3'},
{'4','5','6'},
{'7','8','9'},
{'*','0','#'}};
// ustawienie komunikatów
char message1[]="1 7:30 IC GORNIK Gliwice";
char message2[]="2 7:45 IC LAJKONIK Krakow Gl.";
char message3[]="3 8:00 PR Wisla Glebce";
char message4[]="4 8:05 TLK Czestochowa";
char message5[]="1 11:55 PR Kedzierzyn Kozle";
char message6[]="2 12:00 PR Zwardon";
char message7[]="3 12:10 TLK Rybnik";
char message8[]="4 12:25 IC NEPTUN Gdynia";
char message9[]="1 19:00 PR Myslowice";
char message10[]="2 19:20 Os. Katowice";
char message11[]="3 19:45 TLK Tychy";
char message12[]="4 20:00 IC Warszawa Wsch.";
char message13[]="1 21:00 IC Praga";
char message14[]="2 22:05 IC Wieden";
char message15[]="3 22:40 IC Berlin";
char message16[]="4 23:20 IC Poznan Gl";
int x, minX;
// podłączenie klawiatury do Arduino
byte rowPins[ROWS] = {8, 7, 6, 5}; //Piny, do których podłączamy wyprowadzenia od rzędów
byte colPins[COLS] = {4, 3, 2}; //Piny, do których podłączamy wyprowadzenia od kolumn
Keypad keypad = Keypad( makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS );
void setup(){
Serial.begin(9600);
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
display.setTextSize(1);
display.setTextColor(WHITE);
display.setTextWrap(false);
x = display.width();
minX = -8 * strlen(message1);
}
void loop(){
char key = keypad.getKey();
Serial.println(key);
delay(1000);
if(key == '1'){
display.clearDisplay();
display.setCursor(x,0);
display.setTextSize(1);
display.print(message1);
display.setTextSize(1);
display.setCursor(x,8);
display.print(message2);
display.setCursor(x,16);
display.setTextSize(1);
display.print(message3);
display.setCursor(x,24);
display.setTextSize(1);
display.print(message4);
display.display();
}
else if(key == '2'){
display.clearDisplay();
display.setCursor(x,0);
display.setTextSize(1);
display.print(message5);
display.setTextSize(1);
display.setCursor(x,8);
display.print(message6);
display.setCursor(x,16);
display.setTextSize(1);
display.print(message7);
display.setCursor(x,24);
display.setTextSize(1);
display.print(message8);
display.display();
}
else if(key == '3'){
display.clearDisplay();
display.setCursor(x,0);
display.setTextSize(1);
display.print(message9);
display.setTextSize(1);
display.setCursor(x,8);
display.print(message10);
display.setCursor(x,16);
display.setTextSize(1);
display.print(message11);
display.setCursor(x,24);
display.setTextSize(1);
display.print(message12);
display.display();
}
else if(key == '4'){
display.clearDisplay();
display.setCursor(x,0);
display.setTextSize(1);
display.print(message13);
display.setTextSize(1);
display.setCursor(x,8);
display.print(message14);
display.setCursor(x,16);
display.setTextSize(1);
display.print(message15);
display.setCursor(x,24);
display.setTextSize(1);
display.print(message16);
display.display();
}
}
Loading
ssd1306
ssd1306