Advertisement
Guest User

Untitled

a guest
Apr 27th, 2017
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.45 KB | None | 0 0
  1. // Store somfy (Hugo PITZ)
  2.  
  3. int LEDm = 13;
  4. int LEDd = 10;
  5.  
  6. int BPm = 26;
  7. int BPd = 24;
  8.  
  9. int LEDmode = 31;
  10. int BPmode = 22;
  11.  
  12. int LEDsoleil = 33;
  13. int BPsoleil = 28;
  14.  
  15. int LEDvent = 35;
  16. int BPvent = 30;
  17.  
  18.  
  19. void setup() {
  20. // On défini les I/O
  21. pinMode(LEDm,OUTPUT);
  22. pinMode(LEDd,OUTPUT);
  23.  
  24. pinMode(BPm,INPUT);
  25. pinMode(BPd,INPUT);
  26.  
  27. pinMode(LEDmode,OUTPUT);
  28. pinMode(BPmode,INPUT);
  29.  
  30. pinMode(LEDsoleil,OUTPUT);
  31. pinMode(BPsoleil,INPUT);
  32.  
  33. pinMode(LEDvent,OUTPUT);
  34. pinMode(BPvent,INPUT);
  35.  
  36. Serial.begin(9600);
  37. }
  38.  
  39. int IBPm;
  40. int IBPd;
  41.  
  42. int IBPmode;
  43.  
  44. int IBPsoleil;
  45.  
  46. int IBPvent;
  47.  
  48. // Variables "importantes"
  49. String etat = "Ferme";
  50. boolean ModeAuto = false;
  51.  
  52. boolean Soleil = false;
  53. boolean Vent = false;
  54. int rprFois = 0;
  55. void loop() {
  56. IBPm = digitalRead(BPm);
  57. IBPd = digitalRead(BPd);
  58.  
  59. IBPmode = digitalRead(BPmode);
  60.  
  61. IBPsoleil = digitalRead(BPsoleil);
  62.  
  63. IBPvent = digitalRead(BPvent);
  64.  
  65. //Serial.println(digitalRead(BPm));
  66.  
  67. //Changement de mode, true = auto - false = manuel
  68. if(IBPmode == HIGH){
  69. delay(100);
  70. changerDeMode();
  71. }
  72.  
  73.  
  74. // Active ou désactive soleil
  75. if(IBPsoleil == HIGH){
  76. delay(100);
  77. if(Soleil){
  78. Soleil = false;
  79. digitalWrite(LEDsoleil,LOW);
  80. } else {
  81. Soleil = true;
  82. digitalWrite(LEDsoleil,HIGH);
  83. }
  84. }
  85.  
  86. // Active ou désactive vent
  87. if(IBPvent == HIGH){
  88. delay(100);
  89. if(Vent){
  90. Vent = false;
  91. digitalWrite(LEDvent,LOW);
  92. } else {
  93. Vent = true;
  94. digitalWrite(LEDvent,HIGH);
  95. }
  96. }
  97.  
  98. //Si le mode auto est activé
  99. if(ModeAuto){
  100. //SOLEIL -> DESCENDRE donc Ouvrir pour ombre sur terrace
  101. if(Soleil && !Vent){
  102. controleStore("Ouvrir");
  103. }
  104. if(Vent){
  105. controleStore("Fermer");
  106. }
  107.  
  108. if(!Soleil && !Vent){
  109. controleStore("Fermer");
  110. }
  111. }
  112. else // Si le mode manuel est activé
  113. {
  114. if(IBPm == HIGH){
  115. controleStore("Ouvrir");
  116. }
  117. if(IBPd == HIGH){
  118. controleStore("Fermer");
  119. }
  120. }
  121.  
  122. //gestion led montée descente
  123. if(etat == "Ouvert"){
  124. digitalWrite(LEDm,HIGH);
  125. digitalWrite(LEDd,LOW);
  126. }
  127. if(etat == "Ferme"){
  128. digitalWrite(LEDd,HIGH);
  129. digitalWrite(LEDm,LOW);
  130. }
  131.  
  132. if(rprFois < 15){
  133. rprFois++;
  134. } else {
  135. rapportDuStore();
  136. rprFois = 0;
  137. }
  138. delay (50);
  139. }
  140.  
  141.  
  142. //fin loop
  143.  
  144. void changerDeMode(){
  145. if(ModeAuto){
  146. digitalWrite(LEDmode,LOW);
  147. //Serial.println("Passage au mode Manuel");
  148. ModeAuto = false;
  149. } else {
  150. digitalWrite(LEDmode,HIGH);
  151. //Serial.println("Passage au mode Auto");
  152. ModeAuto = true;
  153. }
  154. }
  155.  
  156. // Ouvrir -> Sortir le store, le deployer
  157. void controleStore(String ordre){
  158. if(ordre == "Fermer" && etat == "Ouvert"){
  159. //Fermer le store
  160. //Serial.println("STORE: FERME");
  161. etat = "Ferme";
  162. }
  163.  
  164. if(ordre == "Ouvrir" && etat == "Ferme"){
  165. //Ouvrir le store
  166. //Serial.println("STORE: OUVERT");
  167. etat = "Ouvert";
  168. }
  169.  
  170. }
  171.  
  172.  
  173. void rapportDuStore(){
  174. Serial.println("****** STORE SOMFY - HUGO PITZ ******");
  175. Serial.print("Store: ");
  176. Serial.println(etat);
  177. Serial.print("Mode: ");
  178. if(ModeAuto){
  179. Serial.println("Automatique");
  180. } else {
  181. Serial.println("Manuel");
  182. }
  183. Serial.print("Soleil: ");
  184. Serial.println(Soleil);
  185. Serial.print("Vent: ");
  186. Serial.println(Vent);
  187.  
  188. Serial.println("");
  189. Serial.println("");
  190. Serial.println("");
  191. Serial.println("");
  192.  
  193.  
  194. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement