Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // czas pomiedzy pomiarami 5min - 300.000ms
- #define ODSTEP 100
- // limit po ilu odczytach liczmy srednia
- #define LIMIT_ODCZYTOW 20
- int czujka = 11;
- int pompa = 12;
- int stan = 0;
- // informacje o odczytach
- int suma_odczytow = 0;
- int liczba_odczytow = 0;
- unsigned long czas_poprzedni = 0;
- void setup() {
- // hurtowa inicjalizacja pinow 8-11 na wyj�cia
- for (int i = 2; i < 11; i++)
- pinMode(i, OUTPUT);
- Serial.begin(9600);
- pinMode(czujka, INPUT);
- pinMode(pompa, OUTPUT);
- // hurtowa inicjalizacja pinow 8-11 na wyj�cia
- for (int i = 8; i < 12; i++)
- pinMode(i, OUTPUT);
- }
- void loop() {
- // czas liczony od momentu wlaczenia urzadzenia
- unsigned long czas_aktualny = millis();
- // sprawdza czy uplynal juz okreslony czas miedzy pomiarami
- if(czas_aktualny - czas_poprzedni > ODSTEP) {
- czas_poprzedni = czas_aktualny;
- // stan czujnika
- stan = digitalRead(czujka);
- // dodajemy odczyt
- liczba_odczytow += 1;
- // sumujemy odczyty
- suma_odczytow += analogRead(A2);
- if(liczba_odczytow >= LIMIT_ODCZYTOW){
- int srednia = ceil(suma_odczytow / liczba_odczytow);
- Serial.println (analogRead(A2)) ;
- if (200 > stan);
- {
- digitalWrite (2, HIGH);
- digitalWrite (3, HIGH);
- digitalWrite (4, HIGH);
- digitalWrite (5, HIGH);
- digitalWrite (6, HIGH);
- digitalWrite (7, HIGH);
- digitalWrite (8, HIGH);
- digitalWrite (9, HIGH);
- digitalWrite (10, HIGH);
- }
- if ( 200 < stan && 400> stan ); {
- digitalWrite (2, HIGH);
- digitalWrite (3, HIGH);
- digitalWrite (4, HIGH);
- digitalWrite (5, HIGH);
- digitalWrite (6, HIGH);
- digitalWrite (7, HIGH);
- digitalWrite (8, HIGH);
- digitalWrite (9, HIGH);
- digitalWrite (10, LOW);
- }
- if ( 400 < stan && stan ); {
- digitalWrite (2, HIGH);
- digitalWrite (3, HIGH);
- digitalWrite (4, HIGH);
- digitalWrite (5, HIGH);
- digitalWrite (6, HIGH);
- digitalWrite (7, HIGH);
- digitalWrite (8, HIGH);
- digitalWrite (9, LOW);
- digitalWrite (10, LOW);
- }
- if ( 450 < stan && 500> stan ); {
- digitalWrite (2, HIGH);
- digitalWrite (3, HIGH);
- digitalWrite (4, HIGH);
- digitalWrite (5, HIGH);
- digitalWrite (6, HIGH);
- digitalWrite (7, HIGH);
- digitalWrite (8, LOW);
- digitalWrite (9, LOW);
- digitalWrite (10, LOW);
- }
- if ( 500 < stan && 550 > stan );
- {
- digitalWrite (2, HIGH);
- digitalWrite (3, HIGH);
- digitalWrite (4, HIGH);
- digitalWrite (5, HIGH);
- digitalWrite (6, HIGH);
- digitalWrite (7, LOW);
- digitalWrite (8, LOW);
- digitalWrite (9, LOW);
- digitalWrite (10, LOW);
- }
- if ( 550 < stan && 600 > stan );
- {
- digitalWrite (2, HIGH);
- digitalWrite (3, HIGH);
- digitalWrite (4, HIGH);
- digitalWrite (5, HIGH);
- digitalWrite (6, LOW);
- digitalWrite (7, LOW);
- digitalWrite (8, LOW);
- digitalWrite (9, LOW);
- digitalWrite (10, LOW);
- }
- if ( 600 < stan && 650> stan );
- {
- digitalWrite (2, HIGH);
- digitalWrite (3, HIGH);
- digitalWrite (4, HIGH);
- digitalWrite (5, LOW);
- digitalWrite (6, LOW);
- digitalWrite (7, LOW);
- digitalWrite (8, LOW);
- digitalWrite (9, LOW);
- digitalWrite (10, LOW);
- }
- if ( 650 < stan && 700 > stan );
- {
- digitalWrite (2, HIGH);
- digitalWrite (3, HIGH);
- digitalWrite (4, LOW);
- digitalWrite (5, LOW);
- digitalWrite (6, LOW);
- digitalWrite (7, LOW);
- digitalWrite (8, LOW);
- digitalWrite (9, LOW);
- digitalWrite (10, LOW);
- }
- if ( 700 < stan && 750> stan);
- {
- digitalWrite (2, HIGH);
- digitalWrite (3, LOW);
- digitalWrite (4, LOW);
- digitalWrite (5, LOW);
- digitalWrite (6, LOW);
- digitalWrite (7, LOW);
- digitalWrite (8, LOW);
- digitalWrite (9, LOW);
- digitalWrite (10, LOW);
- }
- if ( 750 < stan && 800 > stan );
- {
- digitalWrite (2, LOW);
- digitalWrite (3, LOW);
- digitalWrite (4, LOW);
- digitalWrite (5, LOW);
- digitalWrite (6, LOW);
- digitalWrite (7, LOW);
- digitalWrite (8, LOW);
- digitalWrite (9, LOW);
- digitalWrite (10, LOW);
- }
- if ( 500 > srednia);
- digitalWrite (pompa, HIGH);
- delay(5000);
- digitalWrite (pompa, LOW);
- // zerowanie licznikow
- liczba_odczytow = suma_odczytow = 0;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement