ライントレースとうおーるぼっとチャレンジのコードです。 SW1で操作モードとライントレースモードを切り替えます。 操作モードの時にRCBControllerのSTARTボタンを押すとチャレンジが開始します。 チャレンジの時はiPhoneを傾けてハンドリングする操作しか効かなくなっています。

Dependencies:   mbed

Files at this revision

API Documentation at this revision

Comitter:
sibu2
Date:
Tue Nov 18 04:28:02 2014 +0000
Parent:
0:76dfa9657d9d
Commit message:
adjust wheel rotate direction, wheel encoder signals

Changed in this revision

main.cpp Show annotated file Show diff for this revision Revisions of this file
mbed.bld Show annotated file Show diff for this revision Revisions of this file
--- a/main.cpp	Wed Nov 12 02:40:34 2014 +0000
+++ b/main.cpp	Tue Nov 18 04:28:02 2014 +0000
@@ -6,7 +6,9 @@
 #define DBG 0
 
 BLEDevice  ble;
+#if DBG
 Serial  pc(USBTX, USBRX);
+#endif
 /* LEDs for indication: */
 DigitalOut  ModeLed(P0_19);
 DigitalOut  ConnectStateLed(P0_18);
@@ -19,7 +21,7 @@
 AnalogIn fsen4(P0_5);
 #if 1
 TB6612 left(P0_29,P0_23,P0_24);
-TB6612 right(P0_28,P0_0,P0_30);
+TB6612 right(P0_28,P0_30,P0_0);
 #else
 TB6612 left(P0_29,P0_24,P0_23);
 TB6612 right(P0_28,P0_0,P0_30);
@@ -29,8 +31,10 @@
 DigitalIn   sw1(P0_16);
 DigitalIn   sw2(P0_17);
 
-DigitalIn pin1(P0_8);
-DigitalIn pin2(P0_10);
+DigitalIn encl1(P0_6);
+DigitalIn encl2(P0_7);
+DigitalIn encr1(P0_8);
+DigitalIn encr2(P0_10);
 
 
 int base_fsen[4];
@@ -49,7 +53,7 @@
 GattCharacteristic  ControllerChar (RCBController_Characteristic_uuid,RCBControllerPayload,10, 10,
                                 GattCharacteristic::BLE_GATT_CHAR_PROPERTIES_WRITE | 
                                 GattCharacteristic::BLE_GATT_CHAR_PROPERTIES_WRITE_WITHOUT_RESPONSE);
-static uint8_t _bValue = 0x00;
+//static uint8_t _bValue = 0x00;
 static uint8_t _mValue[10] = {0,};
 GattCharacteristic b_Char(RCBController_b_Characteristic_uuid, _mValue, sizeof(_mValue), sizeof(_mValue),
                        GattCharacteristic::BLE_GATT_CHAR_PROPERTIES_READ | GattCharacteristic::BLE_GATT_CHAR_PROPERTIES_NOTIFY);
@@ -69,6 +73,9 @@
 
 void onDisconnected(Gap::Handle_t handle, Gap::DisconnectionReason_t reason)
 {
+    left = 0;
+    right = 0;
+
     ble.startAdvertising();
     ConnectStateLed = 1;
 #if DBG
@@ -250,8 +257,9 @@
     {
         base_fsen[i] =  base_fsen[i] / 10;
     }
+#if DBG
     pc.printf("[0]:%05d[1]:%05d[2]:%05d[3]:%05d\n\r",base_fsen[0],base_fsen[1],base_fsen[2],base_fsen[3]);
-
+#endif
 }
 
 int get_line(int num)
@@ -287,6 +295,11 @@
             line |= get_line(2) ? 4 : 0;
             line |= get_line(3) ? 8 : 0;
 #endif
+
+#if DBG
+        pc.printf("line=%02x %04x %04x %04x %04x\n\r",line,base_fsen[0],base_fsen[1],base_fsen[2],base_fsen[3]);
+#endif
+#if 1
         switch(line)
         {
             case 1:                 // ○○○●
@@ -322,12 +335,15 @@
                 right = 1.0;
                 break;
         }
+#endif
     }
     ModeLed = 1;
     left = 0.0;
     right = 0.0;
     wait(1);
 }
+
+#if 0
 int counter1 = 0;
 void p1_rise()
 {
@@ -340,6 +356,8 @@
         counter1--;
     }
 }
+#endif
+
 /**************************************************************************/
 /*!
     @brief  Program entry point
@@ -349,7 +367,12 @@
 {
     sw1.mode(PullUp);
     sw2.mode(PullUp);
-    
+
+    encl1.mode(PullNone);
+    encl2.mode(PullNone);
+    encr1.mode(PullNone);
+    encr2.mode(PullNone);
+
     ModeLed = 1;
     ConnectStateLed = 1;
 #if DBG
@@ -361,7 +384,7 @@
     
     if(sw2 == 0)
     {
-        pin1.mode(PullDown);
+//        pin1.mode(PullDown);
 //        pin1.rise(&p1_rise);
         while(1)
         {
--- a/mbed.bld	Wed Nov 12 02:40:34 2014 +0000
+++ b/mbed.bld	Tue Nov 18 04:28:02 2014 +0000
@@ -1,1 +1,1 @@
-http://mbed.org/users/mbed_official/code/mbed/builds/552587b429a1
\ No newline at end of file
+http://mbed.org/users/mbed_official/code/mbed/builds/031413cf7a89
\ No newline at end of file