Dieses kleine Tutorial soll zeigen wie man Daten vom Arduino schnell und einfach am PC visualisieren kann. Die Daten werden hierbei seriell übertragen und am PC mit LogView empfangen und grafisch dargestellt.

Weitere Informationen

Die Daten müssen speziell (aber durchaus simpel) im Quellcode des Arduino formatiert werden, damit LogView sie richtig interpretieren kann.

Dank des sogenannten "Openformat" ist die Abstimmung zwischen Arduino und LogView einfach und kann auf beliebig viele Übertragungskanäle angepasst werden.

Ein Datenstring vom Arduino sieht dann zum Beispiel so aus: $1;1;0;128;128;128;128;128;0<cr><lf>

Er enthält neben dem Startzeichen "$" ein paar Parameter und die eigentlichen Daten. Hier sind es fünf Übertragungskanäle. Die Werte sind in diesem Beispiel alle "128".

Weitere Informationen zum Protokoll gibt es auf der Seite von LogView (Klick) oder in der Hilfe-Datei im Programm selber (dort auch auf Deutsch).

Aufbau

Der Aufbau ist denkbar einfach. Einfach das Arudino Board mittels USB-Kabel mit dem PC verbinden.

Vorbereitungen am Arduino

Bei meinem ersten Test habe ich ein Demo-Sketch für den Nintendo Nunchuck aus dem Internet genommen und die Datenausgabe wie eben erwähnt angepasst. Hier das Programm vom Arduino:

/*

 * WiiChuckDemo -- 
 *
 * 2008 Tod E. Kurt, http://thingm.com/
 *
 */

  1. include <Wire.h>
  2. include "nunchuck_funcs.h"

int loop_cnt=0;

byte accx,accy,accz,zbut,cbut,joyx,joyy;

void setup() {

    Serial.begin(57600);
    nunchuck_setpowerpins();
    nunchuck_init(); // send the initilization handshake

}

void loop() {

    if( loop_cnt > 100 ) { // every 100 msecs get new data
        loop_cnt = 0;

        nunchuck_get_data();

        accx  = nunchuck_accelx(); // ranges from approx 70 - 182
        accy  = nunchuck_accely(); // ranges from approx 65 - 173
        accz  = nunchuck_accelz();
        zbut = nunchuck_zbutton();
        cbut = nunchuck_cbutton(); 
        joyx = nunchuck_joyx();
        joyy = nunchuck_joyy();        

        //Datenausgabe LogView kompatibel 
        Serial.print("$1;1;0;"); 
        Serial.print((byte)accx,DEC);
        Serial.print(";"); 
        Serial.print((byte)accy,DEC);
        Serial.print(";");
        Serial.print((byte)accz,DEC);
        Serial.print(";");
        Serial.print((byte)joyx,DEC);
        Serial.print(";");
        Serial.print((byte)joyy,DEC);
        Serial.print(";0"); 
        Serial.println(13,DEC);

    }
    loop_cnt++;
    delay(1);

Vorbereitungen in LogView

Nach der Installation habe ich mit dem Programm OpenFormatEditor eine ini-Datei angelegt, die alle notwendigen Informationen enthält, damit LogView weiß welche Daten ankommen. Sie kann später vom Hauptprogramm aus editiert und um weitere Kanäle erweitert werden. Die Erstellung einer eigenen Ini-Datei wird auf den Webseiten ebenfalls ausführlich erklärt Klick. Daher verzichte ich hier darauf.

Hier die von mir erstellte INI-Datei Download

Sie muss in das Verzeichnis "C:\Dokumente und Einstellungen\USER\Anwendungsdaten\LogView\Geraete\OpenFormat\" kopiert werden, wobei USER natürlich an den jeweiligen PC angepasst werden muss.

Anschließend startet man LogView und klickt aus dem Menü "Gerät" den Punkt "Gerät und Port wählen" an. Im darauf erscheinenden "Gerätedialog" wählt man das Gerät ganz unten (OpenFormat\Arduino-Nunchuck-5Achsen). Bei Port ist der Com-Port des angeschlossenen Arduino-Boards zu wählen. Mit Klick auf "Schließen" wird der Dialog geschlossen und alle notwendigen Einstellungen sind vorgenommen. Jetzt braucht es nur noch ein Klick auf "Aufzeichnung starten" und die Daten erscheinen:

Ergebnis

Quellen

Hauptseite von LogView www.LogView.info

Quelle zum Nunchuck Code

Diskussion zu dieser Anleitung im Forum

                                                                        Poldi 2009

Share