collapse

* Links de Robótica

* Posts Recentes

Ideias para construir um quadrúpede simples por dropes
[Hoje às 21:03]


Ajuda com TRIAC por senso
[17 de Novembro de 2017, 18:00]


TV LG White Screen por almamater
[15 de Novembro de 2017, 08:37]


Pergunta sobre prototipagem ( Pesquisa ) por luisjustin
[14 de Novembro de 2017, 23:22]


Medir Agua que está no Poço por Njay
[14 de Novembro de 2017, 13:28]


Amplificador audio por beirao
[12 de Novembro de 2017, 23:43]


Power_OK Enermax por edeweld
[12 de Novembro de 2017, 17:15]


Driver motor por beirao
[11 de Novembro de 2017, 17:40]


Preciso de uma fonte de corrente constante ? por samc
[09 de Novembro de 2017, 14:18]


Pressoestato 0-10V por artur36
[07 de Novembro de 2017, 23:22]

Autor Tópico: Desenvolvimento Automoção Residencial (Placa de Reles)  (Lida 1969 vezes)

0 Membros e 1 Visitante estão a ver este tópico.

Offline luisjustin

  • Mini Robot
  • *
  • Mensagens: 136
Desenvolvimento Automoção Residencial (Placa de Reles)
« em: 06 de Julho de 2012, 23:06 »
Olá, a todos do forum, estou tendo um problema em fazer com que quando eu desconectar do console serial os reles que eu acionei continuem ligado. esse é meu problema o código é este aqui:
Código: [Seleccione]
char Comando[2] = "";
char Status[11] = "0000000000"; //{0, 0, 0, 0, 0, 0, 0, 0, 0, 0}

void setup(){
  Serial.begin(9600);
  Serial.println("---------------------------------------");
  Serial.println("---->  Relay Board 3.0 Iniciando  <----");
  Serial.println("---->  Serial: #3298108301838108  <----");
  Serial.println("---------------------------------------");
  pinMode(A0, OUTPUT);
  pinMode(A1, OUTPUT);
  pinMode(A2, OUTPUT);
  pinMode(A3, OUTPUT);
  pinMode(A4, OUTPUT);
  pinMode(A5, OUTPUT);
  pinMode(A6, OUTPUT);
  pinMode(A7, OUTPUT);
  pinMode(A8, OUTPUT);
  pinMode(A9, OUTPUT);
}

void loop(){
  if(Serial.available() > 0){
    Comando[1] = Comando[2];
    Comando[2] = Serial.read();
    if(Comando[1] == '#'){
      switch(Comando[2]){
         /*
          * Exibir Array;
          */
        case 'R':
          Serial.println(Status);
        break;
         /*
          * Abrir portoes e etc...
          */
        case 'A':
          digitalWrite(A0, HIGH);
          Status[1] = 1;
          delay(1000);
          digitalWrite(A0, LOW);
          Status[1] = 0;
         break;
         case 'B':
           digitalWrite(A1, HIGH);
          Status[2] = 1;
          delay(1000);
          digitalWrite(A1, LOW);
          Status[2] = 0;
         break;
         /*
          * Sequencia de letras maiusculas
          */
         case 'C':
           Status[3] = 1;
         break;
         case 'D':
           Status[4] = 1;
         break;
         case 'E':
           Status[5] = 1;
         break;
         case 'F':
           Status[6] = 1;
         break;
         case 'G':
           Status[7] = 1;
         break;
         case 'H':
           Status[8] = 1;
         break;
         case 'I':
           Status[9] = 1;
         break;
         case 'J':
           Status[10] = 1;
         break;
         /*
          * Sequencia de letras minusculas
          */
         case 'c':
           Status[3] = 0;
         break;
         case 'd':
           Status[4] = 0;
         break;
         case 'e':
           Status[5] = 0;
         break;
         case 'f':
           Status[6] = 0;
         break;
         case 'g':
           Status[7] = 0;
         break;
         case 'h':
           Status[8] = 0;
         break;
         case 'i':
           Status[9] = 0;
         break;
         case 'j':
           Status[10] = 0;
         break;
      }
    }
  }
   if(Status[3] == 1) { digitalWrite(A2, HIGH); } else { digitalWrite(A2, LOW); }
   if(Status[4] == 1) { digitalWrite(A3, HIGH); } else { digitalWrite(A3, LOW); }
   if(Status[5] == 1) { digitalWrite(A4, HIGH); } else { digitalWrite(A4, LOW); }
   if(Status[6] == 1) { digitalWrite(A5, HIGH); } else { digitalWrite(A5, LOW); }
   if(Status[7] == 1) { digitalWrite(A6, HIGH); } else { digitalWrite(A6, LOW); }
   if(Status[8] == 1) { digitalWrite(A7, HIGH); } else { digitalWrite(A7, LOW); }
   if(Status[9] == 1) { digitalWrite(A8, HIGH); } else { digitalWrite(A8, LOW); }
   if(Status[10] == 1) { digitalWrite(A9, HIGH); } else { digitalWrite(A9, LOW); }
}
« Última modificação: 06 de Julho de 2012, 23:10 por luisjustin »

Offline luisjustin

  • Mini Robot
  • *
  • Mensagens: 136
Re: Desenvolvimento Automoção Residencial (Placa de Reles)
« Responder #1 em: 06 de Julho de 2012, 23:17 »
Por favor alguém me ajude  :) estou tentando arrumar isso a mais de 1 mês no código antigo e hoje eu refiz o codigo e não consegui alguém me ajude por favor :)

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.400
  • Helpdesk do sitio
Re: Desenvolvimento Automoção Residencial (Placa de Reles)
« Responder #2 em: 06 de Julho de 2012, 23:27 »
O problema é que quando ligas o cabo usb ao pc, o arduino faz reset automaticamente, provavelmente é esse o teu problema.
Avr fanboy

Offline luisjustin

  • Mini Robot
  • *
  • Mensagens: 136
Re: Desenvolvimento Automoção Residencial (Placa de Reles)
« Responder #3 em: 06 de Julho de 2012, 23:28 »
Entendi mas mesmo que eu não ligue pelo programa do arduino vamos dizer que eu crio meu programa ele vai fazer reset igual ?

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.400
  • Helpdesk do sitio
Re: Desenvolvimento Automoção Residencial (Placa de Reles)
« Responder #4 em: 06 de Julho de 2012, 23:33 »
Sim, mas para eliminar esse problema, pode meter uma resistencia de 500ohms entre o reset e os 5v na placa do arduino, só que quando quiser programar a placa tem de tirar essa resistencia ou carregar no botão de reset.
Avr fanboy

Offline luisjustin

  • Mini Robot
  • *
  • Mensagens: 136
Re: Desenvolvimento Automoção Residencial (Placa de Reles)
« Responder #5 em: 06 de Julho de 2012, 23:44 »
Não pode ser um resistor de 1K ? por que estou sem o resistor de 500Ohms

Offline luisjustin

  • Mini Robot
  • *
  • Mensagens: 136
Re: Desenvolvimento Automoção Residencial (Placa de Reles)
« Responder #6 em: 07 de Julho de 2012, 00:52 »
Coloquei um de 480Ohms mas não funcionou fecho o console do arduino ele reinicia a placa as vezes a luz não apaga quando eu fecho e sim quando eu abro ele novamente

Offline poliveira1978

  • Mini Robot
  • *
  • Mensagens: 333
Re: Desenvolvimento Automoção Residencial (Placa de Reles)
« Responder #7 em: 07 de Julho de 2012, 01:19 »
se usar um software tipo putty e desligar o DTR penso que deixa de fazer reset.