'측정'에 해당되는 글 4건

  1. 2019.08.13 Hardware | ZP07-MP901 공기질 측정 센서
  2. 2018.08.12 Hardware | Safecast bGeigi nano firmware upgrade
  3. 2017.11.24 Hardware | bGeigie Nano 를 이용하여 방사능을 측정해 보자 2
  4. 2017.05.07 Hardware | Arduino water level sensor

Hardware | ZP07-MP901 공기질 측정 센서

|

1. 공기 질


예전 80년대 개그 프로그램 중, 스위스 공기를 깡통에 넣어 파는 일화가 있었습니다.

사실 확인이 안되니, 서울 공기를 넣어서 파는 사기를 개그로 풀어놓은 내용이었던걸로 기억해요.


그 당시 꼬꼬마였던 저는, 그 당시 상상을 뛰어넘는 내용이라 아직도 그 이미지를 강하게 기억하고 있습니다.

하긴, 물을 사먹는 시대가 온다는 예전 이야기가 현실로 된 지금은, 공기도 사먹는 날이 올지 모르겠습니다.


현실적으로 PM2.5 라는 단어가 바짝 친근해진 요즈음, 공기의 질을 신경써야 하는 시대가 온건 확실해 보입니다.






2. ZP07-MP901 센서


우연한 기회에 이 센서를 얻을 기회가 생겼습니다.

사실은 다른 공기질 측정 센서를 구입했는데, 이게 배달 되어 왔죠.



그때 당시에는 정보가 하나도 없어서, 사용을 못 하고 있다가,

이와 비슷한 센서인 ZP01-MP503 를 기준으로 만든 소스코드를 일전에 발견하여 이번에 사용해 보게 되었습니다.



도착은 이런 비닐 속에 포장되어 왔습니다.

배송 보내준 사람이 얼마나 일을 하기 싫었는지 상상하기 어렵지 않았습니다.



PCB 뒷면에는 컨트롤러 칩이 있고, 윗면에는 센서가 부착되어 있습니다.



ZP07-M901 은 ZP01-M503 보다는 좀더 복잡하게 부품들이 실장되어 있어서, 한단계 위의 제품인 듯 합니다.

아래 사진이 ZP01-M503 입니다.






3. 사양


스펙은 다음과 같습니다.


ZP07-MP901 Air Quality Module V1.1.pdf



위의 PDF 사양서에서 표기되어 있습니다만, 이 센서의 사용에 있어서 주의점 들이 몇가지가 있습니다.



사용전에 예열을 5분정도 꼭 하라고 합니다.

공기질 측정용 센서들은 대부분 센서를 가열하여 공기를 내부에서 태워서 측정하는 듯 합니다.


그래서, 휘발성 물질이 많은 곳에서는 사용을 금하라고 되어 있습니다.


한가지 아쉬운 것은, 측정은 다음 물질들이 가능하나, 공기중의 각 성분 비율을 보여주지 못하고,

밀도 측정을 통한 공기질 좋다/나쁘다 만을 알려줄 수 있습니다.


---------------------------------

formaldehyde, benzene, carbon monoxide, ammonia, hydrogen,alcohol, smoke of cigarette, essence & etc.

---------------------------------


온갖 안좋은 것들을 감지할 수 있군요.





4. 연결


Arduino 와의 연결은 다음과 같이 합니다.


 ZP07-MP901 | Arduino Nano
---------------------------
    VCC     |     5V
    GND     |     GND
     A      |     D8
---------------------------

공기 질의 결과 척도는 A pin 에서 digital 로 output 됩니다.

B pin 은 공장에서 사용하는 pin 으로, 측정시 사용되지 않습니다.



실재로는 빵판을 사용하지 않고 pin 들을 바로 연결했습니다.






5. 소스


ZP07-M503 (사실 이런 제품은 없슴) 용 소스 이지만, ZP07-M901 에서 완벽하게 동작합니다.


* Arduino test air quality class module ZP07-MP503 test

https://www.cnblogs.com/aiyauto/p/7388926.html


이 센서는 A pin 에서 오는 신호의 주기에 따라서 구분을 합니다.



그래서 아래 소스를 보면, 대부분이 시간의 delta 값을 찾는것으로 되어 있습니다.


//
// Author: Aiyauto
// VERSION: 0.0.1     
// Date:2017/08/16
// PURPOSE: ZP07_MP503 Air Quality Module Detection Example for Arduino
// 
 
int airQuality;  // Air quality level 0-10 
 
void setup() {
   Serial.begin(9600);
}

void loop() {
  airQuality = ZP07_MP503(8);
  Serial.print("   Current air quality rating: ");
  Serial.println(airQuality);
}
 
int ZP07_MP503(int pinA) {
  
  /* Initial */
  pinMode(pinA, INPUT);
  unsigned long millisTimes = millis();
  unsigned long startMillisTimes = millisTimes;
  
  unsigned long stopMillisTimes;
  signed long deltaMillisTimes = millisTimes - startMillisTimes;
  bool turnState = false;
  bool pinAstate = digitalRead(pinA);
  bool pinAstateLast = pinAstate;
  int result;
  
  /* test read status */
  while (true) {
    pinAstate = digitalRead(pinA);  // Read pin status
    
    if(pinAstate != pinAstateLast) {
      if (turnState == true ) {
        stopMillisTimes = millis();
        if (pinAstate == false ) {
          deltaMillisTimes = stopMillisTimes - startMillisTimes;
        } else {
          deltaMillisTimes = 98 - stopMillisTimes + startMillisTimes;
        }
        
        result = (deltaMillisTimes + 5 ) / 10;  // computation result is rounded
        break;  // out of the loop
      }
      if (turnState == false ) {
        startMillisTimes = millis();  // refresh the current time
        turnState = true; // update flag
      }
      pinAstateLast = pinAstate;
    }
    
    millisTimes = millis();
    deltaMillisTimes = millisTimes - startMillisTimes;
    if ( deltaMillisTimes > 100 ) { // The result is judged, the timeout jumps out of loop
      if (pinAstate == true) {  // air quality level 10
        result = 1;
      }
      if (pinAstate == false) { // air quality level 0
        result = 0;
      }
      
      break;
    }
  }
  
  // Serial.print(" pinAstate:");
  // Serial.print(pinAstate);
  // Serial.print(" , Air Quality Rating:");
  // Serial.print(result);
  // Serial .print(", deltaMillisTimes:");
  // Serial.println(deltaMillisTimes);
  
  return result;  // return air quality level result
}





6. 결과


위의 소스에서 pinAstate 및 deltaMillisTimes 도 표시하도록 조금 변경해서 측정해 봤습니다.

물론 전원 연결하고 5분 뒤에 말이죠.


...
Current air quality rating : 0 | pinAstate:0, air quality level:0, deltaMillisTimes:101
Current air quality rating : 0 | pinAstate:0, air quality level:0, deltaMillisTimes:101
Current air quality rating : 0 | pinAstate:0, air quality level:0, deltaMillisTimes:101
Current air quality rating : 0 | pinAstate:0, air quality level:1, deltaMillisTimes:11
Current air quality rating : 1 | pinAstate:0, air quality level:1, deltaMillisTimes:11
Current air quality rating : 1 | pinAstate:0, air quality level:1, deltaMillisTimes:10
Current air quality rating : 1 | pinAstate:0, air quality level:1, deltaMillisTimes:10
Current air quality rating : 1 | pinAstate:0, air quality level:1, deltaMillisTimes:11
Current air quality rating : 1 | pinAstate:0, air quality level:1, deltaMillisTimes:10
Current air quality rating : 1 | pinAstate:0, air quality level:1, deltaMillisTimes:9
Current air quality rating : 1 | pinAstate:0, air quality level:1, deltaMillisTimes:9
Current air quality rating : 1 | pinAstate:0, air quality level:1, deltaMillisTimes:10
Current air quality rating : 1 | pinAstate:0, air quality level:1, deltaMillisTimes:10
Current air quality rating : 1 | pinAstate:0, air quality level:1, deltaMillisTimes:9
Current air quality rating : 1 | pinAstate:0, air quality level:1, deltaMillisTimes:9
Current air quality rating : 1 | pinAstate:0, air quality level:1, deltaMillisTimes:10
Current air quality rating : 1 | pinAstate:0, air quality level:1, deltaMillisTimes:10
Current air quality rating : 1 | pinAstate:0, air quality level:0, deltaMillisTimes:101
Current air quality rating : 0 | pinAstate:0, air quality level:0, deltaMillisTimes:101
Current air quality rating : 0 | pinAstate:0, air quality level:0, deltaMillisTimes:101
...


위는 센서에 대해 숨을 내쉬었더니 값의 변화가 있었습니다.

그럼 더 쎈건 없을까... 주변을 보던 중, 땀났을 때 몸을 닦는 샤워 페이퍼를 발견합니다.

저번 출장갔을 때, 하나 사다 놓은 것.


몸에 문지르면, 땀도 제거하고 몸이 깨끗해 짐을 느끼게 해주는 물티슈 같은 것 입니다.



성분을 확인 해봤습니다.



에탄올, 멘톨, PPG-6데실테트라데세스-20, 디이소스테아린산PEG-20글리세린, 향료 가 들어 있다고 합니다.

나름 자극도 쎄고, 알콜 냄새가 강하게 나므로, 센서에서 뭔가 반응이 올 듯 합니다.



샤워 타월 한장을 꺼내서 몸좀 닦고 센서 코앞에 갔다 댑니다.


음? 처음에는 왜이리 반응이 안오지? 했습니다.

뭔가 잘못 되었나?


한~~ 참을 있으니 반응이 오는군요.



이렇게 반응이 늦어서 괜찮을까 싶을 정도로 늦습니다.

그래도 뱉어 내는 값은 나름 정확한 듯 합니다.


센서의 스펙 대로라면, delta time = 0ms 가 공기질 좋음 인데, 현실적으로 0ms 의 delta time 을 만들어 낼 수 없으므로,

101ms 이상을 공기질 제일 좋은 0 으로 설정한 것 같습니다.


스펙상으로는 100ms 에서 제일 나쁜 10이 설정되어 있습니다만, 이미 101ms 이상에서 0을 설정해 놨으므로,

이 소스를 가지고는 0~9 까지만 확인할 수 있겠네요.


90ms 대를 10으로 하면 될 것 같은데, 90ms 대의 값이 이 소스를 가지고 도출되지 않더군요.

Source code 를 손 보면 될것 같기도 한데, 귀찮아서 여기서 분석은 그만하기로 해요.


그래프가 빠지면 서운하니 그려 봤습니다.



갑짜기 그래프가 치솟는 것은 워낙 샤워 페이퍼 강도가 쎄서 그런것 같구요,

한번 반응하기 시작 하면, 완전히 그 단계를 벗어날 때 까지 유지하면서 값을 변경하는 것 같습니다.


즉, 실시간으로 민감하게 반응하기 보단, 충분히 그 상황으로 바뀌어야 반응하는 듯 합니다.

이 센서의 감도와 반응 형태를 보고, 그 환경에 맞게 활용하는 것이 중요해 보이네요.


오늘도 잘 놀았습니다.


And

Hardware | Safecast bGeigi nano firmware upgrade

|

1. firware upgrade


모든 기기는, 그 동작의 기본이 되는 firmware 가 있습니다.

저번에 만들어 봤던 Safecast bGeigie nano 도 firmware 가 있으므로 upgrade 해봅니다.


지금까지 bGeigie nano 에 대해서는 다음 포스트들을 읽어보세요.


* Hardware | Safecast bGeigie Nano 를 조립해 보자 - 1

http://chocoball.tistory.com/entry/Hardware-Safecast-bGeigie-Nano-1


* Hardware | Safecast bGeigie Nano 를 조립해 보자 - 2

http://chocoball.tistory.com/entry/Hardware-Safecast-bGeigie-Nano-2


* Hardware | bGeigie Nano 의 battery 를 업그레이드 해보자

http://chocoball.tistory.com/entry/Hardware-bGeigie-Nano-battery-upgrade


* Hardware | bGeigie Nano 를 이용하여 방사능을 측정해 보자

http://chocoball.tistory.com/entry/Hardware-bGeigie-Nano-checking-radiation



참고로 firmware upgrade 하기 전에는 1.3.4 입니다.


사용된 환경은 Mac 입니다.

아무래도 unix based OS 이고, arduino / FTDI 사용시 반응이 빠릿빠릿 해서 입니다.





2. FTDI driver


우선 FTDI for mac 드라이버를 인스톨 합니다.


* Future Technology Devices International Ltd.




위 링크에서 최신 driver 를 다운로드 받아서 설치합니다.



정식 명칭은 FTDI USB Serial Driver 군요.







3. AVR 설치


아래 링크에서 다운로드 받아서 설치합니다.


CrossPack for AVR® Development



오랜만에 Mac 에서 설치작업을 해보는군요.



2013년에 나온게 최신버전인가 보군요.






4. FTDI 연결하기


bGeigie nano 의 중앙 처리장치인 arduino FIO 옆에 pinout 이 있습니다.

firmware 업그래이드를 위해 마련된 FTDI 연결 포트입니다.


신기하게도 알리에서 구입한 FTDI breakout board 의 pinout 과 순서가 완벽히 일치합니다.

RX/TX 도 서로 엇갈리게 되어 있고, Vcc / GND 등 모두 짝이 맞춰져 있습니다.



참고로, firmware update 시의 주의사항 입니다.


NOTE: The Nano power switch MUST be turned OFF before connecting (the Fio board powers from the FTDI cable)!
NOTE: If you have a BLEBee or other wireless module, it MUST be removed before reprogramming, since it shares TX/RX signals!


즉, 전원은 꼭 off 로 해 놓고, FTDI 에서 받는 3.3V 를 이용하라는 것이고,

Bluetooth 용인 BLEBee 모듈을 꼭 제거하고 실행하라는 것 입니다. 그렇지 않으면 TX/RX 가 선점되어서 통신이 시작되지 못합니다.

(삽질 하루 걸림...)



꼭! BLEBee 모듈은 제거!



FTDI 와 연결합니다.

지금까지 여러가지 해봤더니, 어느새 FTDI 를 가지고 있네요?


* Hardware | FTDI Serial Adapter 를 사용해 보자

http://chocoball.tistory.com/entry/Hardware-FTDI-FT232RL-using





5. 최신 firmware 다운로드 및 upgrade


최신 firmware 를 다운로드 받습니다.


- wget https://github.com/Safecast/bGeigieNanoKit/raw/master/bGeigieNano.hex


파일을 다운로드 받으려고 하면, redirection 되어서 다음 화면의 링크에서 다운로드 받네요.



"bGeigieNano.hex" 가 그 최신 파일입니다.



다음 명령어로 flashing 합니다.


avrdude -DV -p atmega328p -P /dev/tty.usbserial-A50285BI -c arduino -b 57600 -U flash:w:bGeigieNanao.hex:i


USB port 는 각 기기마다 다르게 보일 터이니, ls 명령어로 우선 확인해 보고 맞는 이름을 사용하면 되겠습니다.

저의 경우는 "/dev/tty.usbserial-A50285BI" 였습니다.



짜잔~. 최신 버전인 1.4.2 로 업그레이드 되었습니다.



참고로 Windows OS 에서의 실행 결과 입니다.

나중을 위해 명령문도 기록해 놓습니다.


C:\"Program Files (x86)"\Arduino\hardware\tools\avr/bin/avrdude -CC:\"Program Files (x86)"\Arduino\hardware\tools\avr/etc/avrdude.conf -DV -p atmega328p -PCOM5 -c arduino -b 5700 -U flash:w:bGeigieNano.hex:i




6. 마무리


최신 firmware 로 upgrade 한 다음, microSD 및 GPS reset 을 해 줍니다.


GPS reset 은, microSD 를 뺀 다음, 부팅시켜주는 것이고,

microSD는 FAT 로 포맷하고, 필요한 파일인 "config.txt", 및 "SAFECAST.TXT" 만 root 에 copy 하고 리부팅 하면 됩니다.






FIN


거부감 없이 bGeigie nano 의 firmware 를 업그레이드 해봤습니다.

사실 microSD 카드에 logging 하는 기능이 정상 동작하지 않아, 궁여지책으로 해본 작업이었습니다.


firmware upgrade 를 해도 개선이 안되는 것을 보면, 다른 문제가 있어 보이네요.

국내에 얼마나 많은 분들이 가지고 계실지는 모르겠습니다만, 참고가 되었으면 합니다.




Update 20191228


마지막에 기술했다 시피, microSD 카드에 logging 되지 않는 현상과,

toggle switch 로 mode 를 변경시켜도 mode 가 변하지 않는 문제가 지속되었습니다.


일단, toggle switch 의 접점 문제로 인하여 mode 변경이 되지 않는게 아닌가 하여, 관련 부분 납땜을 다시 정리해 주기로 합니다.



살살 분해 합니다.



좀 많이 튀어 나온 부분이나, 납이 부족하다고 생각되는 부분을 정리해 줍니다.



이 작업 후에도 개선은 되지 않더군요... ㅠㅠ



1년 4개월이 흐른 뒤...

긴 휴가를 맞이하여 다시한번 도전하기로 합니다.


9개월 전에 새로운 firmware 가 올라 왔군요. 버전은 1.4.3.

그 전 버전이 1.4.2 였으니 마이너 업데이트 이긴 하지만, 밑져야 본전 입니다.



