A telemetry system could be used to monitor the progress of your electric vehicle and provide feedback to the team & driver about how efficiently/fast it is being driven. As part of a telemetry system lateral, longitudinal, and vertical acceleration could be monitored using a cheap ADXL345 mems accelerometer
Bill of Materials for my engineering proof of concept (Prices as at May 2015)
- Netduino Plus 2 USD59.95 NZD108.25 (could use a Netduino 2 USD32.95 NZD59.63)
- Grove Base Shield V2 USD8.90
- Grove 3 Axis Accelerometer +-16G USD9.90
- 3 x Grove Led Bar USD3.90
- 4 x Grove 5CM cables USD1.90
The sample code reads the acceleration data from the ADXL345 using a driver originally created by Love Electronics. It then displays the magnitude of the scaled acceleration on 3 x LED Bars using code written by Famoury Toure
OutputPort Xcin = new OutputPort(Pins.GPIO_PIN_D0, false);
OutputPort Xdin = new OutputPort(Pins.GPIO_PIN_D1, false);
OutputPort Ycin = new OutputPort(Pins.GPIO_PIN_D3, false);
OutputPort Ydin = new OutputPort(Pins.GPIO_PIN_D4, false);
OutputPort Zcin = new OutputPort(Pins.GPIO_PIN_D5, false);
OutputPort Zdin = new OutputPort(Pins.GPIO_PIN_D6, false);
GroveLedBarGraph Xbar = new GroveLedBarGraph(Xcin, Xdin);
GroveLedBarGraph Ybar = new GroveLedBarGraph(Ycin, Ydin);
GroveLedBarGraph Zbar = new GroveLedBarGraph(Zcin, Zdin);
using (OutputPort i2cPort = new OutputPort(Pins.GPIO_PIN_SDA, true))
{
i2cPort.Write(false);
}
ADXL345 accel = new ADXL345(0x53);
accel.EnsureConnected();
accel.Range = 2;
accel.FullResolution = true;
accel.EnableMeasurements();
accel.SetDataRate(0x0F);
while (true)
{
accel.ReadAllAxis();
uint xValue = (uint)(((accel.ScaledXAxisG / 1.0 ) + 1.0) * 5.0) ;
uint xbar = 1;
xbar = xbar << (int)xValue;
Xbar.setLED(xbar);
uint yValue = (uint)(((accel.ScaledYAxisG / 1.0) + 1.0) * 5.0);
uint ybar = 1;
ybar = ybar << (int)yValue;
Ybar.setLED(ybar);
uint zValue = (uint)((-(accel.ScaledZAxisG / 1.0) + 2.0) * 5.0);
uint zbar = 1;
zbar = zbar << (int)zValue;
Zbar.setLED(zbar);
Thread.Sleep(20);
}
}

