LOJA FÍSICA
Praça Mauá, 4541 - Sala 22
09580-050 - São Caetano do Sul / SP
CENTRAL DE ATENDIMENTO
(11) 3522-7626
info@robocore.net
HORÁRIO DE FUNCIONAMENTO
De segunda à sexta das 9:00 às 18:30
Retornar
ao topo

Classifique este tópicoPéssimoRuimMedianoBomÓtimo
Autor
Mensagem
3
sergio.benotto

Level 0
0 xp

Registrado em:
12/01/2019





Mensagens:
1
3
sergio.benotto

Responder com citações
Mensagem Sab Jan 12, 2019 10:05 am
Como incrementar este código de ar-condicionado!
Olá amigos, sou novo por aqui e gostaria da ajuda para aperfeiçoar um projeto de controle de um ar-condicionado controlado com esp e blynk! 
   O ar é de janela, todo mecanico, sem controle! porem o projeto original controla apenas 1 velocidade de ventilaçao e meu ar tem 2 velocidades. Gostaria de incluir um 3o rele para esta funcao mas nao tenho muita prática ainda! Estou mandando foto do projeto eletrico e tela do blynk!

[/img]

segue abaixo código

#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#include <OneWire.h>

char auth[] = "xxxxx";

char ssid[] = xxxx";
char pass[] = "xxxx";

byte i;
byte present = 0;
byte type_s;
byte data[12];
byte addr[8];
float celsius;
float setpoint = 23.0;
float setpoint1;
int ligadesliga = 0;
bool habilita;
float gasto;
bool compressor;
int gastoint;
float gastosend;

OneWire  ds(0);
BlynkTimer timer;
WidgetLED led1(V5);
WidgetLED led2(V6);



BLYNK_WRITE(V2)                 // Leitura do set-point
{
  float setpoint1 = param.asFloat(); 
  setpoint = setpoint1;
}



BLYNK_WRITE(V3)                // Leitura do botão liga-desliga
{
  int ligadesliga=param.asInt();
if (ligadesliga==1) 
  {
  digitalWrite(12, HIGH);        //ventilador
  habilita = 1;
  }
else 
  {
  digitalWrite(12, LOW);
  habilita = 0;
  compressor = 0;
  }
}



void myTimerEvent()
{
  Blynk.virtualWrite(V1, celsius);
  Blynk.virtualWrite(V0, setpoint);
  Blynk.virtualWrite(V4, gastosend);
  
  if ((habilita == 1) && (compressor == 0))
  {
    gasto = gasto + 0.00004445;
  }
  if ((habilita == 1) && (compressor == 1))
  {
    gasto = gasto + 0.00033866;
  }
  if ((habilita == 0) && (compressor ==0))
  {
    gasto = 0;
  }

  gastoint = gasto * 100;
  gastosend = gastoint / 100.0;
  Serial.println(gasto);
  Serial.println(gastoint);
  Serial.println(gastosend);
  Serial.println();

  
  if (compressor == 1)
  {
    led1.on();
  }
  else
  {
    led1.off();
  }


  if (habilita == 1)
  {
    led2.on();
  }
  else
  {
    led2.off();
  }
}





void setup()
{
  Blynk.begin(auth, ssid, pass);
  timer.setInterval(2000L, myTimerEvent);
  pinMode(14,OUTPUT);
  pinMode(12,OUTPUT);
  Serial.begin(9600);
}




void loop()
{
  Blynk.run();
  timer.run();

  if (habilita == 1)
  {  
    if (celsius > (setpoint + 1.5))    // Liga e desliga compressor
    {
      digitalWrite(14,HIGH);
      compressor = 1;
    }
  }
  else
    {
      digitalWrite(14,LOW);
      compressor = 0;
    }
  
  if (habilita == 1)
  {  
    if (celsius < (setpoint - 1.5))
    {
      digitalWrite(14,LOW);
      compressor = 0;
    }
  }
  else
    {
      digitalWrite(14,LOW);
      compressor = 0;
    }



  
  if ( !ds.search(addr)) 
  {    
    //Serial.println("No more addresses.");
    //Serial.println();
    ds.reset_search();
    //delay(250);
    //return;
  }
   
  ds.reset();
  ds.select(addr);
  ds.write(0x44, 1);        
  present = ds.reset();
  ds.select(addr);    
  ds.write(0xBE);         

  for ( i = 0; i < 9; i++) 
    {           
      data[i] = ds.read();
    }
    
  int16_t raw = (data[1] << Cool | data[0];
  if (type_s) 
  {
    raw = raw << 3; // 9 bit resolution default
    if (data[7] == 0x10) {
    raw = (raw & 0xFFF0) + 12 - data[6];
   }
  } 
  
  else 
  {
    byte cfg = (data[4] & 0x60);
    if (cfg == 0x00) raw = raw & ~7;  
    else if (cfg == 0x20) raw = raw & ~3; 
    else if (cfg == 0x40) raw = raw & ~1; 
  }
  
  celsius = (float)raw / 16.0;
  int newcelsius = (celsius * 10);
  celsius = (newcelsius / 10.0);

}
Mostrar mensagens desde a última:




Ir para:  
Todos os horários são GMT - 3 HorasVocê não tem permissão para escrever novas mensagens
v não tem permissão para responder às mensagens
Você não tem permissão para editar suas mensagens
Você não tem permissão para deletar suas mensagens
Você não tem permissão para classificar tópicos
Você não tem permissão para classificar mensagens
Você não tem permissão para votar em enquetes
Anexar downloads : Proibido
Fazer Download de Arquivos: Proibido
Powered by phpBB © 2001 phpBB Group