Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <LiquidCrystal.h>
- // zadavanje pinova koji se koriste za komunikaciju s displejom
- LiquidCrystal lcd(8, 9, 4, 5, 6, 7);
- #define MAX 32
- String in; // unos
- int wEn = true;
- int brCif[10];// = {0,0,0,0,0,0,0,0,0,0};
- String prviRed;
- String drugiRed;
- bool bounceEn;
- byte ocitaj_taster()
- {
- int tmp = analogRead(0); //stanje tastera se ocitava preko
- //analognog ulaza 0
- if (tmp > 635 && tmp < 645) //SELECT
- return 1;
- if (tmp > 405 && tmp < 415) //LEFT
- return 2;
- if (tmp > 95 && tmp < 105) //UP
- return 3;
- if (tmp > 252 && tmp < 262) //DOWN
- return 4;
- if (tmp < 5) //RIGHT
- return 5;
- return 0; //nije pritisnut nijedan od tastera
- }
- void poruka(String msg){
- Serial.println(msg);
- }
- void pauza(){
- while(!Serial.available()){
- // ne radi nita
- }
- }
- void unos(String &str){
- pauza();
- while(Serial.available()){
- str = Serial.readString();
- }
- }
- void setup() {
- // put your setup code here, to run once:
- Serial.begin(9600);
- lcd.begin(16,2);
- lcd.setCursor(0,0);
- }
- String prviRedStr(){
- String ret;
- for(int i = 0; i < 10; i++){
- ret += String(i);
- }
- return ret;
- }
- String drugiRedStr(){
- String ret;
- for(int i = 0; i < 10; i++){
- ret += String(brCif[i]);
- }
- return ret;
- }
- void numericCnt(){
- int aa;
- String bb;
- //poruka("Duzina" + String(in.length()));
- for(int i = 0; i < in.length(); i++){
- if(isDigit(in[i])){
- bb = String(in[i]);
- aa++;
- brCif[bb.toInt()]++;
- }
- }
- }
- void resetujNiz(){
- for(int i = 0; i < 10; i++){
- brCif[i] = 0;
- }
- }
- void test(){
- for(int i = 0; i < 10; i++){
- poruka("Broj " + String(i) + " je " + String(brCif[i]));
- }
- }
- void loop() {
- // put your main code here, to run repeatedly:
- if(wEn) {
- //do {
- resetujNiz();
- poruka("Unesite string do 32 karaktera:");
- unos(in);
- // } while (in.length() > 32);
- //poruka("Unesite string do 32 karaktera:");
- //unos(in);
- while(in.length() > 32) {
- poruka("Unesite PONOVO string do 32 karaktera:");
- unos(in);
- }
- poruka("Uneli ste: " + in);
- numericCnt();
- test();
- wEn = false;
- } else {
- prviRed = prviRedStr();
- drugiRed = drugiRedStr();
- delay(150);
- int key = ocitaj_taster();
- if(key == 0){
- bounceEn = true;
- }
- if(bounceEn){
- if(key == 1){
- prviRed = "Unesite string:";
- drugiRed = " ";
- bounceEn = false;
- wEn = true;
- }
- }
- lcd.clear();
- lcd.setCursor(0,0);
- lcd.print(prviRed);
- lcd.setCursor(0,1);
- lcd.print(drugiRed);
- }
- //} while(in.length() >= 32);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement