collapse

* Posts Recentes

+ LASERs por dropes
[03 de Julho de 2025, 19:35]


Cerca eléctrica por SerraCabo
[14 de Junho de 2025, 23:26]


Alguém arranja motores? por almamater
[10 de Junho de 2025, 22:34]


Condensador 4.7uF 0603 por brunus
[09 de Junho de 2025, 15:52]


Lenovo IdeaPad 3 Não liga por jm_araujo
[07 de Maio de 2025, 19:10]


Identificar Diodo Zenner por filjoa
[01 de Maio de 2025, 23:07]


Meu novo robô por dropes
[18 de Março de 2025, 14:51]


JBL partybox On-The-Go por almamater
[21 de Fevereiro de 2025, 23:32]


Talking Reverse Engineering with an Absolute Legend! por SerraCabo
[13 de Fevereiro de 2025, 09:56]


Motoserra Stihl 120C por brunus
[11 de Fevereiro de 2025, 16:29]

Autor Tópico: ajuda no codigo  (Lida 5154 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.598
    • 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.733
  • 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.598
    • 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.