Now that I’m able to read values from P3D and send them to my Arduino Uno board, I want to prototype a simpit panel: the main annunciator panel. It consists of 20 LED notifications, organized in a matrix of 5 columns and 4 rows. The module needs to support:
- lighting up individual LEDs
- lighting up all LEDS at the same time (without frying my Arduino board 😳 )
I will follow this tutorial to get it working: http://playground.arduino.cc/Main/MAX72XXHardware (although I’m in the impression that there are some parts missing in this tutorial). Addional source: http://www.instructables.com/id/16×8-LED-dot-matrix-with-MAX7219-module/
Note: I will not pay any attention to the looks of the module at this time. Since I have jack sh*t experience with all these things, I just want to verify if the concept could work:
- Reading from P3D specific values into a Java program
- Applying the business logic in that application to decide if based on the values read an annunciator should light up
- Sending the output to the Arduino Uno board
- Interpreting the output on the Arduino Uno board
- Enable the related LED
Things to think about:
- All multiplexing matrices have equal rows and columns (to maximize the number of LEDs per pin used on the Arduino board, e.g. 8×8 LEDs). But my matrix will have 4×5 LEDs. This will consume more pins that required, unless I make it a 5×5 matrix and assign the remaining 5 LEDS to another (annunciator) panel (see next point).
- There are two annunciator panels; will I use one Arduino to control both or will I use separate Arduino boards.
- One board
- Pro’s
- Saves one USB port on my computer
- Java program has to communicate with one less Arduino board
- Lower cost (an Arduino board cost about €25)
- Con’s
- wiring per board will be a lot more complex
- Draws more current (maybe too much)
- Pro’s
- One board
- How many LEDs should be used per annunciator to ensure the notification remains visible in daylight conditions?
- Can I use different color LEDs in one circuit (these have all a different voltage/current requirements)?