제조공정
| × | 1 | ||||
| × | 1 | ||||
![]() |
| × | 1 | |||
![]() |
| × | 1 | |||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
![]() |
| × | 1 | |||
![]() |
| × | 1 | |||
| × | 1 | ||||
![]() |
| × | 1 | |||
| × | 1 | ||||
| × | 1 | ||||
![]() |
| × | 1 |
이 프로젝트의 목표는 로봇 탱크 세트를 만들어 운전자가 Leap Motion 컨트롤러를 사용하여 차량을 제어하는 데 보다 사실적인 느낌을 주는 전투를 수행하는 것이었습니다. 사람들이 최대한 쉽게 프로젝트를 복제할 수 있도록 로봇 탱크를 저렴하게 만들고 싶었습니다.
탱크 본체는 일반 레고 브릭과 플레이트로 만들어졌습니다. 전원은 4개의 AA 충전식 배터리로 구성된 간단한 블록입니다. 탱크 컨트롤러는 Arduino Uno R3입니다. "추진"은 단일 L293D 집적 회로를 사용하여 전면에 단일 캐스터가 있고 후면에 바퀴가 있는 두 개의 간단한 DC 모터입니다. "무기"는 단일 IR LED 조명이고 "방어구"는 상대 탱크 IR LED의 명중을 감지하는 IR 센서 세트입니다. "헤드업 디스플레이"는 갑옷 상태를 포함하여 탱크에서 발생하는 모든 작업을 알려주는 단일 멀티 컬러 LED입니다. 마지막으로 탱크의 "제어"는 각 탱크에도 장착된 RF24 무선 모듈을 통해 연결된 NodeJS를 실행하는 Raspberry Pi 2를 통해 무선으로 처리됩니다.
작업자의 손을 사용하여 Leap Motion은 Leap Motion Javascript SDK를 사용하여 탱크를 제어합니다. SDK를 사용하여 손 동작을 감지하면 javascript는 Raspberry PI 2의 NodeJS 서버와 통신하고 RF24 모듈을 통해 탱크와 통신합니다. 양손을 앞으로 움직이면 탱크가 앞으로 이동합니다. 양손을 뒤로 젖히면 탱크가 뒤로 이동합니다. 왼손은 앞으로, 오른손은 뒤로, 탱크는 우회전합니다. 오른손은 앞으로, 왼손은 뒤로, 탱크는 왼쪽으로 회전합니다. "중립" 위치에 있는 양손은 탱크를 멈춥니다. 한 손은 앞으로(왼쪽 또는 오른쪽), 다른 손은 떨어뜨리면 탱크의 무기가 "발사"됩니다.
다음은 탱크 무기, 방어구 및 헤드업 디스플레이에 대한 간단한 데모입니다.
전방위 고급 갑옷과 판지 상자를 대피소로 사용하는 Laser Tanks는 사냥과 회피의 게임이 됩니다.
프로젝트 설정 단계:
1) 탱크를 조립하고 아래 회로도를 사용하여 배선합니다. 필요한 Arduinolibraries(github 저장소의 README 참조)를 다운로드하고, 한 탱크에 tank1에 대한 thearduino 스케치를 컴파일 및 업로드하고, 다른 탱크에 tank2에 업로드합니다.
2) RF24 트랜시버를 Raspberry Pi에 연결합니다. Pi에 Raspbian OS 및 노드 JS를 설치합니다.
3) Pi에서 RF24 라이브러리를 다운로드, 구성 및 빌드(github 저장소의 README 참조)합니다.
4) github 사이트에서 NodeJS 서버 소프트웨어를 다운로드하고 앱 서버/웹 서버를 구성 및 시작합니다(githubrepository의 README 참조).
5) 컴퓨터에 Leap Motion 및 드라이버를 설치합니다. 브라우저를 열고 Raspberry Pi Rest/Web 서버에 대한 URL을 로드하여 웹 페이지를 로드(github 리포지토리의 README 참조)하여 탱크 1 또는 탱크 2를 제어합니다.
6) 캘리브레이션 버튼을 클릭하고 도약 동작 위에 손을 올려 두 손을 감지하고 중립 위치를 알 수 있도록 합니다. 보정이 완료되면 탱크를 손으로 제어할 수 있습니다.
탱크 섀시에 대한 간략한 참고 사항:
탱크의 본체는 탱크의 부품(모터, 브레드보드 등)에 "고릴라 접착"된 단순한 레고로 조립되어 탱크를 함께 고정하는 데 도움이 됩니다. 다음은 이 작업을 수행한 방법을 보여주는 슬라이드 쇼입니다.
적외선 LED에 대한 간략한 참고 사항:
적외선 리모컨은 소파나 바닥, 의자에 앉고 싶을 때 매우 기능적이며 어디서나 TV의 채널을 변경할 수 있습니다. 적외선 LED는 광선이 가능한 한 많은 방향으로 이동하여 적용 범위를 개선하도록 제작되었습니다. 그러나 원격 센서를 공격하기 어렵게 하기 위해 LED의 빔을 더 작게 제어하려는 경우(탱크 전투 게임과 같이) 조금 더 어렵습니다. 나의 독서에서 나는 튜브 끝에 있는 매우 간단한 돋보기 렌즈를 사용하여 적외선 빔에 초점을 맞출 수 있다는 것을 알게 되었습니다. 다음은 내가 말하는 내용을 보여주는 다이어그램입니다.
나는 결국 약국에서 매우 저렴한 포켓 돋보기를 구입하여 렌즈를 꺼내어 주위에 튜브를 만들고 튜브의 다른 쪽 끝에 적외선 LED를 설치했는데 이것은 빔의 빔을 좁히는 데 완벽하게 작동했습니다. IR LED가 더 정확합니다.
적외선 센서의 360도에 대한 간략한 설명
적외선 센서는 적외선 LED가 바로 앞에 있거나 초점이 약 90도일 때 적외선 LED의 신호를 감지할 수 있습니다. 적외선 LED가 센서 뒤에 있으면 전송된 신호를 감지할 수 없습니다.
완전한 360도 감지 각도를 달성하려면 4개의 서로 다른 센서에서 4개의 서로 다른 핀에서 신호를 감지하도록 적외선 라이브러리를 수정하거나 4개의 센서를 데이지 체인으로 연결하여 단일 핀. 간단한 AND 집적 회로를 사용하여 4개의 센서를 단일 입력 핀에 연결하는 방법을 보여주는 온라인 기사를 찾았습니다. 적외선 센서 중 하나가 적외선 신호를 감지하면 해당 핀에 보고했습니다. 이를 통해 적외선 라이브러리를 수정하거나 최대 4개의 입력 핀을 사용할 필요 없이 360도 감지가 가능합니다.
제조공정
구성품 및 소모품 Arduino UNO 호환되는 Arduino Uno 보드 × 1 납땜 브레드보드 절반 크기 × 1 저항 10k 옴 × 3 점퍼 와이어(일반) × 1 포토 저항기 × 2 레이저 다이오드 × 1 SparkFun 푸시버튼 스위치 12mm × 1 부저 × 1 앱 및 온라인 서비스 Arduino IDE 이 프로젝트 정보
구성품 및 소모품 Arduino UNO 기본 구성요소 중 하나입니다. × 1 초음파 센서 - HC-SR04(일반) 기본 구성요소 중 하나입니다. × 1 리튬 이온 배터리 1000mAh 기본 구성요소 중 하나입니다. × 2 RGB 확산 공통 음극 기본 구성요소 중 하나입니다. × 1 부저 필요한 용품 중 하나 × 1 저항 330옴 필요한 용품 중 하나 × 3 USB-A-B 케이블 필요한 용품 중 하나 × 1