ajout de l'imu pour nucleo

Dependencies:   mbed HC_SR04_Ultrasonic_Library IMU_FIP_nucleo Nucleo_Sensor_Shield VL6180x_lib

Files at this revision

API Documentation at this revision

Comitter:
julientiron
Date:
Tue Jul 07 20:37:40 2015 +0000
Parent:
6:81882a8c22e5
Child:
15:4d1ac5094455
Commit message:
Robot with semi-autonomous behavior (basic obstacle avoidance)

Changed in this revision

Actionneurs/Easyspin.lib Show annotated file Show diff for this revision Revisions of this file
Capteurs/VL6180x.lib Show annotated file Show diff for this revision Revisions of this file
Nucleo_BLE_BlueNRG.lib Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Actionneurs/Easyspin.lib	Tue Jul 07 20:37:40 2015 +0000
@@ -0,0 +1,1 @@
+Actionneurs/Easyspin#cd92971e2d17
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Capteurs/VL6180x.lib	Tue Jul 07 20:37:40 2015 +0000
@@ -0,0 +1,1 @@
+Capteurs/VL6180x#84fb42fedc5b
--- a/Nucleo_BLE_BlueNRG.lib	Fri Apr 10 11:38:18 2015 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-http://developer.mbed.org/teams/ST-Americas-mbed-Team/code/Nucleo_BLE_BlueNRG/#905715088a9b
--- a/main.cpp	Fri Apr 10 11:38:18 2015 +0000
+++ b/main.cpp	Tue Jul 07 20:37:40 2015 +0000
@@ -1,23 +1,31 @@
 #include "mbed.h"
 #include "ultrasonic.h"
+#include "VL6180x.h"
+#include "easyspin.h"
 
- void dist(int distance)
-{
-    //code exécuté lorsque la distance change
-    printf("Distance changed to %dmm\r\n", distance);
-}
+#define VL6180X_ADDRESS 0x29
 
-ultrasonic mu(D8, D9, .1, 1, &dist);    //Trigger: pin D8; Echo: pin D9
-                                        //Updates toutes les 0.1 secondes et timeout après 1 seconde
-                                        //Appel de dist lorsque la distance change
+Easyspin myEasyspin;
+DigitalInOut sdaDummy(D14);
+DigitalInOut sclDummy(D15);
+
+VL6180xIdentification identification;
+// mbed uses 8bit addresses shift address by 1 bit left
+VL6180x sensor(D14, D15, VL6180X_ADDRESS<<1);
 
 int main()
 {
-    mu.startUpdates();//démarre la mesure
-    while(1)
-    {
-        //Do something else here
-        mu.checkDistance();     //call checkDistance() as much as possible, as this is where
-                                //the class checks if dist needs to be called.
+    sdaDummy.mode(PullUp);
+    sclDummy.mode(PullUp);
+    myEasyspin.Begin(2);
+    while(1) {
+        if(sensor.getDistance()<255) {
+            myEasyspin.Run(0, FORWARD);
+            myEasyspin.Run(1, FORWARD);
+        } else {
+            myEasyspin.Run(0, FORWARD);
+            myEasyspin.Run(1, BACKWARD);
+        }
+        wait_ms(200);
     }
 }