나는 아두이노를 캡스톤 디자인을 통해서 배우기 시작하였다
2020년 4학년 마지막 학기를 보내면서, 캡스톤 디자인을 수강하게 되었다.
내가 처음 냈던 아이디어는 선박자동제어에 관련된 것이었는데 다른 팀원들이 낸 아이디어는
선박에서 인수인계되는 것들을 파일화해서 넘겨주는 시스템을 만들거나
선박의 전체적인 기기상태를 기록해두는 어플리케이션 이었다. (약간의 SNS적인 성격을 더해서)
그러나 결국 선박제어에 관련된 것으로 넘어가게 되었고
QR코드를 이용해서, 선박의 기기상태를 체크하거나, 알람로그를 받아오는 것으로 전체적인 틀을 잡았다.
나는 개인적으로 폐쇠회로(CCTV)를 이용하는 것까지 하고 싶었으나, 당시에는 내가 할 수 없을 것 같았다.
그러나 지금와서 생각해보니 공부를 한다면 충분히 구현해낼 수 있는 기능이었다는 사실...!
일단 팀원 중에 아두이노를 배운 사람이 없어서, 내가 전반적으로 하드웨어 설계와 제작을 맡게되었다.
사실 나도 별로 아는 것이 없었는데, 일단 부딪히고 해결해보자는 마인드를 가지고 있기에 실행하게 되었다.
한국해양대학교 해사대학을 졸업하였지만 부상을 당한 이후로 승선과 관련된 일을 할 수는 없겠지만
개인적인 취미 또는 센서공학 + 코딩 관련을 배우기에 아주 적합한 분야라고 생각되어 꾸준히 공부해볼까 한다.
일단은 먼저, 내가 캡스톤 디자인을 위해서 만든 작품에 대해서 남겨두겠다.
누군가 이 글을 보고 배끼면서, 매우 간단한 코드들도 이루어져 있으니까
공부하는 의미로 사용하였으면 좋겠다.
가스센서 및 온습도 센서(MQ-2, DHT-22)의 사용법에 대해서 알게된 프로젝트였다.
어플리케이션에서 알람 작동 버튼을 누르면 블루투스 단자를 통해서 신호를 입력 받거나
와이파이를 통해서 보드로 입력받아서 LED에 해당 알람 내역 또는 작업 가능 여부를 표시하도록 하였다.
예를 들면 가스농도가 450 이상이면, LED에 X를 표시하여 작업 불가능을 나타내거나,
FIRE Alarm 버튼을 누르면 LED에 해당 글자가 나타나는 방식이다.
센서는 가스가 검출되거나, 온도가 올라가면 센서 값이 증가하는 가스검출센서(MQ-2), 온도와 습도를 동시에 체크할 수 있는 온습도 센서(DHT-22), 수위를 감지할 수 있는 액체레벨플로트 레벨 센서를 사용했으며, 그 외 CO2 분사기를 대체 해줄 워터펌프의 역할을 만들기 위해 모터, 수관을 사용했고, 값의 검출 또는 애플케이션과의 통신 확인을 위해, RGB LED MARTRIX, 적색/녹색 LED, 와이파이 기능을 이용할 수 있는 보드, 블루투스 단자 등을 사용하였다.
어플리케이션에 사용하려던 로그인 화면은 다음과 같았으나, 실제로 사용하지는 않았다.
플로터(flutter)를 이용해서 팀원들이 어플리케이션을 개발했는데, 디자인적인 요소와 서버는 고려하지 않기로 하였기 때문이다.
My capstone design, arduino project
First, I want to read some data from gas sensor(MQ-2) & temperature and humidity sensor(DHT-22)
+Floating level switch for reading the level of oil tank. (maybe you can use measuring level of any liquid )
When you click the button in app (Send emergency alarm, check the machine status )
Bluetooth board (bluno) OR WiFi board(Uno wifi Rev2) send and give alarm & signal between app and hardware.
There are other functions and sensor this project.
ex1) the gas density over 450, Display 'Can't work' mark on the LED matrix and light on red led ramp.
ex2) If someone click the FIRE Alarm button, board display 'FIRE' on the LED matrix.
ex3) the board always getting the signal from sensor through Bluetooth or WiFi
The login screen I was going to use for the application was as follows, but I did not actually use it.
Team members developed an application using a flutter, because they decided not to consider design factors and making online server
처음 계획했던 화면 구성 (The first prediction)
실제 화면 구성 (Real screen)
아쉬운 점은 리얼타임으로 값을 받아올 수 있게 해줬는데
서버를 구현하지 않아서, 그런 정보를 이용할 수 없었다는 것이다.