xBee accendere led D0 da remoto

Salve,

ho letto penso abbastanza prima di venire a rompervi le scatole ma sono saturo di codice e non riesco a fare ció che voglio... In breve ho 2 xbee, uno su arduino (configurato come end device/ router) e l'altro connesso al mio pc (configurato come coordinator in api mode 2) dove ho collegato un led al pin 0. Se setto dal pc tramite x-ctu il pin D0 a HIGH infatti il led si accende solo che se invio i comandi tramite arduino non si accende niente... vorrei sapere dove sbaglio essendo un neofita. Vi posto il codice che ho estrapolato dai vari tutorial e guide:

#include <XBee.h>
XBee xbee = XBee();

void setup(){
xbee.begin(9600);
}
uint8_t cmdpin[] = {'D','0'};
uint8_t valore[] = { 5 };

XBeeAddress64 addr64 = XBeeAddress64(0x0013a200, 0x40624926);

RemoteAtCommandRequest command = RemoteAtCommandRequest(addr64,cmdpin,valore,sizeof(valore));

void loop(){
delay(3000);
xbee.send(command);

}

Grazie della pazienza

Ciao, hai provato con altri pin, invece di utilizzare il pin 0 , prova ad utilizzarne altri e fammi sapere.

ho lo stesso problema...
questo il mio codice:

#include <XBee.h>
XBee xbee = XBee();

void setup(){
xbee.begin(9600);
  Serial.println("Avvio programma...");
}
uint8_t cmdpin[] = {'D','1'};
uint8_t valore[] = { 4 };

XBeeAddress64 addr64 = XBeeAddress64(0x0013a200, 0x40812c22);

RemoteAtCommandRequest command = RemoteAtCommandRequest(addr64,cmdpin,valore,sizeof(valore)); 

void loop(){
  delay(1000);
  xbee.send(command);
  Serial.println("spento");

}

te hai risolto?

nessuno saprebbe aiutarmi?

Non conosco gli xbee e dal tuo messaggio non riesco a ricavare abbastanza informazioni.
L'unica cosa che noto è che mi sembra che tu abbia cambiato pin e messo il pin 1 al posto dello zero.
Se l'arduino è connesso tramite USB al pc quando vuoi mandare i comandi non puoi usare ne il pin zero ne il pin uno.
Sono i pin utilizzati dalla seriale.
Dubito il mio mess ti aiuterà ma prova altri pin non utilizzati da qualcosa :slight_smile:

Il problema è quello. Sia in modalità wireless che USB, i pin 0 e 1 sono usati per la trasmissione seriale dei dati. Devi quindi cambiare pin.

fantastico funziona!!!

unica cosa che ora non capisco è perchè nella seriale vedo cose del genere:

D2©~ e simili.....

Per il resto.. grazie mille!!! siete i migliori!!!!

Generalmente accade se si impostano 2 velocità differenti per la seriale. Oppure se stampi non in byte ciò che ricevi. Cioè Serial.print(dato, BYTE).

Non vedo il comando
Serial.begin(9600); :astonished:

PaoloP:
Non vedo il comando
Serial.begin(9600); :astonished:

azzzzzz.... hai ragione :stuck_out_tongue:

grazie mille per l'aiuto... con questo sistema riesco a pilotare anche la relè shield!!!
grazie ancora

Ciao a tutti...

volevo chiedere ora come posso leggere dall'Arduino un DigitalInput dell'xbee remoto...

per inviare segnale (e quindi impostare il livello alto o basso di un output) uso xbee.send, per andare a verificare se invece l'input è H o L come posso fare?