daily pastebin goal
11%
SHARE
TWEET

Untitled

kris83 Aug 17th, 2018 148 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2. // Projekt alarmu opracował i wykonał Krzysztof Pieczyrak
  3. // e-mail kpieczyrak@interia.pl
  4. // ARDUINO MEGA 2560
  5.  
  6. #include <SoftwareSerial.h>
  7.  
  8. //piny na których jest podłączona komunikacja z modułem GSM
  9.  
  10. SoftwareSerial gsm800(16, 17); //RX, TX for your module
  11.  
  12. const int garaz = 11;                 //garaz                      - D11
  13. const int gospodarczy = 12;           //gospodarczy                - D12
  14. const int wiatrolap = 13;             //wiatrolap                  - D13
  15. const int salon = 10;                 //salon                      - D10
  16. const int pokoj_joli = 9;             //pokoj_joli                 - D9
  17. const int goscinny = 8;               //goscinny                   - D8
  18. const int pokoj_ewy = 7;              //pokoj_ewy                  - D7
  19. const int pokoj_anki = 6;             //pokoj_anki                 - D6
  20. const int ruch_podworko = 14;          //ruch_podworko              - D5  połączony z pin 8 arduino PROmini na podwurku
  21. const int ruch_przy_domu = 15;         //ruch_przy_domu             - D4  HC-SR501
  22.  
  23. const int brak_garaz = 54;            //brak czujki garaz          - D54 - A0
  24. const int brak_gospodarczy = 55;      //brak czujki gospodarczy    - D55 - A1
  25. const int brak_wiatrolap = 56;        //brak czujki wiatrolap      - D56 - A2
  26. const int brak_salon = 57;            //brak czujki salon          - D57 - A3
  27. const int brak_pokoj_joli = 58;       //brak czujki pokoj_joli     - D58 - A4
  28. const int brak_goscinny = 59;         //brak czujki goscinny       - D59 - A5
  29. const int brak_pokoj_ewy = 60;        //brak czujki pokoj_ewy      - D60 - A6
  30. const int brak_pokoj_anki = 61;       //brak czujki pokoj_ani      - D61 - A7
  31.  
  32. const int uzbrojenie = 18;             //uzbrojenie                 - D34
  33. const int rozbrojenie = 19;            //rozbrojenie                - D32
  34.  
  35. const int next =  53;                 // WTV020 sd-card AD4        - D53
  36. const int reset =  51;                // WTV020 sd-card AD4        - D51
  37.  
  38. const int syrena =  44;               //SYRENA                     - D47
  39. const int optyka =  46;               //OPTYKA                     - D46
  40.  
  41. int buttonState = 0;                  // CZUJNIK BOSH
  42.  
  43. void setup() {
  44.  
  45.   Serial.begin(9600);
  46.  
  47.   while (!Serial);
  48.   gsm800.begin(9600);
  49.   delay(500);
  50.  
  51.   wywolaj_alarm(120, 1);                  // powitanie
  52.   delay(1000);    //9500
  53.   reset_pin(100, 1);
  54.  
  55.   pinMode(garaz, INPUT_PULLUP);
  56.   pinMode(brak_garaz, INPUT_PULLUP);
  57.   pinMode(gospodarczy, INPUT_PULLUP);
  58.   pinMode(brak_gospodarczy, INPUT_PULLUP);
  59.   pinMode(wiatrolap, INPUT_PULLUP);
  60.   pinMode(brak_wiatrolap, INPUT_PULLUP);
  61.   pinMode(salon, INPUT_PULLUP);
  62.   pinMode(brak_salon, INPUT_PULLUP);
  63.   pinMode(pokoj_joli, INPUT_PULLUP);
  64.   pinMode(brak_pokoj_joli, INPUT_PULLUP);
  65.   pinMode(goscinny, INPUT_PULLUP);
  66.   pinMode(brak_goscinny, INPUT_PULLUP);
  67.   pinMode(pokoj_ewy, INPUT_PULLUP);
  68.   pinMode(brak_pokoj_ewy, INPUT_PULLUP);
  69.   pinMode(pokoj_anki, INPUT_PULLUP);
  70.   pinMode(brak_pokoj_anki, INPUT_PULLUP);
  71.   pinMode(ruch_podworko, INPUT);
  72.   pinMode(ruch_przy_domu, INPUT);
  73.   pinMode(uzbrojenie, INPUT);
  74.   pinMode(rozbrojenie, INPUT);
  75.   pinMode(next, OUTPUT);
  76.   pinMode(reset, OUTPUT);
  77.   pinMode(syrena, OUTPUT);
  78.   pinMode(optyka, OUTPUT);
  79.  
  80. }
  81.  
  82. void loop() {
  83.  
  84.   buttonState = digitalRead(garaz);
  85.   if (buttonState == HIGH) {
  86.     gsm800.write("AT+CMGF=1\r\n");
  87.     delay(100);
  88.     gsm800.write("AT+CMGS=\"+48578909373\"\r\n");      //wpisujemy numer telefonu pod który nasze urządzenie ma wysyłaś SMS
  89.     delay(100);
  90.     gsm800.write("Ruch w garazu");      //treść wiadomości w przypadku alarmu
  91.     delay(100);
  92.     gsm800.write((char)26);
  93.     delay(100);
  94.  
  95.     wywolaj_alarm(120, 2);
  96.     delay(1900);
  97.     reset_pin(100, 1);
  98.   }
  99.  
  100.   buttonState = digitalRead(gospodarczy);
  101.   if (buttonState == HIGH) {
  102.     gsm800.write("AT+CMGF=1\r\n");
  103.     delay(100);
  104.     gsm800.write("AT+CMGS=\"+48578909373\"\r\n");      //wpisujemy numer telefonu pod który nasze urządzenie ma wysyłaś SMS
  105.     delay(100);
  106.     gsm800.write("Ruch w gospodarczym");      //treść wiadomości w przypadku alarmu
  107.     delay(100);
  108.     gsm800.write((char)26);
  109.     delay(100);
  110.  
  111.     wywolaj_alarm(120, 3);
  112.     delay(3000);
  113.     reset_pin(100, 1);
  114.   }
  115.  
  116.   buttonState = digitalRead(wiatrolap);
  117.   if (buttonState == HIGH) {
  118.     gsm800.write("AT+CMGF=1\r\n");
  119.     delay(100);
  120.     gsm800.write("AT+CMGS=\"+48578909373\"\r\n");      //wpisujemy numer telefonu pod który nasze urządzenie ma wysyłaś SMS
  121.     delay(100);
  122.     gsm800.write("Ruch w wiatrolapie");      //treść wiadomości w przypadku alarmu
  123.     delay(100);
  124.     gsm800.write((char)26);
  125.     delay(100);
  126.  
  127.     wywolaj_alarm(120, 4);
  128.     delay(1950);
  129.     reset_pin(100, 1);
  130.   }
  131.  
  132.   buttonState = digitalRead(salon);
  133.   if (buttonState == HIGH) {
  134.     gsm800.write("AT+CMGF=1\r\n");
  135.     delay(100);
  136.     gsm800.write("AT+CMGS=\"+48578909373\"\r\n");      //wpisujemy numer telefonu pod który nasze urządzenie ma wysyłaś SMS
  137.     delay(100);
  138.     gsm800.write("Ruch w salonie");      //treść wiadomości w przypadku alarmu
  139.     delay(100);
  140.     gsm800.write((char)26);
  141.     delay(100);
  142.  
  143.     wywolaj_alarm(120, 5);
  144.     delay(1800);
  145.     reset_pin(100, 1);
  146.   }
  147.  
  148.   buttonState = digitalRead(pokoj_joli);
  149.   if (buttonState == HIGH) {
  150.     gsm800.write("AT+CMGF=1\r\n");
  151.     delay(100);
  152.     gsm800.write("AT+CMGS=\"+48578909373\"\r\n");      //wpisujemy numer telefonu pod który nasze urządzenie ma wysyłaś SMS
  153.     delay(100);
  154.     gsm800.write("Ruch w pokoju Joli");      //treść wiadomości w przypadku alarmu
  155.     delay(100);
  156.     gsm800.write((char)26);
  157.     delay(100);
  158.  
  159.     wywolaj_alarm(120, 6);
  160.     delay(2000);
  161.     reset_pin(100, 1);
  162.   }
  163.  
  164.   buttonState = digitalRead(goscinny);
  165.   if (buttonState == HIGH) {
  166.     gsm800.write("AT+CMGF=1\r\n");
  167.     delay(100);
  168.     gsm800.write("AT+CMGS=\"+48578909373\"\r\n");      //wpisujemy numer telefonu pod który nasze urządzenie ma wysyłaś SMS
  169.     delay(100);
  170.     gsm800.write("Ruch w pokoju goscinnym");      //treść wiadomości w przypadku alarmu
  171.     delay(100);
  172.     gsm800.write((char)26);
  173.     delay(100);
  174.  
  175.     wywolaj_alarm(120, 7);
  176.     delay(2300);
  177.     reset_pin(100, 1);
  178.   }
  179.  
  180.   buttonState = digitalRead(pokoj_ewy);
  181.   if (buttonState == HIGH) {
  182.     gsm800.write("AT+CMGF=1\r\n");
  183.     delay(100);
  184.     gsm800.write("AT+CMGS=\"+48578909373\"\r\n");      //wpisujemy numer telefonu pod który nasze urządzenie ma wysyłaś SMS
  185.     delay(100);
  186.     gsm800.write("Ruch w pokoju Ewy");      //treść wiadomości w przypadku alarmu
  187.     delay(100);
  188.     gsm800.write((char)26);
  189.     delay(100);
  190.  
  191.     wywolaj_alarm(120, 8);
  192.     delay(2000);
  193.     reset_pin(100, 1);
  194.   }
  195.  
  196.   buttonState = digitalRead(pokoj_anki);
  197.   if (buttonState == HIGH) {
  198.     gsm800.write("AT+CMGF=1\r\n");
  199.     delay(100);
  200.     gsm800.write("AT+CMGS=\"+48578909373\"\r\n");      //wpisujemy numer telefonu pod który nasze urządzenie ma wysyłaś SMS
  201.     delay(100);
  202.     gsm800.write("Ruch w pokoju Ani");      //treść wiadomości w przypadku alarmu
  203.     delay(100);
  204.     gsm800.write((char)26);
  205.     delay(100);
  206.  
  207.     wywolaj_alarm(120, 9);
  208.     delay(2000);
  209.     reset_pin(100, 1);
  210.   }
  211.  
  212.   buttonState = digitalRead(ruch_podworko);
  213.   if (buttonState == HIGH) {
  214.     gsm800.write("AT+CMGF=1\r\n");
  215.     delay(100);
  216.     gsm800.write("AT+CMGS=\"+48578909373\"\r\n");      //wpisujemy numer telefonu pod który nasze urządzenie ma wysyłaś SMS
  217.     delay(100);
  218.     gsm800.write("Ruch na podworku");      //treść wiadomości w przypadku alarmu
  219.     delay(100);
  220.     gsm800.write((char)26);
  221.     delay(100);
  222.  
  223.     wywolaj_alarm(120, 10);
  224.     delay(2000);
  225.     reset_pin(100, 1);
  226.   }
  227.  
  228.   buttonState = digitalRead(ruch_przy_domu);
  229.   if (buttonState == HIGH) {
  230.     gsm800.write("AT+CMGF=1\r\n");
  231.     delay(100);
  232.     gsm800.write("AT+CMGS=\"+48578909373\"\r\n");      //wpisujemy numer telefonu pod który nasze urządzenie ma wysyłaś SMS
  233.     delay(100);
  234.     gsm800.write("Ruch przy domu");      //treść wiadomości w przypadku alarmu
  235.     delay(100);
  236.     gsm800.write((char)26);
  237.     delay(100);
  238.  
  239.     wywolaj_alarm(120, 11);
  240.     delay(1600);  //15500
  241.     reset_pin(100, 1);
  242.   }
  243.  
  244.   buttonState = digitalRead(uzbrojenie);
  245.   if (buttonState == HIGH) {
  246.  
  247.     wywolaj_alarm(120, 12);
  248.     delay(14000);
  249.     reset_pin(100, 1);
  250.   }
  251.  
  252.   buttonState = digitalRead(rozbrojenie);
  253.   if (buttonState == HIGH) {
  254.  
  255.     wywolaj_alarm(120, 13);
  256.     delay(3200);
  257.     reset_pin(100, 1);
  258.   }
  259.  
  260.   buttonState = digitalRead(brak_garaz);
  261.   if (buttonState == HIGH) {
  262.     gsm800.write("AT+CMGF=1\r\n");
  263.     delay(100);
  264.     gsm800.write("AT+CMGS=\"+48578909373\"\r\n");      //wpisujemy numer telefonu pod który nasze urządzenie ma wysyłaś SMS
  265.     delay(100);
  266.     gsm800.write("Brak czujnika ruchu w garazu");      //treść wiadomości w przypadku alarmu
  267.     delay(100);
  268.     gsm800.write((char)26);
  269.     delay(100);
  270.  
  271.     wywolaj_alarm(120, 14);
  272.     delay(3200);
  273.     reset_pin(100, 1);
  274.   }
  275.  
  276.   buttonState = digitalRead(brak_gospodarczy);
  277.   if (buttonState == HIGH) {
  278.     gsm800.write("AT+CMGF=1\r\n");
  279.     delay(100);
  280.     gsm800.write("AT+CMGS=\"+48578909373\"\r\n");      //wpisujemy numer telefonu pod który nasze urządzenie ma wysyłaś SMS
  281.     delay(100);
  282.     gsm800.write("Brak czujnika ruchu w pomieszczeniu gospodarczym");      //treść wiadomości w przypadku alarmu
  283.     delay(100);
  284.     gsm800.write((char)26);
  285.     delay(100);
  286.  
  287.     wywolaj_alarm(120, 15);
  288.     delay(3200);
  289.     reset_pin(100, 1);
  290.   }
  291.  
  292.   buttonState = digitalRead(brak_wiatrolap);
  293.   if (buttonState == HIGH) {
  294.     gsm800.write("AT+CMGF=1\r\n");
  295.     delay(100);
  296.     gsm800.write("AT+CMGS=\"+48578909373\"\r\n");      //wpisujemy numer telefonu pod który nasze urządzenie ma wysyłaś SMS
  297.     delay(100);
  298.     gsm800.write("Brak czujnika ruchu w wiatrolapie");      //treść wiadomości w przypadku alarmu
  299.     delay(100);
  300.     gsm800.write((char)26);
  301.     delay(100);
  302.  
  303.     wywolaj_alarm(120, 16);
  304.     delay(3200);
  305.     reset_pin(100, 1);
  306.   }
  307.  
  308.   buttonState = digitalRead(brak_salon);
  309.   if (buttonState == HIGH) {
  310.     gsm800.write("AT+CMGF=1\r\n");
  311.     delay(100);
  312.     gsm800.write("AT+CMGS=\"+48578909373\"\r\n");      //wpisujemy numer telefonu pod który nasze urządzenie ma wysyłaś SMS
  313.     delay(100);
  314.     gsm800.write("Brak czujnika ruchu w salonie");      //treść wiadomości w przypadku alarmu
  315.     delay(100);
  316.     gsm800.write((char)26);
  317.     delay(100);
  318.  
  319.     wywolaj_alarm(120, 17);
  320.     delay(3200);
  321.     reset_pin(100, 1);
  322.   }
  323.  
  324.   buttonState = digitalRead(brak_pokoj_joli);
  325.   if (buttonState == HIGH) {
  326.     gsm800.write("AT+CMGF=1\r\n");
  327.     delay(100);
  328.     gsm800.write("AT+CMGS=\"+48578909373\"\r\n");      //wpisujemy numer telefonu pod który nasze urządzenie ma wysyłaś SMS
  329.     delay(100);
  330.     gsm800.write("Brak czujnika ruchu w pokoju Joli");      //treść wiadomości w przypadku alarmu
  331.     delay(100);
  332.     gsm800.write((char)26);
  333.     delay(100);
  334.  
  335.     wywolaj_alarm(120, 18);
  336.     delay(3200);
  337.     reset_pin(100, 1);
  338.   }
  339.  
  340.   buttonState = digitalRead(brak_goscinny);
  341.   if (buttonState == HIGH) {
  342.     gsm800.write("AT+CMGF=1\r\n");
  343.     delay(100);
  344.     gsm800.write("AT+CMGS=\"+48578909373\"\r\n");      //wpisujemy numer telefonu pod który nasze urządzenie ma wysyłaś SMS
  345.     delay(100);
  346.     gsm800.write("Brak czujnika ruchu w pokoju goscinnym");      //treść wiadomości w przypadku alarmu
  347.     delay(100);
  348.     gsm800.write((char)26);
  349.     delay(100);
  350.  
  351.     wywolaj_alarm(120, 19);
  352.     delay(3200);
  353.     reset_pin(100, 1);
  354.   }
  355.  
  356.   buttonState = digitalRead(brak_pokoj_ewy);
  357.   if (buttonState == HIGH) {
  358.     gsm800.write("AT+CMGF=1\r\n");
  359.     delay(100);
  360.     gsm800.write("AT+CMGS=\"+48578909373\"\r\n");      //wpisujemy numer telefonu pod który nasze urządzenie ma wysyłaś SMS
  361.     delay(100);
  362.     gsm800.write("Brak czujnika ruchu w pokoju Ewy");      //treść wiadomości w przypadku alarmu
  363.     delay(100);
  364.     gsm800.write((char)26);
  365.     delay(100);
  366.  
  367.     wywolaj_alarm(120, 20);
  368.     delay(3200);
  369.     reset_pin(100, 1);
  370.   }
  371.  
  372.   buttonState = digitalRead(brak_pokoj_anki);
  373.   if (buttonState == HIGH) {
  374.     gsm800.write("AT+CMGF=1\r\n");
  375.     delay(100);
  376.     gsm800.write("AT+CMGS=\"+48578909373\"\r\n");      //wpisujemy numer telefonu pod który nasze urządzenie ma wysyłaś SMS
  377.     delay(100);
  378.     gsm800.write("Brak czujnika ruchu w pokoju Ani");      //treść wiadomości w przypadku alarmu
  379.     delay(100);
  380.     gsm800.write((char)26);
  381.     delay(100);
  382.  
  383.     wywolaj_alarm(120, 21);
  384.     delay(3200);
  385.     reset_pin(100, 1);
  386.   }
  387. }
  388.  
  389. void wywolaj_alarm(int czas, int ile) {
  390.   for (int i = 0; i < ile; i++) {
  391.     digitalWrite(next, HIGH); //Włączenie diody
  392.     delay(czas); //Odczekanie jakiegoś czasu
  393.     digitalWrite(next, LOW); //Wyłączenie diody
  394.     delay(czas); //Odczekanie jakiegoś czasu
  395.   }
  396. }
  397.  
  398. void reset_pin(int czas, int ile) {
  399.   for (int i = 0; i < ile; i++) {
  400.     digitalWrite(reset, HIGH); //Włączenie diody
  401.     delay(czas); //Odczekanie jakiegoś czasu
  402.     digitalWrite(reset, LOW); //Wyłączenie diody
  403.     delay(czas); //Odczekanie jakiegoś czasu
  404.   }
  405. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top