このプロジェクトでは、スマート ロボットの指を作成し、それを使ってピンポン球を別の場所に移動します。 障害物センサー(超音波距離検出器)を使用してボールの飛来を検出します。 ボールが検出されると、指でボールを拾い、車はボールを別の場所に落とし、その後車は元の場所に戻って別のボールを待ちます。
このプロジェクトを完了するには、次の部品を準備してください
注意:
1. ビルディングブロックの色は実際の製品の影響を受けますが、使用には影響しません。
2. Arduino 用のすべての OSOYOO 製品は、Arduino と完全互換性のあるサードパーティ製ボードです。
ブロックでロボットを構築する前に、次のように OSOYOO Magic I/O シールドの下に Arduino 用 OSOYOO ベーシック ボードを取り付けてください (注意してください: 最初に I/O シールドのピンがベーシック ボードのポートと位置合わせされてから、 シールドは UNO ボードにしっかりと取り付けてください)。
このロボットカーを組み立てるには、組み立て手順に従ってください。分かりやすい組み立て手順のPDFを入手したい場合は、https://osoyoo.com/picture/Building_Robot_Car/lesson5/LESSON5.pdf からダウンロードしてください。
注意:built the robot car for lesson 1を作った方は、このPDFのstep35まで読み飛ばしてください。
lesson 1と同じようにモーターと9V電池ケースを接続してください。
次に、SG90サーボモータをOSOYOOマジックI/OシールドのD4ポートに、超音波モジュールセンサをマジックI/OシールドのD7D8ポートに4ピンPNPケーブルで以下のように接続する:
注:このキットでは、プログラミングツールとしてmblockを使用します。mblockについてもっと知りたい場合は、https://osoyoo.com/ja/2021/12/01/preparation-before-class-1へどうぞ~
Step 1) https://mblock.makeblock.com/en-us/download/から mBlock PC バージョンをダウンロードし、コンピューターの OS タイプに応じてダウンロード ファイルを選択します (ブラウザー バージョンは使用しないでください)。
Step 2) https://osoyoo.com/driver/mblock/osoyoo_uno.mextから OSOYOO_UNO.mext デバイスファイルをダウンロードします。
Step 3) 可愛いパンダのアイコンをダブルクリックして、mBlock PCソフトウェアを実行します。赤い丸の中の十字をクリックして、デフォルトのデバイスCyberPiを削除してください。
Step 4) ステップ2でダウンロードしたosoyoo_uno_mextファイルをmBlockにドラッグ&ドロップします:
これでmBlockに新しいデバイスファームウェアが表示されます:
これでmBlockソフトウェアとOSOYOO_UNOデバイスファームウェアがPCにインストールされました!
それでは、ブロックを使って上記のアイデアを実現する方法を紹介します。
Step 5: Eventsをクリックし、when Arduino Uno starts upブロックを一番上に追加します:
Step 6: Actionをクリックし、set servo pin angle asブロックをプログラミングエリアにドラッグ&ドロップします;
Step 7: Controlをクリックし、wait secondsブロックをプログラミングエリアにドラッグ&ドロップします:
Step 8: Action を再度クリックし、set servo pin angle as ブロックをプログラミングエリアにドラッグ&ドロップします;
Step 9: Step7を繰り返します:
Step 10:Action をクリックし、set servo pin angle as block をプログラミングエリアにドラッグ&ドロップします;
Step 11:Controlをクリックし、Wait secondsブロックをプログラミングエリアにドラッグ&ドロップします:
Step 12: Controlをクリックし、foreverブロックをプログラミングエリアにドラッグ&ドロップします:
Step 13: Control を再度クリックし、if then else ブロックをプログラミングエリアにドラッグ&ドロップします:
Step 14: Operationをクリックし、0<0ブロックをプログラミングエリアにドラッグ&ドロップします:
Step 15:Sensorをクリックし、read ultrasonic sensor trig pin echo pinブロックをプログラミングエリアにドラッグ&ドロップし、pin 7とpin 8を以下のように設定する;
Step 16: Actionをクリックし、Stop Mowingブロックをプログラミングエリアにドラッグ&ドロップします;
Step 17:「Control」をクリックし、「Wait seconds」ブロックをプログラミングエリアにドラッグ&ドロップします:
Step 18:Actionをクリックし、set servo pin angle asブロックをプログラミングエリアにドラッグ&ドロップします;
Step 19:Wait secondsブロックを右クリックし、デジタル書き込みピンからブロックへの複製をクリックします。複製したブロックを、Set servo pin angle as block の後ろに配置します。下図のように角度を変更します。
Step 20:Controlをクリックし、Wait secondsブロックをプログラミングエリアにドラッグ&ドロップします 次のように0.5秒を書き込みます:
:
Step 21:Actionをクリックし、Turn Left Speed forブロックをプログラミングエリアにドラッグ&ドロップします;1秒を0.4秒に変更します;
Step 22: Actionをクリックし、Stop Mowingブロックをプログラミングエリアにドラッグ&ドロップします;
Step 23:「Action」をもう一度クリックし、「set servo pin angle」ブロックをプログラミングエリアにドラッグ&ドロップします、
90を0に変更します;
Step 24:「Control」をクリックし、「wait seconds」ブロックをプログラミングエリアにドラッグ&ドロップします、
wait0.5秒に変更します:
Step 25: ステップ23を繰り返し、90を15に変更します:
Step 26:「Control」をクリックし、「Wait seconds」ブロックをプログラミングエリアにドラッグ&ドロップします、
次のように0.5秒待つ:
Step 27:再度Actionをクリックし、set servo pin angle asブロックをプログラミングエリアにドラッグ&ドロップします、
90を30に変更します;
Step 28:「Action」をクリックし、「Move Backward at speed for sec」ブロックをプログラミングエリアにドラッグ&ドロップします、
スピードを100から50に変更します;
Step 29:同じく「Action」をクリックし、「Turn Right at speed for sec」ブロックをプログラミングエリアにドラッグ&ドロップします、
スピードを100から50に変更し、1秒から0.5秒に変更します;
Step 30: 「Move Forward at speed for sec」ブロックをプログラミングエリアにドラッグ&ドロップし、スピードを100から50に変更します;
Step 31: Forward Left speed Right speedブロックをプログラミングエリアにドラッグ&ドロップし、スピードを100から30に変更します;
これでブロックのプログラミングは完了です。 最終的なブロックは以下のようになる:
これですべてのブロックのプログラミングが完了しました!上の図から、ロジックはとても簡単だ:
Arduinoが起動すると、コンピュータはデッドループに入り、ボタンの状態をチェックします。ボタンが押されていないときは、サーボは元の位置(私のサーボでは0度)で停止し、エレベーターは地面にあります。
1) まずOSOYOOベーシックボードをUSBケーブルでPCに接続してください。その後、mBlockソフトウェアの下部にある接続ボタンをクリックすると、USBウィンドウがポップアップ表示されます、
2) Show all connectable deviceチェックボックスを選択し、デバイスのドロップダウンメニューが表示されます、
3) デバイスのドロップダウンメニューからポートを選択します。
4) 接続ボタンをクリックし、PCをOSOYOOベーシックボードに接続します。
このレッスンでは、新しいプログラムブロックは使用しません。もしブロックの意味がわからない場合は、以前のレッスンを復習してください。
プログラミングロジックの説明は以下のグラフの通りです:
まず、サーボを 30 度から 0 度まで回転させ、30 度で停止させます。これで指が開いた状態から閉じた状態になり、次に開いた状態になる。指がこのように動作しない場合は、まず指を調整する必要がある。
その後、超音波センサーが永久ループに入り、車の進行方向に障害物があるかどうかをチェックする。
超音波センサーが7cm以内の障害物を検知すると、0.5秒間、車の動きを止める。サーボが開状態から閉状態へゆっくり回転し、指が障害物に引っかかるようにした後、ロボットカーは速度100で0.4秒間左旋回し、その後停止する。サーボが閉状態から開状態にゆっくり回転し、指を障害物に接触させ、ロボットカーが速度50で1秒間後進し、速度50で0.5秒間右旋回し、速度50で1秒間前進する。
超音波センサが障害物を検知しなければ、速度30で前進する。
上記のプログラムブロックは電源を切らない限り永久ループとして実行される。
指の位置を調整する:
手動:
電源を入れた後、指は開き、閉じ、再び開き、約1秒間開いた位置に留まります。フィンガーが開いた位置で止まらない場合は、電源を切ってからサーボギアを取り出し、両方のフィンガーが開いた位置になるようにしてください。
指を正しい位置に調整した後、再度電源を入れてください。そして、開いたフィンガーにボールを入れます。超音波センサーがボールを検知すると、ボールをキャッチして左手の位置に移動します。 ボールを移動した後、車は元の位置に戻ります。
コード
以下のコードをArduinoにアップロードする。電源を入れ、指が開いた状態になっているか確認してください。
指が開いていない場合は、”30 “の角度を調整し、正しい値になるまで繰り返します。
以下のコードをArduinoにアップロードしてください。電源を入れ、指が閉じた状態になっているかどうかを確認します。
そうでない場合は、”0 “を別の度数に調整し、正しい値が得られるまで繰り返します。
ロボットの指の角度を記録し、サンプルコードの角度を正しい値に置き換えてください。
動作結果
電源を入れ、車を地面に置くと、車は前進し、途中に障害物(指の大きさに応じて適切な障害物を選択してください)があると、指はそれをキャッチし、それを片付けます)その後、前進します。次のビデオのように:
No. | Picture | Device | Link |
1 | OSOYOO Basic R3 Board for Arduino | 購入はここをクリック | |
2 | OSOYOO Magic I/O Shield for Arduino | 購入はここをクリック | |
3 | OSOYOO Ultrasonic Detector Module | 購入はここをクリック | |
4 | OSOYOO IR Receiver Module | 購入はここをクリック | |
5 | OSOYOO Red button module | 購入はここをクリック | |
6 | IR remote controller | 購入はここをクリック | |
7 | 9V Battery Box | 購入はここをクリック | |
8 | 9V Battery | 購入はここをクリック | |
9 | Servo | 購入はここをクリック | |
10 | Motor | 購入はここをクリック | |
11 | OSOYOO Tracking Sensor Module | 購入はここをクリック | |
12 | OSOYOO Photoresitor Module | 購入はここをクリック | |
13 | OSOYOO DHT11 Module | 購入はここをクリック | |
14 | OSOYOO Ultrasonic Sensor Block | 購入はここをクリック | |
15 | OSOYOO ESP module | 購入はここをクリック | |
16 | 3 pin 20cm PnP cable | 購入はここをクリック | |
17 | 4 pin 20cm PnP cable | 購入はここをクリック | |
18 | B117 | 購入はここをクリック | |
19 | B115 | 購入はここをクリック | |
20 | B113 | 購入はここをクリック | |
21 | B111 | 購入はここをクリック | |
22 | B109 | 購入はここをクリック | |
23 | B107 | 購入はここをクリック | |
24 | B105 | 購入はここをクリック | |
25 | B103 | 購入はここをクリック | |
26 | T024 | 購入はここをクリック | |
27 | T016 | 購入はここをクリック | |
28 | L024 | 購入はここをクリック | |
29 | X064 | 購入はここをクリック | |
30 | L035 | 購入はここをクリック | |
31 | X044 | 購入はここをクリック | |
32 | F057 | 購入はここをクリック | |
33 | T033 | 購入はここをクリック | |
34 | PS11 | 購入はここをクリック | |
35 | P021 | 購入はここをクリック | |
36 | P011 | 購入はここをクリック | |
37 | Z005 | 購入はここをクリック | |
38 | Z010 | 購入はここをクリック | |
39 | Z101 | 購入はここをクリック | |
40 | Z1S1 | 購入はここをクリック | |
41 | A024 | 購入はここをクリック | |
42 | A013 | 購入はここをクリック | |
43 | A050 | 購入はここをクリック | |
44 | A05S | 購入はここをクリック | |
45 | A08S | 購入はここをクリック | |
46 | A060 | 購入はここをクリック | |
47 | A03S | 購入はここをクリック | |
48 | Z121 | 購入はここをクリック | |
49 | X275 | 購入はここをクリック | |
50 | X073 | 購入はここをクリック | |
51 | Y001 | 購入はここをクリック | |
52 | Z102 | 購入はここをクリック | |
53 | P012 | 購入はここをクリック | |
54 | P011 | 購入はここをクリック | |
55 | wheel | 購入はここをクリック | |
56 | universal wheel | 購入はここをクリック | |
57 | cross screwdriver | 購入はここをクリック |
DownLoad Url osoyoo.com