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.

2 liter Steel Cylinder

Just add 2l steel set on my micro.
They’re light on land, heavy when underwater makes perfect for drysuit dives and looks awesome too. I will probably use it more then 3l set for a short dive.

Cylinder Pressure (psi) Height*
(inches)
Diameter
(inches)
Weight Empty (pounds) Buoyancy Full : Empty (pounds)
FX-15 (Faber 2L) 3442 14.17 3.94 6.6 -2.42  :  -1.21
FX-23 (Faber 3L) 3442 19.50 3.94 8.6 -2.64  :  -0.66

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

사이드마운트 다이빙에서 롱호스 2단계 고정 방법

얼마전부터 사이트마운트 다이빙을 해 보고 있습니다.

거기에 맞추어 호흡기를 세팅하였는데 호흡기의 길이는 기존의 백마운트와 동일하게 25인치 짧은 호스의 2단계는 번지를 사용 해 목에 걸고 2미터 롱호스의 2단계에는 볼트 스냅을 연결하여 사용하지 않을때는 가슴 디링에 클립 해 둡니다.

New Apeks Side Mount Package.jpg

사이트마운트 호흡기 / 이미지 출처 : www.sidemounting.comViewer

트윈셋 백마운트로 교육을 받은분들은 잘 알고 있는데로 짧은 호스에 연결하여 목에 거는 호흡기는 예비용이며 롱호스의 2단계를 사용하다가 비상시(OOA 다이버)에는 그대로 입에서 빼내어 빠르게 도네이션 할 수 있습니다.

diverfrontshare.jpg

백마운트 롱호스 호흡기 도네이션 (이미지 출처 : http://www.baue.org/images/galleries/v/equipment/Viewer)

2bf902d99e2b6dd95e353b77a5ea3b2e.jpg

그런데 사이트마운트 다이빙시에는 양쪽 호흡기를 모두 사용하므로 짧은 호스의 2단계로 호흡시에는 롱호스 2단계를 가슴 디링에 클립 해 두게 되는데 만약 위와 같은 방법으로 스넵 볼트를 연결Viewer했다면 도네이션 해 줄 때 동작이 하나 더 늘어나게 됩니다. 게다가 만약 스냅 볼트가 열리지 않으면 도네이션이 불가한 상황도 있을 수 있습니다.

결국 비상 상황에서는 쉽게 빼 버릴 수 있는 breakaway 연결이 필요하다는 결론인데 첫번째는 오링을 사용하는 방법이 있겠습니다.

IMG_0933.JPG

이미지 출처 : http://rectotec.blogspot.kr/2012/08/how-to-tie-bolt-snap-using-o-ring.htmlViewer
이런식으로 오링만을 사용하거나 맨위의 호흡기 세트 이미지처럼 오링과 케이블 타이를 사용하는 방법도 있습니다.

하지만 제 경험으로는 오링이 생각보다 쉽게 끊어지지 않더군요. 결국 위급 상황에서 빠른 도네이션이 불가할 수도 있습니다. 그러던 중 어느 비디오에서 더블 엔더를 사용하여 롱호스의 2단계를 연결 한 것을 보았습니다.

이 방법은 가슴 디링에 클립 해 두었을 때 위급 상황에서 그대로 잡아당기면 빠지기 때문에 기존의 방법들보다 합리적으로 보이고 2단계가 다이버의 몸에 조금 더 가깝게 붙는다는 추가 이득도 있습니다.

sm2ndstage.jpg

연결 방법은 다음 링크에 있습니다.
http://divebritain.com/how-to-guides/how-to-secure-a-sidemount-2nd-stage/Viewer

물론 단점은 기존에 사용 해 왔던 스냅 볼트 클립 방식과는 다르므로 일정 기간 연습이 필요하겠습니다(muscle memory). 사이드마운트는 백마운트와는 분명히 다른 형태의 다이빙 방식이므로 이러한 연결의 방법도 거기에 맞추어 변화되어야 하지 않을까요?

다른 의견이 있으신가요? 더 좋은 방법이 있을까요?