このレッスンでは、2WDロボットカースターターキットを使用して簡単なリモートコントロールカーを作ります。車の取り付けが完了すると、赤外線リモコンを使用して前進、後退、停止、左折、右折を含む車の動作を制御します。
レッスン1に従ってロボットカーの基本フレームワークを取り付けます。レッスン1の取り付けをすでに完了している場合は、そのままにしておき、取り付けたモジュールをすべて取り外す必要はありません。
このモジュールの詳細情報については以下を参照してください:
https://osoyoo.com/ja/?p=19435
ステップ 1: 最新のIDEをインストール(IDEバージョン1.1.16以降をお持ちの場合は、このステップをスキップしてください)
https://www.arduino.cc/en/Main/Software?setlang=enからIDEをダウンロードし、ソフトウェアをインストールしてください。
ステップ 2: IDEにIRremoteライブラリをインストール(すでにIRremoteライブラリをインストールしている場合は、このステップをスキップしてください)
https://downloads.arduino.cc/libraries/github.com/z3t0/IRremote-4.3.1.zipからIRremoteライブラリをダウンロードし、IDEにライブラリをインポートしてください(IDEを開く→スケッチ→ライブラリをインクルード→.Zipライブラリを追加)
ポップアップウィンドウで、ダウンロードフォルダに移動し、先ほどダウンロードしたIRremote.zipファイルを選択してください。
注意!!
ステップ 3: https://osoyoo.com/driver/2wd/lesson2.zipをダウンロードして解凍すると、lesson2という名前のフォルダが表示されます。
ステップ 4: USBケーブルでUNO R3ボードをPCに接続し、Arduino IDEを開き、プロジェクトに対応するボードとポートを選択してください
ステップ 5: Arduino IDE: ファイル → 開く → lesson2フォルダ内の「lesson2.ino」コードを選択し、コードをArduinoにロードして、スケッチをボードにアップロードしてください。
以下のコード行はIRコントローラーの∧∨のIRコードを表しており、各ボタンのIRコードはIRサンプルコードから取得できます:
赤外線信号をデコードし、受信した赤外線信号を事前に定義された値と比較し、等しい場合は対応する値をDrive_Numに割り当てます
void do_IR_Tick() { if(IR.decode(&IRresults)) { if(IRresults.value==IR_ADVANCE) { Drive_Num=GO_ADVANCE; } else if(IRresults.value==IR_RIGHT) { Drive_Num=GO_RIGHT; } else if(IRresults.value==IR_LEFT) { Drive_Num=GO_LEFT; } else if(IRresults.value==IR_BACK) { Drive_Num=GO_BACK; } IRresults.value = 0; IR.resume(); } }
このコードは赤外線制御コードの核となる部分であり、対応するキーを押すと車は対応する動作を実行し、押されたキーがプログラムで定義されていない場合、車は応答しません。
void do_Drive_Tick() switch (Drive_Num) { case GO_ADVANCE:go_Advance();JogFlag = true;JogTimeCnt = 1;JogTime=millis();break;//GO_ADVANCEコードが検出された場合、前進します case GO_LEFT: go_Left();JogFlag = true;JogTimeCnt = 1;JogTime=millis();break;//GO_LEFTコードが検出された場合、左折します case GO_RIGHT: go_Right();JogFlag = true;JogTimeCnt = 1;JogTime=millis();break;//GO_RIGHTコードが検出された場合、右折します case GO_BACK: go_Back();JogFlag = true;JogTimeCnt = 1;JogTime=millis();break;//GO_BACKコードが検出された場合、後退します case STOP_STOP: stop_Stop();JogTime = 0;break;//停止 default:break; } Drive_Num=DEF; //現在の移動モードを200ミリ秒間維持します if(millis()-JogTime>=200) { JogTime=millis(); if(JogFlag == true) { stopFlag = false; if(JogTimeCnt <= 0) { JogFlag = false; stopFlag = true; } JogTimeCnt--; } if(stopFlag == true) { JogTimeCnt=0; stop_Stop(); } }
OSOYOO UNO R3ボードをPCから切断し、完全充電された18650バッテリー2本をバッテリーボックスに挿入してください(取扱説明書を確認し、極性の方向が正しいことを確認してください)。バッテリーボックスの電源スイッチを開いてください。
IRコントローラーキーを押して車の動作を制御:
▲: 前進
▼: 後退
◄: 左折
►: 右折
車が動かない場合は、以下を確認してください:
上記3点をすべて確認してもIR制御が機能しない場合、理由はIRリモコンがサンプルコードと一致しない異なるボタンコードを送信している可能性があります。この問題を解決するには、以下の手順に従ってください:
ステップA) 以下のリンクからIRリモコンの各ボタンのIRコードを取得してください。
https://osoyoo.com/driver/2wd/IR_print_commands_v4.zip
ファイルを解凍し、上記のスケッチをボードにアップロードして、右上隅のシリアルモニターを開いてください。
リモコンの◄ ► ▲ ▼ 「OK」ボタンを押すと、以下のようなIRコードが表示されます:
コントロールボタン◄ ► ▲ ▼「OK」ボタンのIRコードを書き留めてください,
No. | 写真 | デバイス | 数量 | データシート | 購入リンク |
1 | ![]() |
OSOYOO基本ボード | 1 | ここをクリック | 購入はこちら |
2 | ![]() |
OSOYOO UART Wi-FiシールドV1.3 | 1 | ここをクリック | 購入はこちら |
3 | ![]() |
OSOYOO model X モータードライバーモジュール | 1 | ここをクリック | 購入はこちら |
4 | ![]() |
赤外線受信機 | 1 | ここをクリック | 購入はこちら |
5 | ![]() |
赤外線リモコン | 1 | ここをクリック | 購入はこちら |
6 | ![]() |
トレーキングセンサーモジュール | 2 | ここをクリック | 購入はこちら |
7 | ![]() |
HCモジュール | 1 | ここをクリック | 購入はこちら |
8 | ![]() |
ギアモーター | 2 | 購入はこちら | |
9 | ![]() |
ネジ付き金属モーターホルダー | 2 | 購入はこちら | |
10 | ![]() |
ホイール | 2 | 購入はこちら | |
11 | ![]() |
万能ホイール | 1 | ||
12 | ![]() |
6ピンメス-オスジャンパーワイヤー | 1 | 購入はこちら | |
13 | ![]() |
OSOYOO 2ピンPnPケーブル 20cm | 1 | 購入はこちら | |
14 | ![]() |
20ピンジャンパーワイヤー メス-オス 15cm | 1 | 購入はこちら | |
15 | ![]() |
フィリップススクリュードライバー | 1 | 購入はこちら | |
16 | ![]() |
六角スクリュードライバー | 1 | 購入はこちら | |
17 | ![]() |
18650バッテリーボックス | 1 | 購入はこちら | |
18 | ![]() |
18650バッテリー用充電器 | 1 | 購入はこちら | |
19 | ![]() |
18650バッテリー 1組 | 1 | 購入はこちら | |
20 | ![]() |
M3*5 六角ネジ | 10 | ||
21 | ![]() |
M3*10 ネジ | 4 | ||
22 | ![]() |
M3ナット | 4 | ||
23 | ![]() |
銅スペーサー | 4 | ||
24 | ![]() |
ホイール用ネジ | 2 | ||
25 | ![]() |
M3プラスチックネジ | 15 | ||
26 | ![]() |
M3プラスチックスペーサー | 15 | ||
27 | ![]() |
M3プラスチックナット | 15 |
DownLoad Url osoyoo.com
You must be logged in to post a comment.
Can sketches be combined? Can the IR control be used to activate the Robot movement from lesson 1, for example? Or, can the IR remote be used at the same time as the line follow?
Can an obstacle avoidance module be added to the 2WD Robot Kit?
Thanks
the code on the cd does not work …. IRremote.H: no such file or directory
please help!
please read the software installation STEP 2, https://osoyoo.com/2017/09/21/2wd-robot-car-infrared-remote/#4
You need install the IRremote library first.
I’m having difficulty with this lesson. I have the library imported and code loaded with no errors. When I try the IR remote, I see the sensor blinking showing it is receiving the signal, but the car only sometimes goes and only for a split second. The batteries are new and fully charged and the IR Remote is close and unhindered. The code in lesson one worked perfectly, so that eliminates the wiring/boards with the exception of the IR receiver.
Any thoughts? Thank you!
hi, TheMuffinMan,
It seems that your IR receiver did not send the data to Arduino. I believe the wire from IR receiver S pin to extension S4 pin is loose or broken. Please change a new wire and try again. if it does not work, then let me know I will tell you how to make further test.
thanks
admin
Hello, and thanks for the quick response.
I went ahead and replaced all the wiring, assuring that they were all were snug.
The issue still persists though. Any suggestions would be much appreciated.
Thank you,
TheMuffinMan
Ok. Please keep all your current wire connection (make sure IR receiver S pin is connected to D4) and then download an IR test sketch from https://osoyoo.com/driver/IRrecvDemo.ino
Above sketch will tell you of the IR code of each key on a remote controller. After upload above sketch into Arduino, Open the serial monitor, then press ∧ V > < (the direction arrow keys) in the remote, it will show result in following sequence.
00FF18E7
00FF4AB5
00FF5AA5
00FF10EF
They are the IR codes of ∧ V > < four keys.
Please let me know :
1)Does the serial monitor show any message ?
2)if 1) answer is yes, then what is the IR code of your IR remote ∧ V > < four keys.
I will tell you solution after I got your answer.
Thank you for getting back with me. I did output in the serial monitor. Here’s the code output:
∧ = 3D9AE3F7
V = 1BC0157B
> = 449E79F
< = 8C22657B
now I understand what is your problem. Your remote sends different IR code to our receiver. Ok, that is easy to fix.
Please open your lesson2.ino file, you can see line 10,11,12,13 as follows:
#define IR_ADVANCE 0x00FF18E7 //code from IR controller “▲” button
#define IR_BACK 0x00FF4AB5 //code from IR controller “▼” button
#define IR_RIGHT 0x00FF5AA5 //code from IR controller “>” button
#define IR_LEFT 0x00FF10EF //code from IR controller “<" button
Change above code to follows which match your IR code :
#define IR_ADVANCE 0x3D9AE3F7 //code from IR controller “▲” button
#define IR_BACK 0x1BC0157B //code from IR controller “▼” button
#define IR_RIGHT 0x449E79F //code from IR controller “>” button
#define IR_LEFT 0x8C22657B //code from IR controller “<" button
Also please double check the key > , this key code should be 8 digits , but you only give me 7 digits. I double you might have typed wrong code. If I am correct, please put change line 12 with correct code.
Let me know if above code works.
I just assembled this kit and I’m trying lesson 2 (with the IR). The code itself seems to want to use pin 12 for the IR receiver and the code to simply print the codes received wants to use pin 2
I think these are for the line following sensor – no ? the IR is connected to Pin 10
Nothing works – not the original code or if I change your debugging code (to print just the codes) to use pin 10
any suggestions ?
hi, mattganis,
You are right, the code has some error, you need to change the receiver port to 10 instead of 12 in our code line 12.
If it still not working , then please read following link:
https://osoyoo.com/2017/09/21/2wd-robot-car-infrared-remote/#tbst
It will ask you to run a testing program irdemo.ino , open your Serial monitor and run irdemo.ino file, press ^ key in your IR controller, let us know if you can see any response, if not , please email to [email protected] and we will give you solution.
i followed instructions but when i reverse the car the right wheel doesnt turn, it works fine otherwise
Can your car run lesson 1 very well? or only in lesson 2 reverse movement has problem?