Tutorial xBee Arduino

Gli esperimenti con l’xBee arduino continuano ed in questo articolo trovi come accendere e spegnere un led dal pc usando gli xBee. xbee arduino montato L’esperimento non è complesso per permetterti di approfondire i concetti su cui si basa ed ha permesso anche a me di comprendere alcuni utili trucchi prima di avventurarmi in progetti più complessi.

Come funzione l’XBee Arduino

I moduli XBee, come saprai, possono essere programmati e comunicano attraverso due pin Tx ed Rx mediante un protocollo di tipo seriale. Dopo aver configurato i due moduli in modo che possano comunicare tra loro la maggior parte della comunicazione è definita e non dovrai far molto altro che riutilizzare degli sketch base per la comunicazione seriale. Hai certamente già utilizzato la programmazione arduino e la comunicazione seriale per inviare al Serial Monitor, presente nell’IDE, i messaggi di debug. La comunicazione seriale che puoi utilizzare per l’xbee arduino non è differente, il progetto descritto in questo articolo utilizza il monitor seriale per inviare i comendi ad arduino e far accendere il led incorporato presente in corrispondenza del pin 13.

Il progetto xbee arduino

Come funziona il progetto è descritto nel paragrafo precedente, ecco cosa ti occorre:

  • n. 1 arduino ( uno o simili )
  • n. 2 moduli XBee configurati per comunicare sulla stessa rete ( network )
  • n. 1 adattatore xBee arduino
  • n. 1 adattatore xbee usb-seriale

Prima di tutto dovrai collegare l’arduino, senza l’adattattore xBee, al Pc, come fai di solito per caricare uno sketch nuovo, quindi puoi procedere a inviare lo sketch descritto nel paragrafo successivo. xbee arduino moduli Lo sketch permette ad arduino di mettersi in ascolto sulla porta seriale ( usi quindi i pin 0 ed 1 di arduino ) e controllare che vi arrivi un segnale di tipo seriale, quando la comunicazione seriale è attiva legge il valore inviato e lo confronta con le variabili di tipo char definite in cima allo sketch. Scollega l’arduino dal Pc e colloca su di esso l’adattore xbee arduino ed uno dei due moduli configurati. Collega quindi il secondo modulo xbee all’adattatore seriale-usb e collega il tutto al computer, nell’IDE arduino vedrai comparire una nuova porta seriale: xbee arduino porta seriale è quella relativa al tuo adattatore xbee arduino serial-usb, selezionala e apri il monitor seriale.

Lo sketch xbee arduino e monitor seriale

Ecco lo sketch che puoi caricare sull’arduino che riceverà i comandi seriali:

char acceso = 'A';
char spento = 'S';
byte rcvd;
int pinLed = 13;

void setup()  {
   Serial.begin(57600);
   Serial.println( "Serial Start" );

   pinMode( pinLed,OUTPUT );
   digitalWrite( pinLed,LOW );
}

void loop()  {
  if (Serial.available()) {
    rcvd = Serial.read();

    if ( rcvd == acceso ) {
        digitalWrite(13, HIGH);
    } 

    if ( rcvd == spento ) {
        digitalWrite(13, LOW);    
    }
  }
}

non è complesso e si occupa principalmente di impostare la comunicazione seriale sui 57600 baud e mettersi in ascolto sui pin seriale 0 ed 1 predefiniti di Arduino. Alle linee 01-02: definisci due variabili di tipo char il cui valore è uguale a quello atteso per accendere o spegnere il led, in pratica quando sulla seriale riceverai “A”: il led sul pin 13 si accenderà, quando riceverai “S” si spegnerà.

linea 03: definisci la variabile di tipo byte in cui memorizzi il valore letto sulla seriale; linea 04: drfinisci il pin a cui è collegato il led da accendere, è ovvio che se vorrai collegare un led ad un altro pin dovrai cambiare questo valore; linee 07-08: imposta l’apertura di un canale seriale a 57600 baud e scrivi sul monitor seriale “Serial Start” questo messaggio lo vedrai solo quando anche l’arduino ricevente è collegato al computer ed il monitor seriale impostato sulla porta dell’arduino; linee 10-11: imposta il pin 13 in modalità OUTPUT e poino a LOW il suo valore iniziale; linea 15: all’interno del loop() verifica che sia attiva la comunicazione seriale usando il metodo available() dell’oggetto Serial; linea 16; in caso di comunicazione seriale attiva leggi il valore proveniente dalla porta seriale e assegnalo alla variabile rcvd; linee 18-20: confronta il valore memorizzato nella variabile rcvd con quello impostato nella variabile acceso e se sono identici, hai ricevuto A, porta a HIGH il valore dl pin 13; linee 22-24: esegue la medesima operazione di confronto della linea 18 ma con la variabile spento;

Il video dell’xbee arduino

Ho realizzato un breve video di come funziona questo esperimento:

Buona comunicazione xbee arduino !!!

Prima di inserire un commento, per favore, leggi il regolamento

Permanent link to this article: https://www.mauroalfieri.it/elettronica/tutorial-xbee-arduino.html

Lascia un commento

Your email address will not be published.

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.