ライントレース基本プログラム フォトリフレクタによる制御量と ジャイロセンサによる制御量をLCDに表示。

Dependencies:   mbed i2c_gyro_mpu_6050 AQM0802 TB6612FNG

Revision:
0:7767f80cd27b
Child:
1:b71b5722e3a1
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Sat Jul 20 13:54:51 2019 +0000
@@ -0,0 +1,35 @@
+//モータドライバTB6612動作検証用のサンプルプログラム
+//TB6612クラスを使用して、モータA,モータBのオブジェクトを生成する。
+//生成時のピン割当はマイコンピン割当通りに配置すること。(サンプルは適当に割りつけている。)
+#include "mbed.h"
+#include "TB6612.h"
+AnalogIn    ain(A0);            //モータ速度制御用アナログピン
+TB6612      motor_a(D2,D3,D4);  //モータA制御用(pwma,ain1,ain2)
+TB6612      motor_b(D5,D6,D7);  //モータB制御用(pwmb,bin1,bin2)
+Serial      pc(USBTX,USBRX);    //USBシリアル通信用
+
+int main() {
+    float   motor_speed;        //モータスピード情報格納用
+    char    input_data;         //キーボード入力情報格納用
+    while(1) {
+        input_data=pc.getc();   //キーボード入力情報取得
+        motor_speed=ain.read(); //モータスピード情報取得
+        switch(input_data){
+            case    '1':    motor_a=motor_speed;    //モータA正転
+                            break;    
+            case    '2':    motor_a=0;              //モータAブレーキ
+                            break;
+            case    '3':    motor_a=-motor_speed;   //モータA逆転
+                            break;                                        
+            case    '7':    motor_b=motor_speed;    //モータB正転
+                            break;    
+            case    '8':    motor_b=0;              //モータBブレーキ
+                            break;
+            case    '9':    motor_b=-motor_speed;   //モータB正転
+                            break;              
+            default    :    motor_a=0;
+                            motor_b=0;              //両方モータブレーキ
+                            break;        
+        }
+    }
+}