Bom galera ve o video que ta tudo la minha duvida ...

http://youtu.be/sjNGU0Ar6Ns

Exibições: 280

Responder esta

Respostas a este tópico

Manolo,

Em algum lugar do seu código você desativa a porta assim que o botão deixa de ser pressionado. Dá uma relida nele, pegou o exemplo da net ou você mesmo fez?

Olha ai o codgio :

  #include <IRremote.h>
  #define FNV_PRIME_32 16777619
  #define FNV_BASIS_32 2166136261
 
  int ledPin1 = 2;   
  int ledPin2 = 3;   
  int ledPin3 = 4;   
  int ledPin4 = 5;    
  int RECV_PIN = 8;    
  IRrecv irrecv(RECV_PIN);
  decode_results results;
 
  void setup()
  {
    pinMode(ledPin1, OUTPUT);  
    pinMode(ledPin2, OUTPUT);  
    pinMode(ledPin3, OUTPUT);  
    pinMode(ledPin4, OUTPUT);  
    irrecv.enableIRIn();   
    Serial.begin(9600);
  }
  int compare(unsigned int oldval, unsigned int newval) {  
    if (newval < oldval * .8) {
      return 0;
    }
    else if (oldval < newval * .8) {
      return 2;
    }
    else {
      return 1;
    }
  }
  unsigned long decodeHash(decode_results *results) {
    unsigned long hash = FNV_BASIS_32;
    for (int i = 1; i+2 < results->rawlen; i++) {
      int value =  compare(results->rawbuf[i], results->rawbuf[i+2]);
      hash = (hash * FNV_PRIME_32) ^ value;
    }
    return hash;
  }  
  void loop() {
        if (irrecv.decode(&results)) {
      Serial.print("'real' decode: ");   
      Serial.print(results.value, HEX);    
      Serial.print(", hash decode: ");      
      unsigned long hash = decodeHash(&results);
     Serial.println (hash);                
      irrecv.resume();
      
      
///////////////////////////////////////////////////    
     if (hash == 1938763546 ){
        Serial.println (" Pra Cima!");
        digitalWrite(ledPin1, HIGH);
        digitalWrite(ledPin3, HIGH);  
        delay(150);  
        digitalWrite(ledPin1, LOW);
        digitalWrite(ledPin3, LOW);         
     }

////////////////////////////////////////////////////            
     if (hash == 617239776 ){
     Serial.println (" Pra Baixo!");
        digitalWrite(ledPin2, HIGH);
        digitalWrite(ledPin4, HIGH);   
        delay(150);  
        digitalWrite(ledPin2, LOW);
        digitalWrite(ledPin4, LOW);  
        }

/////////////////////////////////////////////////////    
     if (hash == 2893538684 ){
       Serial.println (" Pra Direita!");
        digitalWrite(ledPin4, HIGH);
        digitalWrite(ledPin1, HIGH);    
        delay(150);  
        digitalWrite(ledPin4, LOW);
        digitalWrite(ledPin1, LOW);     
     }

///////////////////////////////////////////////////     
     if (hash == 414219326 ){
     Serial.println (" Pra Esquerda!");     
        digitalWrite(ledPin2, HIGH);
        digitalWrite(ledPin3, HIGH);   
        delay(150);  
        digitalWrite(ledPin2, LOW);
        digitalWrite(ledPin3, LOW);       
  }

///////////////////////////////////////////////////

  }
  }


 

Manolo,

Como falei vc liga e desliga o Led.

HiGH = Liga

LOW = Desliga

Veja o código que eu desenvolvi para o meu Carro Robo.

http://pastebin.com/cHSyj4pU

Tentei upar no arduino, não deu =//

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço