#include #include #define PIN2 2 LiquidCrystal lcd(12, 11, 7, 6, 5, 4); int adres; int wartosc; float srednia = 0; bool start = true; void setup() { Serial.begin(9600); lcd.begin(16, 2); lcd.setCursor(0,0); lcd.print("Miernik swiatla"); lcd.setCursor(0,1); lcd.print("Swiatlo: "); //przerwania dla przycisków pinMode(PIN2,INPUT_PULLUP); attachInterrupt(digitalPinToInterrupt(PIN2), Start, FALLING); } void Start() { start = false; int wynik = 0; lcd.clear(); lcd.setCursor(4,0); lcd.print("Srednia"); for (int i = 0; i < 60; i++) { wynik = wynik + EEPROM.read(i) * 4; srednia = wynik / 60; } lcd.setCursor(5,1); lcd.print(srednia); } void loop() { if(start == true) { wartosc = analogRead(A0)/4;//dzielimy, bo wejście analogowe 0-1023 a wartość zapisywana w EEPROMie 0-255 EEPROM.write(adres, wartosc); adres = adres + 1; if (adres == 60) { adres = 0; } lcd.setCursor(9,1); lcd.print(wartosc); Serial.println(wartosc); delay(1000); } }