Arduino Verbinden met NMEA‑0183: Stap‑voor‑Stap Handleiding
Onderdelen en Benodigdheden
| Onderdeel | Aantal |
|---|---|
| Arduino UNO (of compatibel) | 1 |
| RS422/RS485 Shield met geïsoleerde interface | 1 |
Over dit Project
NMEA-0183 is een elektriciteitsstandaard voor het verbinden van GPS, sonar, sensoren en autopiloten op schepen. In tegenstelling tot NMEA 2000 (CAN-gebaseerd) gebruikt NMEA-0183 EIA RS422 (soms RS-232 of enkele draad). Deze handleiding laat zien hoe je een Arduino UNO koppelt aan elk NMEA-0183-apparaat met differentiële uitgang, gebruikmakend van een RS422/RS485-shield met galvanische isolatie.
Aansluiting op NMEA-0183
Typische apparaten hebben terminales gemarkeerd als NMEA OUT+ / OUT- of TX+ / TX-. De IN-draden zijn optioneel. Als je apparaat slechts één transmit-draad heeft (vaak TX of NMEA OUT), dan gebruikt het RS-232; dan heb je een simpele RS232-converter nodig.
Jumper-instellingen op de Shield
- UART RX → positie 2
- UART TX → positie 3
- Spanning → 5V
DIP-switch Instellingen
Zet de DIP-switches conform de afbeelding voor RS422-modus met terminating resistor ingeschakeld.
Firmware & Bibliotheek
Gebruik de NMEA0183-bibliotheek van Justin R. Cutler: GitHub.
Belangrijk: Wijzig de software-UART pinnen naar 2 (RX) en 3 (TX). Zorg dat de baudrate (standaard 4800 baud) overeenkomt met je NMEA-apparaat.
Testen
Na uploaden opent u de seriële monitor om gedecodeerde NMEA-zinnen te zien. Geen echt apparaat? Gebruik een PC-simulator (bijv. NMEA Simulator) met een USB-naar-RS485-adapter.
Voorbeeldcode
#include <NMEA0183.h>
SoftwareSerial gps(2, 3); // RX, TX op pinnen 2 & 3
NMEA0183 nmea;
void setup() {
while (!Serial);
Serial.begin(115200);
gps.begin(4800);
Serial.println("NMEA0183 parser test");
}
void loop() {
if (gps.available()) {
char c = gps.read();
if (nmea.update(c)) {
Serial.print("NMEA0183 zin geaccepteerd (");
Serial.print(nmea.getFields());
Serial.print(" velden): ");
Serial.write(nmea.getSentence());
Serial.println();
}
}
}
Productieproces
- Bouw een Universele IR-remote met Arduino: Stap-voor-stap Handleiding
- Bestuur Je Roomba Create 2 Met Arduino En Android: Stapsgewijze Handleiding
- Arduino Mega koppelen aan een NEO‑6M GPS-module: stapsgewijze handleiding
- Temperatuur en Vochtigheid met DHT11 op Blynk - Stap-voor-Stap Arduino Tutorial
- Thermistor Gebruik Gemaakt Eenvoudig: Stap-voor-Stap Arduino Handleiding
- Maak Muzikale Tonen met Arduino: Stapsgewijze Handleiding
- Modbus op Arduino onder de knie: Stapsgewijze handleiding
- Betrouwbare Arduino-tester voor Power Blough-R-apparaten
- Arduino-aangedreven HID UPS: Upgrade je dummy voeding naar USB-compatibele backup
- Freesmes Slijper Technieken Beheersen: Een Praktische Gids
- C# Queues Beheersen: Enqueue, Dequeue en First-In-First-Out Operaties Uitgelegd