아두이노 피지컬컴퓨팅 교구로 활용할 수 있는 실 생할용품 메이킹 프로젝트(워터맨IOT) 네번째

 

 

 

 

 

1)조도센서 : 빛의 세기를 측정해서 LUX단위 값을 I2C방식으로 값으로 보내주는데 D1-mini 보드의 SCL신호용 핀은 D1, SDA신호용 핀은 D2 이므로 이에 맞추어 연결한다.  

 

2)토양수분센서 : 필요시 D5핀으로 HIGH신호를 보내 5V전압을 가해주면 전류가 흐르는데  토양의 수분함유 정도에 따라 저항값이 바뀌므로 흐르는 전류량이 바뀌게 된다. 이 전류량을 A0핀을 통해 측정함 으로써 토양의 수분량을 가늠해 볼 수 있다.   

 

3)온습도센서 : 온도와 습도를 측정해서 D6 핀으로 전송한다.
     
4)셋팅모드 스위치 : 필요시 스위치를 누르면 D3핀이 GND에 연결( LOW신호가 전달)되어 인터럽트가 발생된다.   

 

5)펌프전원 제어회로  : 
   -MOSFET :  G(Gate)에 전압을 가해주면 D(Drain)과 S(Source) 사이가 연결되어 전류가 흐르는 특성을 가진 반도체. 즉 릴레이와 비슷한 기능으로 사용할 수 있다.
   -따라서 필요시 MOSFET G에 연결된 D7핀에 전압을 가해 주면  MOSFET D->S가 연결되므로 워터펌프에 전류가 흐르게 된다.
   -워터펌프는 일종의 모터로서 ON/OFF시 역전류가 발생될 수 있는데 이 역전류가 보드에 흐르지 않도록 하기 위해 다이오드를 연결하여 역전류룰 by-pass시킨다.   

 

 

 

배선작업을 간편하게 하고 접촉불량을 줄이기 위해 본 프로젝트 전용으로 제작된 PCB.

 

 

 

 

전용 PCB에 위와 같이 부품을 배치하고 납땜하여 회로를 구성한다.

 

 

 

 

 

아두이노 피지컬컴퓨팅 교구로 활용할 수 있는 실 생할용품 메이킹 프로젝트(워터맨IOT) 세번째.

 

ESP 8266 개발환경 설치

 

아두이노 IDE에 ESP8266기능 개발을 위한 8266 보드메니저를 추가로 설치한다.


1)Arduino 환경설정 화면 

   - Arduino IDE를 기동시키고 파일 -> 환경설정 메뉴를 선택한다.

 

 

2)환경설정화면 [추가적인 보드 메니저URL] 항목에 다음과 같이 추가한다.


       http://arduino.esp8266.com/stable/package_esp8266com_index.json

 

 

3)아두이노 IDE메뉴에서 툴 -> 보드 -> 보드메니저 선택

 

 

4)보드메니저에서 ESP8266을 선택하여 설치하고 아두이노 IDE를 종료하고 재가동

 

 

 

 

 

8266보드 작동 테스트

 

 

1)작업 보드 선택
  - Arduino IDE를 기동시키고 메뉴에서 툴 -> 보드 -> WeMos D1 R2 & mini를 선택한다.

 

 

2)USB 포토연결 확인
  - 보드를 USB케이블로 PC에 연결하고 툴메뉴 포트에 새로운 포트번호가 생성되는지 확인하여 선택한다

    (새 포트번호가 생성되지 않으면 다음 페이지를 참조하여 CH340 드라이버를 설치한다)

 

 

 

3)예제 프로그램을 로드
    - Arduino IDE 메뉴에서 파일 -> 예제 -> ESP8266 -> Blink를 선택  

 

 

 

4)예제 프로그램 : 보드에 내장된 LED 연결핀을 Output으로 지정하고 1초 동안 간 끄고 2초 동안 켜는 동작을 반복하는 프로그램이다.   

 

 

5)예제 프로그램 실행
    - Arduino IDE 메뉴에서 업로드 버튼을 누르면 컴파일 및 업로드작업이 진행되고 잠시후 업로딩이 완료되면 보드내의 파란색 LED가 주기적으로 깜박이며 동작된다,  
 

 

 

 

 


 

 

아두이노 포트가 자동연결되지 않을 경우

 

 본 프로젝트에서 사용하는 보드에는 는 CH340이라는 USB연결칩을 사용하는데,해당 드라이버가 설치되어 있지 않으면 USB가 인식되지 않으므로 CH340 드라이버를 한번 설치해 주어야 만 다음 부터 자동연결 된다.  

 

-CH340 드라이버 설치 방법 :  http://www.wch.cn/download/CH341SER_ZIP.html 에 접속하여 CH341SER.ZIP 파일을 다운로드하여 설치.


 

 

- 압축파일  풀기 하면 CH341SER 폴더가 생성되고 그 아래 또 생성된 CH341SER 안의 setup.exe 실행


- 드라이버 설치가 완료되면 Arduino IDE의 툴 메뉴 포트부분에 연결된 포트가 표시됨.

 

아두이노 피지컬컴퓨팅 교구로 활용할 수 있는 메이킹 프로젝트(워터맨IOT) 두번째.

 

ESP8266 소개

 

중국의 에스프레시프 시스템즈라는 회사에서 개발하여 세계적으로 널리 사용되는 WIFI기능을 내장한 마이크로 프로세서.  종래에는 아두이노에 IOT기능 구현을 위해서 인터넷에 연결시키기 위해서는 별도의 WIFI통신모듈을 부착해야만 했었는데, 본 8266칩을 이용하면 하나의 칩안에 마이크로프로세서 기능과 WIFI통신 기능이 함께 들어있기 떄문에 비용과 크기를 획기적으로 줄일 수 있게 된다.

 

 

 

NodeMCU 그런데 이 ESP8266에는 펌웨어 저장을 위한 플래시메모리가 포함되어 있지 않아 단독으로는 사용하기 곤란하기 때문에 메모리 등 기타 부품을 부착하여 여러가지 모듈형태로 제작되어 유통된다.  이러한 ESP8266 응용모듈 중에서 ESP-12 모듈을 기본으로 하여 아두이노 개발환경에 통합할 수 있는 펌웨어와 USB연결장치 등을 부착하여 마치 아두이노의 한 종류인 것처럼 사용할 수 NodeMCU라는 모듈이 많이 사용된다. 즉, 인터넷 환경에서 하나의 노드 역할을 할 수 있도록 제작된 아두이노한 종류로 이해하고 사용할 수 있다.

 

 

 

 

D1-mini :  본 프로젝트에서는 NodeMCU 모듈들 중에서 크기가 작은 D1-mini라는 기종을 사용한다

 

 

 

ESP8266 D1-mini 보드  

 

 

ESP8266모듈  : 전자파 차단을 위해 알루미늄판으로 밀봉처리되어 있는데 이 안에 ESP8266 칩과 플래시메모리 등이 내장되어 있다.

 

내장 메모리 : 4MB의 플래시메모리가 내장되어 있어 충분한 편이다.

 

USB단자 마이크로 USB단자가 있어 아두이노 나노 처럼 PC와 자유롭게 연결하여 전원을 공급하거나 프로그램 업로드 및 디버깅작업을 할 수 있어 편리하다.

 

입출력핀 : 8개의 디지털 입출력핀(D1~D8) 과 하나의 아날로그 입력핀(A0)가 있고 그 중 디지털핀 D7은 내장 LED와 연결되 있으므로 내장된 LED 불빛을 제어 하고 싶으면 D7핀을 사용하면 된다. 입출력 핀이 16개 인 아두이노 나노에 비해서 입출력핀이 다소 적은편인데,  특히 아날로그 입력핀이 하나밖에 없기 떄문에 다양한 센서들을 동시 연결할 수 없는 등 활용범위에 제약이 있는 경우도 있다.

 

전원문제 주의사항  본 모듈의 WiFi가 작동될 때에는 비교적 많은 양의 전류가 소비되기 떄문에 간혹 전류부족으로 에러가 발생될 수 있다. 즉 전류제한이 있는 PC USB포트 등으로   전원을 공급하고 있는 상태에서 센서 등 전력을 소비하는 부품들을 동시에 여러개 연결하다 보면 어느 순간에 전류부족으로 시스템이 자동 리부팅되어 버리는 현상이 발생되는 경우가 있다. 

 

 

아두이노 개발환경 설치

 

 본 프로젝트에서 사용하는 보드도 아두이노 IDE개발환경에서 아두이노 프로그램 개발하는 방법과 같은 방법으로 개발하므로 아두이노 개발환경이 설치되어 있지 않은 경우 아두이노IDE 를 설치한다.  

 

- http://www.arduino.cc 에 접속하여 Download메뉴에서 IDE를 다운받아 설치한다.

- 화면 아래 왼쪽의 JUST DOWNLOAD를 눌러 다운로드 받으면 된다.

- 설치 진행중 driver 설치하겠냐는 질문에 예로 계속 진행

- 설치가 완료되면 바탕화면에 Arduino 아이콘이 생성된다.

 

 

 

+ Recent posts