Ir ao conteúdo

Posts recomendados

Postado

desculpa administrador não estou conseguindo editar corretamente a minha postagem.

 

a programação estar em anexo

 

galera estou aqui para pedir uma ajuda de vocês, estou com essa programação para o meu projeto do colégio, e eu tenho que acionar duas bobinas, sendo que quando uma estiver ligada a outra não pode ligar, e elas so funcionaram quando o rele for comutado e pelo sensor,  o sensor detectar 1 e manda para a saída, deixando passar a tensão e mandado pulsos no outro rele.

quando simulei para uma bobina funcionou normal, depois que vi que as coisas estavam indo bem acrescentei mais uma bobina, e dupliquei a minha programação esses que estão (1, 2), correspondem ao circuito da bobina 1 e o circuito da bobina 2. gente vcs podem me ajudar a resolver esse problema. o circuito que montei segue em anexo.

desde já agradeço

int PWM = A0;                                                                            //REGULA O PERÍODO DA ONDA COM UM POTENCIÓMETRO
int sensor1 = A1;                                                                     //SENSOR 1
int sensor2 = A2;                                                                    //SENSOR 2
int generator1 = 9;                                                                 //GERADOR DE ONDA QUADRADA 1
int generator2 = 6;                                                                //GERADOR DE ONDA QUADRADA 2
int tensao1 = 4;                                                                     //CORTE NA TESÃO DA BOBINA 1
int tensao2 = 5;                                                                    //CORTE NA TESÃO DA BOBINA 2

int onoff1;      
int onoff2;

int frequency1;                                                                  // variável para trabalhar a 
int frequency2;                                                                 // variável para trabalhar a  

void setup()
{
pinMode(PWM, INPUT);                                                           //entrada para o potenciómetro   
pinMode(sensor1, INPUT);                                                    //entrada para o sensor1 da bobina1 
pinMode(sensor2, INPUT);                                                   //entrada para o sensor2 da bobina2 
pinMode(generator1, OUTPUT);                                         //saída para o pulso da bobina1 
pinMode(tensao1, OUTPUT);                                              //saída para o ligar ou desligar a passagem de tensão da bobina1 
pinMode(generator2, OUTPUT);                                        //saída para o pulso da bobina2 
pinMode(tensao2, OUTPUT);                                             //saída para o ligar ou desligar a passagem de tensão da bobina2

} //end setup

void loop()
{                                       
if((analogRead (sensor1) == 1) && (analogRead (sensor2) == 0))         //liga a bobina1 se o sensor1 == 1 e sensor2 == 0
{
if(digitalRead(tensao1) == 1)                                                 //pega o que tem pin4 e verifica se é igual a 1
{
frequency1 = (analogRead(PWM) * 10);                              //pega o que tem no pino analógico A0 e iguala a frequency
tone(generator1, frequency1);                                           //tone gera pulsos, diz o que tem frequency1 e mande para o pino 9
}

if(digitalRead(tensao1) == 0)                                                // se o sensor1  == 0, e pare de mandar pulsos e desliga a tensão
{
noTone(generator1);                                                           //para de mandar pulsos a bobina1
}
onoff1 = analogRead(A1);                                                  //veja o que tem no sensor1 e depois mande para tensao1, liga ou desliga
digitalWrite(tensao1, onoff1);
}                                                                                     

if((analogRead (sensor2) == 1) && (analogRead (sensor1) == 0))       //liga a bobina1 se o sensor2 == 1 e sensor1 == 0
{
if(digitalRead(tensao2) == 1)                                              //pega o que tem pino5 e verifica se é igual a 1
{
frequency2 = (analogRead(PWM) * 10);                           //pega o que tem no pino analógico A0 e iguala a frequency
tone(generator2, frequency2);                                        //tone gera pulsos, diz o que tem frequency2 e mande para o pino 6
}
if(digitalRead(tensao2) == 0)                                           // se o sensor2  == 0, e pare de mandar pulsos e desliga a tensão
{
noTone(generator2);                                                       //para de mandar pulsos a bobina2
}
onoff2 = analogRead(A1);                                              //veja o que tem no sensor1 e depois mande para tensao1, liga ou desliga
digitalWrite(tensao2, onoff2);
}

}

a.png.160133e62eca29de933638a1d9fb4e7f.png

duas bobinas.txt

  • Curtir 1
Postado

@ivo vieira ,

 

Me desculpe, mas por mais que eu tente ainda não consegui entender o que você quer fazer... tá muito confusa a sua descrição.

 

Que tal tentar explicar de uma maneira mais lógica ?

 

Paulo

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!