Firmware 업데이트 후, 되는군요... 문제가 고쳐졌습니다. ㅠㅠ



CPM 을 표시하면서 logging (microSD 에 기록) 하는 모드가 정상으로 돌아 왔습니다!!!



물론, 단순 측정 모드 (logging 하지 않음) 도 잘 되구요.

이제야 제대로 사용할 수 있으려나 합니다.


And

Hardware | bGeigie Nano 를 이용하여 방사능을 측정해 보자

|

1. 측정해보자


방사능 측정기 조립 과정은 아래 두 link 들에 있습니다.


* Safecast bGeigie Nano 를 조립해 보자 - 1

http://chocoball.tistory.com/entry/Hardware-Safecast-bGeigie-Nano-1


* Safecast bGeigie Nano 를 조립해 보자 - 2

http://chocoball.tistory.com/entry/Hardware-Safecast-bGeigie-Nano-2


드디어 방사능 측정을 시작했습니다.

배송받기 까지도 오래 걸렸지만, 완성 후 측정까지도 오래 걸렸습니다.


우선 차의 유리에 부착하여 측정했습니다.



센서가 밖으로 향하게 하고, 자동차 안에서는 OLED 를 볼 수 있으니, 상황을 잘 알수 있습니다.

9개의 GPS 위성과 연결되어 있고, 고도 5m, 측정 개시후 1시간 41분이 지나고 있다는 정보까지 자세하게 나옵니다.



눈으로 동작을 확인하니 즐겁기 그지 없습니다.



46CPM 은 생활 방사능 정도 입니다.




2. App 과 연동해 보자


Safecast 에서 만들어 내 놓은 "Safecast" 를 통하여 스마트폰과 bGeigie Nano 간에 Bluetooth 연동이 가능합니다.



저는 iPhone 이므로, App Store 에서 검색하면 나옵니다.



App 을 인스톨 후, 실행시키면, 가장 가까운 bGeigie Nano 의 bluetooth 를 자동으로 찾아줍니다.

Bluetooth 모듈이 달린 kit 이 조금 더 비쌌지만, 그 값을 하는것 같아요.



연결되면 bGeigie Nano 의 동작 상황을 자세하게 알 수 있습니다.



GPS 를 찾으면, 측정값과 함께 GPS 정보를 함께 저장하기 시작합니다.


이제 bGeigie Nano 의 OLED 를 확인하지 않아도, App 을 통하여 측정 상황을 확인할 수 있습니다.

측정이 끝나면, 바로 인터넷을 통하여 Safecast API 로 측정 log 를 쏴줄수 있습니다.



"api.safecast.org" 에서 자기가 올린 data 를 확인할 수 있으며,

data 내용이 문제 없다면, 추가 정보를 기입하고 승인 요청을 합니다.

data 에 문제가 없고 승인이 끝나면, 전 세계인에게 공유됩니다.




3. Singapore


마침 Singapore 에 한달짜리 출장을 가게 되었습니다.

Singapore 는 어떤 상황인지 궁금합니다.


숙소에서 Singapore Sports Hub 까지 자전거를 타고 가면서 측정해 봅니다.



사용된 자전거는 10월 한달 free promotion 중인 OBike 와 함께 하였습니다.


Obike 는 길 가다가 자전거를 발견하면 바로 타고, 목적지에서 버리면 되는 간편한 시스템 입니다.

비용은 탄 시간에 맞게 지불하면 됩니다만, Singapore 에서는 현재 동일한 서비스를 제공하는 회사들이 있어서

Free promotion 기간이었습니다.


OBike 에 대해서는 따로 글을 작성하였습니다.


쓰고 목적지에서 버리는 자전거

http://chocoball.tistory.com/entry/Life-bicycle-sharing


저기 오늘 같이할 자전거가 저를 기다리고 있군요.



자전거에 문제 없는지 확인하고 바로 올라 탑니다.



조금 돌아왔더니만 1Km 더 주행했습니다.



방사능 측정 결과 입니다.

문제 없는 수치 입니다.


자세히 보면, 하천 근처나 공사가 많이 이루어진 장소에서 값이 비교적 높게 나옵니다. 흠흠... 그렇군.




4. 하늘에서 측정하기


후꾸시마 사태때에 일본 정부에서 항상 빼놓지 않고 이야기 한 내용이,

"비행기 타고 다니면 장난 아니게 방사능 쐬지만 문제 없잖아" 였습니다.


실제로 그런지 무척 궁금한 내용입니다.


