Osmoseur.ino 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. #include <arduino-timer.h>
  2. #define OUVERT LOW
  3. #define FERME HIGH
  4. int RAZ = 1;
  5. int NiveauBas = 3;
  6. int NiveauHaut = 2;
  7. int pistolet = 4;
  8. int POMPE = 7;
  9. int VanneRestricteur = 6;
  10. int VanneEau = 8;
  11. int POMPEREMONTER = 5;
  12. int R = 9;
  13. int G = 10;
  14. int B = 11;
  15. auto t_timer = timer_create_default(); // create a timer with default settings
  16. void setup() {
  17. Serial.begin(9600);
  18. Serial.println("Lance");
  19. pinMode(NiveauBas, INPUT);
  20. pinMode(NiveauHaut, INPUT);
  21. pinMode(pistolet, INPUT);
  22. pinMode(POMPE, OUTPUT);
  23. pinMode(VanneRestricteur, OUTPUT);
  24. pinMode(VanneEau, OUTPUT);
  25. pinMode(POMPEREMONTER, OUTPUT);
  26. pinMode(R, OUTPUT);
  27. pinMode(G, OUTPUT);
  28. pinMode(B, OUTPUT);
  29. digitalWrite(POMPE, HIGH);
  30. digitalWrite(VanneRestricteur, HIGH);
  31. digitalWrite(VanneEau, HIGH);
  32. digitalWrite(POMPEREMONTER, HIGH);
  33. }
  34. void loop() {
  35. if(digitalRead(pistolet)==0 & digitalRead(NiveauBas)){
  36. digitalWrite(POMPEREMONTER,OUVERT);
  37. }
  38. else{
  39. digitalWrite(POMPEREMONTER,FERME);
  40. }
  41. if(digitalRead(NiveauBas)==0 & RAZ==1){
  42. RAZ=0;
  43. Start();
  44. }
  45. if(digitalRead(NiveauHaut)==1){
  46. Serial.println("Glitch");
  47. t_timer.in(1000, Test );
  48. }
  49. t_timer.tick();
  50. }
  51. void Test(void){
  52. if(digitalRead(NiveauHaut)==1)
  53. Stop();
  54. }
  55. void Start(void){
  56. Serial.println("start");
  57. t_timer.in(60000, closeVanne );
  58. digitalWrite(VanneEau,OUVERT);
  59. digitalWrite(VanneRestricteur,OUVERT);
  60. digitalWrite(POMPE,OUVERT);
  61. }
  62. void Stop(void){
  63. RAZ=1;
  64. Serial.println("stop");
  65. digitalWrite(VanneEau,FERME);
  66. digitalWrite(POMPE,FERME);
  67. }
  68. void closeVanne (void){
  69. Serial.println("coupe");
  70. digitalWrite(VanneRestricteur,FERME);
  71. }