Go Down

Topic: Xbee - lettura dal seriale (Read 3689 times) previous topic - next topic

lesto

l'arduino preferirà l'alimentazione esterna, è stato pensato apposta dato che alcune USB non reggono le potenze richieste da alcuni shield...

metti una Serial.print("loop ricevente");Serial.println(i++); anche nel codice della ricevente, giusto per essere sicuro che si resetti l'arduino e non che sia un problema dello shield o dello xbee
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

sciorty


l'arduino preferirà l'alimentazione esterna, è stato pensato apposta dato che alcune USB non reggono le potenze richieste da alcuni shield...

metti una Serial.print("loop ricevente");Serial.println(i++); anche nel codice della ricevente, giusto per essere sicuro che si resetti l'arduino e non che sia un problema dello shield o dello xbee

Ho provato.la storia è sempre quella ad "intermittenza"ma il numero del ricevitore che stampo sul seriale non si resetta !

lesto

allora è qualcosa ll'interrno della libreria per gli xbee che si impalla
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

leo72

Oppure che va in conflitto con l'attuale codice, non dimentichiamoci che la NewSoftSerial usa gli interrupt. Io non conosco gli Xbee né so come si interfacciano all'Arduino ma la NewSoftSerial attiva l'interrupt di cambio di stato sul pin per la ricezione dei dati mentre in trasmissione disattiva gli interrupt.

lesto

ma gli xbee comunicano via seriale, in questo caso, quindi tutto ok, la newSoftSerial non dovrebbe causare casini, anche perchè è largamente usata con gli xbee.
Vorrei sapere se i tuoi xbee sono serie 1 o serie 2, in quest'ultimo caso segui qualche guida su come bindare per bene i 2 modelli...
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

sciorty


ma gli xbee comunicano via seriale, in questo caso, quindi tutto ok, la newSoftSerial non dovrebbe causare casini, anche perchè è largamente usata con gli xbee.
Vorrei sapere se i tuoi xbee sono serie 1 o serie 2, in quest'ultimo caso segui qualche guida su come bindare per bene i 2 modelli...

Questi con queste configurazioni..so che uno dovrebbe essere end device at però non sono riuscito a configurarlo e così funziona (anche se mi è capitato una o due volte di doverli riconfigurare).

lesto

beh, con la configurazione degli xbee approssimativa è ovvio che avrai risultati approssimativi... http://blog.didierstevens.com/2009/06/15/quickpost-arduino-xbee-shield-series-2-configuration/
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

sciorty


beh, con la configurazione degli xbee approssimativa è ovvio che avrai risultati approssimativi... http://blog.didierstevens.com/2009/06/15/quickpost-arduino-xbee-shield-series-2-configuration/

Mmm io ho solo:
ZIGBEE COORDINATOR API
ZIGBEE COORDINATOR AT
ZIGBEE END DEVICE API
ZIGBEE END DEVICE AT
ZIGBEE ROUTER API
ZIGBEE ROUTER AT
ZIGBEE ROUTER/END DEVICE ANALOG IO
ZIGBEE ROUTER/END DEVICE DIGITAL IO
e con end device at non funziona :\

lesto

http://www.robotshop.com/forum/showthread.php?614-Xbee-Series-2-Point-to-Point-Duplex-Configuration
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

sciorty


http://www.robotshop.com/forum/showthread.php?614-Xbee-Series-2-Point-to-Point-Duplex-Configuration

Non ho capito in cosa possa essermi utile ma aspetta un attimo.. non è che il coordinator at deve stare sul ricevitore e il router at deve stare sul trasmittente (o viceversa)?

Vi ringrazio ancora per la solidarietà, pazienza e gentilezza ! :D

lesto

è indifferente, essendo la comunicazione bidirezionale. peròl questa configurazione è "giusta" per il tuo XBee, visto che dicevi che l'altra configurazione aveva voci che non hai.
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

sciorty


è indifferente, essendo la comunicazione bidirezionale. peròl questa configurazione è "giusta" per il tuo XBee, visto che dicevi che l'altra configurazione aveva voci che non hai.

E infatti sempre questa ho avuto.. il pan id è 3FFF, importa ?

lesto

importa che sia uguale per entrambi i moduli
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

sciorty


importa che sia uguale per entrambi i moduli

e allora i problemi non sono di config :\

stefa24

ciao
mi inserisco in questa discussione per sottoporre il problema che stò avendo con 2 moduli xbee pro serie 2, stando al datasheet dovrei avere 1500 m di range all'esterno, me ne servono 500 m, ma non raggiungo neanche 200 m all'aperto, sono presenti ostacoli rappresentati da piante, possibile che questo faccia decadere il range così tanto, voi avete fatto esperienza

stefano

vi posto i codici che sto usando

TX
Code: [Select]
void setup()
{
  Serial.begin(9600);
  delay(1000);
}

void loop()
{
   for (int i=0; i <= 255; i++)
   {
  //   Serial.write(i);
         Serial.println(i,DEC);

      delay(1000);
   }
}


RX
Code: [Select]
/*
modulo ricevitore xbee RX
 
An example of using the Arduino board+xbee to receive data from the
computer another arduino board+xbee 

This example code is in the public domain.

This sketch prints i dati ricevuti to the LCD

  The circuit:
* LCD RS pin to digital pin 12
* LCD Enable pin to digital pin 11
* LCD D4 pin to digital pin 5
* LCD D5 pin to digital pin 4
* LCD D6 pin to digital pin 3
* LCD D7 pin to digital pin 2
* LCD R/W pin to ground
* 10K resistor:
* ends to +5V and ground
* wiper to LCD VO pin (pin 3)
  */

#include <LiquidCrystal.h>  // include the library code
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // initialize the library with the numbers of the interface pins
int incomingByte=0;

void setup()
{
  lcd.begin(16, 2);  // set up the LCD's number of columns and rows:
  Serial.begin(9600); // initialize serial communication:
  lcd.clear();

  delay(2000);
 
    lcd.print("pronto");
}

void loop()
{
   if (Serial.available()) // when characters arrive over the serial port...
   {
       delay(100); // wait a bit for the entire message to arrive
       lcd.clear();

  while(Serial.available() > 0)  // see if there's incoming serial data:


incomingByte=Serial.read();

Serial.println(incomingByte,BYTE);
//lcd.setCursor(0,1);
lcd.write(incomingByte);
//Serial.flush();
//delay(50);
   }
  }
}
https://sites.google.com/site/agritronica/
https://sites.google.com/site/t3chconcrete/
arduino UNO rev 3
ide 105

Go Up