DIY LCD SLI Arduino Dash (eng)

It’s a simple graphical display for dashboard telemetry. It requires SimTools/GameDash on a host side for gathering data from a game.

Amount of showed telemetry highly depends on a game itself and on a SimTools’ plugin which collects data.

 

Dash has 2 screens for output information (switched by “Screen” button):
screen 1: RPM, Speed, Fuel left %, Gear, Lap, Fuel Burning Rate
screen 2: Water Temp, Oil Temp, Fuel left in Liters and %
RPM Lights and Engine warnings displayed in every screen.

You can tune some parameters with “Settings” button:
RPM Min threshold — at which RPM leds begin to light
RPM Max threshold — at which RPM stripe is full and after that leds will blink
RPMAutotune — 0 or 1, details below
Water Temp warning — at this temp the water dash will showed in RED. The dash will showed in YELLOW at 80% of this
Oil Temp warning — same as water but for oil temp.
Fuel % and Litres warning — same as water but for % and Litres of fuel accordingly.

A few words about RPM shift algorithm:
— simplest and default mode is when dash «learn» max rpm for current session and simply blinks at 98% of it. This controlled parameter RPMAutotune=1.
— manual mode is when you can define min threshold (at which LEDs start to light) and max threshold (at which lights begin to blink). This should be useful for more fine-tuning RPM lights for different cars (RPMAutotune=0)
-telemetry-based mode  (like iRacings` ShiftPercentPct). Currently it works only in iRacing I guess, because I don’t think any other game use this method for rpm lights (output in %%, lights should blink on 60%). I hope I will add support for other games in the future.

Engine warnings in the form in which it exists also are iRacing only. For them, iRacing provided bit mask, which decomposes in the sketch as:
R — Rev limiter
W — Water Temp Warning
F — Fuel Pressure Warning
O — Oil Pressure Warning
E — Engine Stalled
P — Pit Speed Limiter

 

 

I’m using Arduino Leonardo, but UNO R3 should works nice too.

TFT LCD is this which has ILI9341 lcd driver, so I can use standard AdaFruit libraries — Adafruit GFX graphics core and Adafruit_TFTLCD. After download you need to rename them to Adafruit_GFX and Adafruit_TFTLCD respectively (read readme.txt!) and place this libraries to your documents/arduino/libraries directory.

NeoPixel strip is this, which works with Adafruit_NeoPixel, also need to rename folder to ‘Adafruit_NeoPixel’ and install in Arduino Libraries folder.

I bought buttons in local store for less then $0.5 each. So total cost for the project for me is Ard ($10.25) + TFT LCD ($9.89) + NeoPixel Strip ($6.26) + 6 buttons (6*$0.5) = $29.4

Wiring is pretty simple, the diagram is below:

post-1259-0-10125800-1439524274

 

I.e.:
PIN A5 — “Screen” button
PIN 11 — “Settings” button
PIN 13 — “Increase” button
PIN 12 — “Decrease” button
PIN “Reset” — “Reset” button
PIN 10 — NeoPixel strip DIN

GameDash settings:

post-1259-0-59780500-1439522442

post-1259-0-29386300-1439522434

You can download sketch here

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s