Boa noite colegas,

Venho novamente aqui buscar dicas de ouro com vocês..

Minha dúvida é bem simples. Estou planejando fazer um projeto pra escola onde trabalho e quero montar algo semelhante a um placar eletrônico. 

Quero fazer um pequeno painel com pelo menos uns 4 botões, este por sua vez teria de estar a uma distância pelo menos uns 10 metros do Arduíno. 

A princípio penso que usar aquele conhecido esquema de usar vários botões na entrada analógica do Arduíno(poupando as entradas digitais). Porém como seria o correto esquema elétrico para tal, levando em consideração a distância?

Exibições: 635

Responder esta

Respostas a este tópico

Boa noite,

Se pretende montar um placa eletrônico, sugiro que dê uma olhada nesse tópico. 

Placar Eletrônico Portátil Basquetebol

http://labdegaragem.com/forum/topics/placar-eletr-nico-port-til-bas...

Eu não sei se entendi corretamente a sua questão e certamente não sou o mais qualificado para lhe ajudar, mas vamos lá.

Em seu lugar, inicialmente, eu faria o teste da forma mais simples possível:

1- Conectar os fios e verificar tensão. (só irá precisar de 2. Alimentação (arduino->botões) e leitura (botões->arduino))

2- verificar se ascende um led.

Caso ligue:

3- Utilizar o esquema dos botões (imagino que seja usando cascata de resistores para cada tensão desejada)

4- Puxar os fios até os conectores do arduino.

5- Gerar um Loop com um analogRead e impressão na serial.

6- Observar os valores exibidos para cada um dos botões

7- criar uma condição para cada faixa do botão

Se não der sinal, pode tentar uma fonte externa para alimentar os botões (lembrando de conectar os gnd e limitar a 5v - neste caso, 3 fios serão necessários-).

Se não funcionar, pode usar 2 arduinos e os módulos de RF.

Bom dia. 

Mais uma ideia: Utilizar opto-acopladores alimentados com uma fonte de energia separada, assim pode usar uma tensão maior e não ter perdas devido a distância e ainda proteger as entradas do micro controlador.

Mas, acho que um sistema sem fio seria mais fácil.

Obrigado a todos,

José Murta, gostei do tópico mas a solução que preciso exige muito menos complexidade.

Seria um projetinho para ajudar numa gincana escolar. 

Na realidade seria um conjunto de 4 lâmpada de 12v cada uma com uma cor diferente ligados a um módulo de relés.

O acionamento seria feito por 4 push buttons. 

Ao pulsar o botão correspondente a lâmpada deve piscar por três vezes depois parar e um buzzer seria acionado também.

Esse conjunto de lâmpadas ficaria em local alto e bem visível. 

Daí então tenho em mente montar uma mesa com botões bem "parrudos" tipo os de arcade(fliperama). 

Sou adebto do "quanto menos , melhor".. RS 

Queria tentar evitar usar dois Arduíno, módulos sem fio etc... 

Como temos muitos cabos utp sobrando por aqui acho que seria uma boa tentar aproveitar, sem contar algumas sucatas eletrônicas que posso retirar componentes.

Estou mais inclinado a ideia do Tiago, a questão é qual seria o tipo de esquema mais correto que alimente adequadamente o circuito e/ou não danifique a entrada do Arduino.

Sou técnico em informática, mas apanho muito com eletrônica 

Wellington Danilo

Normalmente, quando queremos iniciar no arduino, a primeira coisa que aprendemos é a ligar um led. Em seguida, fazer este led piscar, na sequencia, fazer este led acionar por botão. Por isso, acho que, TALVEZ, sua dificuldade seja MUITO introdutória, pois existem 999999999999 vídeos que falam sobre isso. Entretanto, ninguém é dono do saber e, qualquer pessoa quando não sabe por onde começar, costuma perguntar a alguém, e da mesma forma, a ideia do fórum é ajudar a todos, então vamos lá. :)

Primeiro vamos do básico

- O Arduino possui 18 portas digitais (sendo que 5 delas também são analógicas - A0 até A5).

- As portas digitais realizam leituras ou escritas, enviando/recebendo um "ALTO/HIGH/'1'/5v" ou "Baixo/LOW/'0'/0v". Lembrando que a corrente máxima de saída é de 40ma, mas costumo ver o pessoal contraindicando o uso com esta corrente.

- As portas analógicas, quando definidas por código para este serviço, servem apenas para a leitura, oferecendo uma escala de 0 á 1023. (0 = 0v, 1023 = 5v).

Na programação do Arduino, temos 2 funções principais:

- Setup (configuração inicial)

- Loop (aqui o código fica girando eternamente).

Como seu objetivo é acionar 4 relés através de 4 botões, você pode utilizar 4 pinos digitais para LEITURA, e mais 4 pinos digitais para ESCRITA. Para isso, vamos definir na função "SETUP" a configuração dos pinos.

pinMode(4, INPUT); // Define o pino 4 como entrada.

pinMode(5, INPUT); // Define o pino 5 como entrada.

pinMode(6, INPUT); // Define o pino 6 como entrada.

pinMode(7, INPUT); // Define o pino 7 como entrada.

pinMode(8, OUTPUT); // Define o pino 8 como SAIDA.

pinMode(9, OUTPUT); // Define o pino 9 como SAIDA.

pinMode(10, OUTPUT); // Define o pino 10 como SAIDA.

pinMode(11, OUTPUT); // Define o pino 11 como SAIDA.

Como temos 4 pinos de saida, por padrão define-se a situação dele como "ALTO/BAIXO" a depender da ação desejada.

No seu caso, como deseja iniciar com tudo desligado, adicionaríamos mais esta linha:

digitalWrite(8, LOW); //Define como "Baixo/LOW/'0'/0v" o pino 8

digitalWrite(9, LOW); //Define como "Baixo/LOW/'0'/0v" o pino 8

digitalWrite(10, LOW); //Define como "Baixo/LOW/'0'/0v" o pino 8

digitalWrite(11, LOW); //Define como "Baixo/LOW/'0'/0v" o pino 8

A titulo de debug, você pode iniciar a serial:

Serial.begin(9600);

======== Aqui finalizam as configurações iniciais. =========

Agora vamos para a parte da função do Loop. O primeiro passo é ler os valores das entradas digitais e atribuir uma ação, para isso iremos utilizar a seguinte chamada:

if (digitalRead(4) == HIGH) { //Aqui criamos uma condição para "quando o pino 4 estiver 'alto')

digitalWrite(8, HIGH) // caso a condição seja verdadeira, definimos o pino 8 como ALTO.

Serial.println("botão 4 ON"); // visualiza no serial monitor a informação quando esta for verdadeira.

} // concluir a condição inicial

else { // Caso a condição seja falsa, ocorre uma ação diferente

digitalWrite(8, LOW) // Neste caso, o pino 8 ficará como baixo

Serial.println("botão 4 OFF"); // visualiza no serial monitor a informação quando esta for verdadeira.

} // finaliza a condição falsa

Observe que o mesmo irá ocorrer para todos os outros pinos.

Observe também que, desta forma, os pinos só ficarão como ALTOS enquanto a entrada estiver recebendo tensão. Logo, se seu botão for um pushbutton (daqueles que ele só fica habilitado enquanto estiver pressionado), será necessário que ele fique sempre pressionado para a entrada ficar em alto.

obs- Caso seja necessário que o botão se comporte como um interruptor, será necessário adaptar o código ou trocar o botão.

Sabendo disso, o próximo passo é ligar os fios e os botões. Aqui não tem mistério. 

1- Os botões costumam ter 2 pinos.

2- Ligue o +5v a um destes pinos, e o outro ligue numa entrada digital. Repita o processo para todos os botões/pinos.

obs- A ligação de +5v pode ser feita de botão para botão também, entretanto, o segundo pino do botão não pode ser ligado aos outros. Cada botão deverá ir separadamente para uma entrada digital (neste caso, as entradas 4 á 7). 

obs2- se quiser pode colocar um resistor para cada entrada digital, talvez promova alguma segurança (alguém aqui saberá lhe informar melhor, pois os testes que fiz, para este fim, foram muito curtos).

O próximo passo, dependerá do seu rele. Pois tem uns módulos cheio de wifi/usb/uhf/vhf/gps/nasa/dragonballZ/etc.. Se for os modelos simples de 5v, basta ligar a saída digital (8~11) na entrada de sinal de cada um deles, e o GND conectado ao Arduíno.

Ouvi falar que o relé tem um retorno... não tenho certeza. Mas qualquer vídeo que fala sobre módulos de rele irá apontar isso (pois posso estar me confundindo).

No rele, você tem: "saida normalmente aberto", "saida normalmente fechado", "entrada para alimentação". A diferença entre eles é a seguinte:

- Quando o arduino der um sinal baixo/low, o "normalmente aberto" irá fazer a ponte entre a entrada e a lampada.
- Quando o arduino der um sinal alto/HIGH, o "normalmente fechado" é que irá fazer a ponte.

(obs: Alguns reles trabalham de forma inversa)

Sendo assim, você conecta o positivo (ou GND) ao rele, e o outro direto na outra ponta (positivo ou GND) (é bom realizar uma pesquisa, pois não sei se os relés funcionam como transistores (NPN/PNP).

obs- não esqueça que os relés costumam ser alimentados por uma fonte secundária.

Edit: Precisei realizar algumas edições, logo, está concluído agora: 21:15h kkkkk

Tiago, obrigado pela explanação do "BE A BA" mas pelo menos esse basicão ai eu manjo.. rsrs

Fiz um desenho aqui no photshop para melhor ilustrar as opções que tenho em mente e baseado na sua primeira sugestão. 

Se fosse para fazer de forma comum tudo bem, a questão é a distância de 10 metros se por esse fator eu precisaria usar componentes específicos para o correto funcionamento. 

olá novamente, Wellington.

      Tem erro nestes seus circuitos, né Wellington.

      E são erros básicos. Aí não , né?

      Vou refazer este seu desenho, usando os mesmos componentes (Botões e Resistores), de forma que vc possa acionar os Botões à distância, sem ocorrer falha na leitura pelo Arduino.

      O "truque" em relação aos Resistores, é aumentar a "Margem de Ruído" para os valores a serem convertidos. Neste seu caso, como vc tem 4 Botões, para uma faixa de 5V,  cada Botão deve usar 1/4 dessa faixa,  o que dá 1,25V. Então a "Margem de Ruído" será maior que 1V.  Isso significa que para alterar o nível de tensão associado a um Botão,  um ruído ambiente deve ser maior que 1V, o que é bastante, tornando o Sistema praticamente imune a ruídos do ambiente, mesmo a distâncias grandes como essa que vc deseja.

      Por se tratar de Botões,  vc pode ainda dispensar um Filtro físico (um FPB), e acrescentar um Filtro no Firmware (neste caso, muito simples de implementar, e sem overhead  para a performance de execução do código).

      Assim que eu puder, coloco aqui.

      Abrçs,

      Elcids

Ola Welligton,

     Bem, eu vi varias soluções dos amigos,  vou dizer minha forma como eu faria,  não sei se seria a melhor, mas é como pessoalmente eu faria.

     A unica forma de colocar comunicação em distancias longas do arduino , com fio é usando protocolos como o RS232 se bem me lembro, logo, com tanto fio a chance de erro é enorme.

    Logo, eu faria o placar com um Arduino e um radio como o NRF24L01, e faria uma caixinha de botões, e colocaria um display 16x2 nele tambem, e tambem outro radio NRF24L01,  dai quando você aperta os botões, os radios se comunicam e o resultado sai no placar.

   Bem, eu faria  assim.

Olá Wellington.

      Como prometi, implementei um Sistema para tratamento de Botões/Chaves conectadas a pinos analógicos.  Neste Sistema, vc pode usar a malha resistiva que desejar (ponderada obviamente, seja com valores múltiplos, seja "R2R"). Mas claro, é preciso saber "escolher" (melhor dizer "calcular") os valores adequadamente, e considerando a Margem de Ruído que se deseja.

     Para isso, implementei também uma Biblioteca. Ela ficou bastante completa e "sólida",  e é totalmente configurável, e pode também ser facilmente adaptada (com um mínimo de trabalho, menos de 1%) para outras plataformas como PIC, ARM, MSP430, 8051 ("aaarrrg"), etc.

     O funcionamento da Biblioteca é um tanto "sofisticado" e por isso possui um mínimo de complexidade.  Mas para garantir sua facilidade de uso,  implementei uma Interface muito simples, que garante que  não  seja necessário entrar em contato com essa "mínima complexidade".

      Como "feature",  a Biblioteca permite vc especificar além dos Botõesquantos e quais  pinos analógicos vc estará usando no Hardware. Permite vc especificar também uma série de outras caracteríticas (debounce, níveis de tensão, etc), caso seja desejado.

      E claro, vc poderá deixar os Botões a grandes distâncias, como por exemplo 50 metros ou mais, desde que siga as orientações de conexão dos circuitos (muito simples, conforme prometi), e o bom senso (claro).

      Estou preparando documentos relacionados a utilização disso tudo, inclusive com simulação para facilitar os testes (mas já está funcionando plenamente, inclusive testei com 4 Botões e 4 lâmpadas cujo funcionamento vc descreveu).  Assim que tiver essa documentação pronta, publico aqui.  Caso vc precise disso antes,  posso te enviar pelo Skype o que já tenho.

      Abrçs,

      Elcids

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço