Guest User

Untitled

a guest
Oct 20th, 2017
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.75 KB | None | 0 0
  1. #include <swRTC.h>
  2. #include <SoftwareSerial.h>
  3. #include <String.h>
  4.  
  5. swRTC rtc; //create a new istance of the lib
  6. SoftwareSerial mySerial(3, 2);
  7.  
  8. const int buttonPin = 19;
  9. const int sensorPin = 9;
  10. const int allarmPin = 13;
  11.  
  12. int buttonState = 0;
  13. int sensorState = 0;
  14. int relay1 = 8;
  15. int relay2 = 7;
  16. int relay3 = 6;
  17. int var = 0;
  18.  
  19.  
  20.  
  21. // initialize the stepper library on pins 8 through 11:
  22.  
  23. void setup() {
  24. rtc.stopRTC(); //stop the RTC
  25. rtc.setTime(12,0,0); //set the time here
  26. rtc.setDate(4,6,2012); //set the date here
  27. rtc.startRTC(); //start the RTC
  28. Serial.begin(19200); //choose the serial speed here
  29. mySerial.begin(19200);
  30. pinMode(allarmPin, OUTPUT);
  31. }
  32.  
  33.  
  34.  
  35. void loop() {
  36.  
  37.  
  38. while(mySerial.available()!=0);{}delay(10);
  39.  
  40. Serial.print(rtc.getHours(), DEC);
  41. Serial.print(":");
  42. Serial.print(rtc.getMinutes(), DEC);
  43. Serial.print(":");
  44. Serial.print(rtc.getSeconds(), DEC);
  45. Serial.println(" ");
  46.  
  47.  
  48.  
  49. //stato riserva croccantini
  50. sensorState = digitalRead(sensorPin);
  51.  
  52. if (sensorState == HIGH) {
  53. // turn LED on:
  54. digitalWrite(allarmPin, HIGH);
  55. Serial.println("Croccantini esauriti");
  56. Serial.println("Spia allarme ACCESA");
  57. Serial.println("Tramoggia DISABILITATA");
  58. Serial.println("Imposto la chiamata");
  59. while(sensorState == HIGH) {CHIAMATA(); break;}
  60. } else {
  61. // turn LED off:
  62. digitalWrite(allarmPin, LOW);
  63. Serial.println("Croccantini OK");
  64. }
  65. if (sensorState == LOW && rtc.getHours()== 12 && rtc.getMinutes()== 00 && rtc.getSeconds()== 5) {startmotor();}
  66. //start manuale carico/scarico
  67. // read the state of the pushbutton value:
  68. buttonState = digitalRead(buttonPin);
  69. // check if the pushbutton is pressed.
  70. // if it is, the buttonState is HIGH:
  71. if (buttonState == 1) {
  72. Serial.print("Pulsante alimentazione manuale ATTIVO");
  73. // turn on:
  74. // singlestartmotor();
  75. }
  76.  
  77. }
  78.  
  79. void startmotor(){
  80. //numero di cicli di carico da eseguire (5)
  81. while(var < 5){
  82. pinMode(relay1, OUTPUT);
  83. pinMode(relay2, OUTPUT);
  84. pinMode(relay3, OUTPUT);
  85.  
  86. digitalWrite(relay3, LOW); //ABILITA TUTTO
  87. //AVANTI
  88. digitalWrite(relay1, LOW);
  89. digitalWrite(relay2, LOW);
  90. Serial.print("AVANTI");
  91. delay(1000); // wait 2 seconds
  92.  
  93. digitalWrite(relay3, HIGH);//STOP TUTTO
  94. digitalWrite(relay1, HIGH);
  95. digitalWrite(relay2, HIGH);
  96. delay(1000); //ATTESA PER INVERSIONE MARCIA
  97.  
  98. //INDIETRO
  99. digitalWrite(relay3, LOW);//ABILITA TUTTO
  100. digitalWrite(relay1, HIGH);
  101. digitalWrite(relay2, HIGH);
  102. Serial.print("INDIETRO");
  103. delay(1000); // wait 2 seconds
  104.  
  105. digitalWrite(relay3, HIGH);//STOP TUTTO
  106. delay(5000); // wait 2 seconds
  107.  
  108. var++;
  109. }}
  110.  
  111. void CHIAMATA() {
  112. mySerial.println("ATD329xxxxx135;");//dial the number, xxxx ix the phone number.
  113. delay(100);
  114. Serial.print("Chiamata in corso..."); return loop();}
Add Comment
Please, Sign In to add comment