More Arduino project

These are my ongoing arduino project.

PO2 monitoring device with HUD

Working on 3 cell po2 monitor with HUD.
I use modified smither code for HUD with tri color LED.
Depth and temperature sensor seems working fine but still need watertight case for real dive test.

Compressor auto drain

Control solenoid is very easy with Arduino.
More hard part was getting high pressure solenoid valve.
After long wait, I got 1500 PSI & 3900 PSI valve which I’ll install to water separator and filter housing (I have a Bauer Junior 2).

The water separator’s thread is 1/4 BSPP but P0 (triplex) filter housing need special adapter like this.

to be continued.

Arduino oled nitrox analyzer

This is update version of my DIY nitrox analyzer based on Arduino compatible board.

It’s using small oled display and powered by 9v battery. Display o2 percentage of gas, sensor mv output, two MOD(maximum operating depth) in meter. 1 push button for lock screen, calibration, po2 change.

Part list
  • Arduino nano compatible board (or any other Arduino board will do)
  • ADS1115 16 Bit DAC Module (the ADS1115 provides 16-bit precision at 860 samples/second over I2C!)
  • 0.96 inch OLED 128×64 I2c display module
  • Rocker or toggle switch for power on/off
  • 1 Push button
  • 1 9v battery connector (better using 3 AA or AAA)
  • 1 Piezo Buzzer (I took one from pc. Skip if you don’t need beeping analyzer :)
  • 1 Connector for o2 sensor (mine is molex)
  • 1 O2 sensor (I use old cell from my CCR but you can get sensor from Teledyne, Maxtec or other manufacturer.
Wiring

ADS1115

  • VDD to 5v
  • GND to Ground
  • SCL to A5 (nano)
  • SDA to A4 (nano)

OLED 128×64 I2c display module

  • GND to Ground
  • VCC to 5v
  • SCL to A5 (nano)
  • SDA to A4 (nano)

Push button

  • 1 pin to Ground
  • 2 pin to D2 (nano)

9v battery

  • positive to VIN (nano) through rocker (toggle) switch
  • negative to Ground

Buzzer

  • positive to D9 (nano)
  • negative to Ground

Oxygen sensor

  • positive to A0 ADS1115
  • negative to A1 ADS1115
The source

Additional library

Usage

youtube video

  • 1 short button push to lock current display (1 push to unlock)
  • 2 sec hold to calibration
  • 3+ sec hold to MOD PO2 change (1.3 to 1.5 rotation)
Note

I put everything include sensor in a small plastic box(65×95×55mm) with transparent cover. Here’s some image of ugly looking inside. I’m sure someone can 3d print smaller and prettier shell.

9v battery is very poor choice for Arduino project (I used because that’s what I have many). AA, AAA x 3 or small rechargeable batteries are better.

Warning! Be cautious when you use 9v battery. Arduino onboard DC regulator will be destroyed if you accidentally switch positive & negative.

Todo list

  • clean the code
  • replace board to custom pcb or pro mini
  • replace 9v batt to rechargeable small lipo battery
  • smaller case

DIY Nitrox Analyzer

Forget about ancient analog potentiometer circuit and build your own digital O2 analyzer based on Arduino compatible board!

Part list
  • Arduino nano compatible board (or any other Arduino board will do)
  • ADS1115 16 Bit DAC Module (the ADS1115 provides 16-bit precision at 860 samples/second over I2C!)
  • LCD 1602 I2C module
  • 1 Push button
  • O2 sensor (I use old cell from my CCR but you can get sensor from Teledyne, Maxtec or other manufacturer)
  • Connector for o2 sensor
Wiring

ADS1115

  • VDD to 5v
  • GND to Ground
  • SCL to A5 (nano)
  • SDA to A4 (nano)

LCD 1602 + I2C module

  • GND to Ground
  • VCC to 5v
  • SCL to A5 (nano)
  • SDA to A4 (nano)

Push button

  • 1 pin to Ground
  • 2 pin to D2 (nano)

Oxygen sensor

  • positive to A0 ADS1115
  • negative to A1 ADS1115

The source

o2_analyzer.ino

Additional library require.

The code is very simple. Calibration and storing millivolt output from o2 sensor (in the air – o2 20.9%) when button is pressed.

Oxygen percentage and millivolt of sensor will display on LCD.

Note
  • In many case i2c device address are different from the code. If something  not working then check your i2c address (ads1115 and lcd module) using i2c scanner.
Update 28th Feb 2017
  • Reading sensor function changed from Single Ended to Differential Conversion. Sensor out should be connected to A0 & A1 (ads1115) accordingly.
Update 22th Feb 2017
  • Button need push & hold for 2 sec to calibration.
  • Display MOD (Maximum Operating Depth) : po2 1.4 & 1.6