このプロジェクトでは、2つのフォトレジスターセンサーを使用して、シンプルなライトフォロワーロボットカーを設計します。懐中電灯でフォトレジスターモジュールを照らすと、ロボットカーが光に従って前進したり、光ったり、左折したりします。
このプロジェクトを完成させるために、以下の部品をご用意ください。
注意:
1.ビルディングブロックの色は、実際の製品に従うものとし、使用には影響しません。
2. すべてのosoyoo製品はarduinoと完全に互換性のあるサードパーティーボードです。
ブロックを使ってロボットを組み立てる前に、OSOYOO Magic I/Oシールドの下にOSOYOO Arduino用ベーシックボードを以下のように取り付けてください(注意:I/Oシールドのピンをベーシックボードのポートに合わせてから、シールドをボードにしっかりと押し付けてください)。
このロボットカーを組み立てるには、組み立て手順に従ってください。明確な組み立て手順のPDFを入手したい場合は、https://osoyoo.com/picture/Building_Robot_Car/lesson3/LESSON3.pdf からダウンロードしてください。
注意:レッスン1でロボットカーを組み立てた方は、このPDFのステップ35まで読み飛ばしてください。
lesson1のようにモーターと 9V バッテリー ケースを接続してください。次に、以下のように 3 ピン PNP ケーブルを使用して、左側のフォトレジスタを Magic I/O シールドの A1 に接続し、右側を A0 ポートに接続します (注意してください: ENA/ENB/ には 6 つのジャンパ キャップがあります)。 IN1/IN2/IN3/IN4):
注意:このキットではプログラミングツールとしてmBlockを使用します。mBlockについてもっと知りたい方は、https://osoyoo.com/ja/2021/12/01/preparation-before-class-1 へどうぞ~
Step 1) mBlock PC バージョンを https://mblock.makeblock.com/en-us/download/ からダウンロードし、コンピュータの 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: Controlをクリックし、Foreverブロックをプログラミングエリアにドラッグ&ドロップします:
Step7: Variableをクリックし、Make a Variableをクリックします。新しいダイアログがポップアップしますので、left_speedと書き、OKをクリックします;
Step 8: Variableをクリックし、left_speedをブロックにドラッグ・アンド・ドロップします:
Step 9:Operationをクリックし、0-0ブロックをプログラミングエリアにドラッグ&ドロップします。
Step 10: Sensor をクリックし、Read Light Sensor Analog Pin ブロックをプログラミングエリアにドラッグ&ドロップします。
Step 11:Controlをクリックし、if thenブロックをforeverループの中に追加します:
Step 12: Operation をクリックし、0<0 ブロックをプログラミングエリアにドラッグ&ドロップします。
Step 13: Variableをクリックし、left_speedブロックをプログラミングエリアにドラッグ&ドロップします:
Step 14: Variableをクリックし、left_speedをプログラミングエリアにドラッグ&ドロップします:
Step 15: set left_speed to block を右クリックし、これらのブロックを後ろにドラッグ&ドロップして、left_speed を right_speed に変更します:
Step 16:もう一度Actionをクリックし、Forward Left Speed 100 Right Speed 100のブロックを次のようにプログラミングエリアにドラッグ&ドロップする:
Step 17:Variableをクリックし、left_speedブロックとright_speedブロックをプログラミングエリアにドラッグ&ドロップします:
これでブロックのプログラミングは完了です。 最終的なブロックは以下のようになります:
これですべてのブロックのプログラミングが完了しました!上の図から、ロジックはとても簡単です:
Arduinoが起動すると、コンピュータはデッドループに入り、ボタンの状態をチェックします。ボタンが押されていないときは、サーボは元の位置(私のサーボでは0度)で停止し、エレベーターは地面にあります。ボタンが押されると、サーボアームは0度の位置から180度の位置まで回転し、エレベーターは空中に持ち上がります。
1) まずOSOYOOボードとPCをUSBケーブルで接続します。mBlockソフトウェアの下部にある接続ボタンをクリックすると、USBウィンドウがポップアップ表示されます、
2) 接続可能なデバイスをすべて表示するチェックボックスを選択します、
3) デバイスドロップダウンメニューからポートを選択します。
4) 接続ボタンをクリックし、PCをOSOYOOベーシックボードに接続します。
5)PCとOSOYOOボードが接続されたら、ソフトの下部にあるアップロードボタンをクリックします:
前回のLesson 1とLesson 2では、基本的な制御とアクションのプログラムブロックを学びました。このレッスンでは、いくつかの新しいプログラムブロックを学びます:
i)センサカテゴリからアナログピンから光センサを読み込むブロック
このブロックは楕円形のブロックで、0から255までの数値を返します。右側の0という数字は、A0ピン(左の光センサー)から光の値を読み取ることを意味します。
ii)演算子カテゴリのマイナス計算ブロック
上記のブロックは 250 から A0 センサーの値を引いた結果を計算する。
iii)Variable Block と Set Variable to Block in Variable Category:
Variable Block は、計算結果を保存して後で使用するために定義されることが多い。
上のブロックでは、変数ブロック “left_speed “を定義し、その値を250からA0光センサーの戻り値を引いた値に設定した。ライトの値が高いほどleft_speedは小さくなり、車は左折する。
以下、プログラムブロックの説明です:
フォトレジスターの動作原理は、フォトレジスターが検出する光が強ければ強いほど、フォトレジスターの読み取り値は小さくなります。フォトレジスターの読み取り値は0以上になります。
プログラムでは、left_speedの変数に左モータの速度、right_speedの変数に右モータの速度を設定している。モータの速度は0〜255の間である。
left_speedの変数は250からleft Photoresistor(A0)の読み取り値を引いた値に等しく、right_speedの変数は250からright Photoresistor(A1)の読み取り値を引いた値に等しい。変数が0より小さい場合、プログラムはこれらの変数を0に等しく設定する。
左センサー(A0)の読み取り値が250より小さい場合、左モーターは前進します;
左センサー(A0)の読み取り値が250以上の場合、左モーターは停止する;
右センサー(A1)の読み取り値が250より小さい場合、右モーターは前進します;
右センサー(A1)の読み取り値が250以上の場合、右モーターは停止します;
両方のセンサーの読み取り値が250より小さい場合、両方のモーターが前進します。
followlight.inoスケッチコードをArduinoにアップロードする。車の電源を入れる。
フロントフォトレジスターセンサーを懐中電灯で照らす。すると、車が懐中電灯を追って動き出す。
もし、懐中電灯で照らしても車が動かない場合は、以下のように調整してください。写真のようにアジャスターを調整してください。通常の場合、懐中電灯を照らすと黄色いランプと青いランプが同時に点灯します。
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