Boa tarde, estou usando o modulo receptor e transmissor de RF 433 MHZ para se comunicar com um servo motor e alguns leds por meio de um potenciômetro no transmissor, o cod do receptor está compilando mas o do transmissor está dando erro nessa linha ( int value = mySwitch.getReceivedValue();


Não estou conseguindo identificar oque está errado se alguem puder ajudar obrigado.


//importa as Classes necessarias
#include
#include

int pos = 0;
//avalia a posicao do motor antes para
//nao receber ruido do emissor
int posicaoAnterior =0;

//cria o objeto dp servo motor
Servo myservo;

//Instacia a Biblioteca RF
RCSwitch mySwitch = RCSwitch();

//led de status
int led =13;

int led1 =3;
int led2 =4;
int led3 =5;
int led4 =6;
int led5 =7;
int led6 =8;

void setup() {
//liga o servo ao pino 10
myservo.attach(10);
Serial.begin(9600);

//pino 2 digital do RF receptor
mySwitch.enableReceive(0);
//seta o pino do leds e led de status como saida
pinMode(led, OUTPUT);
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(led4, OUTPUT);
pinMode(led5, OUTPUT);
pinMode(led6, OUTPUT);
}

void loop() {

if (mySwitch.available()) {

int value = mySwitch.getReceivedValue();

if (value == 0) {
Serial.println(“Unknown encoding”);

} else {
//verifica se houve alguma alteracao
//no ptenciometro e descarta ruidos
int posicaoFinal = posicaoAnterior – mySwitch.getReceivedValue();

if(posicaoFinal < -4 || posicaoFinal > 4){
Serial.println( mySwitch.getReceivedValue());
myservo.write(mySwitch.getReceivedValue());
//verifica quais leds devem ser acesos
statusLeds(mySwitch.getReceivedValue());
}
//salva a ultima posicao lida
posicaoAnterior = mySwitch.getReceivedValue();

}
mySwitch.resetAvailable();
}

//liga o led de status
digitalWrite(led, HIGH);

}

//metodo que avalia qual led deve acender
void statusLeds(int x){

if(x < 31){

digitalWrite(led1, HIGH);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
digitalWrite(led5, LOW);
digitalWrite(led6, LOW);

}else if(x < 61){
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
digitalWrite(led5, LOW);
digitalWrite(led6, LOW);

}else if(x < 91){
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
digitalWrite(led3, HIGH);
digitalWrite(led4, LOW);
digitalWrite(led5, LOW);
digitalWrite(led6, LOW);

}else if(x < 121){
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
digitalWrite(led3, HIGH);
digitalWrite(led4, HIGH);
digitalWrite(led5, LOW);
digitalWrite(led6, LOW);
}else if(x < 151){
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
digitalWrite(led3, HIGH);
digitalWrite(led4, HIGH);
digitalWrite(led5, HIGH);
digitalWrite(led6, LOW);
}else if(x < 171){
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
digitalWrite(led3, HIGH);
digitalWrite(led4, HIGH);
digitalWrite(led5, HIGH);
digitalWrite(led6, HIGH);
}

}

Exibições: 279

Responder esta

Respostas a este tópico

Argel, qual a mensagem de erro?

As librarys dos includes não estão aparecendo no código que você passou?

Já passei por isso, era conflito entre as bibliotecas do servo e do RF, para solucionar eu troquei a biblioteca Servo por: SoftwareServo

Mais poste os detalhes do erro aqui

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço