Coder Social home page Coder Social logo

mizbit / carmonitor Goto Github PK

View Code? Open in Web Editor NEW

This project forked from neogeek83/carmonitor

1.0 0.0 0.0 22.71 MB

An Arduino project for logging pre-OBD car vitals (batt voltage, air temp, HAL sensor, & coolant temp).

License: GNU General Public License v3.0

Arduino 100.00%

carmonitor's Introduction

CarMonitor

An Arduino project for logging pre-OBD car vitals (timestamp, batt voltage, air temp, coolant temp, & HAL sensor for RPM) to an SD card for review later on PC. Can also be used for real-time monitoring. Tested with Arduino Duemilanove and Uno.

Sample real output can be found here (read from a '82 Triumph Spitfire): CarMonitor/CarMonitor/sensor_readings/LOGGER05_baseline_issue_didnt_occur.CSV

Backstory

As an excuse to learn more about Arduino programming and cars, my brother an I decided to build a logger to help us troubleshoot an intermittent problem with our parent's '82 Spitfire(pre-ODB days). We wanted something that could log every run of the car so we could leave it in there and it'd just go( powered the Arduino from an cigarette lighter->USB charger). Every time the car is turned on, a new log file would be created (stops recording after 999 engine runs). This way we could have data on what was happening after the fact when the issue occurred. This project is the result, and it worked great we were able to figure out the problem and validate the fix (turned out to be an electronic ignition under-voltage issue)! If anyone else plays with it and finds it useful(or doesn't), open an issue and let me know how it went for you!

##Dependencies

Hardware

  • Arduino Duemilanove or Uno (others probably work, but have tested these 2)
  • SDCard /w RTC shield
  • Sensors (various supported, most car sensors are resistive, will just need to re-calibrate if different from ones listed below and in docs/)

Software

  • Arduino Libraries
    • RTCLib
    • SD (built-in now I think)
    • Wire (built-in now I think)

##Quick Start

  • Clone repo locally
  • Attach SDCard shield to Arduino baseboard, calibrate SDCard RTC (see SetSDCardRTCTime project), format SDCard on PC (FAT32)
  • Update 'ECHO_TO_SERIAL' and 'WAIT_TO_START' in CarMonitor.ino (both to 1 while connected to computer for testing, both to 0 for production)
  • Wire up some sensors (off car, 1 at a time, to start probably best)

* Calibrate sensors * Update 'float R1[6]=' in 'CarMonitor.ino' for actual resistors used on breadboard (use multimeter to check real values) * Get raw readings when wired in and enter into docs/Sensor_Calibration.xlsx * Update 'readAnalogs(bool outputIt)' in 'CarMonitor.ino' using Slope and x-intercept from spreadsheet (graph will show if linear) * That's it, you should be good to go, log away!

##Project Sketches

  • CarMonitor - Brings all the below projects together

##Supporting Sketches

###Sensors( see docs/Sensor Readings.xlsx for more)

###WIRING

  • Here's the full diagram for the project:
    pdf for printing at docs/Arduino_Schematic.pdf or edit it online at https://easyeda.com/editor#id=de7a6aff0f0b4fc9a0959b22d81b2400

  • https://goo.gl/photos/Le24ZwGX4rxnEHM88

  • Harness #1 (Pin 1 on breadboard is closest to Arduino):

    • 1 blue - intake temperature
    • 2 b /w - intake temp (-)
    • 3 orange - coil voltage (unused)
    • 4 o /w - coil voltage (-)(unused)
    • 5 brown - 12V system
    • 6 b / w - 12V system (-)
    • 7 green - coolant temperature sensor
    • 8 g / w - coolant temperature sensor (-) (disconnected on engine side)
  • Harness #2 (Pin 1 on breadboard is closest to Arduino):

    • 1 blue - unused
    • 2 b /w - unused
    • 3 orange - unused
    • 4 o /w - unused
    • 5 brown - HALL GND
    • 6 b / w - HALL 5Vcc
    • 7 green - HALL Sensor (pulls to GND when magnet S pole is detected)
    • 8 g / w - unused
  • Arduino Pins:

    • A0 - Air Sensor (Black) (10k)
    • A1 - ~ (10.3k)
    • A2 - ~ (10.1k)
    • A3 - Voltmeter (32.7k)
    • A4 - Air Sensor (Yellow) (10.02k)
    • A5 - Water Sensor (10k)
    • D2 - hall effect sensor

###TODO

  • Recalibrate Intake Air Temp(pin 1 and 2)
  • pretty up arduino code
  • take pictures of setup and add to this readme
  • Create 'event' button to board and in software
  • Add H20 temp sensor(current one isn't going to work due to 12v power being sent to it--will fry the Arduino input PIN)
  • Add a MAP sensor to system
  • Add Coil Voltage Sensor

carmonitor's People

Contributors

neogeek83 avatar thefirstnutzo avatar

Stargazers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.