Sou iniciante na programação e com o arduino! Estou a semanas tentando fazer um simples codigo, em que seja feita uma contagem atraves do sinal de uma tecla (simulando um sensor) e depois de um valor x é dado sequencia a uma operação... Tipo assim:

Clicar 3 vezes em uma tecla;
Contar 5 segundo;
Enviar cinal para pino digital 11;
Executar função.

Peço a ajuda de vocês...
Desde já agradeço a atenção!

Um grande abraço

Exibições: 485

Respostas a este tópico

Pensa assim...

Leia o pino onde este sinal está entrando no Arduino.

Verifique com uma variavel que esteja guardando o valor anterior deste pino se houve mudança.

Se houve some mais um a uma outra variavel. E torne o ultimo valor lido o valor corrente da variavel da linha anterior.

Volte ao início.

Com isso vc. implementa um contador simples.

Mas pode utilizar os pinos 2 ou 3 para criar interrupções e controlar a contagem por elas.

Pesquise...pesquise...pesquise...

Boa sorte.

Convém lembrar que o sketch precisa ter uma forma de contar apenas um pulso cada vez, pois como o contato é mecânico ao ser pressionado podem ser lidos dezenas ou até centenas de pulsos ao invés de apenas um como seria desejado.

Claro...claro...claro...delay neles!

Obrigado Euclides... Já deu uma clariada na ideia!
Int conta=0;
int acumula=0;
Int teclaPin = 7;
Int ledPin= 8;
void setup()
{
pinMode(teclaPin, INPUT);
pinMode(ledPin, OUTPUT);
digitalRead(teclaPin);
}
void loop()
{
if(digitalRead(teclaPin)==HIGH)
{
conta+1;
}
if(conta==1)
{
acumula++;
}
if(acumula==3)
{
digitalWrite(ledPin, HIGH);
{
digitalWrite(ledPin, HIGH);
}
Else
{
digitalWrite(ledPin, LOW);
}
Rapazeada esse é o codigo que eu to tentando fazer funcionar... Nao sei oque tem de errado... Mas ele nao faz o led acender! Se vocês tiverem um tempinho peço que deem uma olhada... E se possivel me deem uma luz que meus neuronios ja esta acabando de tanto eu queima eles aqui!
Valewww

Poe uma variavel "TeclaPinAnterior" e faça a verificação se TeclaPin é diferente de TeclaPinAnterior, se for coloca o acumula++ dentro deste IF. Sacou?

Se não for TeclaPinAnterior = TeclaPin (pois quando mudar de LOW para HIGH ou de HIGH para LOW é aí que vc. vai conseguir ver isso.

Use a cuca...use a cuca...use a cuca...

Mas essa teclaPinAnterior deve ser usado outro pino do arduino?
Valew Euclidez! Funcionou! Muito obrigado mesmo... Sem suas dicas eu não teria conseguido!

Espero poder ajudar futuramente!

Vá em paz e que o Banzi o acompanhe...

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço