Caros entusiastas, como vão?

Possuo um Arduino MEGA, 2 XBEE serie 1 e estou problemas com a integração do XBEE na placa Relé Shield 

Consigo monitorar a porta serial, se eu conectar a relé shield direto no arduino, caso utilize o "HIGH" na porta 4 ou 5 eu ativo o relé normalmente, mas não estou conseguindo ativar a porta através dos XBEEs e consequentemente remoto o XBEE para a relé shield.

Eis a placa Relé Shield XBEE 

LINK REMOVIDO POR DESCUMPRIR TERMOS DE USO

Aproveitando, via XCTU, se eu enviar/receber um dado qualquer, já recebo no RX/TX da placa Relé Shield. 

Muito obrigado. 

Exibições: 1617

Responder esta

Respostas a este tópico

Olá.

Como esta a configuração dos Xbee`s? E quais os comandos que você esta realizando para acionamento do relé?

Abraços.

Estimado, boa noite e obrigado pelo apoio.

Compilei o código no arduino como se ativasse todas as portas para HIGH.

aí está a questão, eu não estou sabendo nesta placa habilitar o relé. é como se faltasse habilitar o DO e o respectivo numero, ou o respectivo endereço do XBEE em questão, pode ser isto?

Halisson, sem problemas. Faço para ajudar mesmo....adoro os Xbees :)

Vamos lá, como vc esta usando o Series 1, tem um recurso muito bom chamado de Line Passing. Siga a intrução abaixo e depois me diga o q houve.

Xbee com arduino:
Networking & Security
ID: 3332
DL: 1234
MY: 5678
NI: REMOTO
I/O Settings
D0: 3
D1: 3
D2: 3
D3: 3
IR: 0
IT: 1
IC: 0F

Xbee remoto:
Networking & Security
ID: 3332
DL: 5678
MY: 1234
NI: BASE
I/O Settings
D0: 5
D1: 5
D2: 5
D3: 5
IU: 1
I/O Line Passing
IA: 5678 (ou FFFF)

Caso não funcione, procure na net a função LINE PASSING I/O. É Linda. Qq coisa amanha te ajudo mais pois agora nao posso.

Abracao

Observe q o DL eu coloquei como exemplo. Você deve utilizar os que estao escritos no teu Xbee.

Gustavo, 

Configuração exatamente o que voce descreveu. Relé batendo no shield que está conectado no arduino, mas na "remota" não funciona. O TX está piscando do remoto, quando bate o relé do arduino.

Um dispositivo como coordenador e outro como end device?

Deixei sem proteção a AES, ok?

Aguardo suas considerações.

E o Código do Arduino :


int rele3 = 3; //Declara o pino 3 como rele
int rele4 = 4; //Declara o pino 4 como rele
int rele5 = 5; //Declara o pino 5 como rele
int rele6 = 6; //Declara o pino 6 como rele
int rele7 = 7; //Declara o pino 7 como rele
int rele8 = 8; //Declara o pino 8 como rele
int rele9 = 9; //Declara o pino 9 como rele
int rele10 = 10; //Declara o pino 10 como rele


void setup()
{
Serial.begin(9600);

pinMode(rele3, OUTPUT); //a variavel rele é declarada como saída
pinMode(rele4, OUTPUT); //a variavel rele é declarada como saída
pinMode(rele5, OUTPUT); //a variavel rele é declarada como saída
pinMode(rele6, OUTPUT); //a variavel rele é declarada como saída
pinMode(rele7, OUTPUT); //a variavel rele é declarada como saída
pinMode(rele8, OUTPUT); //a variavel rele é declarada como saída
pinMode(rele9, OUTPUT); //a variavel rele é declarada como saída
pinMode(rele10, OUTPUT); //a variavel rele é declarada como saída

}
void loop(){
digitalWrite(rele3, HIGH); // Rele ligado
delay(100); //espera 10 s
digitalWrite(rele4, HIGH); // Rele ligado
delay(100); //espera 10 s
digitalWrite(rele5, HIGH); // Rele ligado
delay(100); //espera 10 s
digitalWrite(rele6, HIGH); // Rele ligado
delay(100); //espera 10 s
digitalWrite(rele7, HIGH); // Rele ligado
delay(100); //espera 10 s
digitalWrite(rele8, HIGH); // Rele ligado
delay(100); //espera 10 s
digitalWrite(rele9, HIGH); // Rele ligado
delay(100); //espera 10 s
digitalWrite(rele10, HIGH); // Rele ligado
delay(100); //espera 10 s
digitalWrite(rele3, LOW); //rele desliga
delay(100); //espera 3s
digitalWrite(rele4, LOW); //rele desliga
delay(100); //espera 3s
digitalWrite(rele3, LOW); //rele desliga
delay(100); //espera 3s
digitalWrite(rele4, LOW); //rele desliga
delay(100); //espera 3s
digitalWrite(rele5, LOW); //rele desliga
delay(100); //espera 3s
digitalWrite(rele6, LOW); //rele desliga
delay(100); //espera 3s
digitalWrite(rele7, LOW); //rele desliga
delay(100); //espera 3s
digitalWrite(rele8, LOW); //rele desliga
delay(100); //espera 3s
digitalWrite(rele9, LOW); //rele desliga
delay(100); //espera 3s
digitalWrite(rele10, LOW); //rele desliga
delay(100); //espera 3s
}

Halisson, 

vamos esquecer o arduíno agora.já que a configuração esta correta, faça o seguinte:

No XBEE que esta ligado no arduíno, simplesmente, coloque 3,3V no pino D0, isso fará com que o respectivo pino do módulo remoto também fique como HIGH. Ou seja, esqueça a comunicação serial por agora.

Fico no aguardo do resultado.

T+

claro, alimente os Xbees :)

Gustavo,

só pisca o TX do dispositivo que não está no Arduino, ou seja o que chamamos de XBEE remoto quando incluimos o 3.3v.

Quando relé da placa que está conectada no arduino alimenta, já está alimentando o pino 0 ok, com o meu shield.

obrigado! 

Halissin,

quando voce trabalha com a configuração de LINE PASSING, a serial (rx/tx) de nada importa. Nesta configuração, os dispositivos tornam-se espelhor, ou seja, se você ativar o pino D0 com GROUND, no outro Xbee ele será 0 volts também, logo, se você colocar nivel HIGH o outro Xbee também irá colocar HIGH no mesmo pino. 

O arduino, no teu caso, será ligado diretamente aos pinos do xbee, sem a necessidade da serial. No outro xbee, o rele será ativado diretamente pela pinagem do xbee, ou seja, sem a necessidade de um arduino.

Espero ter ajudado.

t+

Compreendo.

Mas alguma sugestão?

Não.

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço