산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Manufacturing Technology >> 제조공정

BLE Bot 9000

구성품 및 소모품

아두이노 101
× 1
Arduino v2 키트용 Adafruit 모터/스테퍼/서보 실드 - v2 .3
× 1
SparkFun 멀티 섀시 - 4WD 키트(기본)
[ 대사:Sparkfun의 다양한 탱크 키트가 이 장치의 대안으로 제공되었습니다. 여기에 포함된 5x AA와 관련된 전원 문제가 있는 것으로 확인되었습니다. 자세한 내용은 알려진 문제를 참조하세요. ]
× 1
Adafruit 6 x AA 배터리 홀더(5.5mm/2.1mm 플러그 포함)
[ 대사:이 조각은 키트에서 누락된 것으로 알려져 있습니다. 인텔 USB 배터리 뱅크는 Arduino 101에 전원을 공급하기 위해 그 자리에 보충될 수 있습니다. ]
× 1
5x AA 배터리 홀더
로봇 키트에 포함됨
× 1
구성 요소 팩
4x 스탠드오프 라이저, 플라스틱/검정색 나사, ~20개 와이어, 3인치 벨크로 스트립, AA 배터리 몇 개일 수 있습니다.
× 1
AA 배터리
× 11

필요한 도구 및 기계

납땜 인두(일반)
땜납(일반)
필립스 드라이버
Sparkfun 봇 키트에 포함됨

앱 및 온라인 서비스

Arduino IDE
쟈니-파이브
Arduino Firmata

이 프로젝트 정보

알림:

업데이트 12/5/16 Drew:알려진 문제를 클릭하세요. 이 빌드를 완료하기 전에 검토하십시오. 특정 종류의 키트에는 알려진 문제와 누락된 부품이 있습니다. 우리는 일반적인 문제를 설명하려고 노력했습니다. 일부는 아직 해결 중입니다. 수정 사항은 확인되는 대로 지침에 포함됩니다. 추가 정보가 있으면 #intel에서 저(@ReanimationXP)에게 보고하세요. slack.hacksterlive.com 채널 . 감사합니다!

Arduino를 폭파시키지 마십시오

우리는 일부 사람들이 봇을 조립하고 VIN 점퍼를 모터 실드에 그대로 두었다는 보고를 받았습니다. 시작하기 전에 잠시 시간을 내어 제거하십시오. 왜요? Arduino 및 Shield에 전원 공급을 참조하세요. 아래.

소개

이 프로젝트는 Arduino 101에 내장된 BLE 칩을 사용하여 노트북에서 소형 4x4 로봇을 제어하는 ​​방법을 보여줍니다. 컴퓨터가 Arduino 101 자체에서 제어를 인계받게 함으로써 컴퓨터 비전, 자율 주행 및 고급 피드백 루프(PID)와 같은 프로세서 집약적인 제어 방법을 통합할 수 있는 가능성이 열립니다.

하드웨어

시작하자! 이 강아지는 무엇과 함께 왔습니까? 사용된 로봇 플랫폼은 Sparkfun의 다중 섀시 4x4였습니다. 알루미늄 프레임으로 상당히 내구성이 있으며 추가 센서를 위한 많은 장착 지점이 있습니다.

단계:

1) 키트는 약간의 간단한 조립이 필요하지만 시간이 걸립니다. 다음 편차를 제외하고 조립용 키트에 포함된 지침을 따르십시오.

- 뚜껑을 로봇 섀시에 부착하기 전에 스탠드오프(별도 구성 요소 키트의 일부)의 Arduino 101을 상단 플레이트(뚜껑)에 장착합니다. 스탠드오프가 없다면 101의 바닥을 어떻게든 단열하고 뚜껑에 부착하면 됩니다.

2) Adafruit Motor 실드 v2.3도 약간의 조립이 필요하며 이는 납땜을 의미합니다. 헤더 핀을 납땜해야 합니다. A101에 있는 것과 같은 구성 요소 키트와 함께 암 헤더를 받은 경우 이를 사용하고 일반 수 헤더는 버리십시오. 그렇지 않으면 모터 실드에 포함된 수형을 사용하십시오. 여기에서 두 가지 유형의 납땜에 대한 자세한 지침을 찾을 수 있습니다(남성/여성 헤더 유형에 대한 적절한 섹션으로 스크롤):https://learn.adafruit.com/adafruit-motor-shield-v2-for-arduino/install-headers .

전에 납땜한 적이 없다면 헤더를 납땜하는 것이 약간 까다로울 수 있으므로 굽기에 신경 쓰지 않아도 되는 무언가를 연습하고 싶을 수 있습니다. 납땜을 많이 한 사람에게 당신을 지켜봐 달라고 요청하는 것이 가장 빨리 배울 수 있는 방법일 것입니다. 가장자리에서 하나의 핀을 납땜하여 각 헤더를 시작하고 헤더를 단단히 당겨 보드와 수평을 이루고 완벽하게 직선이 되도록 합니다. 헤더를 거의 영구적으로 제자리에 고정하는 모든 핀을 납땜하기 전에 이 기술을 사용하여 정렬할 수 있습니다.

Bluetooth 로고 옆에 있는 6핀 그리드 암 헤더를 마지막으로 사용합니다. 다음과 같습니다. [:::] 플라스틱 면을 Arduino 101에 연결하여 완전히 수평이 되도록 하고, 이제 완전히 납땜된 모터 실드를 맨 위에 장착하고 6핀 그리드의 수 면이 찔러 들어가도록 합니다. 모터 실드를 아래로 눌러 101에 완전히 삽입한 다음 6핀 그리드 헤더의 수 쪽을 납땜합니다.

3) 조립된 모터 실드를 납땜한 헤더를 사용하여 Arduino 101의 상단에 부착합니다.

4) 아래와 같이 점퍼선(수-수)을 사용하여 모터를 모터 실드의 모터 출력 단자대에 배선합니다. 음극 및 양극 리드의 올바른 쌍이 일치하는지 확인하고 아래 배선도를 따르십시오. 참고:노란색 선은 다이어그램에서 양수입니다. , 및 빨간색 실제 모터에. 다이어그램에서 녹색 선은 음수입니다. , 검은색 실제 모터에.

5) 계속하기 전에 VIN 점퍼가 부착되어 있지 않은지 확인하십시오. 한 쌍의 점퍼 와이어를 사용하여 5-count AA 에 연결하십시오. 아래 그림과 같이 양극(빨간색)과 접지(검정색) 방향을 염두에 두고 로봇 키트에 포함된 배터리 팩을 모터 실드의 전압 입력 단자대에 연결합니다.

참고: 아래 사진의 2x AA 홀더는 정확하지 않습니다. 실생활에 적용되며 키트에는 없을 것입니다. 5x AA 홀더를 사용하세요. 로봇 키트에 포함되어 있습니다. 일부 키트에는 4개의 모터가 포함되어 있지 않습니다. 이 경우 보드 오른쪽과 상단 두 개의 모터와 같이 적절한 모터를 M1과 M2에 연결하기만 하면 됩니다.

6) 배럴 잭을 두 번째 배터리 팩에서 나오는 리드에 납땜합니다. 배럴 잭의 중앙(짧은) 연결부에 빨간색 양극 리드를 납땜해야 합니다.

참고 :앰버서더 키트의 첫 배송에는 6x AA 배터리 홀더와 아래의 배럴 플러그가 포함되어 있지 않습니다. 추가 AA 홀더 및 추가 구성 요소와 함께 이 배송을 보완할 예정입니다. 봇 빌드를 완료하고 소프트웨어 개요로 건너뜁니다. 지금은.

7) 6x AA 배터리 팩을 벨크로 스트립으로 로봇 후면에 부착합니다.

배럴 플러그를 Arduino 101에 연결하여 전원을 켭니다. VIN 점퍼가 부착되지 않았는지 다시 한 번 확인하십시오.

이제 로봇이 완전히 구축되어야 합니다! 두 배터리 뱅크가 전원을 소모하지 않도록 플러그를 뽑았는지 확인하십시오.

소프트웨어 개요

로봇 제어 시스템은 두 가지 주요 소프트웨어로 구성됩니다. 첫 번째는 Arduino 101에 로드된 Firmata 서버 스케치입니다. Firmata를 사용하면 컴퓨터가 Arduino의 핀에 액세스할 수 있으며 확장하여 모터 자체를 제어하는 ​​모터 실드와 통신할 수 있습니다. Firmata는 또한 양방향 통신을 허용하므로 향후 로봇에 센서를 부착하면 센서 데이터를 컴퓨터로 다시 보낼 수 있습니다.

두 번째 소프트웨어는 컴퓨터에서 실행되는 Firmata 클라이언트입니다. 다양한 언어를 위한 다양한 Firmata 클라이언트가 있지만 이 프로젝트에서는 Johnny-Five에 내장된 Firmata 클라이언트를 사용할 것입니다. Johnny-Five는 Node.js에 구축된 Arduino용 로봇 공학 및 IoT 플랫폼입니다. 자세한 정보는 http://johnny-five.io/에서 확인할 수 있습니다. Johnny-five에는 우리가 사용하고 있는 Adafruit Motorshield의 Firmata 및 구성을 포함한 많은 유용한 라이브러리가 있습니다.

Firmata 클라이언트와 서버를 연결하기 위해 BLE를 통해 Arduino 101에 직렬 연결을 열기 위해 작성된 node.js 라이브러리를 사용하고 있습니다. https://github.com/monteslu/ble-serial

마지막으로 키보드 명령을 읽기 위해 keypress를 읽기 위한 node.js 라이브러리인 keypess를 사용할 것입니다. https://github.com/TooTallNate/keypress

Arduino 스케치 로드

1) Arduino 101에 Firmata 서버 스케치를 로드하려면 먼저 Arduino IDE를 다운로드하여 설치해야 합니다. https://www.arduino.cc/en/Main/Software

2) 기본 IDE를 설치했으면 Arduino 101 보드를 설치해야 합니다. 다음 튜토리얼은 보드 설치와 기본 프로그래밍을 다룹니다. Arduino에 익숙하지 않다면 여기에서 시작하는 것이 좋습니다. https://www.arduino.cc/en/Guide/Arduino101 . 짧은 버전은 IDE의 보드 관리자를 통해 "인텔 퀴리 보드" 패키지를 설치해야 한다는 것입니다. 완료되면 Arduino /Genuino 101이 보드 하위 메뉴에 나타납니다.

3) USB 케이블을 통해 Arduino 101을 컴퓨터에 연결합니다.

4) Arduino IDE에서 도구 -> 보드로 이동하여 Arduino / Genuino 101 을 선택합니다. 안 보여? 2단계로 돌아가십시오.

5) 도구 -> 포트로 이동하여 보드에 맞는 포트를 선택했는지 확인하십시오. 어떤 포트를 사용할지 확실하지 않은 경우 Arduino의 플러그를 뽑고 목록에서 어떤 포트가 사라지는지 확인하십시오.

6) AdaFruit Motor Shield v2 패키지를 설치합니다. 스케치 -> 라이브러리 포함 -> 라이브러리 관리로 이동한 다음 "AdaFruit Motor Shield v2"를 검색합니다. 그것을 선택하고 설치 버튼을 클릭하십시오.

6a) 봇을 테스트하려면 다음 .ino 파일을 플래시하여 모터를 테스트하십시오. 기본적으로 이 파일을 사용하면 봇이 앞으로, 뒤로, 왼쪽으로, 오른쪽으로 이동합니다. 자꾸. https://github.com/ReanimationXP/a101_motortest .

참고! 바퀴가 움직일 준비를 하세요!

a101_motortest 프로그램을 봇에 플래시하면 스케치 실행이 시작되자마자 바퀴가 움직이기 시작합니다. 바퀴를 멈추고 싶다면 USB 케이블을 당기거나(Arduino의 전원 차단) 배터리 중 하나를 당기면 됩니다.

7) Arduino IDE에서 파일 -> 예제 -> Firmata -> StandardFirmataBLE로 이동하여 Firmata BLE 서버 스케치를 로드합니다. 편집기의 왼쪽 상단 모서리에 있는 업로드 화살표를 클릭하여 스케치를 Arduino 101에 업로드합니다.

스케치가 성공적으로 로드되면 출력의 마지막 메시지는 "5초 후 스케치 시작"이어야 합니다.

Python 2.7.13 설치

1) bluetooth-hci-socket Node.js 패키지를 설치하고 컴파일하려면 Python 2.7.13이 필요합니다.

2) https://www.python.org/downloads/로 이동합니다. Python 2.7.13을 다운로드하여 설치하십시오.

Firmata 클라이언트 로드

1) Firmata 클라이언트는 Node.js에서 실행됩니다. 설치하지 않은 경우 다음 링크로 이동하여 설치 지침을 따르십시오. https://nodejs.org/en/

2) Node.js가 설치되면 제어 코드를 포함할 새 폴더를 만듭니다.

3) Node.js 명령 프롬프트를 열고 프로젝트 폴더로 이동합니다. 다음 단계에서 Windows 도구를 설치하려면 관리자 모드에서 명령 프롬프트를 실행하세요.

4) Windows 10을 사용하는 경우 Windows 도구를 설치해야 합니다. 다음 명령을 사용하여 이 작업을 수행하십시오.

npm install --global --production windows-build-tools 

5) 다음 NPM 모듈을 설치합니다.

npm install johnny-fivenpm install keypressnpm install ble-serial npm install bluetooth-hci-socket 

6) github( https://github.com/martinkronberg/Firmata-BLE-Bot )에서 제어 코드를 다운로드하고 control.js가 프로젝트 폴더에 있는지 확인합니다. 원하는 경우 저장소를 복제할 수 있지만 업데이트 가능성은 상당히 낮습니다...

코드 실행

이제 로봇을 운전할 준비가 되었습니다! 두 배터리 뱅크가 모두 연결되어 있고 프로젝트 폴더에서 실행되는지 확인하십시오.

노드 control.js 

모든 것이 작동하면 다음과 유사한 메시지가 표시됩니다.

1476382259569 연결됨 [객체 개체] 

이제 "w"를 누르면 로봇이 전진하고 "s"를 누르면 후진하고 "a"와 "d"를 누르면 로봇이 좌우로 회전합니다.

"호환되는 USB Bluetooth 4.0 장치를 찾을 수 없습니다"와 같은 메시지가 나타날 수 있습니다. 컴퓨터가 Bluetooth를 지원하고 Bluetooth가 활성화되어 있는지 확인하십시오.

Windows에서 장치 관리자를 확인하여 PC가 Bluetooth를 지원하는지 확인할 수 있습니다. "Bluetooth Radios"라는 하위 트리를 찾습니다.

블링크 버전

Node 및 Firmata가 제대로 작동하지 않으면 Blynk.cc 라이브러리를 대신 사용할 수 있습니다. 이것은 사용하기 쉽고 크로스 플랫폼이며 모바일 장치용 인터페이스가 있습니다.

1. Blynk.cc 라이브러리를 다운로드하여 Arduino에 설치합니다. 이것은 Arduino 라이브러리 관리자를 통해 수행할 수 있습니다. 작성 당시 버전 0.4.7.

2. 다음 스케치를 다운로드하여 Arduino 101에 플래시합니다.

https://github.com/ReanimationXP/a101_blynk_base

3. Blynk 앱을 다운로드합니다. 앱 내에서 다음 인터페이스를 만듭니다.

알려진 문제

누락된 부품: 6x AA 배터리 홀더 및 배럴 잭, 탱크 키트에는 4x가 아닌 2x 모터만 있습니다.

탱크 키트의 전원 문제: Sparkfun 탱크 키트에는 결함이 있는 것 같습니다. 함께 포함된 배터리 홀더는 탱크 밴드를 구동할 만큼 강력하지 않습니다. 해결 방법은 밴드를 제거하고 5x AA 배터리 홀더를 상당한 mAh(예:750mah)가 있는 2S(7.4v) 리포 배터리로 교체하거나 Intel USB 배터리 뱅크 중 하나로 101에 전원을 공급하는 것입니다.

또한 Sparkfun 섀시와 함께 제공되는 배터리 홀더가 작동하지 않는 것 같으면 배터리가 제대로 장착되지 않았을 수 있습니다. 아래로 누르면서 뒤로 당기면 제자리에 고정되는 것을 느낄 수 있습니다.

블루투스/BLE 문제: BLE 지원에는 최소 요구 사항이 있습니다. Bluetooth의 저에너지 다양성인 BLE를 지원하려면 컴퓨터가 Windows 8.1 이상에서 Bluetooth 4.0 이상을 지원해야 합니다. 일부 컴퓨터에는 드라이버 스택 및 하드웨어 차이에 따라 여전히 문제가 있을 수 있습니다. 대부분의 스마트폰은 BLE와 더 호환됩니다. 현재 BLE 지원이 포함된 101을 제어하기 위해 Blynk 플랫폼을 사용하는 방법을 찾고 있습니다. 자세한 내용은 가능한 경우 여기에 게시됩니다.

우리는 또한 Arduino 101의 BLE 부분이 제대로 전원이 공급되지 않으면 매우 벗겨진다는 말을 들었습니다. Arduino 101에 적절한 전원을 연결했는지 확인하십시오. 브라운아웃 문제를 배제하기 위해 강력한 5v USB 전원 공급 장치, 2A 정도를 제안합니다.

Arduino 101과 나사 호환성: 구성 요소 키트의 나사에는 머리가 너무 커서 101에 맞지 않습니다. 수정은 로봇 키트의 은색 나사를 교체하는 것입니다. 가능하면 그 반대도 마찬가지입니다. 벨크로 사각형을 사용할 수도 있으므로 보드가 단단히 고정되고 절연되지만 쉽게 제거할 수 있습니다.

라이브러리: Firmata 라이브러리를 2.5.3 이상으로 업그레이드해야 합니다(2.5.3 미만 버전에는 Firmate BLE 스케치가 포함되지 않음)

다음은 모임을 운영하는 동안 삶을 더 쉽게 만들 수 있는 몇 가지 리소스입니다. 마지막 두 링크는 ​​Adafruit Motor Shield v2 라이브러리를 설치해야 합니다.

<울>
  • 이 BLE Bot 9000 튜토리얼:http://bit.ly/blebot1
  • <울>
  • Pete Hoffswell의 DC 모터 테스트 스크립트:http://bit.ly/blebot2
  • <울>
  • Blynk를 사용한 BLE 전화 제어 로봇:http://bit.ly/blebot3
  • <섹션 클래스="섹션 컨테이너 섹션 축소 가능" id="코드">

    코드

    터치스크린 컨트롤
    Express 서버를 사용하여 터치스크린에서 '봇을 제어하세요! (고급 핵스터용)https://github.com/monofuel/blebot9000
    로봇 제어 코드
    로봇을 실행하기 위한 코드가 있는 Githubhttps://github.com/martinkronberg/Firmata-BLE-Bot

    회로도

    섀시 조립용 PDF

    제조공정

    1. 혈당계 테스트 키트
    2. 장난감 모형 키트
    3. 오픈 소스 키트는 예측 유지 관리를 지원합니다.
    4. mmWave 개발 플랫폼을 제공하는 키트
    5. 개발 키트는 BLE 메시 네트워킹을 단순화합니다
    6. Raspberry Pi 3 스타터 키트 연결 가이드
    7. Hologram Nova 스타터 키트
    8. MonkMakes Raspberry Pi 로봇 키트 제작
    9. Intellisaurus – 공룡 로봇 키트
    10. ISO 9000에 대해 알아야 할 8가지 사항