collapse

* Links de Robótica

* Posts Recentes

Palavras Cruzadas por Hugu
[Hoje às 02:48]


Editor online de imagens p/ distorcer imagens trapezoidais p/ rectangulo? por Hugu
[Hoje às 01:26]


[Projecto] Bomba Airsoft por SrMorte
[Ontem às 23:51]


Apresentação por SrMorte
[Ontem às 22:32]


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]

Autor Tópico: ajuda no codigo  (Lida 912 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.086
    • 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.390
  • 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.086
    • 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.