collapse

* Posts Recentes

Como ver se uma tomada tem a terra ligada? por Njay
[Hoje às 13:42]


Via Verde - Identificador por TigPT
[Hoje às 09:56]


Estação de soldadura da Banggood, será boa compra ? por vasco
[Ontem às 17:47]


Desenho PCBs 80's por senso
[Ontem às 14:35]


Como guardar componentes SMD ? por vasco
[Ontem às 14:34]


e-bike converter piscas para 12v por vasco
[15 de Fevereiro de 2018, 23:51]


Ebay - fornecedor em Espanha por SerraCabo
[15 de Fevereiro de 2018, 01:11]


BostonDynamics - Vai uma mãozinha? por TigPT
[14 de Fevereiro de 2018, 15:58]


Primeiro campeonato mundial de Ski robótico por TigPT
[14 de Fevereiro de 2018, 15:15]


Ajuda com 5A por almamater
[13 de Fevereiro de 2018, 19:38]

Autor Tópico: ajuda no codigo  (Lida 1023 vezes)

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

Offline clauiocbamt

  • Mini Robot
  • *
  • Mensagens: 18
ajuda no codigo
« em: 21 de Maio de 2011, 18:57 »
olá pessoal preciso de ajuda nesse codigo, por que não esta dando certo alguem me ajuda ai
é o seguite galera preciso atraves de duas entradas fotoacoplada ativar e desativar uma saida
#define rele1 8
#define fotoac1 2
#define fotoac2 3

void setup(){

pinMode ( rele1 , OUTPUT);
pinMode (fotoac1, INPUT);
pinMode (fotoac1, INPUT);
}


void loop(){

if ( fotoac1 == LOW){

rele1 = HIGH;

if (fotoac2 == LOW)

rele2 = LOW;
}
}
as entradas estao sempre em nivel alto, e para mudar o estado da saida a configuração do fotoacoplador esta para mandar nivel baixo para a entrada toda vez que é acionado, por um periodo de 100ms, e uma vez ativada a saida esta devera sem mantida até a chegada de um novo pulso em nivel baixo , preciso de ajuda , agradeço quem puder me ajudar (desenho em anexo)



Offline Njay

  • Mini Robot
  • *
  • Mensagens: 3.233
    • Tróniquices
Re: ajuda no codigo
« Responder #1 em: 21 de Maio de 2011, 19:20 »
Falta o circuito eléctrico...

Offline clauiocbamt

  • Mini Robot
  • *
  • Mensagens: 18
Re: ajuda no codigo
« Responder #2 em: 21 de Maio de 2011, 19:28 »
o circuito ta junto com o post


fiz essas aletarações e não funcionou ainda




int rele2 = 8;
#define fotoac1 2
#define fotoac2 3

void setup(){

pinMode ( rele2 , OUTPUT);
pinMode (fotoac1, INPUT);
pinMode (fotoac1, INPUT);
}


void loop(){

if (digitalRead(fotoac1 == LOW)){

digitalWrite (rele2 , HIGH);
}

if (digitalRead(fotoac2 == LOW)){

digitalWrite(rele2,LOW);
}
}

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.458
  • Helpdesk do sitio
Re: ajuda no codigo
« Responder #3 em: 21 de Maio de 2011, 22:07 »
Porque estás a compara o numero do pino com HIGH e não o valor do digitalRead do pino..
É assim:
Código: [Seleccione]
int rele2 = 8;
#define fotoac1 2
#define fotoac2 3

void setup(){

pinMode ( rele2 , OUTPUT);
pinMode (fotoac1, INPUT);
pinMode (fotoac1, INPUT);
}


void loop(){

if (digitalRead(fotoac1) == LOW){

digitalWrite (rele2 , HIGH);
}

if (digitalRead(fotoac2) == LOW){

digitalWrite(rele2,LOW);
}
}
[code]

E usa as tags [code ] e [/code ] sem espaços para meteres o teu código.
Avr fanboy

Offline clauiocbamt

  • Mini Robot
  • *
  • Mensagens: 18
Re: ajuda no codigo
« Responder #4 em: 21 de Maio de 2011, 23:00 »
obrigado senso , deu certo , muito obrigado pela dica

Offline clauiocbamt

  • Mini Robot
  • *
  • Mensagens: 18
Re: ajuda no codigo
« Responder #5 em: 21 de Maio de 2011, 23:02 »
depois que me liguei que  digitalRead() é uma função que recebe parametros do pino para leitura mais valeu

Offline Njay

  • Mini Robot
  • *
  • Mensagens: 3.233
    • Tróniquices
Re: ajuda no codigo
« Responder #6 em: 22 de Maio de 2011, 10:20 »
o circuito ta junto com o post

Ups, ok, peço desculpa então.