Olá pessoal!

 Gostaria de saber se é possível desenvolver uma lógica no Arduíno para o seguinte controle:

 O travamento e destravamento só serão possíveis com o comando do operador 1 e operador 2 para ativar as saídas. Deverão ser programadas para sinalizar travado e destravado:

 *Dois pulsos longos longos para travado.      (pino de saída 4)

 *Dois pulsos curta duração para destravado  (pino de saída 4)

 * Entrada 1 (Pino de entrada operador 1)

 * Entrada 2 (Pino de entrada operador 2)

 * Saída 1 (pino de saída 1)

 * Saída 2 (pino de saída 2)

 * Saída 3 (pino de saída 3)

 * Saída 4 (pino de saída 4)

 Caso o operador 1 venha á dar o comando destravado sem o comando do
operador 2, as saídas 1,2,3 ficam em 0. Caso o operador 2 venha á dar o comando destravado sem o comando do operador 1, as saídas 1,2,3 ficam em 0.
 Só irá acionar as saídas 1,2,3 quando receber o comando do operador 1 e operador 2.

 Se alguém puder me ajudar ficarei grato!

Exibições: 663

Responder esta

Respostas a este tópico

Andreo , com uma programação simples conseguirá fazer o desejado. 

Sugiro que estude a linguagem usada no Arduino :

https://www.arduino.cc/en/Reference/HomePage

https://www.arduino.cc/en/Tutorial/HomePage

http://playground.arduino.cc/

====================================================

Se tem dificuldade para ler em inglês use o tradutor online no Chrome:

https://support.google.com/chrome/answer/173424?hl=pt-BR]

Ativar ou desativar a tradução :

No canto superior direito da janela do navegador, clique no menu do Google Chrome Chrome menu.
- Selecione Configurações.
- Clique em Mostrar configurações avançadas.
- Na seção "Idiomas", marque ou desmarque a caixa de seleção "Sugerir a tradução de páginas
que não estão em um idioma que você conheça".

 José Gustavo já andei dando uma estudada estou me familiarizando agora com essa plataforma, pensei que poderia ter alguma ajuda com algum exemplo para começar, mesmo assim obrigado!

Uma dúvida: 

Esses pulsos serão gerados através de um botão conectado no Arduino ? 

 Na entrada terei dois push button e irá funcionar como uma AND., as saídas 1,2,3 led para indicar o acionamento e a saída 4 um buzzer para sinalizar com dois bips longos para acionado e dois bips curto para desacionado.

 Botão 1 && Botão 2 == nivel alto

 Saida 1 (Led ligado);

 Saida 2 (Led ligado);

 Saida 3 (Led Ligado);

 Saida 4 (Dois bips longos) 

 Botão 1 && Botão 2 == nivel baixo

 Saida 1 (Led apagado);

 Saida 2 (Led apagado);

 Saida 3 (Led apagado);

 Saida 4 (Dois bips curto)

 

 Pulso 1 e pulso 2 liga

 Pulso 1 e pulso 2 desliga  

Não sei se você possui conhecimentos de programação em outras linguagens, mas o caso aí é basicamente montar a logica de programação (isso é primordial) e segundo transcrever o algoritmo para a linguagem Wiring.

São botões conectados ao arduino, ou vai receber estes pulsos via outros metodos?

Sem saber logica de programação, nao conseguirá ir muito longe.

 Manoel Pereira,

  É um módulo de bloqueio que estou desenvolvendo, a lógica de controle seria feita por um CLP modelo Logo! da Siemens mas estou tentando fazer com o Arduíno por ser de baixo custo.

  Vou utilizar módulos da radiometrix 

 TX enviará sinal

 RX receberá e enviará para o microcontrolador

 A parte eletrônica de tudo é tranquila, estou enroscado na lógica mesmo (pouco conhecimento em programação).

 

Monte isso, faça testes e estude a programação 

http://playground.arduino.cc/

 José Gustavo,

 Amanhã tirarei o dia para fazer isso, vou montar um setup no protoboard postarei a evolução e dúvidas que venham a surgir.

 Obrigado pelo apoio!

 José Gustavo,

 Seguindo alguns exemplos e fazendo modificações gerei esse código, estou quase lá!!  Ele está quase funcionando do jeito que eu quero o único porém é o acionamento dos Buttons.

 *Quanto aperto os botões ele entra em uma rotina

 *Quanto aperto novamente ele entra em outra rotina

 Se eu segurar os botões ele fica preso no loop rodando as duas rotinas

 Eu preciso que quando apertar e segurar os botões ele funcione em uma rotina somente e quando soltar e apertar novamente ele funcione outra rotina. Segue o video do codigo abaixo:https://www.youtube.com/watch?v=09U1Niwkx6U&feature=youtu.be 

  Pode me ajudar?

int led1 = 12;
int led2 = 11;
int led3 = 10;
int button1 = 6;
int button2 = 7;
int cont=0,flag=1,led=13;
void setup(){
pinMode(led, OUTPUT);
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(button1, INPUT);
pinMode(button2, INPUT);
}
void loop() {
int state1 = digitalRead(button1)&& digitalRead(button2);
if(state1==1){
verificaBotao();
}
}
void verificaBotao(){
cont = cont +1;
switch (cont)
{
break;
case 2:pisca(2);
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
digitalWrite(led3, HIGH);
break;
case 3:pisca(3);
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
break;
case 4://quarta apertada
cont=0;
break;

}
}

void pisca(int velocidade){
switch (velocidade){

case 2:
digitalWrite(led, HIGH);
delay(100);
digitalWrite(led, LOW);
delay(100);
digitalWrite(led, HIGH);
delay(100);
digitalWrite(led, LOW);
delay(100);

break;
case 3:
digitalWrite(led, HIGH);
delay(400);
digitalWrite(led, LOW);
delay(400);
digitalWrite(led, HIGH);
delay(400);
digitalWrite(led, LOW);
delay(400);
digitalWrite(led, HIGH);
delay(400);
digitalWrite(led, LOW);
delay(400);
}
}

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço