I’m totally new in the Arduino world and this will be my first project. And have no experience with C++ programming and Arduino. However I have reasonable experience programming in Delphi/Pascal and a bit of experience in php and Picbasic. And programmed some PIC’s. So I think I’ll find my way in C. (it just looks a bit more unclear than Delphi).
What I want to make is a gps driven “analog” speedometer for my boat. (a servo will control the needle). And show on a separate display extra information like distance travelled, fuel economy, top speed, etc etc.
For the GPS I want to use a locosys LS20033 (3.3 v) Datasheet: http://www.dpcav.com/data_sheets/LS2003x_gps_v12.pdf
A basic servo to control the speedometer needle (low current draw)
A flowmeter with hall sensors to measure the fuel flow. This thing sends 5V pulses on the output. (I want to use an interrupt to trap the incoming pulses and calculate the fuelflow)
An 128x64 OLED Module SSD1306 in combination with a level shifter.
And eventually a SD card slot to log the GPS Route (but first of all I need to understand the SDI CS configuration with the display and SD card slot)
I will work my project up one sensor at the time, but I made a schematic how I think to hook everything up. So Before I hook up everything I hope someone can review my schematic so I don’t fry the whole thing up.
Especially I don’t understand the oled module connection. But I’ve seen 2 schematics and both hooked it up this way. Tutorial I’ve followed: Monochrome OLED 128x64 & 128x32 display tutorial
But how will I connect the SD card eventually using the same SDI pins?
It also seems strange to use an analog input to drive an servo, but this tutorial: Arduino Playground - SingleServoExample used this port to do it. Apparently you can use analog inputs also as digital outputs.
Finally, the GPS is 3,3V so the ttl output stream will be 3.3V also. Do I need to up the voltage to 5V?