Schlagwort-Archive: Schnittstelle

RS485 Repeater mit dem NMEA shield

André hat ein RS485 Repeater Programm für das NMEA shield geschrieben:

Moin moin,

habe die RS 485 getestet und funktioniert einwandfrei !
Anbei Bilder hierzu , der zusätzliche Wiederstand in der Klemme ist, weil der Bus auf beiden
Seiten mit 120 Ohm abgeschlossen sein muß … der FTDI zu USB hat zwar einen eingebauten den muß man aber über die zusätzlichen Kabel mit anschließen, da ich das für die Programmierung der Brandmeldeanlage aber nicht brauche, habe ich das so gelöst. Weiterlesen

Eine LED mit Processing schalten und den Status zurück bekommen vom Arduino

Die LED 13 auf dem Arduino Board soll nun von einem Processing Fenster aus umgeschaltet werden per Maus. Danach gibt der Arduino den Status der LED zurück in das Processing Fenster.

Das Processing Fenster reagiert einmalig auf den Mausklick in das Fenster und sendet dann abwechselnd eine 0 oder 1 an den Arduino. Dieser schaltet die LED um und gibt den LED Status als String zurück. Der String vom Arduino aus println hört mit \n auf. Das wird in Processing auch als Ende des Strings erkannt mit readStringUntil(‚\n‘).

Das Processing Text Ausgabe Feld im Windows Fenster muss erst mit einem leeren Rechteck abgedeckt werden und dann wird neuer Text drüber geschrieben.

Hier das Arduino Programm

// Arduino LED bei Mausklick umschalten
// aus einem Processing 3+ Fenster
// mit Status Rückmeldung vom Arduino
//
// Matthias Busse 19.3.2017 Version 2.0
 
char wert; // Daten von der seriellen Schnittstelle
int led = 13; // Board LED vom Arduino Uno
 
void setup() {
  pinMode(led, OUTPUT); 
  Serial.begin(38400); 
}
 
void loop() {
  while (Serial.available()) {       // Wenn serielle Daten kommen, dann lesen
    wert = Serial.read();            // Daten in wert speichern
    if (wert== '1') {                // 1 heisst einschalten
      digitalWrite(led, HIGH);       // LED einschalten
      Serial.println("LED ist an");  // Rückgabe
    }
    else {
      digitalWrite(led, LOW);        // LED ausschalten
      Serial.println("LED ist aus"); // Rückgabe
    }
  }
}

Das Processing 3.3 Programm Weiterlesen

NMEA2000 Interface

Das NMEA2000 Marine Netzwerk, etwas zum Einstieg.

NMEA2000 ist ein CAN-Bussystem am Bord moderner Yachten. Hier werden viele Sensordaten gesammelt und auf den Bus gegeben. Alle angeschlossenen Displays können diese Daten verwenden, sie darstellen oder für Berechnungen zur Hilfe nehmen. Typische Daten sind z.B. die Geschwindigkeit durch das Wasser und die Wassertiefe. Hierfür wird am häufigsten der Airmar DST800 Geber im Bootsrumpf eingesetzt. Die Displays zur Darstellung der Daten kommen von den verschiedenen Herstellern Raymarine, Simrad, Garmin …

Das Ganze wird mit dem NMEA2000 Bus verbunden. Hier gibt es die Rückgrad Leitung (auch Backbone genannt) die mit Widerständen an beiden Enden abgeschlossen wird. Die Geber und Displays werden über T-Stücke und Stichleitungen (Spur Kabel genannt) an das NMEA2000 Netzwerk angeschlossen. Weiterlesen

Grafische PC Ausgabe der Arduino Daten mit Processing

Mit der kostenlosen Processing Software können die seriellen Daten vom Arduino grafisch ausgegeben werden.

Als erstes nehme ich das Arduino BMP 180 Barometer Programm. Mit ein paar kleinen Änderungen sieht das dann so aus. Weiterlesen

Ein SeaTalk zu Arduino Interface mit LT-Spice simuliert

Thomas Knauf stellt auf seiner Seite viele Informationen zum SeaTalk Protokoll von Autohelm / Raymarine zur Verfügung, unter anderem eine RX / TX Eingangsstufe vom PC (RS232) zum SeaTalk Bus.

Diese Schaltung habe ich mit LT-Spice simuliert und etwas verändert.
1. Es wurden die Standard Transistoren BC547B (NPN) und BC557B (PNP) verwendet.
2. Die Spannung am Arduino Pin sollte 5V nicht übersteigen, deshalb ist am Ausgang zum RX am Arduino ein Spannungsteiler mit 4,7k und 2,2k Ohm eingefügt. Weiterlesen