Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- GPIO 16 D0 ----------> PINO 04
- GPIO 05 D1 ----------> PINO 20
- GPIO 04 D2 ----------> PINO 19
- GPIO 00 D3 ----------> PINO 18
- GPIO 02 D4 --> LED --> PINO 17
- GPIO 14 D5 ----------> PINO 05
- GPIO 12 D6 ----------> PINO 06
- GPIO 13 D7 ----------> PINO 07
- GPIO 15 D8 ----------> PINO 16
- GPIO 03 RX ----------> PINO 21
- GPIO 01 TX ----------> PINO 22
- */
- //#include <SHT1x.h> // https://github.com/practicalarduino/SHT1x
- //#define dataPin 0 // GPIO 00 D3 // GPIO 0 D3 Port para o Data do SHT10
- //#define clockPin 15 // GPIO 15 D8 // GPIO 15 D8 Port para o Clock do SHT10
- //SHT1x sht1x(dataPin, clockPin); // Instancia shtx1
- #define Lamp1 5 // GPIO 05 D1 // Port para ligar Controle do triac (Pino 2 do MOC3023)
- #define Lamp2 4 // GPIO 04 D2 // Port para ligar Controle do triac (Pino 2 do MOC3023)
- #define Lamp3 0 // GPIO 00 D3 // Port para ligar Controle do triac (Pino 2 do MOC3023)
- #define Lamp4 12 // GPIO 12 D6 // Port para ligar Controle do triac (Pino 2 do MOC3023)
- #define LED 2 // GPIO 02 D4 // Port somente para visualizacao durante teste. Pode ser comentado na versao para instalar
- const int Switch1 = 16; // GPIO 16 D0 // Port para ligar o interruptor
- const int Switch2 = 14; // GPIO 14 D5 // Port para ligar o interruptor
- const int Switch3 = 13; // GPIO 13 D7 // Port para ligar o interruptor
- const int Switch4 = 15; // GPIO 15 D8 // Port para ligar o interruptor
- byte Switch1_atual = 0; // Variavel para staus de Switch1 (Status do interruptor)
- byte Switch2_atual = 0; // Variavel para staus de Switch1 (Status do interruptor)
- byte Switch3_atual = 0; // Variavel para staus de Switch1 (Status do interruptor)
- byte Switch4_atual = 0; // Variavel para staus de Switch1 (Status do interruptor)
- //#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" // =
- char token[] = "ttttttttttt"; // Cayenne auth token. Valor encontrado no site ao criar o projeto novo ou no settings
- char ssid[] = "sssssssss"; // Digite seu SSID e sua PW
- char password[] = "pppppppp";
- //-----------------------------------
- void setup()
- {
- Serial.begin(9600); // Inicia a serial
- pinMode(Switch1, INPUT_PULLUP); // Define Switch1 como entrada e liga o resistor de pullup
- pinMode(Switch2, INPUT_PULLUP); // Define Switch2 como entrada e liga o resistor de pullup
- pinMode(Switch3, INPUT_PULLUP); // Define Switch3 como entrada e liga o resistor de pullup
- pinMode(Switch4, INPUT_PULLUP); // Define Switch4 como entrada e liga o resistor de pullup
- Switch1_atual = digitalRead(Switch1); // Atualisa status de Switch1
- Switch2_atual = digitalRead(Switch2); // Atualisa status de Switch2
- Switch3_atual = digitalRead(Switch3); // Atualisa status de Switch3
- Switch4_atual = digitalRead(Switch4); // Atualisa status de Switch4
- pinMode(LED, OUTPUT); // Define Lamp2 como saida (So pra diagnostico)
- pinMode(Lamp1, OUTPUT); // Define Lamp1 como saida
- pinMode(Lamp2, OUTPUT); // Define Lamp2 como saida
- pinMode(Lamp3, OUTPUT); // Define Lamp3 como saida
- pinMode(Lamp4, OUTPUT); // Define Lamp4 como saida
- // digitalWrite(LED, HIGH); // Liga Lamp2 (So pra diagnostico)
- digitalWrite(Lamp1, HIGH); // Liga Lamp1 Acende a Luz
- digitalWrite(Lamp2, HIGH); // Liga Lamp2 Acende a Luz
- digitalWrite(Lamp3, HIGH); // Liga Lamp3 Acende a Luz
- digitalWrite(Lamp4, HIGH); // Liga Lamp4 Acende a Luz
- Cayenne.begin(token, ssid, password); // Estabelece comunicacao com o site Cayenne
- }
- //-----------------------------------
- void loop()
- {
- digitalWrite(LED, digitalRead(Lamp4)); // LED = Lamp1 Diagnostico
- Cayenne.run(); // Roda o projeto no site
- delay(100); // Delay
- //---------------------
- if (digitalRead(Switch1) != Switch1_atual) // Se o valor do SW alterou
- {
- delay(40); // Delay
- if (digitalRead(Switch1) != Switch1_atual) // Se o valor do SW alterou
- {
- digitalWrite(Lamp1, !digitalRead(Lamp1)); // Inverte a saida
- Switch1_atual = digitalRead(Switch1); // Atualisa o Switch1 atual
- }
- }
- //---------------------
- if (digitalRead(Switch2) != Switch2_atual) // Se o valor do SW alterou
- {
- delay(40); // Delay
- if (digitalRead(Switch2) != Switch2_atual) // Se o valor do SW alterou
- {
- digitalWrite(Lamp2, !digitalRead(Lamp2)); // Inverte a saida
- Switch2_atual = digitalRead(Switch2); // Atualisa o Switch2 atual
- }
- }
- //---------------------
- if (digitalRead(Switch3) != Switch3_atual) // Se o valor do SW alterou
- {
- delay(40); // Delay
- if (digitalRead(Switch3) != Switch3_atual) // Se o valor do SW alterou
- {
- digitalWrite(Lamp3, !digitalRead(Lamp3)); // Inverte a saida
- Switch3_atual = digitalRead(Switch3); // Atualisa o Switch3 atual
- }
- }
- //---------------------
- if (digitalRead(Switch4) != Switch4_atual) // Se o valor do SW alterou
- {
- delay(40); // Delay
- if (digitalRead(Switch4) != Switch4_atual) // Se o valor do SW alterou
- {
- digitalWrite(Lamp4, !digitalRead(Lamp4)); // Inverte a saida
- Switch4_atual = digitalRead(Switch4); // Atualisa o Switch4 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(Lamp1))); // Le valor da Status da lampada e envia para o Cayenne
- }
- //-----------------------------------
- CAYENNE_OUT(V3)
- {
- Cayenne.virtualWrite(V3, !(digitalRead(Lamp2))); // Le valor da Status da lampada e envia para o Cayenne
- }
- //-----------------------------------
- CAYENNE_OUT(V4)
- {
- Cayenne.virtualWrite(V4, !(digitalRead(Lamp3))); // Le valor da Status da lampada e envia para o Cayenne
- }
- //-----------------------------------
- CAYENNE_OUT(V5)
- {
- Cayenne.virtualWrite(V5, !(digitalRead(Lamp4))); // Le valor da Status da lampada e envia para o Cayenne
- }
- //-----------------------------------
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement