collapse

* Links de Robótica

* Posts Recentes

Palavras Cruzadas por brunus
[Hoje às 01:13]


[Projecto] Bomba Airsoft por jm_araujo
[23 de Setembro de 2017, 16:54]


Apresentação por Tech_JA
[23 de Setembro de 2017, 09:19]


Medir Agua que está no Poço por filjoa
[21 de Setembro de 2017, 20:58]


URGENTE - display de 7 segmentos com backpack por helderjsd
[20 de Setembro de 2017, 12:30]


Preços e fabricantes de pcb por Sérgio_Sena
[19 de Setembro de 2017, 10:20]


Isaac Asimov - I, Robot por senso
[18 de Setembro de 2017, 03:41]


ic SL440 da Plessey? por senso
[16 de Setembro de 2017, 13:11]


Compra Colectiva RS-Amidata por brunus
[15 de Setembro de 2017, 22:31]


Ideias para construir um quadrúpede simples por zordlyon
[15 de Setembro de 2017, 10:18]

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

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

Offline luisjustin

  • Mini Robot
  • *
  • Mensagens: 128
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: 128
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.390
  • 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: 128
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.390
  • 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: 128
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: 128
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: 331
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.