Ir ao conteúdo
  • Cadastre-se

Arduino programando duas bobinas - acionada pelo Arduino


Posts recomendados

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
Link para o comentário
Compartilhar em outros sites

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...