r/Arduino Reddit Subscribers Monitor

Contents

Wiring

The initial version of the project supports two types of display. One is a 2 line by 16 character LCD display using a parallel data bus. The other is a 8 digit LED display using SPI for communications.

If you do not have either of these types of display, that is OK, the Arduino code is relatively easy to modify to support alternative displays. Instructions are included in the Code page. In the future, I plan to add a TFT display (shield) using the existing code structure. I will update this site when I do that and post updates on reddit, twitter and other social media.

The following sections describe the wiring for the two supported display types.

Note that the diagrams below are a guide only. There is no standard for where pins on various display modules are actually placed nor is there a standard for how they are arranged.

Always check the pinouts for your device and always check the ratings (e.g. voltage) to make sure that your devices are compatible with each other.

2 x 16 LCD Module

The LCD module I used has a parallel bus (4 or 8 bit) based upon a SSC2A16 (or similar) driver chip.
The module is supported by the LiquidCrystal library (v1.0.7) which is available in the Arduino IDE.

LCD Arduino Colour Description
1VDD5VRed+5V power connection
2VSSGNDBlackGround connection
3VOto GNDOchreContrast Adjust - ideally connect this via a 220 to 470 ohm resistor
4RS2PurpleRegister Select
5R/W3YellowRead / Write signal
6E4GreenEnable
7 - 10DB0 - DB35, 6, 7, 8not shownData bits 0 to 3 - only required if an 8 bit interface is being used
11 - 14DB4 - DB79, 10, 11, 12BlueData bits 4 to 7

Important Note: if you use this type of display, you need to make one small change in the Arduino code. Near the top of the SubredditStatsMonitor.ino you will find this code:

  // SubredditStatsLCD subredditStats = SubredditStatsLCD();
  SubredditStatsLED subredditStats = SubredditStatsLED();            

To enable the LCD device, uncomment the first line and comment out (or delete) the second line. So, to enable the LCD variant, modify the code so that it looks like this.

  SubredditStatsLCD subredditStats = SubredditStatsLCD();
  // SubredditStatsLED subredditStats = SubredditStatsLED();            

8 digit 7 segment LED Module

The other display module I used was the 8 digit LED panel. This panel includes a MAX7219 driver chip. The chip receives its instructions and data over an SPI interface and only needs 3 connections (5 if you count power). This module is supported by the LedControl library (v1.0.6) from Eberhard Fahlewhich. This library can be installed using the Arduino IDE's library manager.

Connections for the 7 Segment SPI LED Module.

LCD Arduino Colour Description
VCC5VRed+5V power connection
GNDGNDBlackGround connection
DIN12BluData In
CS10GreenChip Select
CLK11BrownClock

The LEDControl library uses software emulation for the SPI interface. As such, the above connections should work on most, if not all, types of Arduino.

Please support me if you can

Please help support these projects by: Buy me a coffee -
gm310509 Patreon - gm310509