VNG bot battle

Dependencies:   BLE_API mbed nRF51822

Committer:
bintech91
Date:
Mon Sep 05 19:55:23 2016 +0000
Revision:
0:122d7bf3bbf0
update

Who changed what in which revision?

UserRevisionLine numberNew contents of line
bintech91 0:122d7bf3bbf0 1 /*
bintech91 0:122d7bf3bbf0 2 * main.cpp
bintech91 0:122d7bf3bbf0 3 *
bintech91 0:122d7bf3bbf0 4 * Created on: Aug 23, 2016
bintech91 0:122d7bf3bbf0 5 * Author: tanpt
bintech91 0:122d7bf3bbf0 6 */
bintech91 0:122d7bf3bbf0 7
bintech91 0:122d7bf3bbf0 8 #include "common.h"
bintech91 0:122d7bf3bbf0 9 #include "MotorController.h"
bintech91 0:122d7bf3bbf0 10 #include "SensorController.h"
bintech91 0:122d7bf3bbf0 11
bintech91 0:122d7bf3bbf0 12 //#include "ble/BLE.h"
bintech91 0:122d7bf3bbf0 13 //#include "ble/services/iBeacon.h"
bintech91 0:122d7bf3bbf0 14 //#include "ble/services/UARTService.h"
bintech91 0:122d7bf3bbf0 15
bintech91 0:122d7bf3bbf0 16 MotorController motorController;
bintech91 0:122d7bf3bbf0 17 SensorController sensors;
bintech91 0:122d7bf3bbf0 18
bintech91 0:122d7bf3bbf0 19 //// Sensor
bintech91 0:122d7bf3bbf0 20 #define NOISE 5
bintech91 0:122d7bf3bbf0 21 //#define DEBUG
bintech91 0:122d7bf3bbf0 22
bintech91 0:122d7bf3bbf0 23 #ifdef DEBUG
bintech91 0:122d7bf3bbf0 24 Serial pc(p10, p11);
bintech91 0:122d7bf3bbf0 25 #endif
bintech91 0:122d7bf3bbf0 26 Ticker ticker;
bintech91 0:122d7bf3bbf0 27
bintech91 0:122d7bf3bbf0 28 #define VREF 3300.0 //mV
bintech91 0:122d7bf3bbf0 29
bintech91 0:122d7bf3bbf0 30 //////////////////////////////////////////////////////////////////////////////////////////////////
bintech91 0:122d7bf3bbf0 31 //////////////////////////////////////////////////////////////////////////////////////////////////
bintech91 0:122d7bf3bbf0 32 //////////////////////////////////////////////////////////////////////////////////////////////////
bintech91 0:122d7bf3bbf0 33
bintech91 0:122d7bf3bbf0 34 //////////////////////////////////////////////////////////////////////////////////////////////////
bintech91 0:122d7bf3bbf0 35 void periodicCallback(void) {
bintech91 0:122d7bf3bbf0 36
bintech91 0:122d7bf3bbf0 37 }
bintech91 0:122d7bf3bbf0 38
bintech91 0:122d7bf3bbf0 39 //////////////////////////////////////////////////////////////////////////////////////////////////
bintech91 0:122d7bf3bbf0 40 //////////////////////////////////////////////////////////////////////////////////////////////////
bintech91 0:122d7bf3bbf0 41 //////////////////////////////////////////////////////////////////////////////////////////////////
bintech91 0:122d7bf3bbf0 42 int main(void) {
bintech91 0:122d7bf3bbf0 43 wait(0.1);
bintech91 0:122d7bf3bbf0 44 //Init Hardware
bintech91 0:122d7bf3bbf0 45
bintech91 0:122d7bf3bbf0 46 sensors.init();
bintech91 0:122d7bf3bbf0 47
bintech91 0:122d7bf3bbf0 48 //Init interupt Timer
bintech91 0:122d7bf3bbf0 49 ticker.attach(periodicCallback, 0.00015);
bintech91 0:122d7bf3bbf0 50 wait(0.5);
bintech91 0:122d7bf3bbf0 51
bintech91 0:122d7bf3bbf0 52 while (true) {
bintech91 0:122d7bf3bbf0 53 uint8_t sen_in = sensors.distanceSensorRight();
bintech91 0:122d7bf3bbf0 54 if ((sen_in > 0) && (sen_in <= 40)) {
bintech91 0:122d7bf3bbf0 55 motorController.moveForward(500);
bintech91 0:122d7bf3bbf0 56 wait(1);
bintech91 0:122d7bf3bbf0 57 } else {
bintech91 0:122d7bf3bbf0 58 motorController.moveForward(500);
bintech91 0:122d7bf3bbf0 59 wait(1);
bintech91 0:122d7bf3bbf0 60 }
bintech91 0:122d7bf3bbf0 61 }
bintech91 0:122d7bf3bbf0 62
bintech91 0:122d7bf3bbf0 63 // while (true) {
bintech91 0:122d7bf3bbf0 64 // //rotator_right(20);
bintech91 0:122d7bf3bbf0 65 // uint8_t sen_in = sensors.distanceSensor();
bintech91 0:122d7bf3bbf0 66 // if ((sensors.frontLeftSensor() == SensorController::SENSOR_OFF)
bintech91 0:122d7bf3bbf0 67 // && (sensors.frontRightSensor() == SensorController::SENSOR_OFF)) {
bintech91 0:122d7bf3bbf0 68 // motorController.moveBackward(1000);
bintech91 0:122d7bf3bbf0 69 // wait(1);
bintech91 0:122d7bf3bbf0 70 // } else if (sensors.frontLeftSensor() == SensorController::SENSOR_OFF) {
bintech91 0:122d7bf3bbf0 71 // motorController.moveBackRight(1000);
bintech91 0:122d7bf3bbf0 72 // wait(1);
bintech91 0:122d7bf3bbf0 73 // } else if (sensors.frontRightSensor() == SensorController::SENSOR_OFF) {
bintech91 0:122d7bf3bbf0 74 // motorController.moveBackLeft(1000);
bintech91 0:122d7bf3bbf0 75 // wait(1);
bintech91 0:122d7bf3bbf0 76 // } else if (sensors.backSensor() == SensorController::SENSOR_OFF) {
bintech91 0:122d7bf3bbf0 77 // motorController.moveForward(1000);
bintech91 0:122d7bf3bbf0 78 // wait_ms(1);
bintech91 0:122d7bf3bbf0 79 // } else {
bintech91 0:122d7bf3bbf0 80 // if ((sen_in > 0) && (sen_in <= 80)) {
bintech91 0:122d7bf3bbf0 81 // motorController.moveForward(1000);
bintech91 0:122d7bf3bbf0 82 // wait_ms(200);
bintech91 0:122d7bf3bbf0 83 // } else {
bintech91 0:122d7bf3bbf0 84 // motorController.turnRight(1000);
bintech91 0:122d7bf3bbf0 85 // wait_us(200);
bintech91 0:122d7bf3bbf0 86 // }
bintech91 0:122d7bf3bbf0 87 // }
bintech91 0:122d7bf3bbf0 88 // }
bintech91 0:122d7bf3bbf0 89
bintech91 0:122d7bf3bbf0 90 }