Arduino - Identificando o estado da lâmpada (Ligada / Desligada)

Neste vídeo é mostrado como identificar se uma lâmpada está ligada ou apagada independente se foi ligada por um interruptor normal ou pelo relé

Exibições: 504

Comentar

Você precisa ser um membro de Laboratorio de Garagem (arduino, eletrônica, robotica, hacking) para adicionar comentários!

Entrar em Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)

Comentário de Rodrigo Pereira do Nascimento em 13 junho 2017 às 14:52
Obrigado!
Comentário de Wagner Kuramoto em 13 junho 2017 às 14:39

Rodrigo, na época eu utilizei um sensor de 30A, mas foi porque eu tinha apenas ele, o tamanho é definido pela sua necessidade. ok.

Comentário de Rodrigo Pereira do Nascimento em 13 junho 2017 às 13:13

Quantos amperes o sensor de corrente utilizado no projeto?

Comentário de Alan de Souza Maximiano da Silva em 7 setembro 2015 às 0:52

Muito Bom!!!

Comentário de Rogerio A. Filho em 21 outubro 2013 às 16:42

muito bom, agora adaptar para ler uns 30 sensores..

vlw

Comentário de Wagner Kuramoto em 19 outubro 2013 às 23:55

Rogério,

Eu defini dois rele porque estava usando um ReleShield.

Quanto ao código do ACS712, eu retirei do seguinte site: http://dutraleo.wordpress.com/2013/07/28/acs-712-em-corrente-altern...

Veja também: http://dutraleo.wordpress.com/2013/01/29/sensor-de-corrente-acs712-...

Comentário de Wagner Kuramoto em 19 outubro 2013 às 23:52

Olá Rogério,

Segue abaixo o código que foi utilizado no vídeo

#define Rele1 7 // Define pino de saida para rele 1
#define Rele2 8 // Define pino de saida para rele 2
const int sensorPin = A0;
float sensorValue_aux = 0;
float sensorValue = 0;
float currentValue = 0;
float voltsporUnidade = 0.0048828125;

int st_rl = 0;
String st_lamp = '0';

void setup(){
  pinMode(Rele1,OUTPUT);
  pinMode(Rele2,OUTPUT);
  Serial.begin(9600);
}

void loop(){
  char c = Serial.read();

for(int i=500; i>0; i--)
 {
 sensorValue_aux = (analogRead(sensorPin) -511); // le o sensor na pino analogico A0 e ajusta o valor lido ja que a saída do sensor é vcc/2 para corrente =0
 sensorValue += pow(sensorValue_aux,2); // soam os quadardos das leituras no laco
 }
 
sensorValue = (sqrt(sensorValue/ 500)) * voltsporUnidade; // finaliza o calculo da méida quadratica e ajusta o valor lido para volts
currentValue = (sensorValue/66)*1000; // calcula a corrente considerando a sensibilidade do sernsor (66 mV por amper)
 

if (currentValue < 0.10){
  st_lamp = "Lampada apagada";
}else{
  st_lamp = "Lampada ligada";
}

  if (c == 's'){
    Serial.print ("Valor do st: ");
    Serial.print (st_rl);
    Serial.print (" Corrente: ");
    Serial.print (currentValue);
    Serial.print (" Status da lampada:  ");
    Serial.println (st_lamp);
  }
  if (c == 'a'){
    if (st_rl == 0){
      digitalWrite(Rele1, HIGH);
      Serial.print ("Valor anterior do st: ");
      Serial.print (st_rl);
      Serial.print (" Status anterior da lampada:  ");
      Serial.print (st_lamp);
      st_rl = 1;
      Serial.print (" Valor do st mudado para: ");
      Serial.print (st_rl);
      Serial.print (" Status atual da lampada:  ");
      Serial.println (st_lamp);
    }
    else{
      digitalWrite(Rele1, LOW);
      Serial.print ("Valor do st: ");
      Serial.print (st_rl);
      st_rl = 0;
      Serial.print (" Valor do st mudado para: ");
      Serial.print (st_rl);
      Serial.print (" Status da Lampada: ");
    }
  }

      Serial.print (" Status atual da lampada:  ");
      Serial.println (st_lamp);
       delay(5000);

}

Comentário de Rogerio A. Filho em 19 outubro 2013 às 17:37

No caso, vou checar 30 lampadas, você sabe algo sobre expansores de portas analogicas?

Comentário de Rogerio A. Filho em 19 outubro 2013 às 17:21

Estou implementando exatamente isso.. com sensores de corrente..

Vai compartilhar o codigo? tive problemas com precisão usando o sensor de corrente, o meu é de ate 30A.

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço