#include <TinyWireM.h>
#include <Tiny4kOLED.h>
boolean tryb_wyboru = true;
char znak;
byte inPins[] = {4, 3, 5};
char buffer[128];
const char*aArray[][1] { "adwokat obrony - defence",
"ambasador - ambassador"
};
const char* bArray[][10] { "badanie opinii publicznej - opinion poll",
"bandyta uliczny - mugger",
"banknot - note",
"bez pracy - out of work",
"bezdomnosc - homelessness",
"bezdomny - homeless",
"bezrobocie - unemployment",
"bieda - poverty",
"biurokracja - bureaucracy",
"burmistrz - Mayor",
"byc aresztowanym - be under arrest"
};
const char* cArray[][4] { "cywil - chilian",
"czarny rynek - black market",
"czlonek (np. partii) - member",
"czlonek partii - party member",
"czolg - tank"
};
const char* dArray[][7] { "demokracja - democracy",
"demokratyczny - democratic",
"dochod - income",
"dowody - evidence",
"dozywocie - life imprisonment",
"drobne przedsiebiorstwo - small business",
"dyskryminacja - discrimination",
"dyskryminowac kogok - discriminate against sb"
};
const char* eArray[][7] {
"ekonomia - economics",
"emigracja - emigration",
"emigrowac - emigrate"
};
const char* fArray[][5] { "falszywy telefon - hoax call",
"federalny - federal",
"finanse - finance",
"finansowy - financial",
"flaga panstwowa - national flag",
"fundusz - fund"
};
const char* gArray[][6] { "gaz trujący - poison gaz",
"glosowac na - vote for",
"glowa panstwa - head of state",
"gospodarka - economy",
"governmentał organisation - non",
"granica - border",
"graniczyc z - border with"
};
const char* hArray[][6] { "haker - hacker",
"hakerstwo - hacking",
"handel - commerce",
"handel miedzynarodowy - national trade",
"handel narkotykami - drug dealing/trafficking",
"handlarz narkotykow - drug dealer",
"hymn panstwowy - national anthem"
};
const char* iArray[][10] { "imigracja - immigration",
"imigrant - immigrant",
"imigrowac - immigrate",
"imperium - empire",
"inflacja - inflation",
"instytucja - institution",
"inwestowac - invest",
"inwestycja - inwestment",
"Izba Gmin - House of Commons",
"Izba Lordow - House of Lords",
"Izba Reprezentantow - House of Representatives",
"jaywalking (n) /dzerwo:k1iny/ przechodzenie przez ulicę w niedozwolonym miejscu - dochodzenie"
};
const char* kArray[][21] { "kadencja - term",
"kara - penalty",
"kara - punishment",
"kara pozbawienia wolnosci - imprisonment",
"kara pozbawienia wolności - prison sentence",
"karabin maszynowy - machine gun",
"karac - punish",
"karta kredytowa - credit card",
"suspect sb of sth - podejrzewać kogoś o coś",
"konferencja pokojowa - peace conference",
"konflikt - conflict",
"Kongres Stanów Zjednoczonych - United States Congress",
"konserwatywny - conservative",
"konstytucja - constitution",
"korupcja - corruption",
"kradziez z włamaniem - burgiary",
"krajowy - domestic",
"kredyt - credit",
"krol - king",
"krolestwo - kingdom",
"krolowa - queen",
"kwestie spoleczne - social issues"
};
const char* lArray[][3] { "lewicowy - left wing",
"liberalny - liberal",
"ludnosc - populatien",
"lawa przysieglych - jury"
};
const char* mArray[][15] { "mandat, grzywna - fine",
"manifestacja - demonstration",
"manifestowac - demonstrate",
"market economy - free",
"miec prawo zachować milczenie - have the right to remain silent",
"miejsce popelnienia przestepstwa - krime scene",
"mieszkaniec - inhabitant",
"Miedzynarodowy Fundusz Walutowy - International Monetary Fund",
"minister - cabinet minister",
"minister - Minister",
"mniejszosc - minority",
"monarcha - monarch",
"monarchia - monarchy",
"monarchia konstytucyjna - constitutiona monarchy",
"moneta - coin"
};
const char* nArray[][12] { "na zasiłku dla bezrobotnych - on the dole",
"najezdzac - invade",
"napasc - assault",
"narkomania - drug abuse",
"narodowosc - nationality",
"narodowy, państwowy - national",
"narod - nation",
"narod - the people",
"niepelnosprawnosc - disability",
"niepodległosc - independence (n)",
"nierowny - unequal",
"nieustraszony - fearless",
"niewinny - innocent"
};
const char* oArray[][18] { "obcokrajowiec - foreigner",
"obcy, zagraniczny - foreign",
"obnizyc podatki - reduce taxes",
"obrona - defence",
"obywatel - citizen",
"obywatelstwo - citizenship",
"odcisk palca - fingerprint",
"odsiadywac wyrok - serve a sentence",
"ofiara - victim",
"ogłosic werdykt - announce the verdict",
"ojczyzna - home country",
"okrutny - heartiess",
"opozycja - opposition",
"organizacja charytatywna - charity",
"Organizacja Narodow Zjednoczonych - United Nations",
"oskarzony, pozwany - dafendant",
"oskarzenie - prosecution",
"oskarzyc kogos o cos - accuse sb of sth",
"oszustwo - fraud"
};
const char* pArray[][38] { "Pakt Północnoatlantycki - North Atlantic Treaty Organisation",
"panstwa sasiadujace - border countries",
"panstwo - state",
"parlament - parliament",
"piec lat pozbawIenia wolnosci - five years' imprisonment",
"pod zarzutem morderstwa - on suspicion of murder",
"podatek - tax",
"podejrzany - suspect",
"podpalacz - arsonist (n)",
"podpalenie - arson",
"pokoj na świecie / - world peace",
"policjant - police officer",
"polityczny - political",
"polityk - politician",
"polityka - policy",
"polityka (działalność publiczna) - politics",
"polityka społeczna - social policy",
"pomoc - aid",
"popierac - support",
"pornografia dziecięca - child pornography",
"porwanie - kidnapping",
"porywacz - kidnapper",
"posel - Member of Parliament",
"prawa człowieka - human rights",
"prawicowy - right wing",
"prawnik - lawyer",
"prawo - law",
"premier - Prime Minister",
"prezydent - President",
"produkt krajowy brutto, PKB - gross domestic product/GDP",
"program rządowy - government programme",
"prokurator - prosecutor",
"prowincja - province",
"przemysl - industry",
"przestepca - eriminal",
"przestepstwo - krime",
"przyjac konstytucje - adopt the constitution",
"przyjmowac lapowki - accept bribes",
"przywodca polityczny - political leader"
};
const char* rArray[][17] { "rada miejska - city/town council",
"radny - city councillor",
"rasizm - racism",
"ratusz - city hall",
"reforma - reform",
"religia - religion",
"reprezentant - representative",
"reprezentowac - represent",
"republika - republic",
"rodzina krolewska - royal family",
"rozprawa, proces - trial",
"rownouprawnienie - equality",
"rowny - equal",
"rynek - market",
"rzad - government",
"rzad mniejszościowy - minority government",
"rzad, gabinet - cabinet",
"rzadzić - rule/govern"
};
const char* sArray[][28] { "samochód używany do ucieczki z miejsca przestępstwa - getaway car",
"scena polityczna - politial scene",
"senat - Senate",
"senator - Senator",
"sedzia - judge",
"shock - shell",
"sierociniec - orphanage",
"skazac na - sentence to",
"słuzby specjalne - secret service",
"słuzby wywiadowcze - intelligence service",
"social behaviour - anti",
"socjaldemokratyczny - social democratic",
"socjalista - socialist",
"socjalistyczny - socialist",
"spadac - go down",
"sprawiedliwosc - fairnass",
"sprawIedliwosc - justice",
"stanac przed sadem - go on trial",
"stolica - capital",
"stopa inflacji - rate of inflation",
"stracic kogos - execute sb",
"surowa kara - severe punishment",
"system polityczny - system of government",
"system polityczny - political system",
"szantaz - blackmail",
"szantazysta - blackmailer",
"sledztwo - investigation",
"swiadek - witness",
"Swiatowa Organizacja Zdrowia - World Health Organisation/ WHO"
};
const char* uArray[][7] { "tożsamość narodowa - national identity",
"uchodzca - refugee",
"Unia Europejska - European Union/EU",
"urosnac o (cztery) procent oka new jobs tworzyć nowe miejsca pracy - grow by (four) per cent"
"urzednik państwowy - civil servant",
"utworzyc rzad - form a government/cabinet",
"uzgodnic werdykt - reach a verdict",
"uzyskac niepodleglosc - gain/win independence"
};
const char* wArray[][3] { "waluta - currency",
"Wasza Krolewska Mosc - Your Majesty",
"werdykt - verdict",
"wiekszosc - majority",
"wiezienie - prison/fail",
"winny - guilty",
"wladze - authorities",
"wlamywacz - burglar",
"wojna swiatowa - world war",
"wojsko - trops",
"wojsko - weapon",
"wolny rynek - free market",
"wolontariat - valuntary work",
"wolontariusz - volenteer",
"wspolna waluta - currency common",
"wstapić do parti politycznej - join a political party",
"wybierac - elect",
"wybory - election",
"wybory powszechne - general election",
"wybory samorzadowe - local election",
"wybuchnac (o wojnie) - break out",
"wycofac oskarzenie - drop charges",
"wygnanie - exile",
"wypowiedziec wojne - declare war on sb",
"wyrok - sentence",
"wyrok w zawieszeniu - suspended",
"Wysoki Sadzie - Your Honour"
};
const char* zArray[][12] { "z zimną krwią - in cold blood",
"zakladnik - hostage",
"zamykac kogos w areszcie/wiezieniu - lock sb up",
"zaprzeczac - deny",
"zasmiecanie - littering",
"zbierac pieniadze - raise money",
"zdobyc poparcie - gain/win support",
"zeznawac - testify",
"zorganizowac wybory - hold an election",
"zostac obywatełem - become a citizen",
"zwiazek zawodowy - trade union",
"zwolnic z wiezienia - release from prison",
"zolnierz - soldier"
};
const char* array2[][23] = {"a", "b", "c", "d", "e", "f", "g", "h",
"i", "j", "k", "l", "ł", "m", "n", "o",
"p", "r", "s", "t", "u", "w", "y", "z",
};
int rozmiar = (sizeof (aArray) / sizeof (*aArray)); // how many elements in array
int x; // generic loop counter
int index = 0;
int index2 = 0;
String szukany = "Siedzą piją lulki palą";
enum { ON = HIGH, OFF = LOW };
#define N_BUT sizeof(inPins)
byte ToggleState [N_BUT];
int chkButtons() {
for (unsigned n = 0; n < sizeof(inPins); n++) {
byte BUT = digitalRead(inPins[n]);
if (ToggleState[n] != BUT) {
ToggleState[n] = BUT;
if (OFF == BUT) {
return n;
}
}
while (digitalRead(inPins[n]) == LOW) {
delay(10);
}
}
return -1;
}
void setIO() {
for (unsigned c = 0; c < sizeof(inPins); c++) {
pinMode (inPins[c], INPUT_PULLUP);
ToggleState[c] = digitalRead(inPins[c]);
}
}
void setFunctions() {
int n = chkButtons();
if (0 <= n) {
SelectChar(n);
}
delay(10);
}
void setOFF() {
}
void SelectChar(int button) {
if (tryb_wyboru == true) {
oled.clear();
oled.setCursor(0, 0);
oled.print("tryb wyboru:");
}
if (tryb_wyboru == false) {
oled.clear();
oled.setCursor(0, 0);
oled.print("przegl:");
}
if (button == 0 && tryb_wyboru == true) {
//oled.clear();
oled.setFont(FONT8X16);
oled.setCursor(100, 0);
oled.print(array2[0][index]);
oled.setCursor(0, 2);
index = index + 1;
if (index >= 24) {
index = 0;
}
delay(10);
}
if (button == 1 && tryb_wyboru == true) {
//oled.clear();
oled.setFont(FONT8X16);
oled.setCursor(100, 0);
index = index - 1 ;
oled.print(array2[0][index]);
oled.setCursor(0, 8);
oled.print(bArray[0][10]);
oled.setCursor(0, 2);
if (index <= 0) {
index = 24;
}
delay(10);
}
if (button == 2 && tryb_wyboru == true) {
oled.clear();
tryb_wyboru = !tryb_wyboru;
}
if (button == 0 && tryb_wyboru == false) {
//oled.clear();
oled.setFont(FONT8X16);
oled.setCursor(0, 0);
oled.print(aArray[0][1]);
index2 = index2 + 1;
if (index2 == rozmiar) {
index2 = 0;
}
delay(10);
}
if (button == 1 && tryb_wyboru == false) {
}
if (button == 2 && tryb_wyboru == false) {
oled.clear();
tryb_wyboru = !tryb_wyboru;
}
}
void setup() {
oled.begin(128, 32, sizeof(tiny4koled_init_128x32br), tiny4koled_init_128x32br);
oled.setRotation(2);
// Two fonts are supplied with this library, FONT8X16 and FONT6X8
oled.setFont(FONT8X16);
// To clear all the memory
oled.clear();
oled.on();
splash();
setIO();
setOFF();
}
void splash() {
oled.clear();
oled.setCursor(0, 1);
oled.print("Start");
//oled.scrollLeftOffset(7, 1, 8, 1);
// oled.setVerticalScrollArea(10, 200);
//oled.activateScroll();
}
void loop() {
setFunctions();
}