과제 목적
손가락 개수에 따라 자동차 속도가 달라지게 만드는 프로젝트다. 미디어파이프를 활용해서 손가락을 인식하고, 그 데이터를 마이크로비트로 보내서 모터 속도를 조절한다. 이렇게 AI랑 하드웨어를 같이 쓰면서 실제로 움직이는 걸 만드는 게 목표다. 직관적으로 손가락만 펴면 속도가 바뀌니까, 일상에서도 활용할 수 있는 스마트 제어 기술을 직접 구현해보는 느낌이다.
최종 프로젝트:
자동차의 외관은 기아의 pv5와 비슷하게 만드려고 했다
선 꼽는거를 바깥쪽에 놔두니까 선이 모자라기도하고 옆의 레고와 겹치기도 해서 위치를 오른쪽 위에서 오른쪽 아래는 아래의 모터선과 겹치기 때문에 왼쪽 아래로 옮겼다
소프트웨어 제작
손가락이 0면 후진하고 1개면 정지 2개면 전진 3개면 빠르게 전진 4개면 오른쪽 5개면 왼쪽으로 구현해보려고한다
이것을 구현해보려고 블루투스연결을 하려했는데 오류인지 기기가 안떠서 일단 다른 것 부터 해보기로 하였다
두가지 코드를 통해 후진과 전진에 알맞는 그림을 넣어보았다
그림을 만들고 보니 아래에서 이 모양이 나오니 이쁘지 않은 것 같아서 위치를 이동 하였다.
갑자기 자동차의 긴급제동이 생각나서 장애물이 앞에 존재하면 멈추게 하기 위해 센서를 추가했다. I자 레고 하나로는 불안할거같아서 노란 긴 막대로 아래의 판과 고정시켰다.
블루투스가 왜 안되나 했는데 블루투스 코드를 넣지 않았다 블루투스 코드를 넣고 0,1,2,3,4,5에 s,x,w,-,d,a를 대응해서 코드를 다시 짰다 손가락 인식이 아닌 wasdx로도 작동할수 있게 한것이었다
0일때 뒤로가지않고 x가 전송되는 오류가 발생했다
내 코드에서 문제점을 찾지 못해서 블루투스 송수신 코드를 뜯어 봤다
0개면 x를 보내는 프로그램이었다 x대신 0으로 바꾸었다
바꾸고 나니 잘 작동하였다
sonarbit 확장 url을 받아서 받고 앞에 장애물이 존재하면 멈추게 코드를 짰다
굉장히 잘 작동했다. 장애물때문에 아예 작동 자체를 안하는 아쉬움이 있어 멈춘후에 뒤로 조금 가게 하는 코드를 짰다.
굉장히 잘 작동했다
프로젝트 코드
기타 자료
컨트롤러:
CodePen손가락 개수 인식 컨트롤러
느낀점
처음엔 단순히 손가락 개수만 인식해서 속도만 바뀌게 만들려고 했는데, 만들다 보니까 점점 더 욕심이 생겼다. 블루투스 연결이 처음에 안돼서 엄청 헤맸는데, 내가 짠 코드 말고 송수신 코드에 문제가 있었다는 걸 찾았을 때 진짜 무척 뿌듯했다. 딱 그 부분을 바꿨더니 바로 작동해서, “아 이게 진짜 디버깅이구나…”라는 느낌을 제대로 경험한 것 같다.
그리고 앞에 장애물이 있으면 긴급제동 되게 만드는 걸 추가했는데, 단순히 멈추는 게 아니라 뒤로 살짝 빠지는 기능까지 넣으니까 더 현실적인 기술 같아서 만족스러웠다. 그냥 속도 조절만 하는 자동차가 아니라, 실제 상황까지 고려하는 스마트한 자동차를 내가 직접 만들었다는 생각이 들어서 기분이 좋았다.
AI(미디어파이프) + 하드웨어(마이크로비트) + 모터 제어 + 안전 기능까지 다 챙긴 프로젝트라서 과정은 힘들었지만 그만큼 배운 것도 많았다. 오류도 많았고 시간도 오래 걸렸지만, 하나씩 해결하면서 완성해 나가는 게 진짜 재밌었다. 나중에도 이런 식으로 실제 생활에서 쓸 수 있을 것 같은 기술들을 더 만들어보고 싶다











