우리 모두 '아이언맨' 영화와 마블 시리즈의 '자비스(JARVIS)' AI 어시스턴트 로봇에 익숙합니다. 프로그래머라면 누구나 자신만의 것을 만들고 싶어 했죠. 오늘 파이썬 프로그래밍으로 그런 어시스턴트를 만드는 간단한 방법을 보여드리겠습니다. 게다가 로봇의 물리적 아바타도 만들어, 우리가 로봇에게 말할 때 움직임도 하게 할 것입니다. 몸체가 있으면 훨씬 더 멋지니까요! 아두이노와 파이썬 프로그래밍을 모두 사용해 컴퓨터를 제어하고 간단한 잡담도 할 수 있는 AI 로봇을 만들어 봅시다.
왜 로봇 이름을 '황달(Jaundice)'로 지었을까요? 노란색으로 칠했는데, 아주아주 노란색이거든요!
부품
전자 부품
아두이노 나노 – 1개
마이크로 서보 SG90 – 3개
초음파 센서 HC-SR04 – 1개
본체
PVC 시트 (흰색 권장, 색칠하기 좋음. 저는 파란색 사용)
서보 휠 (스탠드용)
도구
커터 칼
가위
핫글루
스프레이 페인트
소프트웨어
Python 3
아두이노 IDE
원리
실제 제작에 앞서 무엇을 할지 개념을 잡는 것이 좋습니다.
메인 코드(AI 부분)는 컴퓨터에서 실행됩니다. 왜냐면 파이썬을 지원하고 작은 아두이노보다 처리 능력이 훨씬 뛰어나기 때문입니다. 또한 AI 봇이 내 PC의 일부 작업을 제어/자동화해야 하므로 PC에서 실행되어야 합니다. 아두이노 보드는 USB 케이블로 컴퓨터에 연결됩니다.
아이디어는 음성 인식(STT), 텍스트 처리, 음성 합성(TTS)을 수행하는 파이썬 프로그램을 실행하는 것입니다. 즉, 로봇이 듣고, 이해하고, 대답합니다. 신체 움직임은 아두이노 보드에 함수로 캡슐화해 저장하고, 파이썬 코드에서 각 움직임 함수를 실행합니다.
예를 들어 로봇이 '안녕'이라고 말해야 하면 파이썬 코드가 바이트 'h'를 보내고, 아두이노는 hi() 함수를 실행합니다. 아주 간단하죠.
이제 개념을 잡았으니 다음 단계로 넘어가겠습니다.
회로 및 전자 부품
회로는 메이커들을 가장 괴롭히는 부분입니다. 잘못되면 비싼 부품이 타버릴 수 있습니다. 그래서 수많은 프로젝트에 사용할 수 있는 PCB 보드를 설계했습니다. 마이크로 SD 카드 슬롯, 블루투스 모듈 슬롯, 5V 외부 전원, 모든 것이 아두이노 나노로 구동됩니다.
EasyEDA로 PCB를 설계하고 PCBWay 온라인 서비스로 제작했습니다. 서비스가 훌륭합니다. 인스턴트 견적으로 주문하면 시스템이 자동으로 처리해 줍니다. 3일 만에 중국에서 방글라데시까지 배송받았습니다. 품질이 환상적이고, 솔더 마스킹이 완벽하며, 라인/트레이스, 마감 모두 최고 수준입니다.
이 단계에서 모든 것을 납땜했습니다. 흄을 흡입하지 않도록 매우 주의하세요. 암을 유발할 수 있습니다.
블루투스 모듈과 TF 모듈은 사용하지 않아 납땜하지 않았습니다. 좋은 점은 서보 모터 3개와 소나 센서 1개 모두 아두이노 프로그래밍용 USB 케이블로 전원 공급이 가능하다는 것입니다. 별도 전원 공급원을 고민할 필요가 없습니다.
그래도 외부 배터리를 쓰고 싶다면 리포 2S(7.4V) 배터리를 추천합니다. 그 이상이면 서보가 타버립니다.
본체 만들기
PVC 시트로 본체를 만들었습니다. 골판지도 사용 가능합니다. 먼저 메인 보드와 서보 모터가 들어갈 본체용 박스를 만들었습니다. 상자 만들기와 같습니다. 머리도 같은 방식으로 만들고, 센서(눈)용 구멍 두 개를 뚫었습니다. 필요한 모든 사진을 첨부했습니다. 한 손은 렌치 모양, 다른 한 손은 플러그 모양으로 만들었습니다. 실제 플러그를 핫글루로 한 팔에 붙였습니다.
치수? 정해진 건 없습니다. 여러분의 로봇이니까요. 간단한 도구로 만들 수 있으니 원하는 모양과 크기로 만드세요.
매우 중요: 본체를 닫기 전에 모든 전자 부품을 넣으세요. 센서와 전자 부품을 넣은 후 도색했습니다. 그러지 마세요. 이미 아두이노가 노랗게 물들었습니다.
본체 완성 후 도색하고, 그 다음 전자 부품을 넣으세요.
코딩 1 (파이썬)
여기서 파이썬을 다운로드하세요. 설치 시 'Add Python to PATH'를 꼭 체크하세요.
파이썬 설치 후 명령 프롬프트/터미널에서 다음 명령으로 음성 인식, 오디오 지원, TTS, 브라우저 자동화, 시리얼 통신 라이브러리를 설치하세요.