Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Store somfy (Hugo PITZ)
- int LEDm = 13;
- int LEDd = 10;
- int BPm = 26;
- int BPd = 24;
- int LEDmode = 31;
- int BPmode = 22;
- int LEDsoleil = 33;
- int BPsoleil = 28;
- int LEDvent = 35;
- int BPvent = 30;
- void setup() {
- // On défini les I/O
- pinMode(LEDm,OUTPUT);
- pinMode(LEDd,OUTPUT);
- pinMode(BPm,INPUT);
- pinMode(BPd,INPUT);
- pinMode(LEDmode,OUTPUT);
- pinMode(BPmode,INPUT);
- pinMode(LEDsoleil,OUTPUT);
- pinMode(BPsoleil,INPUT);
- pinMode(LEDvent,OUTPUT);
- pinMode(BPvent,INPUT);
- Serial.begin(9600);
- }
- int IBPm;
- int IBPd;
- int IBPmode;
- int IBPsoleil;
- int IBPvent;
- // Variables "importantes"
- String etat = "Ferme";
- boolean ModeAuto = false;
- boolean Soleil = false;
- boolean Vent = false;
- int rprFois = 0;
- void loop() {
- IBPm = digitalRead(BPm);
- IBPd = digitalRead(BPd);
- IBPmode = digitalRead(BPmode);
- IBPsoleil = digitalRead(BPsoleil);
- IBPvent = digitalRead(BPvent);
- //Serial.println(digitalRead(BPm));
- //Changement de mode, true = auto - false = manuel
- if(IBPmode == HIGH){
- delay(100);
- changerDeMode();
- }
- // Active ou désactive soleil
- if(IBPsoleil == HIGH){
- delay(100);
- if(Soleil){
- Soleil = false;
- digitalWrite(LEDsoleil,LOW);
- } else {
- Soleil = true;
- digitalWrite(LEDsoleil,HIGH);
- }
- }
- // Active ou désactive vent
- if(IBPvent == HIGH){
- delay(100);
- if(Vent){
- Vent = false;
- digitalWrite(LEDvent,LOW);
- } else {
- Vent = true;
- digitalWrite(LEDvent,HIGH);
- }
- }
- //Si le mode auto est activé
- if(ModeAuto){
- //SOLEIL -> DESCENDRE donc Ouvrir pour ombre sur terrace
- if(Soleil && !Vent){
- controleStore("Ouvrir");
- }
- if(Vent){
- controleStore("Fermer");
- }
- if(!Soleil && !Vent){
- controleStore("Fermer");
- }
- }
- else // Si le mode manuel est activé
- {
- if(IBPm == HIGH){
- controleStore("Ouvrir");
- }
- if(IBPd == HIGH){
- controleStore("Fermer");
- }
- }
- //gestion led montée descente
- if(etat == "Ouvert"){
- digitalWrite(LEDm,HIGH);
- digitalWrite(LEDd,LOW);
- }
- if(etat == "Ferme"){
- digitalWrite(LEDd,HIGH);
- digitalWrite(LEDm,LOW);
- }
- if(rprFois < 15){
- rprFois++;
- } else {
- rapportDuStore();
- rprFois = 0;
- }
- delay (50);
- }
- //fin loop
- void changerDeMode(){
- if(ModeAuto){
- digitalWrite(LEDmode,LOW);
- //Serial.println("Passage au mode Manuel");
- ModeAuto = false;
- } else {
- digitalWrite(LEDmode,HIGH);
- //Serial.println("Passage au mode Auto");
- ModeAuto = true;
- }
- }
- // Ouvrir -> Sortir le store, le deployer
- void controleStore(String ordre){
- if(ordre == "Fermer" && etat == "Ouvert"){
- //Fermer le store
- //Serial.println("STORE: FERME");
- etat = "Ferme";
- }
- if(ordre == "Ouvrir" && etat == "Ferme"){
- //Ouvrir le store
- //Serial.println("STORE: OUVERT");
- etat = "Ouvert";
- }
- }
- void rapportDuStore(){
- Serial.println("****** STORE SOMFY - HUGO PITZ ******");
- Serial.print("Store: ");
- Serial.println(etat);
- Serial.print("Mode: ");
- if(ModeAuto){
- Serial.println("Automatique");
- } else {
- Serial.println("Manuel");
- }
- Serial.print("Soleil: ");
- Serial.println(Soleil);
- Serial.print("Vent: ");
- Serial.println(Vent);
- Serial.println("");
- Serial.println("");
- Serial.println("");
- Serial.println("");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement