Raspberry Pi로 수질 측정(DO, pH, ORP 등) 회로편

4791 단어 RaspberryPiPython

1. 했던 일

  • 고무줄과 센서를 사용하여 물탱크의 용해산소(DO:Dissolved Oxygen)를 측정한다
  • pH계, ORP계일 수도 있고 코드에 있는 센서의 주소를 바꿀 수도 있다
  • 센서 제조업체의 샘플 코드를 토대로 IoT 데이터 시각화 서비스(ThingSpeak)로 데이터를 시각적으로 측정하는 기능을 추가했다.
    → 인코딩 편
    https://qiita.com/fftcy-sttkm/items/e4ed7560241c72dda298
  • 2. 준비된 센서

  • Atlas Scientific사가 제조, Dissolved Oxygen Kit(센서, EZO circuit, BNC connector, 교정액)
  • kit은 개인이 수입한 것이다.
    https://www.atlas-scientific.com/product_pages/kits/do_kit.html
  • 주의점 1: 설명서에 따르면 이 DO계는 가바니식 용해산소계의 방식으로 용해산소 투과막을 이용하여 안의 전해액 중의 전류 변화를 이용하여 산소 농도를 측정한다.따라서 흐르지 않는 곳에 두면 막 주위의 산소가 끊임없이 막에 침투하여 측정된 산소 농도가 점점 낮아진다.따라서 여과된 유수부 등에 놓아야 한다.스스로 지수상태에서 측정하면 8mg/L에서 5mg/L 정도로 떨어진다
  • 주의사항 2: 정확한 값을 얻기 위해서는 2년마다 안에 있는 전해액과 막을 교체해야 한다(교체용 부품도 판매)
  • 주의사항 3: 내부에 납이나 무언가를 사용한 것 같으니 폐기할 때 적당히 처리해야 한다
  • 주의점 4:2시 교정(부품 선택)용 교정액에 비결이 있는 표기.조사해 보니 아황산나트륨으로 여겨져 수돗물에 넣을 수 있을지 모르겠다.이것도 적절하게 처리해야 할 것 같다.→ 이곳은 1시 교정(공기 중의 산소로 교정)을 사용하기 때문에 교정액을 사용하지 않는다.두 가지 교정은 공기 중의 산소와 산소 농도가 0인 교정액으로 교정한다
  • 3. 참고 사이트


    센서 제조사의 샘플 코드는github에 있습니다.
    myhydropi는 많은 제조업체의 센서 사용례를 공개한 사이트다.수온, pH, ORP(산화환원전위: 수질이 환원상태인지 산화상태인지), EC(전도율)의 예가 기재되어 있다.아니요.영어
    https://github.com/AtlasScientific/Raspberry-Pi-sample-code/blob/master/i2c.py
    https://myhydropi.com/connecting-a-ph-sensor-to-a-raspberry-pi

    4. EZO circuit를 I2C 모드로 설정


    kit의 작고 노란색의 기초는 EZO circuit(이하 EZO)이다.라즈파와 센서 사이의 신호 교환을 잘 할 수 있는 거죠?자세한 건 잘 모르겠어요.
    기본적으로 EZO는 UART 모드에서 통신하도록 설정됩니다.다음과 같이 I2C 모드로 설정해야 합니다.
  • 라즈파의 전원을 끊어라
  • 다음과 같이 회로를 조립한다.VCC(EZO)-3.3V(RazPay), PGND(EZO)-GND(RazPay)를 각각 연결하여 EZO의 TX와 PGND 단락을 연결합니다
  • 전원을 연결하다
  • EZO 표시등이 녹색에서 파란색으로 변경되었는지 확인합니다.


  • 이로써 EZO는 I2C 모드가 됩니다.이 작업을 다시 반복하면 UART 모드가 다시 시작됩니다.표시등이 파란색에서 녹색으로 바뀝니다.또 UART와 I2C가 어떤 웃음인지 잘 모르겠다.

    5. 라즈파가 I2C 통신을 할 수 있도록


    먼저 I2C용 모듈을 활성화합니다.
    왼쪽 위 버튼 → "설정"→ "Raspberry Pi 설정"→ "인터페이스"→ I2C 유효
    완료되면 다시 시작합니다.
    그런 다음 터미널에 I2C를 설치하는 데 필요한 패키지를 설치합니다.
    sudo apt-get update
    sudo apt-get install i2c-tools
    

    6. 센서를 연결하여 고무 파이를 식별한다


    주인은 라즈파이고 센서는 (주인과 노예?)의 규격화 거리의 멱 함수.이 주소에 따르면 여러 개의 센서를 사용할 때 통신의 충돌을 방지하는 것 같다.출하 시 기본 분배는 특별한 상황이 없으면 바꿀 필요가 없다.
    AS 회사의 DO 센서는 0x61(97)입니다.
    다른 pH 센서를 사용할 때는 데이터 테이블의 각 센서 주소를 참조하십시오.
    우선, 연결 센서가 없는 상태에서 다음 연결 주소를 확인하는 명령을 실행하면 아무것도 식별되지 않은 것을 발견할 수 있다.
    i2cdetect -y 1
         0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
    00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
    10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    70: -- -- -- -- -- -- -- -- 
    
    그리고 아래와 같은 회로를 조립하여 i2cdetect 명령을 다시 실행합니다.따라서 다음과 같이 61로 표시되고 호스트 측면(LasPi)에서 DO 센서가 0x61 주소에 연결되어 있는지 확인합니다.

    i2cdetect -y 1
         0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
    00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
    10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    60: -- 61 -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    70: -- -- -- -- -- -- -- --
    
    나머지는 이동 코드뿐이야.

    좋은 웹페이지 즐겨찾기