December 28, 2024

디바이스마트 미디어:

[66호] 원하는 색상으로 제어가 가능한 아두이노 IoT 스마트 무드등 키트 -

2021-06-25

★2021 ICT 융합 프로젝트 공모전 결과 발표! -

2021-05-12

디바이스마트 국내 온라인 유통사 유일 벨로다인 라이다 공급! -

2021-02-16

★총 상금 500만원 /2021 ICT 융합 프로젝트 공모전★ -

2021-01-18

디바이스마트 온라인 매거진 전자책(PDF)이 무료! -

2020-09-29

[61호]음성으로 제어하는 간접등 만들기 -

2020-08-26

디바이스마트 자체제작 코딩키트 ‘코딩 도담도담’ 출시 -

2020-08-10

GGM AC모터 대량등록! -

2020-07-10

[60호]초소형 레이더 MDR, 어떻게 제어하고 활용하나 -

2020-06-30

[60호]NANO 33 IoT보드를 활용한 블루투스 수평계 만들기 -

2020-06-30

라즈베리파이3가 드디어 출시!!! (Now Raspberry Pi 3 is Coming!!) -

2016-02-29

MoonWalker Actuator 판매개시!! -

2015-08-27

디바이스마트 레이저가공, 밀링, 선반, 라우터 등 커스텀서비스 견적요청 방법 설명동영상 입니다. -

2015-06-09

디바이스마트와 인텔®이 함께하는 IoT 경진대회! -

2015-05-19

드디어 adafruit도 디바이스마트에서 쉽고 저렴하게 !! -

2015-03-25

[29호] Intel Edison Review -

2015-03-10

Pololu 공식 Distributor 디바이스마트, Pololu 상품 판매 개시!! -

2015-03-09

[칩센]블루투스 전 제품 10%가격할인!! -

2015-02-02

[Arduino]Uno(R3) 구입시 37종 센서키트 할인이벤트!! -

2015-02-02

[M.A.I]Ahram_ISP_V1.5 60개 한정수량 할인이벤트!! -

2015-02-02

[39호]BC ECO-Ship(블루투스 제어 친환경 배)

2016 ictmain

2016 ICT 융합 프로젝트 공모전 참가상

BC ECO-Ship(블루투스 제어 친환경 배)

글 | 한국해양대학교 박동욱, 공정배, 김희수, 강병조, 강윤성, 오성윤

 

심사평
뉴티씨 친환경 배라는 개념으로 쓰레기 수거 등에 쓰일 수 있는, 말하자면 바다의 드론을 구현한 좋은 작품이다. 바다에 버려진 많은 쓰레기들을 장기적으로 로봇배 등을 이용해 수거한다는 개념은 예전부터 있어왔지만, 실제로 구현한 사람들은 많지 않다. 이번에는 모터 선정이나 전원소스 등의 잘못된 선정과 계산으로 잘되지는 않았지만, 앞으로 좀 더 노력하면 좋은 작품이 나올 것으로 생각된다. 꼭 좋은 쓰레기 수거용 배를 만들어 우리의 해양환경이 조금이나마 깨끗해지기를 기대한다.

칩센 드론의 영역이 확대되는 시기에 활용목적을 심도 깊게 고민한 흔적이 보입니다. 해양을 운행할 내구성과 구동되는 전력을 감당하는 문제 및 비용의 문제는 지금 기성품으로 나와있는 드론(소형무인기기) 제품들도 풀어야 할 숙제입니다.

위드로봇 ECO-ship 작품은 아이디어가 좋습니다. 쓰레기를 치우는 과정을 시민들의 체험으로 바꾸는 발상이 재미있습니다. 단, 선체의 완성도나 전체 시스템의 완성도가 떨어지는 점이 아쉽습니다. 좀 더 보강하면 좋은 작품이 될 수 있을 것 같습니다.

작품 제목
Bluetooth Control Ecology Ship은 블루투스로 제어하는 친환경 배라는 뜻이다.

작품 개요
‘세계 경제포럼’에 따르면, 2050년까지 바다에 떠있는 플라스틱 쓰레기의 무게가 바다 속에 있는 물고기의 양을 넘어선다는 결과가 나왔다. 이러한 결과는 해상의 쓰레기들이 매우 심각한 문제로 성장해가고 있다는 것을 이야기한다.
해상 쓰레기 문제는 우리 생활 가까이서 관측할 수 있었다. 등교를 하며 보이던 바다쓰레기는 이의 심각성을 깨닫게 해주었고, 이에 획기적인 아이템을 만들어 저렴한 비용과 효과적인 방법으로 ‘바다생태계 문제해결’이 필요하다고 느꼈다. 이러한 발상에서 우리는 바다의 쓰레기를 수거해 해안가를 깨끗하게 하는 해상용 쓰레기 처리 드론의 개발에 착수했다.
해상의 쓰레기를 회수하는 방식은 해수면에 내밀어져 있는 그물 위에 있는 쓰레기를 들어 올려 선체에 담는 방식이고, 이때 쓰레기와 함께 수거되는 해수는 펌프를 통해 배출한다. 동력방식은 선체 위에 달려있는 프로펠러가 공기를 밀어내 풍압으로 움직이게 되고 조타부분은 프로펠러 뒤의 방향타가 진행할 풍향을 제어하는 방식이다. 이 드론을 사용자가 손쉽게 제어할 수 있도록 블루투스 통신 방식을 적용하였다. 이를 통해 현재 범용화된 기기인 스마트폰을 통하여 누구나 쉽게 제어가 가능하다. 이로써 시민들에게 색다를 체험을 하게 해주어 해상 쓰레기의 심각성을 전달할 수 있는 효과가 예상된다.

작품 설명

주요 동작 및 특징

(가) 주요 동작
본 작품의 구성은 5개의 파트로 구분된다.
· 쓰레기 처리부 : 해상쓰레기를 들어 올려 물을 뺀 후 선체에 보관한다.
· 동력부 : 조타 장치를 향해 팬을 돌려 추진력을 공급한다.
· 조타부 : 풍향을 바꿔 선체의 진행 방향을 전환한다.
· 펌프부 : 선체에 담겨진 쓰레기에 고이는 해수를 배출한다.
· 통신제어 : 블루투스 모듈로 선체와 어플리케이션간의 컨트롤 신호를 수신한다.
먼저, 선체의 앞에 달린 쓰레기 처리부에서는 해상쓰레기를 천천히 들어 올려서 물을 뺀 뒤 담을 수 있게 설계하였다. 그 모양은 그물과 선체의 접합부 양옆에 달린 서보모터가 그물을 들어 올리는 방식으로 되어있다. 그물의 들어 올리는 속도는 출력하고자 하는 목표치에 따라 전압을 달리주어 조절할 수 있다. 올리는 속도는 빠르게 하여 최대토크가 걸리게 했고 쓰레기를 담고 그물을 내릴 때는 토크를 비교적 약하게 걸어 천천히 내려오게 전압값을 조절했다.
선체 뒷부분에 있는 동력부는 해상드론이 진행할 수 있게 DC모터의 최대 RPM으로 프로펠러를 회전시켜 출력되는 공기의 힘으로 진행하게 해준다.
동력부 뒤에 연결한 조타부는 동력부에서 출력하는 풍압을 한쪽으로 쏠리게 만들어 방향을 제어하게 하는 역할을 한다. 형태는 ㅁ자 상자모양의 통풍 케이스 가운데에 두 개의 방향타가 병렬로 동시에 동작하도록 이루어져있으며, 좌·우 45도 꺾을 수 있다.
중앙에 있는 펌프부는 선체 앞에 달린 쓰레기 처리장치에서 미처 빼지 못해 선체에 고여 있는 해수를 해상으로 배출한다. 이때 흡기관을 몸체 바닥중앙에 놓고 배기관을 선체 바깥쪽방향으로 둔다.
마지막으로 무선통신부는 앞에서 설명한 4개의 동작을 모두 제어하는 통신방식으로 스마트폰 어플리케이션을 통한 블루투스 통신이 가능하게 한다. 블루투스로 스마트폰과 연결된 MCU에 입력한 명령어를 스마트폰 어플리케이션의 버튼에 설정해두고 누르면 MCU에 명령어가 입력되어 그 동작을 취하게 되는 방식이다.

39 ict bc eco-ship  (2)
39 ict bc eco-ship  (3)
39 ict bc eco-ship  (4)
39 ict bc eco-ship  (17)
육상에서 구동wnddls BC ECO-Ship

(나) 특징

몸체는 방향전환이 자유로우면서 해상에 잘 뜨는 형태인 타원형으로 하고, 이에 적합한 소재로 일상에서 흔히 쓸 수 있는 전등갓을 사용하였다. 또한 부력의 부족함을 해결하기 위해 몸체 아래 부분에 고무 튜브를 고정시켰다.
물에서 쓰레기 처리장치의 올리는 힘이 부족함을 고려해 무게중심을 추가하기 위해 추를 매달아 적은 힘으로도 정지마찰력을 이겨낼 수 있도록 설계하였다. 또한 추는 안정적으로 그물을 들어 올리고 내리는 작용도 한다.
전등갓, 자전거 고무 튜브 외에도 방충망, 낚시 추, 밀폐용기와 같은 일상에서 흔히 쓸 수 있는 재료들을 가지고 만들어서 매우 친환경적이다.
작품의 동작 환경이 쓰레기가 떠다니는 부두 연안임을 고려한다면, 수중에서 스크류의 출력으로 이동할 경우에 쓰레기가 얽히는 문제가 생긴다고 판단하였다. 그래서 동작의 방식은 공기부양정의 이동방식을 응용해 해상드론의 윗부분에서 풍압으로 이동하는 방식으로 채택했다.
해상에서 사용하기 때문에 방수가 필수적이다. 배선을 길게 늘어뜨려 전선 피복이 누전을 방지하며, 전선이 들어가는 부분마다 글루건으로 봉합을 해주었다. 그리고 프로펠러 고정부위에 밀폐 용기를 두어, 뚜껑을 반대로 붙여넣을 것이다. 밀폐 용기에 구멍을 뚫어 선을 통과시킨 후 밀폐 용기 구멍에 통과한 선들 사이에 빈틈이 없도록 글루건으로 봉합을 해주었다.

전체 시스템 구성

39 ict bc eco-ship  (5)
그림 1. 전체 완성 사진

 

(가) 동작신호제어
전체적인 동작 시스템은 사용자의 스마트폰 어플리케이션을 통해 MCU가 제어하게 된다. 아두이노(MCU)와 사용자를 연결해주는 무선방식은 스마트폰 앱을 통한 블루투스 통신이 가능하게 한다. 블루투스 통신은 범용적인 통신 방식이며 거리는 10m 내 사용이 가능하고 사용자가 흔히 가지고 있는 스마트폰에 간단한 인터페이스를 통해 조절이 가능하다. 이를 통해 사용자는 자기가 원하는 동작을 해안가에서 배에 실시간으로 신호를 줘서 작동시키게 할 수 있다. 아두이노와 배 사이의 신호는 유선으로 연결되어 있다. 이로써 블루투스 컨트롤러로 각 key에 맞게 원하는 동작을 출력하여 쓰레기를 올려 담으며 선체에 남아있는 물을 빼거나 원하는 방향으로 진행할 수 있도록 기능별 다양한 모습을 나타낼 수 있다.

39 ict bc eco-ship  (6)
그림 2. 신호흐름구성도

 

(나) 전력시스템
전체 전력시스템은 12V 배터리에서 시작되어 동력부, 펌프부, MCU에 전력을 공급하고, MCU가 낮은 전압을 분배하여 출력을 컨트롤 하게 된다. 선체 앞의 해상쓰레기 처리 장치는 모터 쉴드로 부터 MCU가 공급을 제어하게 구성했고, 조타부는 저전력 서보모터로 구성하여 MCU에서 전력과 신호를 동시에 제어하게 하였다. 이 모든 것을 제어하는 사용자가 명령어를 전달받는 블루투스 모듈 또한 MCU 자체전력으로 공급하고 제어한다.
총 2개의 DC전력을 사용하였는데, 동력부와 펌프부에 공급하는 리튬폴리머 건전지와 아두이노에 공급하는 알카라인 건전지를 사용하였다.
전력공급을 따로 해주는 이유는 쓰레기 처리장치의 순간 출력이 커져 배터리가 쉽게 방전될 수 있기 때문인데, 이 때문에 12V를 AA사이즈 알카라인 건전지 8개로 분리시켰다. 그리고 비교적 일정한 전압을 쓰는 펌프부와 동력부에는 충전식 리튬폴리머 건전지를 사용하였다.

리튬폴리머 건전지(12v)로 작동되는 파트 : DC모터, 펌프
알카라인 건전지로 작동되는 파트(12.0v) : 아두이노, 블루투스통신, 쓰레기 처리부, 조타부

개발 환경(개발 언어, Tool, 사용시스템)
(가) Arduino IDE
아두이노 제품군을 제어하는 데에는 제조사에서 기본적으로 제공하는 통합개발환경(IDE)를 사용하였다. C언어 기반의 명령어를 사용하며, 제공하는 다양한 라이브러리와 기본적인 스케치 예시들을 활용하여 제작하려는 작품의 하드웨어를 스케치 하는데 적합했으며 Arduino 및 Make 포럼을 참고하여 작품 구현하는데 필요한 기술적 정보를 수집하는데 수월했다.

39 ict bc eco-ship  (7)
그림 3. Arduino sketch

 

(나) Arduino UNO
ATMEGA328 기반으로 제작된 MCU인 Arduino UNO는 Arduino 제품들의 기준이다. 따라서 다른 Arduino 제품들과 하드웨어의 호환성이 높다고 판단하였고, 모터 쉴드를 다루는데 쉽게 접근할 수 있었다. 또한 작품에서 요구하는 하드웨어 제어능력은 모터 쉴드를 통해 DC모터 2개와 서보모터 3~4개와 제어하는 것, 그리고 블루투스 모듈을 사용해 스마트폰과 통신하는 것이었고, 이는 UNO의 스펙이면 충분한 연산능력이라고 판단하여 MCU로 Arduino UNO를 선택하고 작품을 제작했다. 아래 스펙을 보면 외부전원 연결시 최대 20V까지 버틸 수 있어 12V이하 기기를 다루는데 적합하다고 생각했다.

39 ict bc eco-ship  (8)
39 ict bc eco-ship  (9)
그림 4. Arduino specification

 

(다) Bluetooth Controller

스마트폰 어플리케이션으로 블루투스 통신을 쉽게 해줄 수 있는 어플리케이션이어서 선택했다. Google play에서 무료로 배포되고 있으며 스마트폰에서 블루투스 통신을 통해 모듈에 명령어를 전송해주는 역할을 한다. AVR, ARM 등 임베디드 시스템에서 사용가능하다. 따라서 AVR기반의 아두이노 또한 사용이 가능하다.
사용 방법은 우선 스마트폰 설정에서 블루투스를 켜고, 화면 상단에 받은 데이터가 표시되고 키를 누르면 데이터를 보낼 수 있게 되어있다. 키 설정을 통해 키 이름과 데이터를 설정할 수 있다.
1. 장치검색을 눌러 장치를 연결한다.
2. 키 설정을 눌러 키 이름과 보낼 데이터를 설정한다.
3. 키를 눌러 원하는 데이터를 전송한다.

39 ict bc eco-ship  (10)

단계별 제작 과정

아이디어 회의
ICT 공모전에 따른 아이디어 회의를 시작하였다. 브레인스토밍을 통해다양한 의견이 나왔다. 그 중 “Sea bin Project”라는 오스트레일리아의 서퍼 2명(앤드류 터튼, 피트 세글린스키)이 바다에 버려진 수백만 톤의 쓰레기를 담는 해상쓰레기통 프로젝트에 이야기에 초점이 맞춰졌다. 결론적으로 기존의 부둣가 근처에서의 고정 장착식의 방식에서 벗어나 움직일 수 있는 해상용 드론 쪽에 무게를 두게 되었다. 해수면 표면의 쓰레기 수집이 목적이었고, 쓰레기 수거방식에 대해서는 컨베이어 벨트 방식, 흡입식, 뒤에 그물망을 따로 다는 방식, 로봇팔로 들어올리는 방식 등 다양한 의견들이 나왔다. 구동방식은 물속에서 스크류를 돌리는 방식, 돛을 이용한 방식, 노를 젓는 방식, 호버크래프트(공중부양선)등의 아이디어가 나왔다.

39 ict bc eco-ship  (11)
그림 6. 씨빈프로젝트 작동 사진

 

제작 초기

39 ict bc eco-ship  (12)
그림 7. 앤드류 터튼과 피트 세글린스키. 우측은 그들이 만든 제작도이다.

제작 초기에는 몸체와 재료의 선택이 중요했다. 부력을 크게 해서 뒤집어지지 않게 하기 위해선 표면적이 넓은 아크릴 재질의 몸체가 필요했다. 일상에서 흔히 쓸 수 있는 전등갓의 형태가 적합하다 판단되었고 물 속에 띄운 결과 해수면과의 높이차가 작아 물이 많이 유입 될 것 같았다. 그래서 부력을 좀 더 주기위해 고무 튜브를 낚싯줄로 엮어 고정시켰다.
<그림9>와 같이 선체 앞부분 쓰레기 처리부는 쇠판과 철조망을 덧대어 레진으로 단단히 고정시켰다. 처음에는 컴퓨터에서 공급되는 MCU 내부전력만으로 쓰다가 실험 결과 전력이 부족해서 외부전력 9V를 달아 출력을 높였다. 지상에서의 실험 결과 처음에는 쓰레기 처리부분이 들어 올려 지지 않았지만 외부전력으로 바꾸고 나서는 쉽게 들어 올려졌다. 프로펠러의 지면과 마찰은 일정이상의 거리를 유지하도록 정비했다. 각 문제를 개선하고 해상에서의 1차 실험을 시도해보았다.

39 ict bc eco-ship  (13)

그림 9. 제작초기 Proto-model

1차 해상실험

학교 앞 바다에서 실험을 진행했다. 외부전력(9V)의 힘에도 물을 머금은 쓰레기를 들어 올리지 못했다. 또한 무리한 동작요구에 회전부에 심한 손상을 발견했다. 이에 모터 교체 및 외부전력을 12V로 높였다. 이러한 조치에도 무게의 부담감은 여전히 존재했고, 이는 무게 추를 달아서 물체의 정지마찰력을 줄임으로써 해결했다. 이후 쓰레기 처리부의 원활한 동작을 확인하고 조타 제작에 돌입했다. 조타는 기존의 한 방향 진행을 좌우로 움직일 수 있도록 했다. 이번 1차 실험을 통해 쓰레기 처리 장치의 경량화 및 방향 조절 가능한 조타와 방수 기능을 첨가했다.

39 ict bc eco-ship  (14)
그림 10. 서보모터 교체작업

 

최종완성 및 시현 영상
1차 해상 실험 후 선체 앞부분 쓰레기 처리부를 가볍게 구성하기 위해 옷걸이를 사용하여 무게를 경량화 했고, 조타장치를 달아 방향조절이 가능하게 했다. 조타장치의 상단부분을 아크릴로 구성한 이유는 투명하게 하여 방향타가 제대로 작동되는지 확인하기 위해서이다.

39 ict bc eco-ship  (15)
그림 11. 해상에서 구동 이미지

 

작품의 가치
기존의 작품들과 차이점
현재 해상 쓰레기 문제는 연안에서만 이슈화되어 크게 논란이 되고 있지는 않다. 하지만 앞서 말한 세계 경제포럼에 따르면 해상 쓰레기 문제는 점점 확대되어 2050년에는 매우 심각한 세계 문제로 자리잡을 것이라 예측하고 있다. 이러한 문제를 해결하고자 ‘씨빈(Seabin)’과 ‘마린드론(Marine Drone)’ 같은 다양한 발명품이 있다. 그러나 이러한 발명품들은 큰 부피에 고정식으로 전력 또한 선착장에서 끌어서 오기 때문에 위험하고 비효율적일 수밖에 없으며, 따라서 고도의 기술과 전문가들의 취급을 요하게 되었다.
우리는 이러한 기존의 작품들의 문제점을 다른 방식으로 해결하고자 한다. 따라서 작품은 제작이 쉽고 일반시민들이 간편하게 사용할 수 있도록 만들어졌다. 다양한 계층의 사람들이 본인의 휴대폰만으로 편리하게 연결가능 하다는 데서 접근성이 뛰어나며 그와 함께 해양생태계를 아름답게 보존하는데 의의를 둔다.

한계점 및 개선방안
완성된 작품은 쓰레기의 무게를 나타내는 장치를 아직 구현하지 못했다. 이는 선체에 담긴 쓰레기양이 부력을 넘어서게 될 경우 침몰할 수도 있다는 의미이기도 하다. 이는 앞으로 감압센서와 같은 무게를 측정하는 센서를 설치하여 값을 LCD로 표현하고자 한다. 더불어 그 값을 휴대폰으로 전송하여 멀리서도 쓰레기의 양을 정확한 수치로 알 수 있게 된다.

기대효과
(가) 창의성
바다쓰레기의 많은 비중을 차지하는 플라스틱을 바탕으로 제작했다. 이는 실제 수거한 쓰레기들을 가지고 제작하여 비용 절감을 이끌어 낼 수 있다. 또 작품은 고정식이 아닌 유동성을 띄고 있어 원활한 작업 수행이 가능하다.

(나) 사업성
쓰레기가 많은 해안가에 해상용 드론을 대여해주고 kg당 일정금액을 받는다. 이런 시스템을 효율적으로 운영하여 해양쓰레기를 수요하는 3D프린트 오션 플라스틱 신발이나 예술작품에 사용한다. 이러한 제도는 시민의식을 고양하는 동시에, 국민들에게 신뢰받는 사업아이템이 될 수 있다.

(다) 경제성
해상용 드론 한 개를 만드는데 재활용품을 제외한 구입비용은 5만원이다. 기존에 나와 있는 씨빈이나 마린드론을 한 대를 제작하는데 드는 비용에 1000배 절감할 수 있고 각 인원들이 드론을 조정하기에 인원수만큼 영역범위가 넓어진다.

(라) 실용성
이 작품으로 관광산업이 활성화가 된다면 사용자를 국제적으로 늘릴 수 있다. 전 세계인이 동참하여 하는 활동이기에 쓰레기가 발생된 시간만큼 빠르게 줄어들 것으로 보인다. 처리방법과 비용에 대해 어떤 나라도 선뜻 나서지 못한 상황에서 핵심기술로 뽑히면 환경개선에 NO.1이 될 것이다.

기타(회로도, 소스코드, 참고문헌 등)
회로도
(가) 아두이노 회로도
모든 신호는 아두이노 MCU에서 받아들여 컨트롤하게 되어있다. 외부전압 12V를 아두이노에 인가하면 아두이노 내 MCU가 자동으로 전력을 제어하게 된다. 아두이노 우노 위에 모터 쉴드를 얹게 되면 모터쉴드는 핀 4번부터 7번까지 자동 할당받게 된다. 이 부분이 쓰레기 처리부의 서보모터이다. 무선통신을 위해 블루투스모듈을 받는 부분과 보내는 부분을 각 단자 2,3번에 꼽고 아두이노 자체전력 5V를 인가시킨다. 조타 모터 또한 블루투스와 같이 아두이노 자체 전력을 쓰지만 신호선은 하나만 있으면 된다. 그 외 동력부와 펌프부는 각 12번, 13번 핀에 신호를 연결하여 외부전력을 공급받는다. 외부전력 공급회로도는 다음 장을 참고 바란다.

39 ict bc eco-ship  (16)
그림 12. 아두이노 핀 번호별 용도

 

(나) 동력부, 펌프부 전력제어 회로도
12V를 사용하는 DC모터와 펌프는 아두이노만으로는 제어하기 힘들어, 아날로그 회로를 사용하여 증폭시켰다. 즉 아두이노 신호(5V)를 스위치 작용 효과를 내는 IC소자 FDS6990A를 달았다. 스위치 작용 효과란 게이트(G) 단자에 신호(5V)를 흘려보내면 드레인(D)과 소스(S) 사이에 전류가 인가되고 만약 (G) 단자에 신호(0V)가 없으면 D와 S가 닫히는 스위치 작용을 말한다.
FDS6990A란 IC소자는 두 개의 MOSFET으로 구성되어 있는 파워트렌치소자이다. 이 IC특징은 다이오드가 달려있어 역전류를 방지하여 트랜지스터를 보호해준다. 그리고 용량은 Vdss가 +30V까지 버틸 수 있고 Vgss는 -20 V에서 + 20V까지 신호를 받아들일 수 있어서 우리가 사용하는 신호 5V와 공급되는 전압 12V에 적합한 소자였다.
IC소자 하나로 동력부와 펌프부를 제어할 수 있게 한다. <그림11>와 같이 아두이노 13핀과 12핀에 펌프(P)와 DC모터(M)를 제어하기 위해 신호선을 배당한 뒤 G1. G2에 신호를 보내면 P와 M에 각각 Vds에 전류가 흐르게 되어 전력을 제어할 수 있게 된다.

39 ict bc eco-ship  (2)
39 ict bc eco-ship  (1)
그림 13. 전력계통 회로도

 

소스코드

#include <SoftwareSerial.h>
#include <Servo.h>
SoftwareSerial BTSerial(2, 3);
Servo myservo1;
Servo myservo2;
/* HC-06의 TX,RX을 pin 2,3에 연결 */

void setup()
{
int i;
for(i=4;i<=7;i++)
pinMode(i, OUTPUT); /*Arduino Motor Shield의 pin 4~7값 지정*/
Serial.begin(9600); /*PC와 연결*/
BTSerial.begin(9600);/*블루투스 연결*/
myservo1.attach(8); /* pin8에 servo를 부착 */
myservo2.attach(9); /* pin9에 servo를 부착 */
pinMode(12, OUTPUT); /* MOSFET의 Gate1과 12pin 연결 */
pinMode(13, OUTPUT); /* MOSFET의 Gate2와 13pin 연결 */
}

int EN1 = 5; /* Motor1의 아날로그 값 입력을 위해 pin5 지정 */
int EN2 = 6; /* Motor2의 아날로그 값 입력을 위해 pin6 지정 */
int IN1 = 4; /* Motor1의 디지털 값 입력을 위해 pin4 지정 */
int IN2 = 7; /* Motor2의 디지털 값 입력을 위해 pin7 지정 */

void Motor1(int pwm, boolean reverse)
{
analogWrite(EN1 ,pwm);
/*Motor1을 0에서 정지하고 255에서 최고속도를 내도록 PWM을 제어*/
if(reverse)
{
digitalWrite(IN1,HIGH);
}
else
{
digitalWrite(IN1,LOW);
}
}

void Motor2(int pwm, boolean reverse)
{
analogWrite(EN2,pwm);
/*Motor2를 0에서 정지하고 255에서 최고속도를 내도록 PWM을 제어*/
if(reverse)
{
digitalWrite(IN2,HIGH);
}
else
{
digitalWrite(IN2,LOW);
}
}

void loop()
{
if (BTSerial.available())
Serial.write(BTSerial.read());
/* 블루투스 신호 -> PC 시리얼모니터 */
if (Serial.available())
BTSerial.write(Serial.read());
/* PC 시리얼모니터 -> 블루투스 */
char val;
while(1)
{
val = BTSerial.read();
if(val!=-1) /* 블루투스 통신 제어가능 */
{
switch(val)
{
case ‘a’: /* 담기 */
Motor1(250,true);
Motor2(250,true);
break;

case ‘b’: /* 복귀 */
Motor1(150,false);
Motor2(150,false);
break;

case ‘c’: /* 쓰레기 처리장치 정지 */
Motor1(0,false);
Motor2(0,false);
break;

case ‘d’: /* 프로펠러 가동 */
digitalWrite(12, HIGH);
break;

case ‘e’: /* 펌프 가동 */
digitalWrite(13, HIGH);
break;

case ‘f’: /* 프로펠러 펌프 정지 */
digitalWrite(12, LOW);
digitalWrite(13, LOW);
break;

case ‘g’: /* 조타 왼쪽 */
myservo1.write(40);
myservo2.write(40);
break;

case ‘h’: /* 조타 0도 */
myservo1.write(20);
myservo2.write(20);
break;

case ‘i’: /* 조타 오른쪽 */
myservo1.write(-80);
myservo2.write(-80);
break;
}
}
}
}

참고문헌
아이디어 회의(Tool)
아두이노란 무엇인가? http://blog.naver.com/3demp/220378933583
개발환경(사용시스템)
블루투스 컨트롤 구글play 어플리케이션(https://play.google.com/store/apps/details?id=apps.BT)
아이디어 회의
씨빈 프로젝트 http://www.seabinproject.com/

 

 

 

 

Leave A Comment

*