Indicaram-me este codigo para um projecto de alarme de moto que pretendo desenvolver:

// contador de pulsos
int conta = 0;
void setup()
{
 Serial.begin(9600);
 pinMode(2,INPUT);
 pinMode(13,OUTPUT);
}
void loop()
{
  
  if ( digitalRead(2) == HIGH )
  {
    if ( digitalRead(2) == LOW )
    {
      conta++;
      Serial.println(conta);
      delay (100);
    }
  }
    if (conta==3)
    {
      digitalWrite(13,HIGH);
    }
    if (conta==4)
    {
      digitalWrite(13,LOW);
    }
}
Ou seja, quando eu ativo o alarme os piscas da moto acendem uma vez.
Quando eu desactivo o alarme os piscas da moto acendem duas vezes.
o que eu pretendo é colocar o pino 13 high quando os piscas da moto piscam 3 ou mais de 3 vezes...deram me esse codigo, está certo??
agora tenho uma duvida, o fio dos piscas é de 12v, é esse o fio que terei que colocar no pino2 do arduino como input???

Exibições: 1289

Responder esta

Respostas a este tópico

Crie uma variável e incrementa ela a cada piscada primeiro led.Quando essa variável estiver no valor desejado(3, no seu caso) chame uma outra função na qual você acende o segundo led! 

Alguem pode ajudar sff?

cara não consegui entender oque é que esse código ta tentando fazer, mas é simples oque você quer fazer.
segue um "código" que descreve oque eu acho que ficaria melhor:

int conta=0
void setup()
entrada de sinal do alarme(2, input)
saida para os piscas (13, output)
void loop(){
int sinal = analogRead(2)
if (sinal = ativo){
digitalWrite(13, 1)
delay(100)
digitalWrite(13, 0)
conta++
}
if (sinal = desativa & conta=1){
do{
digitalWrite(13, 1)
delay(100)
digitalWrite(13, 0)
conta++
}while (conta <= 3);
}if(sinal = desativa & conta=0){
do{
digitalWrite(13, 1)
delay(100)
digitalWrite(13, 0)
conta++
}while (conta <= 2);
}if(sinal = desativa & conta=2){
do{
digitalWrite(13, 1)
delay(100)
digitalWrite(13, 0)
conta++
}while (conta <= 4);
if (conta = 4){
digitalWrite(13, 1)
}if (conta = 5)
digitalWrite(13,0)
conta = 0
}
}

corrija os vários "erros de preguiça" que deve funcionar.
se não entender o motivo de cada coisa que eu coloquei no código é só perguntar
detalhe o ultimo if é pra resetar tudo, depois que a as luzes ficarem acesas uma hora você vai precisar desligar, então é so apertar o botão ativar de novo, se quiser que o botão de desativar faça isso é so trocar os valores da "conta".

em relação ao fio do pisca, voce vai precisar de um transistor e uma alimentação externa pois o arduino não suporta essa tenção.

Veja esse alame residencial com Arduino (sem fio) que estou desenvolvendo.

http://labdegaragem.com/forum/topics/projeto-alarme-sem-fio-arduino...

Eu tb não entendi muito bem esse código, mas independente da parte lógica, vc deve saber fazer a parte eletrônica, se vc não souber como ligar o arduino a elétrica da moto, vc pode danificar ou o arduino ou a instalação da moto.

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço