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é
Tags:
Comentar
Rodrigo, na época eu utilizei um sensor de 30A, mas foi porque eu tinha apenas ele, o tamanho é definido pela sua necessidade. ok.
Quantos amperes o sensor de corrente utilizado no projeto?
Muito Bom!!!
muito bom, agora adaptar para ler uns 30 sensores..
vlw
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-...
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);
}
No caso, vou checar 30 lampadas, você sabe algo sobre expansores de portas analogicas?
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.
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por
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)