Olá preciso de uma pequena ajuda no meu codigo, estou usando um infrared para sintonizar um canal, mas não sei porque ele repete dados.
As vezes chega na ordem 205 5 e outras vezes 205052.
Ex:
se eu enviar somente 1 codigo de 1 tecla, funciona sem problema nenhummas se eu enviar a sequencia do canal, éle reproduz o erro
se enviar 2 + ok - nao tem erro
se enviar 2 + 0 ele recebe 200
se enviar 2+0+5 ele recebe 20505 ou as vezes 205052
Aguem tem ideia de onde pode estar o problema?
Já agradeço a ajuda :)
#include <IRremote.h>
IRsend irsend;int ledPin = 8; //atribui o pino 8 a variável ledPin
int dado; // variavel para guardar dados da porta serialunsigned int ch2[60] = {2650,900,450,400,500,400,450,850,500,850,1350,850,450,450,450,400,500,400,450,450,450,400,500,400,450,450,900,850,900,850,900,850,500,400,900,850,950,850,450,400,950,400,450,400,500,850,450,450,450,400,500,400,450,450,450,400,900,900,450};
unsigned int ch0[62] = {2700,850,450,400,500,400,450,900,450,850,1350,850,450,450,450,400,500,400,450,450,450,400,500,400,450,450,900,850,900,850,900,900,450,400,900,900,850,900,450,450,900,400,450,450,450,850,450,450,450,400,500,400,450,450,450,400,500,400,450,450,450};
unsigned int ch52[60] = {2700,850,450,450,450,400,500,850,450,850,1350,850,500,400,450,450,450,400,500,400,450,450,450,400,500,400,900,850,950,850,900,850,450,450,450,400,500,400,900,850,500,400,900,400,500,400,450,900,450,400,500,400,450,450,450,400,900,850,950};
unsigned int ok[58] = {2700,850,450,450,450,400,500,850,450,850,1350,850,500,400,450,450,450,400,500,400,450,450,450,400,500,400,900,850,900,850,950,850,450,400,950,850,900,850,450,450,900,400,500,400,450,850,900,900,900,400,450,450,450,850,500,400,450};
void setup()
{
Serial.begin(9600);
pinMode(ledPin,OUTPUT); //define o pino o ledPin como saÃda
}void loop() {
//Lê a serial
//if(Serial.available()){
dado = Serial.read(); //recebe dados da porta serial
if( dado == '1'){
//liga o Led para identificar que o arduino foi encontrado
digitalWrite(ledPin,HIGH);
Serial.println("Eu sou Arduino");
}
if( dado == '2'){
for (int i = 0; i < 1; i++) {
irsend.sendRaw(ch2,sizeof(ch2),36);
delay(40);
irsend.sendRaw(ch0,sizeof(ch0),36);
delay(40);
irsend.sendRaw(ch52,sizeof(ch52),36);
delay(40);
irsend.sendRaw(ok,sizeof(ok),36);
delay(40);
Serial.println("Canal sintonizado!");
}
}
//}
}# baseado:
Tags:
Ola pessoas,
No fim Celso daqui do forum me ajudou e acabamos descobrindo que era as amostras do sinal que peguei por um receptor é que estavam com ruido.
Agora é so ficar de olho na amostragem para os proximos cases e tentar arrumar uma amostra melhor. :) valeu (y)
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por