Advertisement
RuiViana

ESP8266_Intrruptor

Feb 27th, 2017
256
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.95 KB | None | 0 0
  1.  
  2. #include <SHT1x.h>                                    // https://github.com/practicalarduino/SHT1x
  3. #define dataPin  0                                    // GPIO 0  D3  Port para o Data do SHT10
  4. #define clockPin 15                                   // GPIO 15 D8  Port para o Clock do SHT10
  5.  
  6. #define gpio4 4                                       // Port para ligar Controle do triac (Pino 2 do MOC3023)
  7. #define gpio2 2                                       // Port somente para visualizacao durante teste. Pode ser comentado na versao para instalar
  8. const int gpio5 = 5;                                  // Port para ligar o interruptor
  9. byte gpio5_atual = 0;                                 // Variavel para staus de GPIO5 (Status do interruptor)
  10.  
  11.  
  12. SHT1x sht1x(dataPin, clockPin);                       // Instancia shtx1
  13.  
  14. //#define CAYENNE_DEBUG                               // Comente para nao mostrar menssagen de debugs
  15. #define CAYENNE_PRINT Serial                          // Comente para impedir impressoes no serial monitor e salvar espaço
  16. #include <ESP8266WiFi.h>                              // Bibiotecas em https://github.com/myDevicesIoT/Cayenne-Arduino-Library
  17. #include "CayenneDefines.h"                           // =
  18. #include "BlynkSimpleEsp8266.h"                       // =
  19. #include "CayenneWiFiClient.h"                        // =
  20.  
  21. float pot = A0;                                       // Port onde esta conectado o potenciometro (Setpoint)
  22. float valor = 0;                                      // Variavel que armazena o valor lido no potencioment
  23.  
  24. char token[] = "tttttt";                          // Cayenne auth token. Valor encontrado no site ao criar o projeto novo ou no settings
  25. char ssid[] = "ssssss";                             // Digite seu SSID e sua PW
  26. char password[] = "ppppppp";
  27. //-----------------------------------
  28. void setup()
  29. {
  30.   Serial.begin(9600);                                 // Inicia a serial
  31.   pinMode(gpio5, INPUT_PULLUP);                       // Define GPIO5 como entrada e liga o resistor de pullup
  32.   gpio5_atual = digitalRead(gpio5);                   // Atualisa status de GPIO5
  33.   pinMode(gpio2, OUTPUT);                             // Define GPIO2 como saida (So pra diagnostico)
  34.   pinMode(gpio4, OUTPUT);                             // Define GPIO4 como saida
  35.   digitalWrite(gpio2, HIGH);                          // Liga GPIO2  (So pra diagnostico)
  36.   digitalWrite(gpio4, HIGH);                          // Liga GPIO4 Acende a Luz
  37.   Cayenne.begin(token, ssid, password);               // Estabelece comunicacao com o site Cayenne
  38. }
  39. //-----------------------------------
  40. void loop()
  41. {
  42.   Cayenne.run();                                      // Roda o projeto no site
  43.   delay(100);                                         // Delay
  44.   digitalWrite(gpio2, digitalRead(gpio4));
  45.   if (digitalRead(gpio5) !=  gpio5_atual)             // Se o valor do SW alterou
  46.   {
  47.     delay(40);                                        // Delay
  48.     if (digitalRead(gpio5) !=  gpio5_atual)           // Se o valor do SW alterou
  49.     {
  50.       digitalWrite(gpio4, !digitalRead(gpio4));       // Inverte a saida
  51.       digitalWrite(gpio2, digitalRead(gpio4));        // Gpio2 = Gpio4     Diagnostico
  52.       gpio5_atual = digitalRead(gpio5);               // Atualisa o Gpio5 atual
  53.     }
  54.   }
  55. }
  56. //-----------------------------------
  57. CAYENNE_OUT(V0)                                       // Estas funcoes e chamada quando um widget requer dados do pin virtual
  58. {
  59.   Cayenne.virtualWrite(V0, sht1x.readTemperatureC()); // Le valor da temperatura no SHT10 e envia para o Cayenne
  60. }
  61. //-----------------------------------
  62. CAYENNE_OUT(V1)
  63. {
  64.   Cayenne.virtualWrite(V1, sht1x.readHumidity());     // Le valor da umidade no SHT10 e envia para o Cayenne
  65. }
  66. //-----------------------------------
  67. CAYENNE_OUT(V2)
  68. {
  69.   Cayenne.virtualWrite(V2, digitalRead(gpio4));        // Le valor da Status da lampada e envia para o Cayenne
  70. }
  71. //-----------------------------------
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement