레고 모터를 어떻게 제어 할 수 있습니까?


20

Raspberry Pi가 일부 레고 모터를 제어 할 수있는 방법을 찾고 싶습니다. 보너스로 하나 이상의 광학 센서를 사용하고 싶습니다.

일반적으로 Lego 로봇 공학은 Mindstorms "브릭" 컨트롤러를 사용합니다. Raspberry Pi가 명령을 실행하는 경우 비용이 많이 들고 대부분 중복되는 것으로 보입니다. Mindstorms 컨트롤러는 PC에 연결하지 않고도 실행할 수 있지만 이더넷 및 최신 컴퓨터의 많은 기능이없는 프로세서 및 모터 컨트롤러입니다.

레고 창작물로부터 데이터를 제어하고 수신 할 수있는 대체 플랫폼이 있습니까?

참고로, 이것은 간단한 버그 경고 시스템입니다. 장치는 Jenkins 테스트 프레임 워크의 상태를 모니터링하고 실패한 단위 테스트 사례 수에 따라 작업을 수행합니다. 라즈베리 파이는 쉽게 파싱 된 XML이 포함 된 웹 페이지를 폴링합니다. 버그 수가 0보다 크면 Raspberry Pi에서 기계 운전을 시작하려고합니다.


안녕하세요, raspberrypi.stackexchange.com/users/390/salim-fadhleyraspberrypi.stackexchange.com/users/286/salim-fadhley 가 귀하의 계정입니까? 병합을 요청하여 가능한 경우 두 프로필을 모두 편집하십시오. 이미 커뮤니티 팀원에게 도움을 요청했습니다.
Manishearth

간단한 dc 기어 모터 인 기존 Lego Mindstorms 모터를 사용하여이 작업을 수행하고 싶습니다. 한쪽에 + 5v를 놓고 한쪽으로 돌리고 다른쪽에 + 5v를 놓고 반대쪽으로 돌리십시오. 그러나 RPi가 직접 구동하기에는 너무 높은 전류가 필요하므로 인터페이스 회로가 여전히 필요합니다.

답변:


13

표준 레고 마인드 스톰 센서는 아날로그 (예 : 0-5V) 또는 디지털 (I²C 또는 RS-485) ( 소스 )입니다.

아날로그 센서 :

Raspberry Pi는 GPIO에서 ADC (아날로그-디지털 변환기)를위한 GPIO에 끊어진 핀이 없기 때문에 아날로그 센서 (추가 마이크로 컨트롤러없이)와 인터페이스 할 수 없습니다.

디지털 센서 :

Raspberry Pi의 GPIO에는 I²C 용 핀이 2 개 있습니다. 즉, GND, + V, SDA 및 SCL을 센서에 연결하면 I²C 라이브러리를 사용하여 통신 할 수 있어야합니다. 여기에 드라이버가 있습니다 . 지침을 따르면 I²C 신호를 쉽게 송수신 할 수 있어야합니다 (TI TMP102와 통신).

raspberrypi bootc # echo tmp102 0x48 > /sys/class/i2c-adapter/i2c-0/new_device
raspberrypi bootc # sensors
tmp102-i2c-0-48
Adapter: bcm2708_i2c.0
temp1:        +21.6°C  (high = +160.0°C, hyst = +150.0°C)

예 :

Mindstorm 브릭 컨트롤러를 외부 마이크로 컨트롤러에 연결하는 것과 같이이 페이지 에서 센서와 모터를 연결하는 방법에 대한 몇 가지 기사가 있습니다 .

마이크로 컨트롤러를 이용한 마인드 스톰



1

마인드 스톰은 더 많은 레고를 제어 할 수있는 유일한 레고 방식입니다.

현재 NXT 2.0은 꽤 비싸지 만 웹에서 NXT 2.0의 1/3 가격과 같은 구형 RCX 키트 (예를 들어)를 선택할 수 있습니다.

그렇지 않으면 LEGO에 부착 할 수있는 다른 모터 / 센서 키트를 찾아야합니다. 이것들은 찾기가 쉽지 않으며 꽤 비쌀 수 있습니다. 이 경로를 따라 가면 그들에 대해 더 잘 아는 사람을 찾는 것이 좋습니다.

ebay에서 구형 LEGO 제품을 구입 하려는 경우 brickpicker.com 을 방문하여 시장 현황 을 살펴 보는 것이 좋습니다 . 한 달 또는 이틀 전에 발견했습니다. ebay에서 LEGO 세트의 현재 시장 가치에 대한 정보를 찾을 수있는 좋은 장소입니다.


2
미안합니다. RPi에 대한 사이트이고 RPi에 대한 질문이므로 RPi를 어떻게 든 답변에 포함시킬 것을 제안했습니다. 질문을 편집하면 다운 보트를 제거 할 수 있습니다. 그건 그렇고, www1.cbsd.org/sites/teachers/hs/MHAYDEN/Science%20Fair/… PDF에서 "Larsson"을 검색하면 몇 년 전에 Intel International Science Fair에서 내 프로젝트 초록을 찾을 수 있습니다. 박하 사탕 발가락에서이기는 배운 것은 레고 마인드 스톰이었습니다 .
Andrew Larsson

걱정하지 마십시오. 나는 완벽한 태도를 취하지도 않았습니다. 나는 RPi에 대해 알고 있지만 대답은 직접적으로 관련이 필요하지 않습니다. 우리는 많은 Linux / distro 관련 질문이 있으며 Pi로 RCX를 실행할 수 있다고 확신합니다.
ACarter 2016 년

@Andrew wel 내 의견을 삭제 했으므로 새로 시작할 수 있습니다. 정말 흥미로운 것 같습니다. 나는 tic tac toe를 재생할 수있는 python 스크립트를 만들었지 만 그것을 재생하는 방법을 배울 수 있도록 만드는 것은 훌륭합니다.
ACarter

그것은 Donald Michie 의 MENACE 머신 의 수정 / 최적화 된 구현을 사용했습니다 . 로봇은 모터 / 센서에 대한 명령 / 데이터를 NXT로 푸시 / 풀링하는 C ++ 프로그램으로 제어되었습니다. 계산은 컴퓨터에서 수행되었지만 NXT 자체에서 실행되는 프로그램 버전이 있습니다. 그래도 메모리가 매우 부족하여 어레이는 표준 펌웨어에서 지원하지 않으므로 수정 된 것으로 교체해야했습니다. RPi를 사용하여 새 버전의 프로그램을 만들 수 있다고 생각합니다. 재미있을거야!
Andrew Larsson

NXT를받은 이후로 컴퓨터에서 고급 언어를 사용하여 NXT를 제어 할 수있는 방법이 궁금했습니다. leJOS 와 같은 것들이 있지만 무엇을 사용 했습니까?
ACarter

1

이 모든 대안이 있습니다. NXT 센서와 모터를 NXT 제어 장치에 연결 한 다음 Bluetooth를 통해 Pi와 쌍으로 연결 한 다음 NXT에 직접 명령을 보내 모터를 제어하고 센서를 읽을 수 있습니다. Mindstorms 블루투스 개발자 키트를 확인하면 NXT가 완전히 무선 될 수 있습니다 !!!!!

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.