Sommario:

Come usare NMEA-0183 con Arduino: 5 passaggi
Come usare NMEA-0183 con Arduino: 5 passaggi

Video: Come usare NMEA-0183 con Arduino: 5 passaggi

Video: Come usare NMEA-0183 con Arduino: 5 passaggi
Video: Making Sense of NMEA 0183 Sentences – Specs & Arduino/MCU/C++ Code (2) 2024, Novembre
Anonim
Come usare NMEA-0183 con Arduino
Come usare NMEA-0183 con Arduino

NMEA-0183 è uno standard elettrico per collegare GPS, SONAR, sensori, unità pilota automatico ecc. in navi e imbarcazioni. A differenza del più recente standard NMEA 2000 (basato su CAN), NMEA 0183 è basato su EIA RS422 (alcuni sistemi più vecchi e/o semplici utilizzano RS-232 o un singolo cavo).

Voglio mostrarti in questo tutorial come collegare un Arduino UNO (o qualsiasi altro Arduino) a qualsiasi dispositivo NMEA-0183. Sebbene lo standard richieda ingressi e uscite isolati, è utile utilizzare il nostro Arduino Shield RS422/RS485 con interfaccia isolata.

Passaggio 1: strumenti e materiali

Strumenti e materiali
Strumenti e materiali

Strumenti e materiali

  • Arduino UNO
  • Scudo RS485 per Arduino
  • qualsiasi dispositivo NMEA-0183 con uscita differenziale

Software

Arduino IDE

Passaggio 2: connessione a NMEA 0183

Connessione a NMEA 0183
Connessione a NMEA 0183

Nella foto sopra puoi vedere un tipico dispositivo con uscita differenziale. I terminali sono NMEA OUT+ e NMEA OUT- o TX+ o TX-. I cavi NMEA IN+ e NMEA IN- sono opzionali.

Se hai un singolo cavo di trasmissione dal tuo dispositivo (molto probabilmente etichettato TX o NMEA OUT o qualcosa del genere), il tuo dispositivo utilizza il protocollo RS-232. In questo caso avrai bisogno di un semplice convertitore RS232.

Passaggio 3: impostazione del ponticello

Impostazione ponticello
Impostazione ponticello
  • UART RX in posizione 2
  • UART TX alla posizione 3
  • Tensione alla posizione 5V

Passaggio 4: impostazione dell'interruttore DIP

Impostazione dell'interruttore DIP
Impostazione dell'interruttore DIP

Passaggio 5: firmware

Puoi trovare molti stack software NMEA-0138 diversi per Arduino. Un'ottima soluzione è lo stack NMEA di Eric Barch:

github.com/ericbarch/arduino-libraries/tree/master/NMEA

Consigliato: