Olá caros amigos, estou com uma duvida aqui de como fazer funcionar esse script com 4 sensores, 1 esta normal, funciona perfeitamente, mas 4 não tive sucesso, alguém poderia me ajudar ?

#define Rele1 9 // Define pino de saida para rele 1
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;

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

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

for(int i=500; i>0; i--)
 {
 sensorValue_aux = (analogRead(sensorPin) -511);
 sensorValue += pow(sensorValue_aux,2);
 }
 
sensorValue = (sqrt(sensorValue/ 500)) * voltsporUnidade;
currentValue = (sensorValue/66)*1000;
 

if (currentValue < 0.10){
  st_lamp = "Lampada apagada";
  Serial.print (" Status da lampada:  ");
   Serial.println (st_lamp);
   delay(1000);
}else{
  st_lamp = "Lampada ligada";
  Serial.print (" Status da lampada:  ");
    Serial.println (st_lamp);
    delay(1000);
}

}

Exibições: 454

Responder esta

Respostas a este tópico

Você deseja somente identificar se uma lampada esta acesa ou não ?

A montagem de teste é a mesma ? Tirou um módulo e inseriu outro para teste ?

Bom dia José Gustavo, eu tenho 4 sensores de corrente iguais, todos ligados em 4 lampadas, mas o que eu consegui foi apenas fazer funcionar em uma lampada com esse código acima, na verdade o que eu preciso é "adaptar" esse codigo para que funcione nos 4 sensores, e não consigo. 

Quais portas do Arduino esta usando ? 

Estou usando a sequencia A0, A1, A2, A3.

Defina as constantes 

const int sensorPin0 = A0;

const int sensorPin1 = A1;

const int sensorPin2 = A2;

const int sensorPin3 = A3;

E repita essa sequencia para cada sensor Pin 

for(int i=500; i>0; i--)
 {
 sensorValue_aux = (analogRead(sensorPin) -511); 
 sensorValue += pow(sensorValue_aux,2); 
 }
 
sensorValue = (sqrt(sensorValue/ 500)) * voltsporUnidade; 
currentValue = (sensorValue/66)*1000; 
 

if (currentValue < 0.10){
  st_lamp = "Lampada apagada";
  Serial.print (" Status da lampada:  ");
   Serial.println (st_lamp);
   delay(1000);
}else{
  st_lamp = "Lampada ligada";
  Serial.print (" Status da lampada:  ");
    Serial.println (st_lamp);
    delay(1000);
}

Acho que ele vai só copiar e colar e não vai funcionar... Tem que adaptar as novas contantes dentro do código.

Tenho notado que o pessoal tem dificuldade mesmo é em programação, na realidade muitos nem mesmo tem a base de c/c++;

Sim , deve ser dificuldade na programação. 

Meu forte também não é programação. Mas tento orientar o melhor que eu posso. 

Se eu fizer o programa todo pronto para o colega, perco muito tempo e ele não aprende nada.

Concordo. Melhor que dar o peixe, é ensinar a pescar!

Essa é a minha filosofia aqui no Lab.

Amanda, não vou apenas copiar e colar, e outra, antes de perguntar eu tentei inúmeras vezes, e pesquisei bastante, agora se você se acha a expert em c/c++, lembre-se que você não nasceu sabendo, só para finalizar, estou começando agora com Arduino, tenha um bom dia.  

Josef, a Amanda não quis ofendê-lo  ! 

Ela só relatou o que acontece com frequência com os colegas. 

Eu também tenho dificuldade em programar e sempre conto com a ajuda dos colegas do lab. 

abraços. 

Gustavo Murta 

Desculpe se ofendi, mas se tentou tanto é mais um prova de quem não tem nem a base. Um código estruturado desses, uma pessoa com conhecimento em algoritmos consegue entender.

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço