レゴモーターを制御するにはどうすればよいですか?


20

Raspberry Piでいくつかのレゴモーターを制御できるようにする方法を見つけたいのですが、ボーナスとして1つ以上の光学センサーを使用したいと思います。

通常、LEGOロボット工学はMindstormsの「ブリック」コントローラーを使用します。これは高価で、コマンドを発行するRaspberry Piがある場合はほとんど冗長です。Mindstormsコントローラーは、PCに接続せずに実行できますが、イーサネットと最新のコンピューターの多くの機能を欠くプロセッサーおよびモーターコントローラーです。

レゴの作品からデータを制御および受信できる代替プラットフォームはありますか?

参考までに、これは単純なバグ警告マシン用です。デバイスはJenkinsテストフレームワークのステータスを監視し、失敗したユニットテストケースの数に応じてアクションを実行します。raspberry piは、簡単に解析できるXMLを含むWebページをポーリングします。バグの数が0より大きい場合、Raspberry Piにマシンの駆動を開始させたいと考えています。


ねえ、raspberrypi.stackexchange.com / users / 390 / salim- fadhleyraspberrypi.stackexchange.com/users/286/salim-fadhleyは両方のアカウントですか?両方のプロファイルを編集し(可能な場合)、マージを要求します。私はすでにコミュニティチームのメンバーに助けを求めています。
マニッシュアース

私が持っている古いレゴマインドストームモーター、これは単純なDCギアモーターでこれを行いたいです。片側に+ 5vを入れ、片側に回し、反対側に+ 5vを入れ、反対側に回します。ただし、RPiが直接駆動するには高すぎるため、まだインターフェイス回路が必要です。

回答:


13

標準のレゴマインドストームセンサーは、アナログ(0〜5Vの電圧)、またはデジタル(I²CまたはRS-485)(ソース)です。

アナログセンサー:

Raspberry PiのADCのGPIOにピンが破損しているとは思わないため(アナログコンバーターへ)、アナログセンサーとインターフェイスできません(追加のマイクロコントローラーなし)。

デジタルセンサー:

Raspberry Piには、I²CのGPIOに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は非常に高価ですが、Web上のNXT 2.0の1/3の価格のような古いRCXキット(単なる例)を選択できます。

それ以外の場合は、LEGOに取り付けることができる別のモーター/センサーキットを確認する必要があります。これらは簡単に見つけることはできず、かなり高価になる可能性があります。このルートを下る場合は、それらについてより詳しく知っている人を見つけることを試みる価値があるかもしれません。

古いLEGO製品をeBayから入手する場合は、brickpicker.comを参照して市場のスナップショットを取得することをお勧めします。(1〜2か月前に発見しました。ebayのLEGOセットの現在の市場価値に関する情報を見つけるのに最適な場所です。)


2
ごめんなさい これはRPiについてのサイトであり、質問はRPiに関するものであったため、回答に何らかの形でRPiを含めることを提案すべきでした。質問を編集する場合は、下票を削除できます。ちなみに、www1.cbsd.org / sites / teachers / hs / MHAYDEN / Science%20Fair /…そのPDFで「Larsson」を検索すると、数年前のIntel International Science Fairの私のプロジェクトの要約が見つかります。Tic Tac Toeで勝つことを学んだのはレゴマインドストームでした。
アンドリューラーソン

心配いりません、私も完璧な態度を取りませんでした。私はRPiのことを知っていますが、答えはそれに直接関連する必要はありません-linux / distro固有の質問が山ほどあり、PiでRCXを実行できると確信しています。
-ACarter

@Andrew welコメントを削除したので、新たに始めましょう。それは本当に面白いですね。tic tac toeを再生できるpythonスクリプトを作成しましたが、再生方法を学習できるように作成しました。
-ACarter

Donald MichieのMENACEマシンの修正/最適化された実装を使用しました。ロボットは、モーター/センサーのコマンド/データをNXTにプッシュ/プルするC ++プログラムによって制御されていました。計算はコンピューターで実行されましたが、NXT自体で実行されるプログラムのバージョンがありました。ただし、メモリはすぐに不足し、アレイは標準ファームウェアでサポートされないため、変更したものと交換する必要がありました。RPiを使用してプログラムの新しいバージョンを作成するだけだと考えています。それは楽しいだろう!
アンドリューラーソン

NXTを手に入れてから、コンピューターで高級言語を使用してNXTを制御する方法を知りたいと思っていました。leJOSなどがありますが、何を使用しましたか?
ACarter

1

これらすべてに代わるものがあり、NXTセンサーとモーターをNXTコントロールユニットに接続し、Bluetoothを介してPiとペアリングします。その後、NXTに直接コマンドを送信して、モーターを制御し、センサーを読み取ります。Mindstorms bluetooth開発者キットをご覧ください。これにより、NXTが完全にワイヤレスになります!!!!!

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.