Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <LiquidCrystal.h>
- LiquidCrystal lcd (8, 9, 4, 5, 6, 7);
- void setup ()
- {
- Serial.begin (9600) ;
- lcd.begin(16, 2);
- lcd.setCursor(0,0);
- lcd.cursor();
- lcd.noBlink();
- }
- int procitajTaster(int val) {
- if (val > 620 && val < 660)return 1;
- else if (val > 390 && val < 430)return 2;
- else if (val > 80 && val < 120)return 3;
- else if (val > 245 && val < 275)return 4;
- else if ( val < 20 && val > -20)return 5;
- else return 0;
- }
- static int prosloStanje = 0;
- int modUpisa(int stanje){
- lcd.cursor();
- static char currChar = 'A';
- static int trenutniPolozajSlova = 0;
- switch(stanje){
- case 1:
- prosloStanje = 1;
- break;
- case 2:
- if(prosloStanje == 0){
- trenutniPolozajSlova--; currChar = '@';
- }prosloStanje = 2;
- break;
- case 3:
- if(prosloStanje == 0){
- if(currChar == '@'){
- lcd.print(' ');currChar++;
- }else {lcd.print(currChar);currChar++;}
- } prosloStanje = 3;
- break;
- case 4:
- if(prosloStanje == 0){
- if(currChar == '@'){
- lcd.print(' ');currChar--;}
- else {
- lcd.print(currChar);
- currChar--;}
- } prosloStanje = 4;
- break;
- case 5:
- if(prosloStanje == 0){
- trenutniPolozajSlova++; currChar = '@';
- }prosloStanje = 5;
- break;
- default: prosloStanje = 0;
- }
- if(trenutniPolozajSlova < 0)trenutniPolozajSlova = 32;
- if(trenutniPolozajSlova > 32)trenutniPolozajSlova = 0;
- if(trenutniPolozajSlova < 16)lcd.setCursor(trenutniPolozajSlova,0);
- else lcd.setCursor(trenutniPolozajSlova - 16 ,2);
- delay(20);
- return 0;
- }
- void modPrezentacije(){
- static int pomeranjeDispleja = 0; //0 levo, 1 desno
- static int iteracija = 0;
- lcd.noCursor();
- if(pomeranjeDispleja == 0){
- if(!(iteracija%20))lcd.scrollDisplayLeft();
- iteracija++;
- if(iteracija==100)pomeranjeDispleja = 1;
- }
- else {
- if(!(iteracija%20))lcd.scrollDisplayRight();
- iteracija--;
- if(iteracija==-100)pomeranjeDispleja = 0;
- }
- delay(20);
- }
- void loop (){
- static int mod = 0; // 0 -> mod upisa, 1-> pod prezentacije;
- static int taster = 0;
- while(1){
- taster = procitajTaster( analogRead(0) );
- if (taster != prosloStanje){
- if(taster == 1)mod = !mod;
- }
- //modUpisa( taster );
- if(mod == 0)modUpisa( taster );
- else {modPrezentacije(); prosloStanje = taster;}
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement