본문 바로가기

트렌드 한눈에 보기/학계 트렌드

아두이노보다 20배 빠른 줄 알았던 Teensy의 배신

 "한 발 재겨 디딜 곳조차 없다" 이육사의 절정에 나오는 구절이다. 또한, 아두이노 통신으로 고군분투하던 날의 기록(관련 글)에도 나오는 시이다. 지속된 실패로 현타가 찾아올 때면 어김없이 이 시가 떠오르는가보다. 오늘도 열심히 삽질을 하고 왔다는 뜻이다.


 아두이노로 인한 고군분투는 수 차례 글로 남긴 바 있다. 그럴 때마다, "아, 블로그로 오늘 배운 시행착오를 정리할 수 있어서 다행이야. 앞으로는 더 수월하게 진행할 수 있겠지" 하는 생각을 제 멋대로 했던 것 같은데 어림도 없는 소리다. 문제는 끝도 없이 발생한다. 

아두이노보다 20배 빠른 Teensy 보드...?

 "어후 구역질 나" 오늘 함께 이야기했던 박사 과정 5년차 형이 디버깅에 관해 이야기하며 한 말이다. '다음에는 더 수월해지겠지' 같은 일은 발생하지 않는다는 것이다. 5월 28일에 쓴 글에서는(관련 글) 아두이노보다 20배 빠른 보드가 있다고 소개한 바 있다. 이걸 왜 이제 알았지, 하며 후회했고 그 동안 아두이노로 열심히 개발해놓았던 것들을 틴지 보드로 옮기려고 했다. 그리고 오늘은 그러려고 했던 것을 또 후회하며 다시 아두이노로 바꾸는 작업을 하다가 하교해야 했다.

 

Teensy 와 아두이노의 3.3V, 5V output

 왜 그렇게 삽질을 했느냐, 하면은 전원의 문제였다. 아두이노, 틴지와 함께 쓰이는 센서나 디스플레이는 별도로 전원을 공급해야 사용할 수 있는데, 보통은 위 사진의 빨간 상자와 같이 아두이노, 틴지에서 직접 전원을 받아다가 썼더랬다. "이러라고 만들어 놓은 거 아니었어?" 라는 안일한 생각으로. 

 

 하지만 아두이노, 틴지에서 사용할 수 있는 전원은 제한되어 있다. 전압이야 5V, 3.3V로 꾸준히 나온다손 치지만, 사용할 수 있는 전류의 양에 제한이 있다. 문제는, 제한이 어느 정도로 맞춰져 있냐, 또는 사용하는 센서/디스플레이에 어느 정도의 전류가 소모되느냐 하는 질문이 의미가 없다는 것이다. 정답은 "최대한 아두이노, 틴지로 전원을 주는 상황을 피해라" 이다. 

 

 아니 그럼 위 사진과 같은 3.3V, 5V output 단자는 뭐하러 만들었담? 사용자 열받으라고 만들었다는 것이 내 결론이다. 느슨했던 개발 현황에 긴장감을 부여해준다고나 할까. 


 게다가, 20배나 빠르다고 생각했던 틴지보드를 막상 내가 사용하는 센서들에 주렁주렁 연결하자 속도가 아두이노와 정확히 똑같이 나왔다. 아두이노의 연산능력이 떨어져서 속도가 느린 게 아니라는 뜻이다. 뿐만 아니라, 이상하게 에러가 많이 난다. 아마 내일 센서와 디스플레이 전원을 외부 공급으로 돌렸음에도 불구하고 틴지 보드가 정상작동하지 않는다면 뒤도 돌아보지 않고 아두이노로 다시 돌아갈 테다. 

 

 이런 허탈한 상황에서 연구실 박사 형이 슬그머니 새로운 보드를 추천해줬다. "아두이노와 틴지는 오류가 너무 많이 나지? STM을 써봐!" 형 말에 따르면, 아두이노와 틴지는 이상하게 한 컴퓨터에서 안되어서 다른 컴퓨터에 연결하면 정상 작동하는 경우도 많고, 하여튼 알 수 없는 오류가 많은 반면, STM은 그럴 일이 없다고 한다. 뭔가 잘못 된다면 그건 내가 작성한 코드나 내가 짠 회로가 잘못 되었기 때문이라는 것이다. 

 

 연차가 적을 수록, 이런 기반 기술들을 잘 가지고 있는게 나중에 크게 도움이 된다고 하는데, 아무리 봐도 보드 모양부터 무시무시한게 쉽사리 엄두가 나질 않는다. 틴지도 실패하고, 아두이노도 마땅치 않다면 슬그머니 STM 보드에 손을 대볼 수도 있겠다. 방학이 되면 한 번 공부해봐야지 싶다.


추가 관련 글

1) 아두이노 통신 고군분투의 기록

 

아두이노 통신 고군분투의 기록 - UART vs I2C

 지난 글들에서도 써 왔지만, 아두이노 통신은 참 믿을 만한 것이 못된다. UART는 불안정하고, I2C는 통신이란 말이 무색할 정도로 거리가 짧다. 그렇기에 두 개의 아두이노를 사용하면서 통신이

mech-literacy.tistory.com

 

2) 디버깅의 예술

 

디버깅의 예술 - 무작정 시행착오를 겪지 않는 방법

 어제 글을 포함해서 "아, 세상엔 똑똑한 사람이 정말 많고 나는 한없이 바보같구나" 하는 식의 논리에 빠져있던 것 같다. 하지만 어떻게 하면 똑똑한 사람들처럼 단계적 사고를 잘 할 수 있는지

mech-literacy.tistory.com

 

3) 아두이노보다 20배 빠른 틴지보드

https://mech-literacy.tistory.com/191?category=900953 

 

아두이노보다 20배 빠른 개발 보드 - Teensy 보드

 아두이노를 처음 접했던 일을 설명한 적이 있다(관련 글). 이제껏 나의 개발 능력을 키워주는 것에 일조했던 아두이노지만, 오늘은 아두이노를 접했던 것을 후회할 수 밖에 없었다. 아두이노밖

mech-literacy.tistory.com