Pages: 1 2 3 [4] 5   Go Down
Author Topic: Xbee - lettura dal seriale  (Read 3345 times)
0 Members and 1 Guest are viewing this topic.
0
Offline Offline
Shannon Member
****
Karma: 130
Posts: 10448
:(){:|:&};:
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged

sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Capo d'Orlando
Offline Offline
God Member
*****
Karma: 2
Posts: 725
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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 !
Logged

0
Offline Offline
Shannon Member
****
Karma: 130
Posts: 10448
:(){:|:&};:
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

allora è qualcosa ll'interrno della libreria per gli xbee che si impalla
Logged

sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 325
Posts: 22498
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Logged


0
Offline Offline
Shannon Member
****
Karma: 130
Posts: 10448
:(){:|:&};:
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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...
Logged

sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Capo d'Orlando
Offline Offline
God Member
*****
Karma: 2
Posts: 725
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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).
Logged

0
Offline Offline
Shannon Member
****
Karma: 130
Posts: 10448
:(){:|:&};:
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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/
Logged

sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Capo d'Orlando
Offline Offline
God Member
*****
Karma: 2
Posts: 725
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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 :\
Logged

0
Offline Offline
Shannon Member
****
Karma: 130
Posts: 10448
:(){:|:&};:
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Capo d'Orlando
Offline Offline
God Member
*****
Karma: 2
Posts: 725
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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 ! smiley-grin
Logged

0
Offline Offline
Shannon Member
****
Karma: 130
Posts: 10448
:(){:|:&};:
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

è 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.
Logged

sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Capo d'Orlando
Offline Offline
God Member
*****
Karma: 2
Posts: 725
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

è 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 ?
Logged

0
Offline Offline
Shannon Member
****
Karma: 130
Posts: 10448
:(){:|:&};:
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

importa che sia uguale per entrambi i moduli
Logged

sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Capo d'Orlando
Offline Offline
God Member
*****
Karma: 2
Posts: 725
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

importa che sia uguale per entrambi i moduli
e allora i problemi non sono di config :\
Logged

piacenza
Offline Offline
God Member
*****
Karma: 0
Posts: 654
prima della pazzia c'è la passione
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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:
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:
/*
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);
   }
  }
}
Logged


Pages: 1 2 3 [4] 5   Go Up
Jump to: