Made a diode matrix, but that was too large, and wouldn’t fit into the steering wheel confines, so I went the old school route, and modified the circuit board so each thumb pad/switch has a positive feed, and a return feed out.
Next step will be to replace the nylon bearing with a roller bearing to eliminate the slop in the steering wheel console.
Just checking, I can add an SD card recording function to my XODball, to capture all the data?
What would be the best way to record or activate the record button?
Auto on constant recording?
Or
On at “x” kph and recording till -x occurs, ie recording from 10kph till speed drops below 10kph.
Or
Using the “start” button on the steering wheel to start/stop recording.
Or
A combination of all three, using number of presses of “start” button to determine type of recording.
The “best” way to do it depends on what you want. All of the ways listed are possible.
You will also need to determine what “start recording” means. Just record one data-point? Start recording 1 data-point every 1 second? 10 seconds? When there is a change (which will depend on what you are recording)? If you record on change, do you limit how often you check for change (do you really care about all 4 changes in 10ms)?
Though you have rapid updates of speed by taking the intervals between wheel revolution events, you should probably average several together to filter out small changes and noise and then run length encode them digitally, for example 21.5 seconds at 12 kph is one data record, 10.3 sec at 7 kph is a second, below 1 kph is 0 for 5400 sec (1.5 hours) is a third. That way your data compresses really well but is still easy to read and use. Delta encoding (recording changes in speed) is slightly tighter but more of a pain to decode and use.
Also you want to accumulate groups of records and then write whole chunks to SD card for both speed of recording and less wear and tear on SD card. Simpler is better. Do you have a real time clock on it?
I have a real time clock to put into the Arduino board, when I figure out how to connect everything.
So far I think I have the Arduino sat nav wired in??!??
BUT that is where I have no knowledge of what I am doing at all!
Thought about the SD card some more, and I just want to keep it simple, so it records everything from the Arduino that is going to the LCD screen/s, from the time the wheels start rotating till 5 minutes after the wheels have stopped. This is because traffic lights shouldn’t take 5 minutes to change
Ok, then, perhaps easier. Since the LCD doesn’t have readback, you could write to the LCD using separate Strings to hold each line. You can then also create a set of previous strings (L1Prev, L2Prev, L3Prev, and L4Prev) to hold the previous line contents before you write and possibly change them.
Then, each time you write a line to the screen, you can first compare it to what is displayed, and if different, change the value of boolean variable named something like bChanged of bNeedsLog. That way you can periodically SD log only when you want in your code and only when the screen has changed.
Please don’t take this the wrong way, but I can barely follow the above info, string to me is what you tie around a parcel, as programming is not something I have ever tried to do before, but I’m very grateful for all the advice and help I’ve had so far with this project.
Would it be possible, when I’ve sorted out everything I want/need on this project, to kindly ask that someone incorporate it all into a XODball that I can upload to my Arduino Mega?
Decided to just run all the wires out from the console, rather than trying to solve encoders/decoders, and at the same time tidied up all the wiring coming out from the switches on the console
Totally understand the need for some lighthearted or off-topic conversations, but maybe a clearer context or connection to the community would help posts like this make more sense. Otherwise, it just feels a bit disconnected.
That said, no harm meant, just hoping we can keep the forum a bit more focused or organized moving forward