SERVO_LCD_XBEE  

In una giornata di sole, una di quelle splendite che Castelnuovo della Daunia mi riserva durante il periodo di Luglio/Agosto, 

ho effettuato un test di verifica di TRASMISSIONE e RICEZIONE  dati tramite l'uso di due moduli xbee pro e un servo .

   Il test consiste nello "sventolamento" di una piccola bandiera , Italiana e del MILAN , "gestito" da un servocomando "pilotato" da  ARDUINO.

  Il gruppo di sventolamento  è stato posizionato in prossimità di un box.

    Dalla terrazza  di mia suocera  sono stati  "inviati" i segnali, di step angolari, per movimentare il servo.

 Ho fatto uso dell'adattatore per auto DC-DC per alimentare l'Arduino con il servo.

  Componenti acquistati presso la futura elettronica di Gallarate:

 

 Adattatore per auto DC-DC   - accendisigari:   Euro       7.50

7300 - SERVO209                               Euro        8,70      

Sull'Arduino Trasmittente è stato "caricato" il primo programma.

 Per la trasmmisione è stato utilizzato il comando:

Serial.write  

perchè mi permette di inviare un segnale binario a 8 bit (un byte)

che va da 0 a 255  (00000000 ... 11111111)

Siccome mi occorre inviare un valore da 0 a 180 gradi.

 Poi per me è più facile tramite un INT  trasformarlo in decimale.

  N.B.  Per il servo "occorre" un valore decimale( e non una stringa).

      Nel secondo programma (il Ricevente) è molto semplice trasformare il valore binario ricevuto in decimale, basta utilizzare un INT     

  Avrei dovuto collegare all'ingresso dell'Arduino trasmittente un potenziometro da 100k, poi era necessario che qualcuno lo ruotasse.    

    Invece ho utilizzato la funzione RANDOM che genera un numero casuale tra 0 e 180 e lo spedisce tramite Serial.write.

    L'unica remora è che non posso visualizzare il valore su un LCD.                  

  L'LCD visualizza solo stringhe e non valori numerici decimali .

 

        TRASMITTENTE                                                 RICEVENTE

Se utilizzo il Serial.print (trasmittente) nel programma ricevente avrei dovuto elaborare la stringa di caratteri ricevuta e trasformarla in un valore decimale affinchè il servo possa elaborarla.

Ci sono vari programmi su internet che permettono questa conversione.

   Lo sventolamento è avvenuto dopo la vittoria del Milan sull'Inter per 2 a 1  - Coppa Intercontinentale 2011