Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
robot.cpp
00001 #include "robot.h" 00002 #include "bot08_cal.h" 00003 00004 /**Note: Initialize ALL UNUSED ANALOG IN pins as digital out to reduce noise on analog reads*////// 00005 00006 DigitalOut led(LED_PIN); 00007 00008 HC05 bt(TX_BT,RX_BT,EN_BT); 00009 00010 AnalogIn irL(IR_L); 00011 AnalogIn irC(IR_C); 00012 AnalogIn irR(IR_R); 00013 DigitalOut irBack(IR_B); 00014 AnalogIn voltage_sensor(VOLTAGESENSOR_PIN); 00015 00016 ACS712 current_sensor; 00017 ADNS5090 opt_flow_L(MOSI_MOUSE,MISO_MOUSE,SCLK_MOUSE,NCS_MOUSE_L,L_MOUSE_PX_PER_MM); 00018 ADNS5090 opt_flow_R(MOSI_MOUSE,MISO_MOUSE,SCLK_MOUSE,NCS_MOUSE_R,R_MOUSE_PX_PER_MM); 00019 Reckon reckon(opt_flow_L, opt_flow_R, MOUSE_DISTANCE); 00020 00021 MPU6050 mpu; 00022 MPU6051 mpu2; 00023 DigitalOut imuSwitch(IMU_POWER_PIN); 00024 DigitalOut imu2Switch(IMU2_POWER_PIN); 00025 IMU_DATA imu_data; 00026 IMU_DATA imu2_data; 00027 00028 TB6612 MotorA(MOT_PWMA_PIN, MOT_AIN1_PIN, MOT_AIN2_PIN); 00029 TB6612 MotorB(MOT_PWMB_PIN, MOT_BIN1_PIN, MOT_BIN2_PIN); 00030 Motors motors( &MotorA, &MotorB, MOT_STBY_PIN); 00031 00032 nRF24L01P rf(PTD2, PTD3, PTD1, PTD0, PTC17, PTD4); // mosi, miso, sck, csn, ce, irq //CSN has been changed from PTD5 to PTC17 00033 00034 00035 bool send_flag; //indicates when robot should send all data 00036 bool obstacle_flag; //indicates an obstacle - robot should stop 00037 bool fwd_flag; 00038 bool calibrate_flag; 00039 bool calibrate_optFlow_flag; 00040 00041 unsigned long long long_time = 0; 00042 Timer t; 00043 00044 float getTime() 00045 { return (float)(long_time + t.read_us())/1000000 ; } 00046 00047 void initRobot() 00048 { 00049 LED_OFF 00050 00051 MotorA.scale = R_MOTOR_SCALE; 00052 MotorB.scale = L_MOTOR_SCALE; 00053 00054 current_sensor.calibrate(); 00055 00056 LED_ON 00057 00058 bt.start(); //this turns on the bluetooth switch 00059 rf.powerUp(); //turn on RF comm 00060 send_flag = 0; 00061 obstacle_flag = 0; 00062 00063 wait_ms(60); 00064 opt_flow_L.setDPI(); 00065 opt_flow_R.setDPI(); 00066 bt.baud(BT_BAUD_RATE); 00067 motors.flip(); 00068 00069 00070 LED_OFF //good to go 00071 t.start(); //start timer 00072 } 00073
Generated on Wed Jul 13 2022 10:32:23 by
1.7.2