Nachdem der Aufbau hier beschrieben wurde, kommt nun das erste Programm.
Die NMEA2000 Daten sollen Klartext über USB auf den PC ausgegeben werden in der seriellen Konsole.
Das heißt der MCP 2515 holt die NMEA2000 Daten aus dem Netz und gibt sie an den Arduino Mega weiter. Hier ist im NMEA2000 Netz nur noch der Lowrance HDS 5m. Mit der Library wird daraus Klartext und dieser wird auf dem USB Port an den PC weiter gegeben und in der Seriellen Konsole ausgegeben.
Hier das Programm
// Die NMEA2000 Bus Daten werden Klartext auf USB zum PC ausgegeben. // Die Library ist von https://github.com/ttlappalainen/NMEA2000/ // // Matthias Busse 30.11.2016 Version 1.0 #define N2k_CAN_INT_PIN 21 // Interrupt Steuerung ist beim Arduino Mega und vielen Daten notwendig #include <SPI.h> #include <Arduino.h> #include <NMEA2000_CAN.h> void setup() { Serial.begin(115200); NMEA2000.SetForwardType(tNMEA2000::fwdt_Text); // Klartext Meldungen anzeigen NMEA2000.Open(); } void loop() { NMEA2000.ParseMessages(); }
Und die serielle Konsolen Ausgabe
Die Priorität der Datensätze wird in der 1. Spalte angegeben, dann der PGN (Datensatznummer) die die Daten spezifiziert, die Quelle, das Ziel, die Länge und die Daten selbst.
Verwendet wurden:
Arduino Software 1.6.5
Die Library von Timo Lappalainen
Arduino Mega 2560
MCP2515 & TJA1050 Platine
Ein NMEA2000 Netzwerk mit Stromversorgung und Abschlußwiderständen
Lowrance HDS 5m Plotter mit NMEA2000 Ausgang
Verbindungen wie hier beschrieben
von Matthias Busse
Pingback: NMEA2000 Daten mit dem Arduino an den Actisense NMEA Reader übertragen | Shelvin – Elektronik ausprobiert und erläutert
Pingback: NMEA2000 Daten aus dem Bus seriell auf USB als Klartext ausgeben | Shelvin – Elektronik ausprobiert und erläutert | Podex' Tagebuch