/ArduinoMVVMDashboard

A cross-platform AvaloniaUI framework app that connects to and controls samples on an Arduino Mega.

Primary LanguageC#GNU General Public License v3.0GPL-3.0

Arduino MVVM Dashboard

A cross-platform AvaloniaUI framework app that connects to and controls samples on an Arduino Mega.

About

This is a pretty simple project that demonstrates various functionality covering several areas. It uses the standard HC-SR04 Ultrasonic sensor to report distance, which will increase the brightness of the LED the closer the sensor is to an object. Additionally, there is a 16x2 LCD hooked directly to the Arduino (with contrast set manully to 75 to spare the need for a potentiometer).

The desktop application can connect, report the distance, and send text to the LCD.

Board Diagram

ArduinoMonitor_bb

Sketch

The sketch is included in ArduinoMVVMDashboard/Sketch/ArduinoMegaMonitor/ and is fully annotated.

Application

The app uses AvaloniaUI Framework's ReactiveUI implementation. This is my first foray into MVVM, so I'm sure I've committed some cardinal sins, but I'm very proud of the fact that there is no code-behind.

To demonstrate the true cross-platforminess of this solution, I did a fresh clone of this repo on both Mac and PC, dotnet restored, and ran.