Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <SHT1x.h> // https://github.com/practicalarduino/SHT1x
- #define dataPin 0 // GPIO 0 D3 Port para o Data do SHT10
- #define clockPin 15 // GPIO 15 D8 Port para o Clock do SHT10
- #define gpio4 4 // Port para ligar Controle do triac (Pino 2 do MOC3023)
- #define gpio2 2 // Port somente para visualizacao durante teste. Pode ser comentado na versao para instalar
- const int gpio5 = 5; // Port para ligar o interruptor
- byte gpio5_atual = 0; // Variavel para staus de GPIO5 (Status do interruptor)
- SHT1x sht1x(dataPin, clockPin); // Instancia shtx1
- //#define CAYENNE_DEBUG // Comente para nao mostrar menssagen de debugs
- #define CAYENNE_PRINT Serial // Comente para impedir impressoes no serial monitor e salvar espaço
- #include <ESP8266WiFi.h> // Bibiotecas em https://github.com/myDevicesIoT/Cayenne-Arduino-Library
- #include "CayenneDefines.h" // =
- #include "BlynkSimpleEsp8266.h" // =
- #include "CayenneWiFiClient.h" // =
- float pot = A0; // Port onde esta conectado o potenciometro (Setpoint)
- float valor = 0; // Variavel que armazena o valor lido no potencioment
- char token[] = "tttttt"; // Cayenne auth token. Valor encontrado no site ao criar o projeto novo ou no settings
- char ssid[] = "ssssss"; // Digite seu SSID e sua PW
- char password[] = "ppppppp";
- //-----------------------------------
- void setup()
- {
- Serial.begin(9600); // Inicia a serial
- pinMode(gpio5, INPUT_PULLUP); // Define GPIO5 como entrada e liga o resistor de pullup
- gpio5_atual = digitalRead(gpio5); // Atualisa status de GPIO5
- pinMode(gpio2, OUTPUT); // Define GPIO2 como saida (So pra diagnostico)
- pinMode(gpio4, OUTPUT); // Define GPIO4 como saida
- digitalWrite(gpio2, HIGH); // Liga GPIO2 (So pra diagnostico)
- digitalWrite(gpio4, HIGH); // Liga GPIO4 Acende a Luz
- Cayenne.begin(token, ssid, password); // Estabelece comunicacao com o site Cayenne
- }
- //-----------------------------------
- void loop()
- {
- Cayenne.run(); // Roda o projeto no site
- delay(100); // Delay
- digitalWrite(gpio2, digitalRead(gpio4));
- if (digitalRead(gpio5) != gpio5_atual) // Se o valor do SW alterou
- {
- delay(40); // Delay
- if (digitalRead(gpio5) != gpio5_atual) // Se o valor do SW alterou
- {
- digitalWrite(gpio4, !digitalRead(gpio4)); // Inverte a saida
- digitalWrite(gpio2, digitalRead(gpio4)); // Gpio2 = Gpio4 Diagnostico
- gpio5_atual = digitalRead(gpio5); // Atualisa o Gpio5 atual
- }
- }
- }
- //-----------------------------------
- CAYENNE_OUT(V0) // Estas funcoes e chamada quando um widget requer dados do pin virtual
- {
- Cayenne.virtualWrite(V0, sht1x.readTemperatureC()); // Le valor da temperatura no SHT10 e envia para o Cayenne
- }
- //-----------------------------------
- CAYENNE_OUT(V1)
- {
- Cayenne.virtualWrite(V1, sht1x.readHumidity()); // Le valor da umidade no SHT10 e envia para o Cayenne
- }
- //-----------------------------------
- CAYENNE_OUT(V2)
- {
- Cayenne.virtualWrite(V2, digitalRead(gpio4)); // Le valor da Status da lampada e envia para o Cayenne
- }
- //-----------------------------------
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement