SENHORES, ESTOU CRIANDO UM MODULO PARA AUTOMATIZAR MEU CARRO, EM INICIO EU MONTEI O SENSOR DE ESTACIONAMENTO, COMO EU QUERO QUE FUNCIONE?

NO DISPLAY LCD QUERO QUE FIQUE UMA MENSAGEM EM STAND BY ASSIM.

PROTECTION CAR

EU QUERO ACIONAR UM BOTÃO, SUPOR A PORTA 8 E QUERO DAR INICIO AO SENSOR DE ESTACIONAMENTO, E QUANDO O CARRO ESTIVER ESTACIONADO EU QUERO CLICAR NO MESMO BOTÃO PARA ENTRAR EM STAN BY, E AGUARDAR UM NOVO COMANDO, NESSE INICIO VOU TESTAR SÓ COM SENSOR ULTRASONIC, E VOU ACRESCENTAR FECHAMENTO DOS VIDROS NA SEGUNDA PARTE.   SEGUE O CÓDIGO PARA DEBATE, ME AJUDEM.

Exibições: 973

Anexos

Responder esta

Respostas a este tópico

o que o programa vai fazer enquanto vc estaciona? vai só medir a distancia?

não precisa de botão, usa a luz de ré. Em relação ao sensor ultrassonico sugiro que nao seja aqueles que usam no arduino pois não vai aguentar visto que não são a prova dágua e poeira. melhor aqueles que tem no mercado livre por 50 conto o kit.

word pad

Anexos

sket

Anexos

Oi 3L, boa tarde,

Testa este code .

Rui

Anexos

não funcionou, não fica em stand by, ja vai direto pra distancia atual.

Vejam como ficou o meu.

Anexos

não compilou, ta dndo erro no lcd

Olá Leonardo

Consigo compilar normalmente nas versões da IDE 1.6.4 e 1.6.7

Qual a versão da sua IDE do Arduino?

Eu uso a mais atual mesmo.
Rapaz eu estou penando nesse sistema, ja estou quase desistindo, meu sócio ta ficando maluco já kkk

Conseguiu resolver?

Oi 3L, bom dia.

Depois de muito apanhar e tentar vários "modes" de código,

consegui este que segue anexado.

As principais alternativas foram:

Interrupt externo no pino 2 (ou 3);

Sem interrupt, mas com auto bloqueio.

A rotina de leitura do USom leva cerca de 1seg.

Com interrupt:

Seria o melhor processo, pois a interromperia a rotina no momento que o botão fosse pressionado. 

Mas devido ao repique ( bouncing)  do botão, fica muito difícil evitar a repetição da rotina de interrupt.

Como a rotina de delay não funciona dentro da função chamada pelo interrupt, a solução de debouncing

por "soft" é muito mais complicada.

Tentei todas técnicas que conheço, e em todos casos a solução ficou pouco eficaz.

Na net, as soluções eficazes sempre passam pela adição de um  "Trigger Smith", que pode ser o CI 40106.

Um exemplo:  http://www.instructables.com/id/Arduino-Push-Switch-Debouncing-Inte...

Auto bloqueio do botão:

Esta foi a solução  que deu melhor resultado, mas ela tem um inconveniente.

O "status" do botão só é verificado a cada segundo, e isto pode não reconhecer que você apertou o botão.

Para melhorar um pouco este "sintoma" eu coloquei rotinas de check do botão em vários lugares da rotina

de leitura do USom.

Neste código, a mudança de rotina é reconhecida ao soltar o botão, então qdo está na rotina de

leitura de USom, para sair dela, deve ficar com o botão apertado por pelo menos uns 1/2 segundo,

e ela mudará ao solta-lo.

Rui

Anexos

Segue em anexo..

consigo deixar em stand by o nome da empresa.

ao clicar no botão 8 consigo a metragem, mas se soltar congela, ok correto, vou por a marcha ré, enquanto tiver na ré o sensor faz a leitura, mas quando eu tiro da ré ele não volta ao stand by para aguardar um novo comando.

Anexos

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço