ola galera boa tarde!!

O projeto se trata de um moedeiro.. quero acoplar um Arduíno.. o moedeiro eletrônico é um equipamento onde se coloca moedas e que deve acionar o motor da distribuidora de água quando fizer 1 real, esse é o projeto que eu quero.

exemplo:

1 real >> aciona o motor por  40 minutos

duas moedas de 50 centavo>> aciona o motor por 40 minutos  

4 moedas de 25 centavo >> aciona o motor por 40 minutos 

o tempo e igual para todos.. 

eu peguei o pulso dos LEDs onde corresponde cada moeda. e joguei no Arduíno e coloquei um gnd  ponto de referencia da placa do moedeiro para Arduíno... 

(PROBLEMA)

* ele quando passar um tempo ligado ele quer acionar sozinho..

* quando colocar as moedas duas 50 centavo ou 4 moedas 25 centavo.. 

* tem hora que ele acionar antes de completa as moedas não e toda vida mas sempre acontece!!

*****************

se alguém puder me ajuda acha esse defeito eu serei muito grato!! vou esta colocando o código e a imagem do tipo de moedeiro que estou usando.

Exibições: 137

Anexos

Responder esta

Respostas a este tópico

Vou dar umas dicas do que eu faria:

- Usar apenas uma variável para armazenar o valor pago em dinheiro;
- Utilizar um contador de tempo inspirado no blink sem delay e decrementar (ou incrementar) uma variável de tempo até chegar no tempo desejado, no caso os 40 minutos;
- Tratar melhor o modo como o arduino lê os pulsos de entrada, pois da forma que está deve estar tendo problemas de bounce, causando acionamento indevido ou erros de contagem.

Fiz o código simples como exemplo. Não testei na prática se está funcionando ou se tem alguma falha, mas dá para ter uma idéia.

Anexos

Boa tarde MFB,

tem alumas coisas meio "diferentes" no seu sketch.

Não faço a menor ideia do que você pretende obter como resultado desta linha:

estado1 = digitalRead(Led_1), acionamento_1(), estado2 = digitalRead(Led_2), acionamento_2(), estado3 = digitalRead(Led_3), acionamento_3();

Depois você chama uma função sem esperar um retorno e dentro da função vc manda retornar 0 ?????

O que são   LED_1, LED_2 e LED_3 ?  Como INPUT?

Você colocou um port em LOW antes de definir se ele é INPUT ou OUTPUT,  funcionar pode ser que até

funcione, mas fica muito estranho.

RV

PS:  Se LED_1 ,2 e 3 são INPUT, porque você executa:

                 digitalWrite(Led_1, LOW); 

                 digitalWrite(Led_2, LOW); 

                 digitalWrite(Led_3, LOW); 

            Digital WRITE é para port em OUTPUT.

Boa noite MFB,

apesar de você não ter cumprido o compromisso que fez comigo, eu vou te dar uma nova oportunidade.

Lembre-se das outras pessoas que estão em dificuldades maiores que as nossas.

Segue o sketch que elaborei para o seu moedeiro.

RV

projeto_de_Moedeiro_final_V02.ino

bom dia RV... acho que descobri o erro... quando colocava a moeda e acionava pra libera.. fazia a contagem direitinho... de 40 ate 1.. so que ele tipo continuava..e quando apetava o botão de acionar sem nada dentro.. ele ligava o rele>>>  naquela linha que vc colocou..


{
if (tempo >= 40)                       // Se o valor for igual ou maior que R$ 1,00
contagem();                             // Inicia o fornecimento
}


(eu fiz o seguinte..  coloquei dessa forma que ta aqui em baixo )>>>>>>>>>>>

{
if (tempo == 40)                           // Se o valor for igual   R$ 1,00
contagem();                                 // Inicia o fornecimento
}
if(tempo >40){                           // se for maior que 40 
tempo=0;                                  // zera o tempo
}

************************************************************************************************

depois que fiz isso dai RV... deu certo testei as moedas todas!!!! 

passei a primeira vez a moeda de 1real.. ele reconheceu ok!! passei 1hs se colocar nada dentro...  coloquei de novo a moeda de 1real... ele não reconheceu mas não.... ai coloquei de novo a moeda de 1real... ai ele ja reconheceu e ligou... ... 

resumindo tudo. na segunda tentativa ele não reconheceu a moeda. foi so reconhecer quando coloquei de novo

deixei o botão ligado direto >> ele tipo passou de 1h ja ligou sem nada dentro

******************************************************************************************************************************

deixei o botão ligado direto sem mexe nada. e fiquei observando o monitor serial....

ele apareceu isso daqui depois de 50 minutinhos ... e depois ligou sozinho...

********************************************************************************************************

dessa vez eu não deixei o botão ligado direto. e fiquei obsedando o serial... não coloquei nada dentro..veja a imagem

Bom dia... Rv eu percebi uma coisa. Aqui no sistema... Tipo se a pessoa fica direto colocando a moeda!! Em  estante e estante ele funciona perfeitamente..  eu fiquei colocando uma moeda entre cada 30 minutos.. eu ia lá colocava a moeda.  Saía. Depois voltava colocava e saia. Ele funcionou..  .

Aí eu aumentei o tempo pra 2hs por aí  ele já não funcionou mas não nem reconheceu a moeda ..

*Teria como fazer um sistema q ficasse atualizando ??? Tipo quando acontecia isso eu dava um rest. Ele voltava a funcionar.. perfeitamente

Eu acho q tá tendo um pequeno ruido. Que tá causando isso.. ele fica contando sozinho como mostrar a imagem aí.. 

Eu acho q deve ser por causa da bobina q detectar a moeda..

Se deixa muito tempo ser ir lá colocar q moeda a primeira vez ele não reconhece.  A segunda vez já reconheceu

mas tipo se deixa muito tempo sem ir lá colocar a moeda! Não consegui identificar primeira vez 

Como foi que você pegou os pulsos dos LEDs do moedeiro para jogar no Arduíno ? O ideal seria usar optoacopladores. 

depois que começou os defeitos eu pensei em colocar.. so que nunca mexi com ele. mas eu sei como funciona.. como seria o circuito ?

Consegui colocar o optoacopladores  !! E fiquei olhando no serial de vez enquanto. A própria moedeiro da um pisca no leds. Não e direito. Demora. Mas acontece.. então coloquei se o (tempo > 41) tempo=0;.

RSS

Destaques

Registre-se no
Lab de Garagem
Clicando aqui

Convide um
amigo para fazer
parte

curso gratis de arduino

© 2020   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço