SmartWheels self-driving race car. Designed for NXP Cup. Uses FRDM-KL25Z, area-scan camera, and simple image processing to detect and navigate any NXP spec track.

Dependencies:   TSI USBDevice mbed-dev

Fork of SmartWheels by haofan Zheng

Revision:
4:25e028102625
Parent:
3:c8867972ffc7
Child:
6:0682e1c90119
--- a/main.cpp	Wed Feb 01 00:35:48 2017 +0000
+++ b/main.cpp	Thu Feb 02 23:30:41 2017 +0000
@@ -1,36 +1,34 @@
 #include "mbed.h"
-#include "Camera.h"
-#include "USBHID.h"
- 
-//We declare a USBHID device. Input out output reports have a length of 8 bytes
-USBHID hid(8, 8);
+
+//#include "Motor.h"
  
-//This report will contain data to be sent
-HID_REPORT send_report;
-HID_REPORT recv_report;
- 
-Serial pc(USBTX, USBRX);
- 
-int main(void) {
-    Camera cam;
-    send_report.length = 8;
  
+PwmOut servo(PTE20);
+
+//DigitalOut DIR_L(PTA13, 1);
+//DigitalOut DIR_R(PTC9, 1);
+
+//PwmOut PWM_L(PTD0);
+//PwmOut PWM_R(PTD5);
+
+int main(void) {
+    servo.period(0.020);
+    //Motor motor;
+ 
+    //PWM_L.period_us(60);
+    //PWM_R.period_us(60);
+    
     while (1) {
-        //Fill the report
-        for (int i = 0; i < send_report.length; i++) {
-            send_report.data[i] = rand() & 0xff;
-        }
-            
-        //Send the report
-        hid.send(&send_report);
+        //motor.setLeftSpeed(20);
+        //motor.setRightSpeed(20);
+        //PWM_L.pulsewidth_us(60);
+        //PWM_R.pulsewidth_us(60);
+        //servo.pulsewidth(0.0015);
         
-        //try to read a msg
-        if(hid.readNB(&recv_report)) {
-            pc.printf("recv: ");
-            for(int i = 0; i < recv_report.length; i++) {
-                pc.printf("%d ", recv_report.data[i]);
-            }
-            pc.printf("\r\n");
+        for(float offset=0.0; offset<0.001; offset+=0.0001) 
+        {
+            servo.pulsewidth(0.001 + offset); // servo position determined by a pulsewidth between 1-2ms
+            wait(0.25);
         }
         
         wait(0.1);