2020년의 마지막 날

안녕하세요, _0x4d입니다.
어느덧 2020년이 끝나가네요.

블로그에 먼지가 쌓이고 있습니다.
사실 쓸 얘기는 많은데 정리도 안 되고 여유가 없을 정도로 바쁘네요.

2020년의 저의 주요 이벤트를 요약하자면 다음 다섯 가지가 되겠습니다.

1. 코로나19
2. MuseDashCon
3. STM32
4. 캡스톤디자인
5. 입사

각각에 대해 이야기를 좀 더 풀어보죠.

1. 코로나19

2020년 한 해의 탑 토픽은 역시 코로나19일 것입니다.
코로나19가 뭐인지는 굳이 제가 추가 설명할 필요는 없을 것 같지만..
아무튼 이 코로나19에 의해 제 일상 역시 상당히 바뀌게 되었습니다.

먼저, 학교 생활이 바뀌었습니다.
4학년인 저는 수강하는 과목이 모두 실습과목인지라..
거리두기 단계가 격상되어 온라인으로 강의를 해야하는 교수의 입장에서도 많이 곤란해 하시더군요.
해야할 실습의 1/4 정도밖에 하지 못한 것 같습니다.
근데 공부 양이 줄어서 그건 좋았네요? ㅋㅋ
작년에 공부를 너무 많이 한 탓에 더이상 학교 공부를 하기가 싫어져서 그럴 겁니다.

회의나 강의도 온라인으로 진행해야해서 처음엔 불편함과 어려움이 있었으나 나름 그런 상황에서도 잘 해결할 수 있는 방법을 배운 것 같습니다.

노는 것도 줄어들고 사람들 만나는 것도 거의 못해서 힘들었네요 ㅎㅎ
얼른 코로나19 문제가 해결되어 일상으로 더 빨리 돌아갈 수 있을 때까지 모두 좀만 더 힘을 내보자구요!

2. MuseDashCon




올해에 진행한 자작 프로젝트죠. 바빠서 올해엔 이게 유일.
MuseDash 게임 컨트롤러 MuseDashCon입니다.

이거 만들어서 잘 쓰고 있습니다.
키보드와 비교할 수 없는 타격감에 재밌게 플레이하고 있습니다.

이거 어떻게 만들었는지 간단하게 영상 제작하려고 했는데 콘티도 잘 구성이 힘들고 무엇보다 영상편집 할 시간이 없네요.. ㅠ

올해 MakerFaire Seoul 2020에 이거를 출품하려고 했었는데 코로나19로 인해 취소되어서 아쉽습니다.

3. STM32

제가 2년 8개월 이전부터 알바 비슷한 개념으로 어떤 회사에서 일 몇 가지를 받아서 진행하고 있었습니다.
근데 작년 말에 어려운 일이 주어졌는데, 바로 모터제어기를 만드는 것이었습니다.

대충 설명하자면 케이블 감는 릴을 중심축에 고정된 모터로 제어하는 것이었는데 케이블 풀리는 속도를 일정하게 해야하는 것이었습니다.
모터에 1/1023 기어가 장착되어 있고, 회전수를 감지할 수 있게 512/1회전의 인코더도 장착되어 있었습니다.

케이블 감기는 반경이 점점 달라짐에 따라 회전속도 역시 점점 바뀌어야하는데 이거 계산하느라 미적분 쓰고 어쩌고 저쩌고 해서 계산식을 도출하긴 했지만, 문제는 이걸 MCU로 구현하는 것이었습니다.
모터의 기어비와 해상도 높은 인코더 덕분에 릴 한 바퀴 회전에 2백만 이상의 펄스가 발생하고 시나리오 타겟 속도에서 초당 30만 번의 펄스가 발생하는 상황이었습니다.
저는 AVR기반 아두이노로 MCU를 다룬지 8년째 되었고, 그때까지만 해도 아두이노 기반으로 프로젝트를 진행했었습니다.
이것 역시 아두이노로 구현하려 했고 인터럽트를 이용하여 처리했지만 초당 30만번의 인터럽트가 걸리니 MCU가 처리하지 못하고 그냥 뻗어버리더군요;;;

대안은 고성능 MCU를 쓰는 것이었는데 AVR 아두이노 고성능이라 해봐야 20Mhz가 최대죠.
그때 떠오른 게 예전부터 공부 시도하려다 포기했던 ARM Cortex-M이었습니다.

Nucleo STM32 개발보드

며칠의 탐색 끝에 STMicroelectronics사의 STM32 MCU를 사용하기로 했고, Nucleo 개발보드를 사용하였습니다.
근데 정말 어려웠습니다. AVR 아두이노와는 접근방법도 완전히 다르고 아무도 도와주는 사람 없이 인터넷만 보면서 시도해보는 게 정말 힘들더군요. ㅠㅠ
그러나 결과는 대만족이었습니다. STM32의 타이머에 Encoder Mode라는 기능이 있어 인터럽트 없이도 하드웨어적으로 인코더의 포지션을 카운트할 수 있는 기능이 있었습니다.
STM32Cube와 mbed를 병행하며 개발하였고, RTOS까지 도와주니 프로그래밍 하는 데 훨씬 편했습니다.

STM32를 접한지 1년이 지난 지금, 아두이노는 거의 쳐다보지도 않습니다.
성능과 전력소모, 가격 어떤 것에도 AVR이 밀린다고 생각합니다. (물론 아두이노 덕분에 삽질은 훨씬 덜하죠 ㅎㅎ)
앞으로 만드는 건 오픈소스 프로젝트가 아닌 이상 STM32로 계속 진행하지 않을까 생각됩니다.

4. 캡스톤디자인

넵. 모든 4학년이 가장 힘들다고 생각하는 과목. 캡스톤디자인입니다.
졸업작품을 만드는 과목이며, 아이디어 뿐 아니라 실제 제작까지 해야합니다. 게다가 조별과제이죠.

3학년 2학기부터 캡스톤디자인에 대한 빌드업(조원 선정, 아이디어 구상)을 해온 덕분에 다른 대부분 조에 비해선 순조로웠지만 그래도 많이 바빴네요.

조원과 일상생활에서 불편했던 점, 문제점에 대해 얘기를 나눠보았습니다.
여러 번의 회의 끝에, 주제를 선정하게 되었습니다. 주제는 다음과 같습니다.
시끄러운 곳에서 통화할 때 내가 말하지 않는 상황에도 주변 소리가 상대방에게 전달되어 불편함을 주는 문제점을 발견하였습니다.
“눌러서 말하기(PTT)”라는 방법으로 버튼을 누르는 순간에만 마이크를 활성화해주는 방안이 이미 존재하지만, 누른다는 동작 자체도 역시 불편함으로 생각하였습니다.
따라서, 내가 말하는 순간을 감지할 수 있다면, 그 순간에만 마이크를 자동으로 활성화해주는 장치가 있었으면 좋겠다는 아이디어를 도출하였습니다.

그래서 만들었습니다.
“눌러서 말하기(TTT)”입니다.




목에 진동을 감지하는 센서를 부착하여 마이크를 활성화해주는 장치.
네. 말 그대로 구현 성공했습니다.
어떻게 작동하고 어떻게 만들었는지는 위 영상으로 대체하겠습니다.

한 가지 주목할 점은 위에서 말했던 STM32를 적용했다는 것입니다.
모터제어기를 통해 공부했던 것으로 쉽게 만들 수 있었습니다.
MCU 안에 DMA, DSP, OPAMP까지 있다니.. 게다가 칩 하나에 꼴랑 3.3천원(10개 샀습니다)..

STM32가 얼마나 대단한지 또 한 번 느끼게 해준 프로젝트였습니다.

5. 입사

위에서 알바한다고 했던 회사에 입사하기로 했습니다.
시간상 저 위에 있어야 하긴 합니다만,..
학교 일 마무리 할 때까진 기존처럼 일하고 내년중으로 정식출근 하기로 했습니다.
그니까.. 놀 시간이 얼마 남지 않았다는 것이죠 ㅠ

창업..은 선택지 중에 있었지만,
자금도 부족하고 아이디어도 부족하고
무엇보다 운영 경험이 Zero라고 생각했기에 한참 뒤로 미뤄두도록 했습니다.
회사에서도 많이 도와주어서 덕분에 많이 배웠고 앞으로도 많이 배우기로 했습니다.




올해 2020년, 1월에 독감 세게 걸린 것 빼고 코로나19에 의해 마스크를 잘 쓰고 다닌 덕분인지 감기 한 번 걸리지 않고 지나갔네요.
내년 2021년에도 아프지 않고 모든 일 순조로히 잘 진행되었으면 좋겠습니다.






끝.

Share