귀국하는 비행기에서 측정할 수 있도록 full 충전 해놓고 드디어 비행기 이륙 !



비행기에서 다행히 창가쪽 자리가 배정되었습니다.

GPS 도 무리없이 잘 잡히네요.



이륙 후, 고도 1282m 까지 올라갔습니다.

41 CPM 이면 지상과 거의 다를바 없습니다. 그렇군...



4682m 올라 왔습니다.

86 CPM 으로 값이 살짝 올라갔습니다. 비가 많이 들치고 먼지가 쌓이는 창틀의 홈에서도 81 CPM 이었으니...



5431m. 표시하는 값이 새로운 영역에 도달했습니다.

95 CPM 은 여지껏 처음 보는 수치 입니다.



5873m. 126 CPM 입니다.

이는 지상의 값인 60 CPM 의 약 2배의 값입니다.



6226m. 134 CPM 를 가리킵니다.

고도에 따라 우주에서 오는 방사능은 점점 강해지는 것을 눈으로 실제로 확인하게 되네요.

대기층의 중요함을 정말 피부로 느낍니다.



7362m. 183 CPM.



8201m. 214 CPM.



9104m. 257 CPM.



거의 지상 10Km 상공에서 동영상을 찍어봅니다.



9867m. 309 CPM.

기어이 300 CPM 을 넘었습니다. 지상의 5배 정도 입니다.



비행기의 항속 높이 입니다.

12600m. 524 CPM 을 찍었습니다.


이정도면 저의 사타구니를 납으로 만든 컵으로 가려야 하는게 아닌가 진심 걱정되었습니다.

이렇게 쎌 줄이야 !!!



후덜덜 하네요.

비행기 많이 타면 방사능 샤워를 한다는 이야기는 맞는것 같습니다.



App 을 통해서도 확인이 가능했습니다.



최종적으로 괴적을 그려봤습니다.

중간에 이빨이 빠졌지만, 대체로 잘 측정이 되었습니다.




FIN


도보, 자전거, 자동차, 비행기를 이용하여 여러가지 측정해 봤습니다.

비행기를 빼곤, 일반적으로는 무시할 수 있는 일반적인 수치를 보여줬습니다.


다만, 앞으로 비행기 탈 일이 생기면, 납으로 만든 컵을 가지고 다닐까 합니다.

And

Hardware | Arduino water level sensor

|

1. 시작하기

어항을 시작하면서 물 수위에 대한 자도 조절 기능을 만들고 싶었습니다.

물론 부레가 달린 물탱크를 사용하면 수위가 내려가면 자동으로 물 충전을 시켜주기는 하지만,

뭔가 전자적으로 만들고 싶습니다.



또한, IoT 하면 수위 변동시 alert 등도 스마트폰으로 알람을 띄워 줄 수 있겠죠.


여기선, 우선 단순 구동 확인만 해보겠습니다.



2. 구입하기

AliExpress 에서 "water sensor" 를 검색하면 아래와 같은 센서가 보입니다.

구입합니다.



실제 사진입니다.



뒷면





3. layout

Pin은 다음과 같이 연결합니다.

Water Level Sensor | Arduino Nano
---------------------------------
         S         |     A0
         +         |    3.3V
         -         |     GND
---------------------------------


빵판 layout



실제 연결한 장면입니다.




4. sketch

/*Code for Liquid Level Sensor Circuit Built with an Arduino*/

const int sensorPin= 0; //sensor pin connected to analog pin A0
int liquid_level;

void setup() {
Serial.begin(9600); //sets the baud rate for data transfer in bits/second
pinMode(sensorPin, INPUT); //the liquid level sensor will be an input to the arduino
}

void loop() {
liquid_level= analogRead(sensorPin); //arduino reads the value from the liquid level sensor
Serial.println(liquid_level); //prints out liquid level sensor reading
delay(100); //delays 100ms
}


5. 측정

구동 잘 되고, 물컵 이용하여 측정해 봤습니다.



센서 끝부터 물에 담구면 수치가 변하는 것을 볼 수 있습니다.



센서 끝단은 측정치가 많이 올라가고 (0~200), 그 위에는 (200~400) 천천히 올라갑니다.

일정한 피치로 측정이 될려면 좀더 정확한 sensor 를 구입해야 할 듯 합니다.



한가지 좋은 점은 작은 LED 가 있어서, 구동중이라는 것을 보여주는 것 정도?



FIN

이제 뭘하지?


And
prev | 1 | next