/myDashBoard

Personalized LED RGB dashboard that runs on a NI myRIO board. This repo is meant to contains the source code, laser cut files for the case and electric connections diagram.

Primary LanguageLabVIEWMIT LicenseMIT

myDashBoard

My main motivation to start this personal project was to create a personalized dashboard for my own, using 3 Neopixel 8x8 matrixes controlled by a my-RIO board. As consequence of this main motivation, I created 2 APIs, the myRIO-Neopixel (for Neopixel manipulation) and the OpenWeatherLabVIEW (for current weather queries). So this project is meant to test those APIs from a developer point of view.

Features

  • Display in Neopixel LED Matrix:
    • Date & Time (In Progress)
    • Audio Analyzer
    • Timer (In Progress)
    • Weather (In Progress)
  • Publish local website:
    • Allow user to select the display mode

Architecture

This project uses an ascyncronous architecture with the following processes:

  • Central Message Handler - Central entity in charge to distribute commands between all processes.
  • Audio Analyzer - Continously analyzes the audio input and publishes the FFT output.
  • Draw Frame - Continously sends the raw data from the Neopixel API to the FPGA.
  • Display Manager - Manages all the Neopixel display objects.
  • Error Handling - Logs errors and is in charge of stopping all the processes in case of failure.
  • Sequencer - Highest level process that defines the mode on which the whole application operates.

LabVIEW Requirements

Hardware Requirements

  • NI my-RIO.
  • 3 Neopixel Matrixes 8x8 Ws2812 5050.
  • Power Supply 12V 5A.
  • Buck converter LM2596HVS
  • Microphone

Connections

(Work in progress)

License

The myDashBoard is licensed under an MIT-style license (see LICENSE).