2.2 KiB
UNO Monitor
UNO Monitor is my first attempt at prototyping an Arduino UNO based LCD and LED external display with IR remote controller.
Requirements
Hardware
Ardurino UNO
LCD1602 LCD module
10k Potentiometer
220 Resistor
Max7219 LED dot matrix module
IR reveiver module /w remote
Software
Latest Arduino (v1 or v2) IDE
Linux Bash (for monitor_sender.sh) (not tested on WSL/WSL2)
or
Linux (C daemon: unomodD) (not tested on WSL/WSL2)
Headers
Liquid Crystal library
LedControl library
IRremote library
Pin Outs
LCD Pinout:
- LCD RS pin to digital pin 12
- LCD Enable pin to digital pin 11
- LCD D4 pin to digital pin 5
- LCD D5 pin to digital pin 4
- LCD D6 pin to digital pin 3
- LCD D7 pin to digital pin 2
- LCD R/W pin to ground
- LCD VSS pin to ground
- LCD VCC pin to 5V
- 10K resistor:
- ends to +5V and ground
- wiper to LCD VO pin (pin 3)
LED Pinout:
- LED DataIn(DIN) to digital pin 10
- LED LOAD(CS) to digital pin 9
- LED CLK to digital pin 8
- LED VSS pin to 5V
- LED GND to ground
IR Pinout
- IR Signal to digital pin 13
- IR VSS pin to 5V
- IR GND to ground
Communication
Serial Input Schema
Start char is: '#'
End char is: '@'
2nd char denotes which line number/mode to use
The LAVG line should be a whole integer 0-100 for the system load or other similarly ranged value
Setting Schema:
- LCDLength:LCDDelay:LEDBrightness:LEDDelay
- 16:5:1:3
Example:
- Line 1: #1Archamedis Status@
- Line 2: #299% free / etc.@
- LAVG 3: #324@
- LSET 0: #016:5:1:3@
Serial Output Schema (IR commands)
Multimedia Controls use single characters to denote which button was pressed:
- P power
- M mute
- m mode
- p pause/play
- b back
- f forward
- e eq
- -- vol down
- ++ vol up
- r return
- u usb scan
- 0 number 0
- 1 number 1
- 2 number 2
- 3 number 3
- 4 number 4
- 5 number 5
- 6 number 6
- 7 number 7
- 8 number 8
- 9 number 9
- R repeat
- Z other button pressed