Output su monitor seriale USB con The Tactigon

The TactigonCiao! Continuiamo con gli articoli riguardanti The Tactigon, la scheda di prototipazione wearable programmabile tramite l’IDE Arduino. In questo articolo andremo a scrivere ed analizzare lo sketch che ci permetterà di avere un output su monitor seriale USB con The Tactigon, appunto. Lo sketch è molto semplice ma ci permetterà di utilizzare alcune delle librerie fornite nel pacchetto Arduino che abbiamo installato nello scorso articolo. Se ci è sfuggito, possiamo andare a leggere una piccola recensione della scheda di prototipazione in oggetto, con tanto di scheda tecnica nel post dedicato.

Output su monitor seriale USB con The Tactigon

Requisiti

Abbiamo bisogno solamente della scheda di prototipazione wearable The Tactigon, di un cavo micro USB per la connessione della scheda al nostro PC e dell’IDE Arduino configurato come abbiamo visto nello scorso articolo.

Sketch

L’utilizzo dell’output su monitor seriale USB con The Tactigon non si differenzia molto da quello che potete già aver utilizzato con Arduino Uno, ad esempio.

Qui potete leggere il codice sorgente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
/** Questo sketch di esempio mostra come inviare          **/
/** i valori di quaternioni ed accelerazioni              **/
/** tramite porta seriale USB                             **/
/** Michele Valentini - Red Sheep Labs - www.yarosia.it   **/
 
#include "tactigon_IMU.h"
T_ACC accMeter;
T_AccData accData;
 
T_QUAT qMeter;
T_QData qData;
int ticks;
 
void setup() {
  // put your setup code here, to run once:
  ticks = 0;
}
 
void IMUUpdate() {
  //Otteniamo i dati di accelerazione
  accData = accMeter.getAxis();
 
  //Otteniamo i quaterioni
  qData = qMeter.getQs();
 
  //Li inviamo alla porta seriale USB
  Serial.println(F("Nuovi valori:" ));
  Serial.println(accData.x);
  Serial.println(accData.y);
  Serial.println(accData.z);
  Serial.println(qData.q0);
  Serial.println(qData.q1);
  Serial.println(qData.q2);
  Serial.println(qData.q3);
}
 
void loop() {
  //Il codice viene eseguito ad 1 Hz
  if (GetCurrentMilli() >= (ticks + (1000 / 1))) {
    ticks = GetCurrentMilli();
    IMUUpdate();
  }
}

Brevemente: alla frequenza di 1 Hz andiamo ad aggiornare i valori dei sensori inerziali e li mandiamo in output su monitor seriale USB con The Tactigon come trasmettitore ed il nostro PC come ricevente.

La libreria tactigon_IMU.h permette di comunicare con Accelerometro, Giroscopio e Magnetometro, e fornisce Quaternioni ed Angoli di Eulero, oltre ai valori rilevati dai singoli assi (x, y e z) dei 3 sensori citati.

Il tipo T_ACC è l’astrazione dell’accelerometro integrato nella scheda, e fornisce quindi valori relativi alle accelerazioni rilevate con il tipo T_AccData che contiene i 3 valori x, y e z.

T_Quat, invece, si occupa del calcolo dei quaternioni, e li restituisce sotto forma di T_QData, che contiene i 4 valori rappresentativi del quaternione appena computato.

Come vediamo, quindi, l’output su monitor seriale USB con The Tactigon si effettua con l’istruzione:

Serial.println();

la medesima utilizzata dalle schede Arduino.

Non è necessario impostare la velocità della seriale, in quanto attiva di default alla velocità di 115200 bps.

Ecco qui il risultato che dovremmo ottenere:

Output su monitor seriale USB con The Tactigon

Download

Qui è possibile scaricare il file sorgente dello sketch analizzato in questo articolo.

Spread the love

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

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