Thanks for reply. Edited code:
// --------------------------------------------------------------------------
#include <LiquidCrystal.h>
// ekrano pajungimo pinai
LiquidCrystal lcd(12, 11, 10, 9, 8, 7);
//kintamieji
float seklosLikutis = 2000.0;
float pasetasPlotas = 0;
volatile unsigned long cnt=0;
unsigned long previousMillis = 0;
const long interval = 1000;
//jutiklis
const int hallPin = 2; // pin 2 = int 0
//reiksmes
float normaPerSuki = 0.1095;
float plotasPerSuki = 0.0476;
char str1[15];
char str2[15];
// --------------------------------------------------------------------------
void doCount() // interrupt callback should be as short as possible!
{
if(digitalRead(hallPin) == LOW)
{
cnt++;
pasetasPlotas = plotasPerSuki + pasetasPlotas;
seklosLikutis = seklosLikutis - normaPerSuki;
}
}
// --------------------------------------------------------------------------
void setup()
{
lcd.begin(16, 2);
lcd.setCursor(1,0);
lcd.print("Vaderstad Rapid");
lcd.setCursor(2,1);
lcd.print("Versija 1.0");
delay(1000);
lcd.clear();
pinMode(hallPin,INPUT_PULLUP);
digitalWrite(hallPin,HIGH);
attachInterrupt(digitalPinToInterrupt(hallPin), doCount, FALLING); // hall pin on interrupt 0 = pin 2
digitalWrite(hallPin,HIGH);
pinMode(hallPin,INPUT_PULLUP);
}
// --------------------------------------------------------------------------
void loop()
{
unsigned long currentMillis = millis();
if (currentMillis - previousMillis >= interval)
{
previousMillis = currentMillis;
dtostrf(pasetasPlotas,7, 4, str1);
dtostrf(seklosLikutis,7, 4, str2);
lcd.setCursor(0,0);
lcd.print("Plotas:");
//lcd.setCursor(8,0);
lcd.print(str1);
lcd.print("a");
lcd.setCursor(0,1);
lcd.print("Sekla:");
//lcd.setCursor(7,1);
lcd.print(str2);
lcd.print("kg");
//lcd.print("Apsisukimai:");
//lcd.setCursor(13,1);
//lcd.print(cnt);
}
}
// --------------------------------------------------------------------------
