Bem pessoal. eu gostaria de gerar uma planilha, somente quando acionasse as portas digitais em nível logico 0 e/ou 1. Por exemplo: Tenho uma shield de reles acoplada ao arduino. quando acionar o primeiro rele, quero que gere no histórico da planilha RELE (1), STATUS (ligado ou desligado), DATA (dia/mes/ano), HORA(hh:mm:ss). E comunicando com o excel. Tenho visto exemplos aqui, so que todos dependem de um valor analogico, que fica numa "varredura constante". No meu caso quero que ele complete uma linha no excel apenas quando acionar e desligar o relé.

Aqui está um código que fiz:

http://pastebin.com/raw.php?i=Xp9qLE5S

Nele quando digito no serial monitor "v1on" o relé 1 liga, 5 segundos depois ele desliga, ou antes disso, digitando "v1off", o mesmo desliga tambem.

Aqui meu serial monitor com o acionamento do rele 1:

http://prntscr.com/7iyzxy

Exibições: 1885

Responder esta

Respostas a este tópico

De uma olhada no meu canal do YT se pode servir para você.

https://www.youtube.com/watch?v=2IqJQWodLMg

Abs.

Muito obrigado Carlos. Mas como disse... eu ja simulei dessa forma. so que nao é desse jeito. preciso q o relatorio so seja preenchido, quando meu relé for acionado. vlw

Olá Johan,

Entendi melhor agora, não vejo solução desta forma porque a porta serial vai estar sempre ocupada para o software quando tentar escrever no monitor serial, este deve ser o conflito, agora se o acionamento for via botão, ou seja não usar o MS para enviar comandos, vai funcionar, no em tanto caso eu souber de alguma solução posto aqui.

Boa sorte.

Abs.

Isso mesmo... Tambem pude comprovar isso. O meu projeto consta em comandos via SMS para o acionamento. So que estou testando com botoes, ja que os comandos pelo monitor serial impede a comunicação com o PLX. Ja tentei fazer com o botão, no serial monitor ele gera a impressao. só que no PLX nao chega nada, mesmo deligando o serial monitor. chega até dá um sinal naqueles botoes C R T nos quadrinhos verdes no PLX. toda vez q pulso o botao na protoboard o quadrinho R pisca. chega a gerar o cabeçalho.. mas nao escre nada na planilha.

Se puder cole aqui (Pastebin) seu código com botões que faço testes para você aqui também.

Abs.

Olá gente!

A data e hora vai ter que ser inserida quando o Excel receber os dados pois entendi que o arduino não possui um RTC.

Experimenta ai ...

int temporizador1 = 0;
int temporizador2 = 0;
int led1 = 8;
int led2 = 9;
int estadorele1 = LOW;
int estadorele2 = LOW;
int row = 0;

void setup() {
  pinMode(led1, OUTPUT);
  pinMode(led2, OUTPUT);
  digitalWrite(led1, estadorele1);
  digitalWrite(led2, estadorele2);
  Serial.begin(9600);
  Serial.println("LABEL,SETOR,STATUS");
}

String lerserial() {
  String conteudo = "";
  char caractere;
  while(Serial.available() > 0) {
    caractere = Serial.read();
    if (caractere != '\n') {
      conteudo.concat(caractere);
    }
    delay(10);
  }
  Serial.print("Comando: ");
  Serial.println(conteudo);
  return conteudo;
}

void atualizaRele(int setor, int valor) {
  row++;
  if(setor == 1) {
    estadorele1 = valor;
    digitalWrite(led1, valor);
  }
  if(setor == 2) {
    estadorele2 = valor;
    digitalWrite(led2, valor);
  }
  Serial.print(row);
  Serial.print(",Setor ");
  Serial.print(setor);
  Serial.print(",");
  Serial.print(valor);
}

void loop() {
  unsigned long tempo = millis();

  if(estadorele1 == HIGH && ((tempo - temporizador1) > 5000)) {
    atualizaRele(1, LOW);
  }
  if(estadorele2 == HIGH && ((tempo - temporizador2) > 5000)) {
    atualizaRele(2, LOW);
  }
  if (Serial.available() > 0){
    String recebido = lerserial();
    if (recebido == "v1on") {
      temporizador1 = tempo;
      atualizaRele(1, HIGH);
    }
    if (recebido == "v1off"){
      temporizador1 = tempo - 5000;
      atualizaRele(1, LOW);
    }
    if (recebido == "v2on"){
      temporizador2 = tempo;
      atualizaRele(2, HIGH);
    }
    if (recebido == "v2off"){
      temporizador2 = tempo - 5000;
      atualizaRele(2, LOW);
    }
  }
  delay(100);
}

Celso.. como poderia colocar dois botoes para acionar os reles, neste Código, ao invés do texto. Tentei aqui e não deu certo.

consegui colocar os botoes aqui. só que aciona na primeira vez, e não escreve nada no SM. depois de um tempinho não aciona mais nada. mas aparece os dados no serial monitor. kkk

Publique o seu código fantasma rsrsrs, para checar aqui.

Abs.

Johan,

Tive um trabalhão para fazer o código e gostaria de saber se funcionou.

O mínimo que poderia fazer por mim é me retornar se funcionou de acordo com o que pediu ou não.

Muito obrigado,

  'Eiju

Ô Celso me perdoe amigao. Seu codigo me ajudou sim. Entetando, ele só funciona no monitor serial, sem possibilidade de trabalhar com o PLX. Mas atraves dele pude adptar a outro aqui, onde obtive bons resultados. Desculpe por nao agradecer. Desculpe mesmo. Acabei esquecendo.

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço