Facebook
From Denim Monkey, 3 Years ago, written in C.
Embed
Download Paste or View Raw
Hits: 133
  1. #include <EEPROM.h>
  2. #include <LiquidCrystal.h>
  3.  
  4. #define PIN2 2
  5.  
  6. LiquidCrystal lcd(12, 11, 7, 6, 5, 4);
  7.  
  8. int adres;
  9. int wartosc;
  10. float srednia = 0;
  11. bool start = true;
  12.  
  13. void setup()
  14. {
  15.   Serial.begin(9600);
  16.   lcd.begin(16, 2);
  17.   lcd.setCursor(0,0);
  18.   lcd.print("Miernik swiatla");
  19.   lcd.setCursor(0,1);
  20.   lcd.print("Swiatlo: ");
  21.  
  22.   //przerwania dla przycisków
  23.   pinMode(PIN2,INPUT_PULLUP);
  24.   attachInterrupt(digitalPinToInterrupt(PIN2), Start, FALLING);
  25.  
  26. }
  27.  
  28.  
  29. void Start()
  30. {
  31.   start = false;
  32.   int wynik = 0;
  33.   lcd.clear();
  34.   for (int i = 0; i < 60; i++)
  35.   {
  36.     wynik = wynik + EEPROM.read(i) * 4;
  37.     srednia = wynik / 60;
  38.   }
  39.  
  40.   lcd.setCursor(0,0);
  41.   lcd.print(srednia);
  42. }
  43.  
  44.  
  45.  
  46. void loop() {
  47.  
  48.   if(start == true)
  49.   {
  50.      
  51.   wartosc = analogRead(A0)/4;//dzielimy, bo wejście analogowe 0-1023 a wartość zapisywana w EEPROMie 0-255
  52.  
  53.   EEPROM.write(adres, wartosc);
  54.   adres = adres + 1;  
  55.   if (adres == 3)
  56.   {    
  57.      adres = 0;
  58.   }
  59.   lcd.setCursor(9,1);
  60.   lcd.print(wartosc);
  61.   Serial.println(wartosc);
  62.   delay(1000);
  63.   }
  64.  
  65. }
  66.