Schlagwort-Archive: Programm

Die Airmar PB100 Wetterstation mit dem NMEA Shield am PC auslesen

André Singer hat ein Programm für die Airmar Wetterstation PB100 und das NMEA Shield geschrieben.

Moin Moin !

Ich habe einen AIRMAR PB100 an das Shield angeschlossen.
Die PB100 sendet und empfängt Ihre NMEA0183 Daten nicht über eine normale RS232 sondern über RS485.
Zum Glück haben die gesendeten Daten einen vernünftigen Pegel, trotz 25m Zuleitung, sodass
hierfür die Serial3 zum empfangen der Daten genutzt werden konnte. Zum senden der Einstellungen und Befehle habe ich die RS485 auf Serial1 verwendet, da hierfür die 25m einfach zu lang war, oder aber die PB100 die Daten wirklich als RS485 erwartet.
Für die Serial3 ist es wichtig die Masse der 12V Versorgung der PB100 noch mit auf die Klemme zu legen.


Danach kann man die Daten über den Seriellen Monitor sich anschauen oder aber über die Software von AIRMAR visualisieren.

Was leider bisher noch nicht funktioniert hat, ist ein Software Update über diese Verbindung.

/************************************************
 * Beispiel Sketch für Shelvin.de NMEA Board V1.7 
 *                RS 485 / RS232
 *       Wetterstation AIRMAR PB100
 *   André Singer 17.04.2017 Version 1.0
 ************************************************/

/*Pin Config */
int RW =22;
void setup() {
  // put your setup code here, to run once:
 pinMode(RW,OUTPUT);
 digitalWrite(RW,LOW);
 Serial.begin(57600);
 Serial.println("NMEA Monitor AIRMAR PB100");
 Serial1.begin(4800);
 Serial3.begin(4800); 
}

void loop() {
  // put your main code here, to run repeatedly:
 if (Serial3.available()) {
    Serial.write(Serial3.read());
 }
 if (Serial.available()) {
   digitalWrite(RW,HIGH);
   Serial1.write(Serial.read());
   delay(10);
   digitalWrite(RW,LOW);
 }
}

Verwendet wurden:
Arduino Software 1.6.9
Arduino Mega 2560
NMEA Shield Version 1.7
AIRMAR Wetterstation PB100

Link zu Airmar http://www.airmar.com/software-downloads.html

Von André Singer

NMEA2000 Daten aus dem Bus seriell auf USB als Klartext ausgeben

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. Weiterlesen

Der Hamming Code für den Arduino

Bei einer digitalen Funkübertragung kann es zu Störungen kommen und einzelne Bits werden falsch empfangen, kippen sozusagen um. Aus einer 1 wird eine 0.

Richard Wesley Hamming hat sich dazu Gedanken gemacht und eine Codierung entwickelt, die es erlaubt zu überprüfen ob alle Bits richtig übertragen wurden. Einzelne Bits können sogar rekonstruiert werden.

Hier sollen 4 Daten-Bits übertragen werden. Dazu werden nach einem bestimmten Schema 3 Paritäts-Bits hinzugefügt, die Daten werden codiert. Es müssen nun 7 Bits übertragen werden. Wird ein Bit falsch empfangen, so lässt es sich später bei der Decodierung rekonstruieren.

Die 4 Daten-Bits werden mit 3 Paritäts-Bit nach diesem Schema ergänzt.
Die Datenbits: d4, d3, d2, d1 Weiterlesen

Temperatursensor DS18B20 mit dem Arduino Uno und LCD Display

Ich habe den Maxim Temperatur Sensor DS18B20 bekommen. Er ist bereits dicht vergossen und wird mit einem 3-poligen Anschlusskabel geliefert (rot schwarz gelb)

Er hat einen 1-wire Bus, das heisst es müssen nur die Datenleitung und GND zum Anschluss verwendet werden. Mit einem 4,7 kOhm Widerstand von der Datenleitung gegen 5V wird am Arduino die „parasitäre“ Stromversorgung hergestellt. Der Sensor bekommt so die Stromversorgung mit über die Datenleitung.
Bei Leitungslängen über 6m sollte die 5V Versorgung zusätzlich angeschlossen werden, das ist hier aber nicht notwendig. Weiterlesen

Den 16-Bit AD-Wandler MCP 3426 mit dem Arduino verwenden

Der AD-Wandler MCP 3426A0-E/SN wurde auf eine Streifenrasterplatine gesetzt, wie im vorherigen Artikel beschrieben.

Nun soll er mit dem Arduino Uno verbunden und ausgelesen werden. Weiterlesen