Giter Site home page Giter Site logo

waps61 / yazz_winddisplay Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 2.14 MB

This project is all about building a wind display with a waterproofed Enhanced Nextion 3,5" display and and Arduino Nano clone.

C++ 93.78% C 6.22%
nmea0183 nextion-display

yazz_winddisplay's Introduction

Yazz_WindDisplay

This project is all about building a wind display with a waterproofed Enhanced Nextion 3,5" display and and Arduino Nano clone.

In addition to my completed NMEAtor project I'm building a waterproofed wind display. It has to replace the current 25 year old Robertson Wind display.

The main goal is to read the NMEA0183 data from the wired network, interpret the data SOG, COG, AWA and AWS and show this in a wind display accordingly. Since the display is part of a daisy chained network it has to write the data it has read to the wired netwrok again.

It is build with an Nextion Enhanced 3,5" touch display and an Arduino Nano V3 clone.

Project: WindDisplay.cpp, Copyright 2020, Roy Wassili Contact: waps61 @gmail.com URL: https://www.hackster.io/waps61 VERSION: 1.0 Date: 31-07-2020 Last Update: 15-08-2020 v1.0 Fixed some minor issues and prepared for relase 1.0 13-08-2020 v0.12 Optimized displayData function to fix 000 values on HMI 10-08-2020 v0.11 using return values in communication with Nextion fixed angle calculation in HMI (now version 0.3) 04-08-2020 v 0.08 changed display update via 32-bitvalue var's in HMI and timer so we have to send only 1 command to update the complete display Achieved: Pre-Fat on board was successfull with v0.1
Purpose: Build an NMEA0183 wind display to replace the old Robertsen wind displays supporting following types of tasks: - Reading NMEA0183 v2.x data without, - Parse the for wind and course and send datat to display -

NOTES:
1) NMEA encoding conventions in short An NMEA sentence consists of a start delimiter, followed by a comma-separated sequence of fields, followed by the character '' (ASCII 42), the checksum and an end-of-line marker. i.e. <field 0>,<field 1>,,, The start delimiter is either $ or !. <field 0> contains the tag and the remaining fields the values. The tag is normaly a 5 character wide identifier where the 1st 2 characters identify the talker ID and the last 3 identify the sentence ID. Maximum sentence length, including the $ and is 82 bytes.

        Source: https://gpsd.gitlab.io/gpsd/NMEA.html#_nmea_0183_physical_protocol_layer


    2)  Rx1 and TX1 are reserved for the display communication 38400Bd
        Digital pin 10 (and 11) are reserved for NMEA talker via
        SoftSerial on 38400 Bd

Hardware setup: The Arduino Nano V3 has only 1 Rx/Tx port so in NexConfig.h the DEBUG_SERIAL_ENABLE defninition should outcommented and NexSerial has to be set to Serial (instead of Serial2)

Wiring Diagram (for NMEA0183 to NMEA0183 device): Arduino | NMEA device Pin 10 | RX +
Pin 11 | TX +

Set the pins to the correct one for your development shield or breakout board. This program uses these data lines to the Nextion 3,5" Enhanced LCD, pin usage as follow: Nextion Rx | Tx | 5V | GND Arduino Nano V3 Tx1 | Rx1 | 5V | GND

! Remember to set the pins to suit your display module!


Terms of use:

The software is provided "AS IS", without any warranty of any kind, express or implied, including but not limited to the warranties of mechantability, fitness for a particular purpose and noninfringement. In no event shall the authors or copyright holders be liable for any claim, damages or other liability, whether in an action of contract, tort or otherwise, arising from, out of or in connection with the software or the use or other dealings in the software.


Warning:

Do NOT use this compass in situations involving safety to life such as navigation at sea.

TO DO: Implement 2-way communication so that incomming NMEA data can be relayed to other devices. An NMEA0183 network is typically a daisy chained network

LIMITATIONS: No relay of NMEA0183 data possible currently. So display needs to be implemented as the last node in the daisy chain.

yazz_winddisplay's People

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.