This is my first post here, and I know very little about Arduino itself, so do bear with me if you can. I'm a pretty hardcore gearhead/motorcycle guy, and I would like to build an Arduino-based combination hour-meter/speedometer, but I have a few questions.
Given these input/outputs:
- 3 inputs:
- one for the speed sensor (a hall-effect sensor of some description) to drive the speedometer and tripometer
- either an oil-pressure sensor of some sort (re-purposed brake light switch/banjo bolt, used in one of the engine-to-oil-tank oil lines, or just a regular automotive oil pressure
switch) or mimic an electronic tach pickup, to tell the Arduino unit when to start and stop a countdown/countup timer (aka run timer if oil pressure or RPM are detected,
stop timer if RPM or oil pressure are not detected) - four momentary contact switches, one to reset the service-interval bar, another to reset a tripometer, the third to toggle between tripometer, odometer, and total engine
runtime - 4 outputs:
- hour-meter bar (10-segment LED + service light, all 10 light up when countdown timer is at full, as time gets closer to 0, less LEDs light up on the bar until time equals
zero, then the "service-me-now" LED illuminates) OR 2-3 digit countdown timer that counts down in hours to 0, and a "service-me-now" LED @ time equals zero - speedometer (series of LEDs that light up in 5mph increments, 1 for 5mph, 2 for 10, 3 for 15... so on and so forth)
- tripometer (takes speed-sensor input, counts total revolutions, multiplies by circumference of the wheel in question to get distance traveled, then displays to nearest 10th on
first 4 digits of a 7-digit readout with decimal point - odometer/total-engine-runtime meter (using as many digits of the above 7-digit readout as necessary, capable of displaying up to 999,999.9 miles/999,999.9 hours)
(1) Do I need a full-size Arduino unit, or can I get away with one of the smaller-board Arduinos?
(2) Given the countdown/count-up-to-infinity functions of the sketch required to run this, basic as they may be (countdown from ~100 hours for service interval, count up from 0 hours/miles for total hour meter, odometer, and tripometer), would running a SD/MicroSD shield and storing everything on an SD/MicroSD card be advisable, rather than rely on the onboard flash memory?
(3) What would be the easiest way to take the power the bike's charging system produces and get it down to 5VDC, and what is the maximum amperage @ 5VDC an Arduino can RELIABLY be exposed to before it starts to flame-broil itself?
(4) This can likely be very easily solved with rubber isolators, but how impact/shock/vibration-resistant are basic Arduino units? could they likely survive the vibrations from a 200-500cc single cylinder engine, either a 4 stroke or a 2 stroke, in a dual sport/dirt-flat-track-inspired bike?
(5) Is there anything in how I plan to execute my goals that anyone more experienced with Arduino might be able to streamline a bit? To my [VERY] un-educated (on this anyway) eye, it seems rather clunky, albeit functional, at least conceptually.
Thanks for the help everyone, I'm a complete newbie at this, and this is probably a bit more ambitious in intent than the usual beginner Arduino project also